jueves, 27 de noviembre de 2014

Practicando Spoofing

El Spoofing es una técnica de suplantación en la cual un sistema asume la identidad de otro para poder acceder a una serie de recursos (desde información hasta aplicaciones). El Spoofing abarca diferentes técnicas y objetivos: el IP Spoofing (a desarrollar en este documento), ARP Spoofing, DNS Spoofing, entre otros. La selección del método depende de los recursos o procesos que quieran ser atacados o infiltrados, además de las posibilidades que el sistema objetivo permita.

A continuación se presenta parte de una práctica relacionada con el Spoofing enfocado en el proceso de conexión remota mediante rlogin y la protección básica que brinda el bloqueo del acceso al sistema por dirección IP, usando los archivos hosts.allow y hosts.deny. Mediante la suplantación de la dirección IP de uno de los sistemas que tienen el acceso permitido un sistema atacante podrá ingresar al servidor

Se ha planteado un ambiente de trabajo basado en 3 sistemas de la siguiente forma:
  • Servidor: es el sistema que ofrece servicios a los otros ordenadores. En este caso permite la conexión remota a través de rslogin. El sistema tiene la siguiente configuración:
    • SO GNU\Linux Debian 7.0
    • Nombre: Cripto
    • IP: 172.10.10.2
    • Hosts.allow: 172.10.10.4
    •  Hosts.deny: ALL
  • Sistema Cliente Legitimo
    • SO GNU\Linux Debian 7.0
    • Nombre: test
    • IP: 172.10.10.4
  • Sistema Atacante:
    • SO GNU\Linux Kali
    • Nombre: Kali
    • o IP: 172.10.10.20

Las figuras a continuación muestran el acceso permitido al sistema legítimo y la negación al sistema atacante:

Fig. 1. Sistema Atacante sin acceso al sistema Cripto
Fuente: El Autor.

Fig. 2. Sistema Legítimo con acceso a Cripto

Fuente: El Autor.

1.1  ELECCIÓN DE UN HOST VICTIMA

El sistema victima elegido es el Servidor Cripto (192.168.0.19) el cual contiene varios servicios (en este caso el servidor de acceso remoto rlogin, ssh, telnet, etcétera). El objetivo es acceder al servidor presentando como un ordenador en su lista de equipos admitidos (hosts.allow)

1.2  BUSQUEDA DEL TRUSTED HOST

Asumiendo que se tiene identificado el nombre del servidor se puede obtener la IP y la información del servidor mediante PING y NMAP

Figura. 3. Ping al nombre de máquina
Fuente: El autor.

Figura. 4. NMAP para identificar servicios
Fuente: El autor

Conocemos que Cripto tiene servicios de FTP, SSH, Telnet, Login, RPCBind. Ahora además se tiene la IP para proceder a la búsqueda de sistemas en la red del servidor que pueda ser objeto de la suplantación para realizar el ataque. Se usa el comando nmap –n –sn <red> :

Figura 5. Ejecución de NMAP
Fuente: El Autor

El comando permite identificar varias IP  en la red que pueden constituir una puerta de entrada. Aunque en un proceso de análisis sería necesario obtener mayor información sobre cada dirección encontrada para el caso particular se procede directamente con el ordenador que ya conocernos como trusted host en el ambiente de pruebas.

 1.1  DESACTIVACIÓN DEL TRUSTED HOST

Mediante la aplicación del siguiente comando se envían paquetes tipo SYN al TRUSTED HOST de forma que sea des-habilitado debido a la incapacidad de responder al alto flujo de peticiones que llegan:
        hping3 -c 10000 -d 120 -S -w 64 -p 21 --flood --rand-source 172.10.10.4
   Fig. 6. Flood
      Fuente Autor

 1.2  USURPAR IDENTIDAD

Mediante IPTables se modifica la información de salida de los paquetes para que sean aceptados por el servidor:

     Fig. 7. Cambio de IpTables
    

     Fuente: El autor.

Se  realiza el cambio respectivo en las MAC mediante la herramienta scapy, de esta forma se puede suplantar y modificar los paquetes con la MAC de destino y origen.
   
Fig. 8. Detección de MAC de sistemas en la red
Fuente Autor

Fig.9. Suplantación de MAC:
    Fuente: El autor.

Fig. 10. Configuración destino MAC (Servidor)
Fuente Autor

Fig. 11. Vista actual de  ARP
Fuente Autor

Fig. 12. Configuración ARP Destino (MAC e IP de Servidor)
Fuente Autor

Fig. 13. Configuración ARP origen
Fuente Autor.

Fig. 14. Envío de paquetes en capa 2 entre destino y fuente
Fuente Autor

El siguiente paso es realizar un filtrado de paquetes para trabajar con ettercap capturando los paquetes que van desde el servidor hasta el trusted host y enviándolos al host atacante:

Fig. 15. Filtrado
Fuente Autor

Fig. 16. Codificando Filtro
Figura Autor

Fig. 17. Aplicando filtro
Fuente Autor

En este momento se ha realizado la suplantación y el sistema atacante (Kali) tiene acceso al servidor (Cripto) haciendo pasar por el trusted host (Test)
  
Fig. 18. Acceso a Cripto desde Kali haciéndose pasar por Test
Fuente Autor


Fuentes:

Yazdanmerh, S.(2011). Spoofing Source IP Address. Recuperado de: https://www.youtube.com/watch?v=TLB7GCjn__U

BlackMore Ops. (2014). DOS Using HPING3 With  Random  Source IP on Kali Linux. Recuperado de: http://blackmoreops.wordpress.com/2014/07/08/dos-using-hping3-random-source-ip-kali-linux/

Gametero (2007). Manual del IP Spoofing. Recuperado de: http://www.gametero.com/threads/manual-del-ip-spoofing.8039/

Mendez, I. (2011). Pasos para realizar ARP Spoofing (BackTrack). Recuperado de: http://losindestructibles.wordpress.com/2011/04/15/572/

Calvo Vilaplana,V. (s.f). Implementación de Ataques Basados en DNS Spoofing Recuperado de: http://www.uv.es/~montanan/redes/trabajos/DNS_Spoofing.pdf

Caballero Quezada, A.E. (2013). Hacking con Kali Linux. Recuperado de: http://www.reydes.com/archivos/Kali_Linux_v2_ReYDeS.pdf

Rucilez, D. (s.f) Using NMAP For Ping Sweeps, Port Scans, IP Spoofing and OS Fingerprinting. Recuperado de: http://www.elithecomputerguy.com/2013/01/17/using-nmap-for-ping-sweeps-port-scans-ip-spoofing-and-operating-system-information/


No hay comentarios:

Publicar un comentario