Informe de pruebas de penetración
RAPID7
16 de mayo de 2021
JORGE ENRIQUE PAZ ARTEAGA
Código: 2210647
Tel.: 321 739 2988
Correo electrónico: [Link]@[Link]
Reporte test de penetración –
TABLA DE CONTENIDO:
Resumen ejecutivo ................................................................................................................................................ 1
Resumen de resultados ....................................................................................................................................... 2
Narrativa de ataque.............................................................................................................................................. 3
Descubrimiento del sistema: ................................................................................................................................ 3
PUERTO 21 VSFTPD .............................................................................................................................................. 4
PUERTO 667 irc ..................................................................................................................................................... 5
VULNERABILIDAD EN PHP .................................................................................................................................... 6
PUERTO 25 SMTP ................................................................................................................................................. 7
TWIKI PUERTO 80 ................................................................................................................................................. 7
DWA APLICACIÓN WEB ........................................................................................................................................ 8
PUERTO 1099 JAVA-RMI ..................................................................................................................................... 11
PUERTO 2049 NFS .............................................................................................................................................. 12
ESCALADA DE PRIVILEGIOS ADMINISTRATIVOS ................................................................................................. 13
CONCLUSIÓN ...................................................................................................................................................... 14
RECOMENDACIONES .......................................................................................................................................... 15
CALIFICACIÓN DE RIESGO ................................................................................................................................... 16
APÉNDICE A: DETALLE DE VULNERABILIDAD Y MITIGACIÓN ................................................................................ 17
Escala de calificación de riesgo .................................................................................................................... 17
página i
Reporte test de penetración –
Resumen ejecutivo
Seguridad Ofensiva, Consultores de seguridad en formación, fue contratado por la compañía
RAPID7 para llevar a cabo una prueba de penetración con el fin de determinar su exposición a
un ataque dirigido sobre una máquina de prueba diseñada para la práctica de Pentesting. Todas
las actividades se llevaron a cabo de una manera que simuló a un actor malicioso involucrado en
un ataque dirigido contra la herramienta METASPLOITABLE2 con el objetivo de:
➢ Identificar si un atacante dentro de la red LAN podría penetrar en el sistema propuesto
➢ Determinar el impacto de una brecha de seguridad en:
o Confidencialidad de los datos internos de la maquina objetivo
o Infraestructura interna y disponibilidad de los sistemas de información de RAPID7
Se realizaron esfuerzos en la identificación y explotación de debilidades de seguridad que
podrían permitir a un atacante obtener acceso no autorizado a los datos del sistema. Los ataques
se llevaron a cabo con el nivel de acceso que tendría un usuario general que se encuentre en el
segmento de red del sistema objetivo y todas las pruebas y acciones se llevaron a cabo en
condiciones controladas.
página 1 de 34
Reporte test de penetración –
Resumen de resultados
El proceso de pruebas de penetración, también conocido como pentesting, es un proceso de
evaluación que nos ayuda a verificar si la seguridad informática implementada en los sistemas
de la información, tiene un nivel de protección adecuado para evitar, o mejor dicho, minimizar, la
existencia de debilidades y vulnerabilidades que puedan comprometer los principios básicos de
seguridad conocidos
El reconocimiento inicial sobre la herramienta dio lugar a la detección de diferentes servicios mal
configurados y/o desactualizados lo que permitió conexiones remotas, transferencia de datos
sensibles, denegación del servicio y la afectación de los tres pilares de la protección de la
información, confidencialidad, integridad y disponibilidad.
Con una ejecución básica de las herramientas nmap y Nessus sobre la dirección IP del sistema
vulnerable, se puede detectar la existencia de varios puertos TCP abiertos, por sus siglas es un
protocolo de control de transmisión (TCP) es el utilizado en Internet y está orientado a la
conexión, es decir, los datos pueden enviarse de forma bidireccional una vez establecida la
conexión.
Para verificar la existencia de dichos servicios se puede realizar una petición de conexión a través
de la terminal de comandos, y utilizar un navegador Web desde nuestro equipo atacante hacia la
dirección de red de la maquina vulnerable.
página 2 de 34
Reporte test de penetración –
Narrativa de ataque
Descubrimiento del sistema:
Para los efectos de esta evaluación, RAPID7 proporcionó la herramienta a evaluar,
MATESPLOTABLE2, para que sea verificada en un ambiente controlado. La intención es
verificar la utilidad de la herramienta a nivel académico y afianzar los conocimientos en
Pentesting.
Una vez descargado Metasploitable2 y abierto mediante un software de virtualización como
Vmware o VirtualBox, procederemos a pasarle un nmap para ver los puertos abiertos.
Figura 1. Exploración de puertos y verificación de servicios con sus respectivas versiones.
Con lo anterior también es posible evidenciar información relevante del kernel del sistema
objetivo:
Figura 2. Verificación de sistema operativo y kernel.
página 3 de 34
Reporte test de penetración –
A continuación, se analizaron estos sistemas para enumerar los servicios en ejecución. Todos
los servicios identificados fueron examinados en detalle para determinar su posible exposición a
un ataque dirigido.
PUERTO 21 VSFTPD
En el puerto 21 tenemos corriendo vsftpd 2.3.4. Esta versión tiene un backdoor (puerta trasera)
que se introdujo en el archivo [Link] el 30 de junio de 2011 y se retiró el 3 de Julio
del mismo año después de que un usuario avisara al autor.
Para explotarlo, utilizaremos un exploit disponible en el framework metasploit.
Figura 3. Verificación de exploit a utilizar.
Con el anterior exploit se conseguirá una Puerta trasera sobre el Puerto 21, que no es más que
un acceso remoto a un usuario con malas intenciones al control del equipo.
Figura 4. Explotación sobre servicio VSFTPD.
Como se puede evidenciar, al momento de ejecutar el exploit, se abre una se Shell session con
privilegios ROOT, lo que permitía a un atacante tener el control completo del sistema.
página 4 de 34
Reporte test de penetración –
PUERTO 667 irc
En el puerto 667 tenemos corriendo un servicio IRC, que es un protocolo que sirve para mantener
conversaciones en tiempo real con otros usuarios utilizando un programa especial (llamado
cliente) para conectarse con un servidor IRC, en el sistema se encuentra una versión
UnrealIRCD.
Para explotarlo, utilizaremos un exploit disponible en el framework metasploit.
Figura 5. Verificación de exploit a utilizar.
Con el anterior exploit se conseguirá una Puerta trasera sobre el Puerto 667, que no es más que
un acceso remoto a un usuario con malas intenciones al control del equipo.
Figura 6. Explotación sobre servicio VSFTPD.
Como se puede evidenciar, al momento de ejecutar el exploit, se abre una se Shell session con
privilegios ROOT, lo que permitía a un atacante tener el control completo del sistema.
página 5 de 34
Reporte test de penetración –
VULNERABILIDAD EN PHP
Sobre el portal web de Metasploitable2, un error de programación en PHP. En consecuencia, es
posible realizar una conexión tipo meterpreter
Figura 7. Comprobación portal Web de metasploitable2.
Para explotarlo, utilizaremos un exploit disponible en el framework metasploit.
Figura 8. Verificación de exploit a utilizar.
Con el anterior exploit se conseguirá un acceso, que no es más que un acceso remoto a un
usuario con malas intenciones al control del equipo.
Figura 9. Explotación sobre servicio VSFTPD.
Como se puede evidenciar, al momento de ejecutar el exploit, se abre una se Shell session con
privilegios ROOT, lo que permitía a un atacante tener el control completo del sistema.
página 6 de 34
Reporte test de penetración –
PUERTO 25 SMTP
Sobre el PUERTO 25 se evidencia el uso de un servidor de mail, de acuerdo al análisis con la
herramienta nmap se está corriendo una versión Postfix SMTP, un error de programación en. En
consecuencia, es posible realizar algunas consultas para la extracción de información.
Se utilizará un auxiliar disponible en el framework metasploit.
Figura 10. Verificación de auxiliar a utilizar.
Con el anterior auxiliar es posible obtener información y enumerar los usuarios que utilizan el
servidor de correo que se encuentra operativo sobre el puerto 25
Figura 11. Resultado de la consulta de nombres de usuarios.
TWIKI PUERTO 80
Tras el análisis de puertos se procede a verificar el portal web de la herramienta donde se
encuentran varias aplicaciones web vulnerables. Esto es lo que nos aparece al entrar.
página 7 de 34
Reporte test de penetración –
La primera aplicación que aparece es Twiki. Se trata de un gestor de contenidos tipo wiki, escrito
en Perl y con licencia GPL. Soporta extensiones para acceso a base de datos, diagramas, hojas
de cálculo, seguimiento de proyectos y muchas otras posibilidades.
Se utilizará un exploit disponible en el framework metasploit.
Figura 10. Verificación de exploit a utilizar.
Figura 11. Resultado de la consulta de nombres de usuarios.
Como se puede evidenciar, al momento de ejecutar el exploit, se abre una se Shell session sin
privilegios.
DWA APLICACIÓN WEB
Esta web dispone de varios fallos de seguridad como pueden ser SQL Injection, ejecución de
comandos, File Inclusion, etc.
Al ingresar se observa un login, el user es “admin” y la contraseña “password”.
página 8 de 34
Reporte test de penetración –
Figura 12. Pantallazo inicial de la app Web.
Una vez dentro, lo primero que haremos es pinchar en Setup y Create/Reset Database, para
crear la base de datos.
Figura 13. Creación de DataBase.
Lo siguiente es cambiar el nivel de seguridad, entramos en DVWA Security y se cambia
a Low, pinchamos en Submit.
Figura 14. Configuración de seguridad.
página 9 de 34
Reporte test de penetración –
Command Execution
Nos aparece una pantalla en la que podemos hacer un ping a la IP indicada. Pero además
podemos ejecutar más comandos con la siguiente sintaxis: IP&&COMANDO.
Figura 15. Corroboración de PING.
En la captura vemos cómo responde al ping y al comando pwd. Desde aquí se puede obtener
control de la herramienta y explotación de diferentes vulnerabilidades.
Cross Site Request Forgery (CSRF)
Figura 16. Verificación de Cross Site Request Forgery.
Esto es un ejemplo de una mala implementación del cambio de contraseña en una aplicación
web.
• Utiliza http en vez de https, por lo que va en texto plano.
• Un atacante puede usar la URL para cambiar la contraseña
página 10 de 34
Reporte test de penetración –
Figura 16. Cambio de contraseña.
Nos aparece el mensaje Password Changed y en la URL la nueva contraseña establecida. Si
salimos de DVWA y nos logueamos otra vez con la nueva contraseña, comprobareis que
efectivamente funciona.
PUERTO 1099 JAVA-RMI
Se trata de un mecanismo de Java para invocar un método de forma remota. Proporciona una
forma simple de comunicación entre servidores en aplicaciones basadas exclusivamente en Java
(para la comunicación entre otras tecnologías debe utilizarse CORBA o SOAP).
Para la explotación de este puerto disponemos de un exploit en Metasploit.
Figura 17. Verificación de exploit a utilizar.
Figura 18. Utilización de exploit.
página 11 de 34
Reporte test de penetración –
PUERTO 2049 NFS
Este puerto se utiliza para que cualquier aplicación pueda acceder al sistema de archivos NFS
(Network File System). Un atacante podría utilizar este puerto para montar un disco virtual y acceder
a éste como si fuera de manera local permitiéndole ver y modificar archivos.
Para poner esto en práctica, primero veremos los directorios compartidos del equipo remoto
mediante el comando showmount.
Figura 18. Verificación de exploit a utilizar.
Como se puede evidenciar en la captura anterior, una vez tenemos el directorio montado, podemos
acceder a él y ver o modificar lo que queramos.
página 12 de 34
Reporte test de penetración –
ESCALADA DE PRIVILEGIOS ADMINISTRATIVOS
Se descubrimos que el sistema era vulnerable a una escalada de privilegios local exploit4, que
pudimos utilizar con éxito. Consulte el Apéndice A para obtener más información.
El uso de estos exploits fue parcialmente posible debido a la inclusión de herramientas de
desarrollo en el sistema vulnerable. Si estas herramientas no estuvieran presentes en el sistema,
todavía habría sido posible explotar con éxito, aunque la dificultad para hacerlo se habría
incrementado.
En su configuración actual, el servidor web representa una plataforma de ataque interna para
una parte maliciosa. Con la capacidad de obtener acceso administrativo completo, una parte
maliciosa podría utilizar este sistema vulnerable para una multitud de propósitos, que van desde
ataques mucho más sofisticados, hasta ataques contra sus clientes. Es muy probable que los
atacantes aprovechen este sistema para ambos propósitos.
2 [Link]
página 13 de 34
Reporte test de penetración –
CONCLUSIÓN
La herramienta analizada Metasploitable2 presenta una serie de fallos de control, lo que llevó a
un compromiso completo de la información allí contenida. Estos fallos habrían tenido un efecto
dramático en las operaciones de una empresa si uno se sus Host estuviera corriendo un sistema
como el evaluado. Las directivas actuales relativas a la reutilización de contraseñas y los
controles de acceso implementados no son adecuadas para mitigar el impacto de las
vulnerabilidades detectadas.
Los objetivos específicos de la prueba de penetración se indicaron como:
➢ Determinar el impacto de una brecha de seguridad en:
o Confidencialidad de la información de la herramienta
o Verificación de servicios internos y disponibilidad de los mismos.
Estos objetivos de la prueba de penetración se cumplieron. El sistema contiene múltiples
problemas que normalmente se considerarían de alta criticidad y fueron aprovechados en
concierto, lo que resultó en una composición total de los sistemas de información. Es importante
tener en cuenta que este colapso de toda la infraestructura de seguridad del sistema se puede
atribuir en gran medida a las versiones y servicios activos
página 14 de 34
Reporte test de penetración –
RECOMENDACIONES
Debido a la criticidad de las vulnerabilidades descubiertas por esta prueba de penetración, se
deben asignar los recursos adecuados para garantizar que los esfuerzos de reparación se
realizan de manera oportuna. Aunque una lista completa de los elementos que se deben
implementar está fuera del ámbito de esta interacción, algunos elementos de alto nivel son
importantes mencionar.
Se recomienda lo siguiente:
1. Asegúrese de que se usan credenciales sólidas en todas partes de la organización.
Se evidencia el uso de contraseñas débiles, así como la reutilización de contraseñas en
sistemas de diferentes niveles de seguridad.
2. Implementar y aplicar la implementación del control de cambios en todos los
sistemas: se descubrieron problemas de configuración incorrecta e implementación
inseguros en los distintos sistemas. Las vulnerabilidades que surgieron se pueden mitigar
mediante el uso de procesos de control de cambios en todos los sistemas.
3. Implementar un programa de gestión de parches: Operar un programa de gestión de
parches consistente según las directrices descritas en NIST SP 800-40 es un componente
importante para mantener una buena postura de seguridad.
4. Realizar evaluaciones periódicas de vulnerabilidades. Como parte de una estrategia
eficaz de gestión de riesgos organizacionales, las evaluaciones de vulnerabilidades
deben realizarse periódicamente. Si lo hace, la organización permitirá determinar si los
controles de seguridad instalados se encuentran correctamente.
página 15 de 34
Reporte test de penetración –
CALIFICACIÓN DE RIESGO
El riesgo general identificado al sistema Metasploitable2 como resultado de la prueba de
penetración es Alto. Se descubrió una lista detallada de exploits sobre servicios que se
encuentran corriendo en el sistema.
El análisis de vulnerabilidades se obtuvo corriendo un análisis avanzado con la herramienta
Nessus bajo la base de calificación CVSS v3.0
Se enumeran las vulnerabilidades con mayor puntaje, consideradas criticas
página 16 de 34
Reporte test de penetración –
APÉNDICE A: DETALLE DE VULNERABILIDAD Y MITIGACIÓN
Escala de calificación de riesgo
De acuerdo con el análisis de vulnerabilidades realizado con la herramienta Nessus, las
vulnerabilidades explotadas se clasifican en función de la probabilidad y el impacto para
determinar el riesgo general.
Debian OpenSSH/OpenSSL Package Random Number Generator
Descripción El certificado x509 remoto en el servidor SSL remoto se
ha generado en un sistema Debian o Ubuntu que
contiene un error en el generador de números aleatorios
de su biblioteca OpenSSL.
El problema se debe a que un empaquetador de Debian
eliminó casi todas las fuentes de entropía en la versión
remota de OpenSSL.
Un atacante puede obtener fácilmente la parte privada
de la clave remota y usarla para descifrar la sesión
remota o configurar un hombre en el medio del ataque.
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE CVE-2008-0166
Recomendación para Considere todo el material criptográfico generado en el
su remediación host remoto para que se pueda adivinar. En particular, se
debe volver a generar todo el material de claves SSH, SSL
y OpenVPN.
página 17 de 34
Reporte test de penetración –
Apache Tomcat AJP Connector Request Injection (Ghostcat)
Descripción Se encontró una vulnerabilidad de lectura / inclusión de archivos en el
conector AJP. Un atacante remoto no autenticado podría aprovechar
esta vulnerabilidad para leer archivos de aplicaciones web desde un
servidor vulnerable. En los casos en que el servidor vulnerable permite
la carga de archivos, un atacante podría cargar código malicioso de
JavaServer Pages (JSP) dentro de una variedad de tipos de archivos y
obtener la ejecución remota de código (RCE).
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE CVE-2020-1745, CVE-2020-1938
Recomendación para Actualice la configuración de AJP para requerir autorización y / o
su remediación actualice el servidor Tomcat a 7.0.100, 8.5.51, 9.0.31 o posterior.
Bind Shell Backdoor Detection
Descripción Un shell está escuchando en el puerto remoto sin que se requiera
autenticación. Un atacante puede usarlo conectándose al puerto
remoto y enviando comandos directamente.
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE No registra
Recomendación para Verifique si el host remoto se ha visto comprometido y vuelva a instalar
su remediación el sistema si es necesario.
página 18 de 34
Reporte test de penetración –
Multiple Vendor DNS Query ID Field Prediction Cache Poisoning
Descripción El solucionador de DNS remoto no utiliza puertos aleatorios cuando
realiza consultas a servidores DNS de terceros. Un atacante remoto no
autenticado puede aprovechar esto para envenenar el servidor DNS
remoto, lo que permite al atacante desviar el tráfico legítimo a sitios
arbitrarios.
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE CVE-2008-1447
Recomendación para Póngase en contacto con su proveedor de servidor DNS para obtener
su remediación un parche.
NFS Exported Share Information Disclosure
Descripción El host de análisis podría montar al menos uno de los recursos
compartidos NFS exportados por el servidor remoto. Un atacante puede
aprovechar esto para leer (y posiblemente escribir) archivos en un host
remoto.
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE CVE-1999-0170, CVE-1999-0211, CVE-1999-0554
Recomendación para Configure NFS en el host remoto para que solo los hosts autorizados
su remediación puedan montar sus recursos compartidos remotos.
página 19 de 34
Reporte test de penetración –
Rexecd Service Detection
Descripción El servicio rexecd se está ejecutando en el host remoto. Este servicio
está diseñado para permitir a los usuarios de una red ejecutar
comandos de forma remota.
Sin embargo, rexecd no proporciona ningún buen medio de
autenticación, por lo que un atacante puede abusar de él para escanear
un host de terceros.
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE CVE-1999-0618
Recomendación para Comente la línea 'exec' en /etc/[Link] y reinicie el proceso inetd.
su remediación
UnrealIRCd Backdoor Detection
Descripción El servidor IRC remoto es una versión de UnrealIRCd con una puerta
trasera que permite a un atacante ejecutar código arbitrario en el host
afectado.
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE CVE-2010-2075
Recomendación para Vuelva a descargar el software, verifíquelo utilizando las sumas de
su remediación verificación MD5 / SHA1 publicadas y vuelva a instalarlo.
Unsupported Web Server Detection
Descripción Según su versión, el servidor web remoto está obsoleto y ya no lo
mantiene su vendedor o proveedor.
La falta de soporte implica que el proveedor no lanzará nuevos
parches de seguridad para el producto. Como resultado, puede
contener vulnerabilidades de seguridad.
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE No registra
Recomendación para Elimine el servidor web si ya no es necesario. De lo contrario, actualice
su remediación a una versión compatible si es posible o cambie a otro servidor.
página 20 de 34
Reporte test de penetración –
VNC Server 'password' Password
Descripción El servidor VNC que se ejecuta en el host remoto está protegido con
una contraseña débil. Nessus pudo iniciar sesión utilizando la
autenticación VNC y una contraseña de 'password'. Un atacante remoto
no autenticado podría aprovechar esto para tomar el control del sistema.
Criticidad CRITICA
Puerto o servicio
afectado
Código CVE No registras. Explotado por Nessus
Recomendación para Asegure el servicio VNC con una contraseña segura.
su remediación
página 21 de 34