Directorio de artículos
-
- Propósito
- Entorno del sistema
- Herramientas experimentales
- Principio experimental
- Procedimiento de prueba y contenido
-
- El objetivo de este experimento:
- La idea básica:
- Veamos la operación específica
-
- Pregunta 1: Encuentre el destino (netdiscover), busque la dirección IP de WebDeveloper
- Pregunta 2: Utilice NMAP para escanear el host de destino, busque la apertura del puerto y el estado del servicio del host de destino, tome una captura de pantalla y explique qué servicios proporciona el destino. (Utilice los puntos de conocimiento del primer experimento)
- Pregunta 3: Si el host de destino proporciona el servicio HTTP, intente utilizar un navegador para visitar el sitio web de destino. Captura de pantalla. ¿Hay alguna información disponible?
- Cuarta pregunta: use whatweb para detectar la plantilla CMS utilizada por el sitio web de destino. Captura de pantalla. ¿Qué CMS se utiliza para el análisis?
- Pregunta 5: Busque wpscan en Internet y explique brevemente sus funciones.
- Pregunta 6: Utilice Dirb para explotar el directorio del sitio web y encontrar un directorio (ruta) que parezca estar relacionado con el tráfico de la red.
- Pregunta 7: El navegador visita el directorio (ruta) y encuentra un archivo de cap, captura de pantalla.
- Pregunta 8: Utilice Wireshark para analizar el paquete de datos y analizar el flujo de datos TCP. ¿Qué información útil encontraste? Captura de pantalla
- Pregunta 9: Utilice la información obtenida en el paso anterior para ingresar al backend del sitio web
- Pregunta 10: Aproveche la vulnerabilidad del CMS (complemento) para aumentar los derechos
- Undécima pregunta: servidor de inicio de sesión SSH
Propósito
A través del proceso de penetración del dron objetivo, comprender el modo de competencia CTF, comprender el alcance del conocimiento cubierto por el CTF, como MISC, PPC, WEB, etc., a través de la práctica, fortalecer las capacidades de colaboración del equipo y dominar el combate real preliminar del CTF. capacidades y capacidades de recopilación de información. Familiarizado con el escaneo de red, detección de servicios web HTTP, enumeración de directorios, escalado de privilegios, extracción de información de imágenes, descifrado de contraseñas y otras herramientas relacionadas
Entorno del sistema
Kali Linux 2, fuente de la máquina de destino de WebDeveloper: https://www.vulnhub.com/
Herramientas experimentales
Ilimitado
Principio experimental
El contenido de este experimento es la práctica del CTF, por lo que primero debemos entender qué es el CTF, conocernos a nosotros mismos y conocer al enemigo es la única forma de sobrevivir. No repetiré la introducción del CTF relacionado aquí. Si quieres saber el contenido específico, puedes leer mi blog.: ¿Qué es CTF?
Procedimiento de prueba y contenido
El objetivo de este experimento:
Obtenga la bandera en el archivo de desarrollador web /root/flag.txt del dron
La idea básica:
Este escaneo de supervivencia de la dirección IP del segmento de red (netdiscover); escaneo de red (Nmap); navegar por el servicio HTTP; enumeración del directorio del sitio web (Dirb); encontrar el archivo de paquete de datos "cap"; analizar el archivo "cap" para encontrar la cuenta de fondo de administración del sitio web contraseña; Explotación de complementos (con lagunas); explotar lagunas para obtener contraseñas de cuentas de servidor; Servidor de inicio de sesión remoto SSH; Aplicaciones alternativas tcpdump.
Veamos la operación específica
Pregunta 1: Encuentre el destino (netdiscover), busque la dirección IP de WebDeveloper
Esta pregunta requiere que obtengamos la dirección IP del dron objetivo, aquí podemos usar nmap para escanear.
En primer lugar, asegúrese de que estamos en el mismo segmento de red que el dron objetivo y luego utilícelo nmap ip/24
para escanear todo el segmento de la red. Los resultados del escaneo pueden ser muchos. El siguiente paso es ver nuestra capacidad para filtrar información .Primero, excluya esta máquina, y luego verifique la situación de apertura del puerto, aquí juzgamos preliminarmente que 192.168.154.135 es la ip de la máquina de destino que estamos buscando:
úsela nuevamente nmap -O ip
para ver qué sistema operativo el host corresponde a la ip : se
sabe que nuestra máquina de destino es un sistema Linux, que se escanea aquí El sistema también es Linux, por lo que nos aseguramos de que 192.168.154.135 sea la IP de la máquina de destino
Pregunta 2: Utilice NMAP para escanear el host de destino, busque la apertura del puerto y el estado del servicio del host de destino, tome una captura de pantalla y explique qué servicios proporciona el destino. (Utilice los puntos de conocimiento del primer experimento)
Se puede ver en la figura que el host de destino ha abierto el puerto 22 y el puerto 80 para proporcionar servicios ssh y http respectivamente. El servicio ssh es principalmente para servicios similares al servidor en línea remoto telnet, y el servicio http es principalmente para la función de prestación de servicios de navegación de información en línea.
Pregunta 3: Si el host de destino proporciona el servicio HTTP, intente utilizar un navegador para visitar el sitio web de destino. Captura de pantalla. ¿Hay alguna información disponible?
En la pregunta anterior, encontramos que el dron objetivo proporciona servicios HTTP, por lo que aquí abrimos el navegador en kali para acceder directamente a la ip del dron objetivo, y podemos encontrar que visitamos con éxito el sitio web objetivo:
Cuarta pregunta: use whatweb para detectar la plantilla CMS utilizada por el sitio web de destino. Captura de pantalla. ¿Qué CMS se utiliza para el análisis?
Whatweb es una herramienta de escaneo web que se puede utilizar para determinar el CMS, la plataforma de blogs, el paquete de software de análisis estadístico, la biblioteca JavaScript, etc., que utiliza el servidor.
Utilícelo whatweb ip
para escanear el sitio web de destino:
puede saber que la plantilla CMS utilizada por el sitio web es WordPress a través de los resultados del escaneo.
Pregunta 5: Busque wpscan en Internet y explique brevemente sus funciones.
Funciones básicas de WPScan:
- Detección de versiones de Wordpress y detección de temas
- Comprobación de seguridad del complemento de Wordpress
- Fuerza bruta de la contraseña
- Puedes especificar un agente
Pregunta 6: Utilice Dirb para explotar el directorio del sitio web y encontrar un directorio (ruta) que parezca estar relacionado con el tráfico de la red.
dirb es una herramienta de escaneo de directorios web basada en diccionarios que utiliza métodos recursivos para obtener más directorios. También admite autenticación proxy y http para restringir el acceso a sitios web. dirb está instalado por defecto en Kali. Herramientas similares y patators foráneos, Dirsearch, DirBuster, la espada doméstica.
Usamos dirb 目标网站的url
para explotar el directorio raíz del sitio web:
Este directorio contiene ipdata, ¿crees que está relacionado con el tráfico?
Pregunta 7: El navegador visita el directorio (ruta) y encuentra un archivo de cap, captura de pantalla.
En el paso anterior, obtuvimos el siguiente sitio web :, http://192.168.154.135/ipdata/
abierto en el navegador:
Luego saltamos a esta interfaz y descubrimos que efectivamente existe un archivo llamado analyse.cap.
Pregunta 8: Utilice Wireshark para analizar el paquete de datos y analizar el flujo de datos TCP. ¿Qué información útil encontraste? Captura de pantalla
Primero, descargamos este archivo y luego lo abrimos con Wireshark.
Puede ver que hay muchos paquetes de datos aquí. Es muy imprudente encontrarlos uno por uno. Aquí usamos declaraciones de filtrado para filtrar y analizar estos paquetes de datos La pregunta, es obvio que el interlocutor quiere que encontremos información clave útil del flujo de datos tcp de estos paquetes. Después del análisis, ¿qué crees que el interlocutor quiere que encontremos? Supongo audazmente: la persona que hizo la pregunta puso una determinada cuenta y contraseña en estos flujos de datos de tcp. Dado que la cuenta y la contraseña están involucradas, debe ser inseparable del inicio de sesión. Así que construimos una oración de filtrado: http.request.method == "POST" && http contains "login"
¿Es muy agradable ? Busque directamente al paquete de datos que queremos, rastreemos el flujo para ver qué información hay en él:
aquí obtenemos esta información :, log=webdeveloper&pwd=Te5eQg%264sBS%21Yr%24%29wf%25%28DcAd
aquí básicamente podemos concluir que esta es la información útil que necesitamos encontrar: número de cuenta y contraseña. Pero obviamente esto es después del cifrado, por lo que intentamos descifrarlo. Finalmente, podemos encontrar que estos datos están cifrados mediante una URL. Después del descifrado:
Cuenta: desarrollador web
Contraseña: Te5eQg & 4sBS! Yr $) wf% (DcAd para
ser honesto, en eso tiempo Después de la decodificación, no puedo creer que esta sea la contraseña ...
Pregunta 9: Utilice la información obtenida en el paso anterior para ingresar al backend del sitio web
Luego podemos consultar el sitio web correspondiente del paquete de datos anterior:
A través del análisis, obtenemos el sitio web que queremos visitar. http://192.168.154.135/wp-login.php
Luego, visite el sitio web e inicie sesión en el sitio web con la cuenta y la contraseña que acaba de obtener:
Pregunta 10: Aproveche la vulnerabilidad del CMS (complemento) para aumentar los derechos
Solución 1: utilice el complemento MeterSploit + la vulnerabilidad del complemento de galería réflex para lograrlo. Instale el complemento de la galería de reflejos
Primero descargue el complemento de la galería de reflejos con lagunas o busque la galería de reflejos en la interfaz de complementos (pruébelo, busque y descargue los complementos directamente, las lagunas parecen estar solucionadas y el final no se puede lograr la
escalada de privilegios). Descargue el complemento de la galería de reflejos con vulnerabilidades como ejemplo, e importe el complemento de la siguiente manera:
Recuerde abrir el complemento después de importar:
Después de que todo esto esté preparado, abrimos msf para explotar la vulnerabilidad, use msfconsole
open msf:
cambie rhosts a la ip del dron objetivo:
ahora podemos controlar el sitio web objetivo, la siguiente tarea es para ver Para obtener la cuenta y la contraseña de wp-config.php, primero use para pwd
ver la ubicación actual:
luego use para cd
cambiar de directorio, cambie al directorio / var / www / html y luego use para ls
ver el contenido del directorio actual directorio:
Luego use para cat wp-config.php
abrir el archivo wp-config.php y busque el nombre de usuario y la contraseña de la base de datos:
Opción 2: Cargue un shell de rebote
http://pentestmonkey.net/tools/web-shells/php-reverse-shell
[Propósito : Penetración del sitio web PHP; modo de realización: después de cargar el sitio web, la URL visita (contiene) la página del shell de rebote.
Función: el script iniciará una conexión TCP de rebote al atacante (la dirección IP y el número de puerto del atacante se especifican en el script). 】
Este CMS está desarrollado por PHP, que se puede utilizar para realizar shell inverso. Pero la dirección IP y el puerto iniciales deben modificarse. (Señale al atacante).
Vaya al fondo, busque cualquier página PHP y luego use el código php-reverse-shell.PHP para modificar el código de la página. (Aquí se toma la interfaz 404 como ejemplo)
Modifique la dirección IP y el puerto del objetivo de rebote en el código (modifique la dirección IP del atacante y el número de puerto abierto).
El atacante usa NC para comenzar a monitorear en Kali, y el atacante visita la página PHP modificada en su navegador. Esto da como resultado un shell inverso (usuario www-data). Después de establecer una sesión, verifique wp-config.php para obtener la cuenta y la contraseña. (Preste atención a la ruta)
Luego comience a monitorear el puerto 4444: Después de
modificar el código de la página de reproducción,
192.168.154.135/wp-content/themes/twentysixteen/404.php
puede acceder a él y luego puede monitorearlo en el panel del monitor, y luego cambiar al directorio / var / www / html de acuerdo con la operación en la Solución 1, y luego verifique wp-config. El archivo .php está bien.
Opción 3: Explotar la vulnerabilidad del administrador de archivos
Instale el complemento, puede navegar directamente por wp-config.php.
No se demostrará nada.
Undécima pregunta: servidor de inicio de sesión SSH
Aquí usamos directamente la cuenta y la contraseña obtenidas en la décima pregunta para iniciar sesión, y usamos ssh webdeveloper@ip
para iniciar sesión de forma remota:
Iniciar sesión correctamente Luego miramos nuestro target: flag en el archivo /root/flag.txt:
Entonces encontramos que nuestros permisos no son suficientes, use tcpdump para ejecutar cualquier comando (cuando tcpdump captura el paquete, ejecutará el comando especificado). Vea los comandos ejecutables por la identidad actual.
Descubrió que puede ejecutar el comando tcpdump con privilegios de root para
crear archivos de ataque
touch /tmp/exploit1
Escribir shellcode
echo 'cat /root/flag.txt' > /tmp/exploit
Otorgar permisos ejecutables
chmod +x /tmp/exploit
Utilice tcpdump para ejecutar comandos arbitrarios
sudo tcpdump -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/exploit -Z root
¡Entonces conseguimos la bandera sin problemas!