Enumeración y explotación de servicios
Servicios de escucha
Nuestros escaneos de Nmap descubrieron algunos servicios interesantes:
Puerto 21: FTP
Puerto 22: SSH
Puerto 25: SMTP
Puerto 53: DNS
Puerto 80: HTTP
Puertos 110/143/993/995: imap y pop3
Puerto 111: rpcbind
Ya realizamos una transferencia de zona DNS durante nuestra recopilación inicial de información, lo que generó varios subdominios que analizaremos más a fondo más adelante. No vale la pena intentar otros ataques DNS en nuestro entorno actual.
FTP
Comencemos con FTP en el puerto 21. El análisis agresivo de Nmap detectó que era posible iniciar sesión anónimamente por FTP. Confirmémoslo manualmente.
La conexión con el usuario anonymous
y una contraseña en blanco funciona. Parece que no podemos acceder a ningún archivo interesante, salvo a uno, y tampoco podemos cambiar de directorio.
Tampoco podemos cargar ningún archivo.
Esto parece un callejón sin salida. Sigamos adelante.
SSH
A continuación, SSH. Empezaremos con una captura de banner:
Esto nos indica que el host ejecuta OpenSSH versión 8.2, que no presenta vulnerabilidades conocidas al momento de escribir este artículo. Podríamos intentar forzar la contraseña, pero no tenemos una lista de nombres de usuario válidos, así que sería arriesgado. También es dudoso que podamos forzar la contraseña de root. Podemos probar algunas combinaciones como admin:admin
, root:toor
, admin:Welcome
, admin:Pass123
pero sin éxito.
SSH también parece un callejón sin salida. Veamos qué más tenemos.
Servicios de correo electrónico
Hagamos otro escaneo contra el puerto 25 para buscar configuraciones incorrectas.
A continuación, comprobaremos si hay alguna configuración incorrecta relacionada con la autenticación. Podemos intentar usar el comando VRFY
para enumerar los usuarios del sistema.
Podemos ver que el comando VRFY
no está deshabilitado y podemos usarlo para enumerar usuarios válidos. Esto podría aprovecharse para recopilar una lista de usuarios que podríamos usar para lanzar un ataque de fuerza bruta de contraseñas contra los servicios FTP y SSH, y quizás otros. Si bien esto es de bajo riesgo, vale la pena anotarlo como hallazgo de criticidad Low
para nuestro informe, ya que nuestros clientes deberían reducir su superficie de ataque externa tanto como sea posible. Si esta no es una razón comercial válida para habilitar este comando, deberíamos recomendarles que lo deshabiliten.
Podríamos repetir este proceso con los comandos EXPN
y RCPT TO
, pero no obtendríamos nada adicional.
El protocolo POP3
también se puede usar para enumerar usuarios, dependiendo de su configuración. Podemos intentar enumerar los usuarios del sistema con el comando USER
de nuevo, y si el servidor responde con [nombre del usuario +OK
], el usuario existe en el sistema. Esto no funciona. Al escanear el puerto 995, el puerto SSL/TLS para POP3, tampoco se obtiene ningún resultado.
Nos gustaría analizar más a fondo la implementación de correo electrónico del cliente en una evaluación real. Si utilizan Office 365 o Exchange local, podríamos lanzar un ataque de Password Spraying que permitiría el acceso a las bandejas de entrada o, potencialmente, a la red interna si conseguimos usar una contraseña válida para conectarnos a través de una VPN. También podríamos encontrarnos con un Open Relay, que podríamos usar para phishing enviando correos electrónicos con usuarios ficticios o suplantando una cuenta de correo electrónico para que parezca oficial e intentando engañar a los empleados para que introduzcan sus credenciales o ejecuten un payload.
El phishing queda fuera del alcance de esta evaluación en particular y probablemente lo estará en la mayoría de las pruebas de penetración externas, por lo que sería conveniente confirmar e informar este tipo de vulnerabilidad si la detectamos. Sin embargo, no deberíamos ir más allá de una simple validación sin consultar primero con el cliente. Sin embargo, esto podría ser extremadamente útil en una evaluación completa de Red Team.
Podemos comprobarlo de todos modos, pero no encontramos un relé abierto, lo cual es bueno para nuestro cliente.
Hacia delante
El último puerto es el puerto 80
, que, como sabemos, corresponde al servicio HTTP. Sabemos que probablemente existan múltiples aplicaciones web basadas en la enumeración de subdominios y vhosts que realizamos anteriormente. Así que, pasemos a la web.
Aún no tenemos una base sólida ni mucho más allá de algunos hallazgos de riesgo medio y bajo. En entornos modernos, rara vez vemos servicios explotables externamente, como un servidor FTP vulnerable o similar, que conduzca a la ejecución remota de código (RCE). Sin embargo, nunca digas nunca. Hemos visto cosas más locas, por lo que siempre vale la pena explorar todas las posibilidades.
La mayoría de las organizaciones a las que nos enfrentamos serán más susceptibles a ataques a través de sus aplicaciones web, ya que estas suelen presentar una amplia superficie de ataque, por lo que normalmente dedicaremos la mayor parte de nuestro tiempo durante una prueba de penetración externa a enumerar y atacar aplicaciones web.
Caso práctico
Pregunta 1
Enumera los servicios accesibles y encuentra una flag. Envíe el valor de la flag como respuesta
FTP Login Anonymous
Última actualización
¿Te fue útil?