Hack The Box. Recorrido del carroñero. DNS, FTP y rastros de otro hack

imagen

Sigo publicando soluciones enviadas para su posterior procesamiento desde el sitio de HackTheBox . Espero que esto ayude al menos a alguien a desarrollarse en el campo de la seguridad de la información. En este artículo trabajaremos mucho con FTP y DNS, usaremos SQLi en el servicio whois y también seguiremos los rastros de otro hack, es decir, encontraremos un shell, seleccionaremos un parámetro y analizaremos los registros y el volcado de tráfico.

La conexión al laboratorio es a través de VPN. Se recomienda no conectarse desde una computadora del trabajo o desde un host donde los datos importantes para usted estén disponibles, ya que termina en una red privada con personas que saben algo en el campo de la seguridad de la información :)

Información organizacional
Especialmente para aquellos que desean aprender algo nuevo y desarrollarse en cualquiera de las áreas de información y seguridad informática, escribiré y hablaré sobre las siguientes categorías:

  • PWN;
  • criptografía (criptografía);
  • tecnologías de red (Red);
  • inversa (ingeniería inversa);
  • (Stegano);
  • WEB-.

, , , .

, , Telegram . , , .

. , - , .

Recon


Esta máquina tiene una dirección IP 10.10.10.155, que agrego a / etc / hosts.

10.10.10.155	scavenger.htb

Primero, escaneamos puertos abiertos. Como lleva mucho tiempo escanear todos los puertos con nmap, primero haré esto con masscan. Escaneamos todos los puertos TCP y UDP desde la interfaz tun0 a una velocidad de 500 paquetes por segundo.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.155 --rate=500

imagen

Ahora, para obtener información más detallada sobre los servicios que operan en los puertos, realizaremos un análisis con la opción -A.

nmap -A scavenger.htb -p 21,22,25,43,53,80

imagen

A partir de la salida de nmap, puede descubrir que los servicios FTP, SSH, SMTP se están ejecutando en el host (disponible bajo el dominio ib01.supersechosting.htb), también el servicio whois usando MariaDB DBMS (se resalta otro nombre de dominio - www.supersechosting.htb ), servicio DNS y servidor web Apache.

Agregue los dominios encontrados a / etc / hosts.

10.10.10.155    scavenger.htb ib01.supersechosting.htb www.supersechosting.htb

Intentemos encontrar más nombres dns. Intentemos hacer una transferencia de zona DNS usando dig.

dig axfr supersechosting.htb @10.10.10.155

imagen

Agregue los datos de entrada a / etc / hosts.

10.10.10.155	scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb

A continuación, vaya al servicio WHOIS, cuya aplicación principal es obtener datos de registro de los propietarios de nombres de dominio, direcciones IP y sistemas autónomos.

imagen

Como se utilizan bases de datos SQL, enviaremos una solicitud con una cotización y notaremos un error generado por el servicio.

imagen

Por lo tanto, la inyección SQL está presente.

imagen

Primero, calculamos el número de columnas, así como la columna que se muestra al usuario.

imagen

Entonces obtenemos el número de columnas: 2 y lo que se muestra primero. A continuación, descubrimos las tablas y los nombres de columna.

imagen

Y ahora leemos todos los dominios que el servicio conoce.

imagen

Encuentra los nuevos nombres que agregamos a / etc / hosts.

10.10.10.155	scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb justanotherblog.htb pwnhats.htb rentahacker.htb

Ahora realizaremos una transferencia de zona desde el nombre encontrado.

imagen

imagen

imagen

Por lo tanto, al encontrar nuevos nombres, complementamos el archivo / etc / hosts

10.10.10.155	scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb justanotherblog.htb pwnhats.htb rentahacker.htb www.justanotherblog.htb www.pwnhats.htb www.rentahacker.htb sec03.rentahacker.htb 

Sin pasar por todos los sitios, no tenemos nada significativo, excepto un mensaje de www.rentahacker.htb , del cual concluimos que el servicio ya ha sido pirateado.

imagen

Y yendo a sec03.rentahacker.htb vemos la confirmación de esto.

imagen

Escanee directorios y archivos con gobuster. Indicaremos el diccionario desde dirb, el número de subprocesos es 120, los códigos de respuesta del servidor de interés también son interesantes y el retraso de respuesta permitido es de 20 segundos.

gobuster dir -w /usr/share/wordlists/dirb/big.txt -t 120 -e -x php -u http://sec03.rentahacker.htb/ -s "200,204,301,302,307,401" --timeout 20s

imagen

Encontramos una página interesante: shell.php, cuando se accede, no sucede nada. Lo más probable es que esto esté sucediendo, ya que estamos accediendo a la página sin parámetros. Ordenemos los parámetros usando wfuzz, especificando una lista en los parámetros y el hecho de que el número de palabras en la respuesta no debe ser 0.

wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt --hw 0 http://sec03.rentahacker.htb/shell.php?FUZZ=id

imagen

Encuentra el parámetro, compruébalo.

imagen

Verifique el directorio / home.

imagen

Ahora mire a su alrededor en el directorio de inicio del usuario.

imagen

Examinamos las configuraciones de WordPress y obtenemos el nombre de usuario y la contraseña para conectarnos a la base de datos.

imagen

Esta contraseña no se ajustaba a SSH, pero fue a ftp y no nos dio nada. El host tiene un servicio de correo, por lo que tiene sentido verificar los mensajes del usuario.

imagen

Y encontramos una credencial más. Descargue todo lo que está en FTP.

wget -m --no-passive ftp://ib01ftp:YhgRt56_Ta@ftp.supersechosting.htb

imagen

Vamos al directorio en el que se descargan los archivos y vemos lo que tenemos. Hay una nota, un registro y un volcado de tráfico.

imagen

Abra Wireshark y vea qué hay allí. A juzgar por el registro, estamos interesados ​​en la sesión HTTP, veamos todos los objetos HTTP: Archivo -> Exportar objetos -> HTTP.

imagen

De todo lo que se presentó, guarde el código root.c.

imagen

A continuación, vaya a la ventana principal de Wireshark y verifique algunas credenciales. Entonces tenemos tres solicitudes POST, la contraseña se les transmite.

imagen

Esta contraseña es adecuada para la autenticación FTP.

imagen

También hay un directorio extraño: "...". En él yacía recolectado root.ko.

imagen

imagen

Analicemos el código fuente.

imagen

Desde el principio, queda claro con qué dispositivo estamos tratando. Compruebe si este dispositivo está en el sistema.

imagen

Así es, hay un dispositivo. En el código estamos interesados ​​en una función que, después de verificar la línea de entrada, proporcionará acceso en nombre del usuario con uid igual a 0, es decir, root.

imagen

Ahora abra el programa en el descompilador y busque la función root_write.

imagen

El código se modifica ligeramente y, en lugar de la línea g0tROot, la línea correcta es g3tPr1v. Volvamos al shell original y después de obtener los privilegios de root veremos su directorio de inicio.

imagen

Nosotros tomamos la bandera.

imagen

Puedes unirte a nosotros en Telegram . Formemos una comunidad en la que haya personas con conocimientos en muchas áreas de TI, para que siempre podamos ayudarnos mutuamente en cualquier problema de seguridad de la información y TI.

All Articles