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 organizacionalEspecialmente 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
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
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
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.
Como se utilizan bases de datos SQL, enviaremos una solicitud con una cotización y notaremos un error generado por el servicio.
Por lo tanto, la inyección SQL está presente.
Primero, calculamos el número de columnas, así como la columna que se muestra al usuario.
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.
Y ahora leemos todos los dominios que el servicio conoce.
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.

Por lo tanto, al encontrar nuevos nombres, complementamos el archivo / etc / hosts10.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.
Y yendo a sec03.rentahacker.htb vemos la confirmación de esto.
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
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
Encuentra el parámetro, compruébalo.
Verifique el directorio / home.
Ahora mire a su alrededor en el directorio de inicio del usuario.
Examinamos las configuraciones de WordPress y obtenemos el nombre de usuario y la contraseña para conectarnos a la base de datos.
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.
Y encontramos una credencial más. Descargue todo lo que está en FTP.wget -m --no-passive ftp://ib01ftp:YhgRt56_Ta@ftp.supersechosting.htb
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.
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.
De todo lo que se presentó, guarde el código root.c.
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.
Esta contraseña es adecuada para la autenticación FTP.
También hay un directorio extraño: "...". En él yacía recolectado root.ko.
Analicemos el código fuente.
Desde el principio, queda claro con qué dispositivo estamos tratando. Compruebe si este dispositivo está en el sistema.
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.
Ahora abra el programa en el descompilador y busque la función root_write.
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.
Nosotros tomamos la bandera.
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.