Sigo publicando soluciones enviadas para su posterior procesamiento desde el sitio de HackTheBox .En este artículo, obtenemos RCE en el servidor web de nostromo, obtenemos el shell de meterpreter debajo de la sesión activa de metasploit, profundizamos en las configuraciones de nostromo, modificamos la contraseña de cifrado de clave SSH y utilizamos la técnica GTFOBins para aumentar los privilegios.La conexión al laboratorio es a través de VPN. Se recomienda no conectarse desde una computadora de trabajo o desde un host donde los datos que son 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, ,
Telegram . , ,
.
. , - , .
Recon
Esta máquina tiene una dirección IP de 10.10.10.165, que agrego a / etc / hosts.10.10.10.165 traverxec.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 1000 paquetes por segundo.masscan -e tun0 -p1-65535,U:1-65535 10.10.10.165 --rate=1000
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 traverxec.htb -p22,80
Así tenemos SSH y el servidor web Nostromo.Verifiquemos en el servidor web Nostromo si hay exploits conocidos para la versión 1.9.6. Para estos fines, puede usar searchsploit, este programa proporciona la capacidad de trabajar convenientemente con exploits que se encuentran en la base de datos exploit-db .
Como puede ver en el resultado, el segundo exploit no nos conviene, y el primero tiene una marca Metasploit, que indica que este módulo está implementado para el contexto de Metasploit Framework.Punto de entrada
Descarga msfconsole y haz una búsqueda de exploits.
Ahora sabemos el nombre completo del exploit y podemos usarlo. Después de cargar el exploit, revisaremos la información al respecto. Así que descubriremos las opciones básicas para su uso y una descripción del exploit en sí.
¡Multa! Este exploit es adecuado para nuestra versión de nostromo. Establecemos las opciones básicas y verificamos el funcionamiento del exploit.
Para mayor comodidad, obtenemos una carcasa de meterpreter. Para hacer esto, envíe la sesión a trabajar en segundo plano: Ctrl + Z y confirme. Y si miramos las sesiones de trabajo, veremos la que acaba de minimizarse.
Para obtener el shell meterpreter en una sesión en ejecución, puede usar el módulo de operación posterior post / multi / manage / shell_to_meterpreter. Use rápidamente este módulo de la siguiente manera.
Se nos informa que el shell de meterpreter está abierto en la segunda sesión. Por lo tanto, lanzamos la segunda sesión.
USUARIO
Y lo primero que debe mirar alrededor del host. Para hacer esto, cargue el script de enumeración para Linux en la máquina.
Luego, llame al shell, otorgue el derecho de ejecutar y ejecutar el script.
Analizando la salida, encontramos el hash de contraseña de .htpasswd.
Girar aún más es una pérdida de tiempo ... Al darse cuenta de esto y sin saber a dónde ir más lejos, se decidió analizar las configuraciones del servidor web. Afortunadamente, el directorio se indica en la ruta a este archivo.
A continuación, mire el archivo nhttp.conf.
El hecho es que el directorio raíz en nostromo se especifica en el archivo de configuración como homedirs_public. Es decir, este es el directorio public_www. Este directorio se encuentra en el directorio de inicio del usuario (homedirs - / home) (serveradmin - david@traverxec.htb). Resumiendo lo anterior, el archivo index.html se encuentra en el directorio / home / david / public_www. Para que los usuarios puedan acceder a esta página, el directorio debe tener permisos de lectura para todos.
Las conjeturas están confirmadas. Además, vemos algún tipo de directorio, veamos qué hay allí.
Allí encontramos una copia de seguridad de los archivos SSH. Descárgalos.
Descomprime los archivos.
Y tenemos una clave de usuario privada, pero cuando intentamos conectarnos, se nos solicita una contraseña. Esto significa que la clave está encriptada.
Pero podemos desplazarnos por él. Primero lo llevamos al formato deseado.
Guarde el hash en un archivo y desplácese por el diccionario rockyou.txt usando JohnTheRipper.
Entonces encontramos la contraseña de cifrado de clave. Al usarlo y una clave, nos conectamos a través de SSH.
RAÍZ
Nos fijamos en lo que tenemos en el directorio de usuarios.
En el directorio bin encontramos un archivo interesante. Veamos qué tipo de guión.
Este script imprime líneas y luego ejecuta un comando desde under sudo, cuyo resultado pasa a cat, lo cual es muy interesante. Ejecute este comando y vea una salida bastante masiva.
La redirección a cat inmediatamente me llevó a pensar en usar la tecnología GTFOBins. La conclusión es que desde diferentes utilidades del sistema podemos obtener la capacidad de leer, escribir archivos, ejecutar comandos, etc. Un ejemplo de cómo hacer esto para diferentes programas se puede encontrar aquí .El hecho es que si apretamos la ventana de terminal y ejecutamos el comando sin traducir la salida a cat, la salida se enviará automáticamente a less, donde podemos obtener el shell usando! / Bin / sh. Como el comando se ejecuta bajo sudo, obtenemos un shell con privilegios máximos.


Entonces tenemos al usuario root en el sistema.Puedes unirte a nosotros en Telegram . Allí puede encontrar materiales interesantes, cursos combinados, así como software. Reúnamos una comunidad en la que habrá 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.