Lame
Información maquina

| Parámetros | Características |
|---|---|
| OS | Linux |
| Dificultad | Easy |
| Creador | ch4p |
| Link | Lame |
Skill
- Identificación de servicios vulnerables
- Explotación de Samba
Introducción
En esta maquina vamos a ver como se podría explotar para poder tener los privilegios de administrador del sistema, con lo que vamos a reconocer los diferentes puertos de la maquina y luego buscar alguna vulnerabilidad que nos pueda dar acceso a la maquina.
Requisitos previos
Vamos a crear unos directorios de trabajo, para poder manejar mucho mejor la información que vamos obteniendo y manteniendo un orden, con la ejecución de los siguiente comandos.
Ya configurada las opciones realizamos un envío de una traza ICMP para comprobar la conectividad con la maquina, y con lo cual observamos que ya tenemos conectividad y que tiene un ttl=63 que hace perteneciente a una maquina con sistema operativo Linux.

Reconocimiento
Realizamos ahora un reconocimiento de los puertos que tenga abierta esta maquina, con la ejecución del siguiente comando.
El escaneo nos arrojo que están abierto los siguiente puertos donde, se pueden observar que son los puerto 21,22,139,445,3632, pertenecientes a sus respectivos servicios.
Nmap scan report for 10.10.10.3
Host is up, received user-set (0.11s latency).
Scanned at 2024-07-15 17:13:39 EDT for 27s
Not shown: 65530 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE REASON
21/tcp open ftp syn-ack ttl 63
22/tcp open ssh syn-ack ttl 63
139/tcp open netbios-ssn syn-ack ttl 63
445/tcp open microsoft-ds syn-ack ttl 63
3632/tcp open distccd syn-ack ttl 63
Realizamos el siguiente paso donde vamos a observar algunos script y vulnerabilidades que pueden tener estos puertos por los cuales se logre tener acceso y realizamos el siguiente comando.
Donde se tiene mas especificaciones sobre los servicios y las versiones que están corriendo por estos puertos.
Nmap scan report for 10.10.10.3
Host is up (0.11s latency).
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 10.10.14.39
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| vsFTPd 2.3.4 - secure, fast, stable
|_End of status
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey:
| 1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
|_ 2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
3632/tcp open distccd distccd v1 ((GNU) 4.2.4 (Ubuntu 4.2.4-1ubuntu4))
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
|_clock-skew: mean: 2h00m22s, deviation: 2h49m47s, median: 18s
|_smb2-time: Protocol negotiation failed (SMB2)
| smb-os-discovery:
| OS: Unix (Samba 3.0.20-Debian)
| Computer name: lame
| NetBIOS computer name:
| Domain name: hackthebox.gr
| FQDN: lame.hackthebox.gr
|_ System time: 2024-07-15T17:17:56-04:00
Enumeración por FTP
Se puede observar que por el puerto 21, esta corriendo un servicio de ftp y que tiene acceso con el usuario Anonymous que es un usuario que no suele pedir credenciales de acceso, con lo cual podemos observar una primera instancia si se puede recolectar información a través de este puerto.

Se observa que por el puerto de ftp no tenemos ningún archivo que nos puede servir para poder encontrar algo de información, entonces procedemos a reconocer el siguiente puerto.
Enumeración por SMB
Procedemos a realizar una análisis por el puertos que esta corriendo samba que son los puertos 139, 445 y vamos a utlizar una herramienta que viene instalada en Kali Linux y es smbmap y realizamos el siguiente comando para enumerar alguna vulnerabilidad.

Y observamos que el directorio tmp es accesible, y podemos leer y escribir dentro de este directorio, con lo que vamos a conectarnos a este recurso, ejecutamos el siguiente comando, y no colocamos ninguna credencial.

Se logran observar varios archivos, con los que podemos ir analizando cada unos para ver si encontramos algunas información que nos sea relevante para escalar privilegios, pero para este caso estos archivos no van hacer relevantes y vamos a proceder con otro paso que puede que nos ayude a escalar privilegios.
Vamos a buscar alguna vulnerabilidad con la versión de smb, smbd 3.0.20-Debian
Y logramos obtener algunas vulnerabilidades con esta versión de samba, y lo que se desea hacer con la maquina victima es tener acceso para poder ejecutar comando dentro de esta maquina utilizamos el script de Command Execution, vamos a analizar este script para poder ver como se lograría tener el acceso de privilegios.

Vamos a explorar que tiene este código y que nos puede servir de este script de ruby, ejecutando el siguiente comando.
Se observa que en esa linea de código ejecuta lo siguiente para poder tener acceso de super usuario en la maquina.

Vamos a probar esa vulnerabilidad para comprabar si funciona al realizar la conexion encontrada con smbmap.
Realizamos la siguiente petición para probar si nos funciona el código, realizando un envío de una traza ICMP.
Y en segundo plano colocamos a escuchar el siguiente comando.
Y como se puede comprobar se tiene ejecución de código remoto a través de la maquina entonces procedemos a explotar esta vulnerabilidad.

Ahora ejecutamos el siguiente comando para poder tener un acceso remoto a la maquina a través de una revershell.
Y colocamos a escuchar otra shell con el siguiente comando.
Y se puede observar que ya se tiene colectividad con usuario root, se logro tener conectiviad con una revershell.

Se realiza un tratamiento de tty para poder trabajar de una manera mas amigable y realizamos los siguientes comandos en el siguiente orden.
1. script /dev/null -c bash
2. ctrl + z
3. stty raw -echo; fg
4. reset xterm
6. export TERM=xterm
7. export SHELL=bash
Y se puede observar que ya es mas manejable la terminar para proceder a buscar las flags.

Y realizamos la búsqueda de las flag y se encuentra las diferentes direcciones donde podemos ir a buscarlas y terminal la maquina.

Finalizacion
Se pudo observar que esta maquina logramos obtener privilegios de usuario root a traves de una vulnerabilidad de samba, que nos dejo ejecutar un comando de revershell para obtener este acceso y obtener el acceso completo a la maquina.
