En el mundo de la informática, un ataque es una forma de destruir, exponer y obtener acceso no autorizado a datos y ordenadores. Un atacante es una persona que roba tus datos sin permiso y una característica de algunos ataques es que están ocultos. Los ataques no siempre son sencillos; la mayoría de ellos son complejos y es un gran reto para los investigadores de seguridad y las empresas que ofrecen una solución para ellos. Un ataque puede ser activo o pasivo:
- Ataque activo: En este tipo de ataque, el atacante intenta alterar los recursos del sistema o destruir los datos. El Atacante puede cambiar los datos.
- Ataque pasivo: En este tipo de ataque, el atacante intenta obtener información del sistema sin destruir la información. Este ataque es más bien de vigilancia y reconocimiento del objetivo.
Quiero que te familiarices con los diferentes tipos de ataques activos y pasivos:
Ataque activo:
- Ataque de denegación de servicio (DoS).
- Spoofing.
- Man in the middle.
- Envenenamiento ARP.
- Desbordamiento.
Ataque pasivo:
- Escáneres de puertos.
- Idle Scan (escaneo inactivo).
Te mostraré algunos textos sobre las opciones anteriores y te presentaré otros ataques.
Tabla de Contenido
Familiarizándose con los ataques
Eavesdropping (escuchar secretamente)
Seguro que te resulta familiar; es algo muy normal en la vida. Imagina que quieres encontrar alguna información sobre dos amigos y su relación. Una forma muy sencilla es escuchar en secreto sus palabras. Este tipo de ataque también se produce en las comunicaciones informáticas, pero se conoce como sniffing.
Cuando chateas con tu amigo en modo “texto claro”, es posible olfatear tu tráfico. Puede parecer antiguo, pero puedes estar seguro de que es uno de los mayores problemas de seguridad en una red que los administradores de red no tienen en cuenta. Fíjate en la siguiente imagen.
Falsificación de direcciones (Address Spoofing)
Sé que sabes lo que es una dirección IP (Protocolo de Internet). Como sabes, para comunicarse con otros ordenadores, cada ordenador necesita una IP. En este ataque, un atacante quiere hacer una dirección de destino falsa y engañarte al respecto. Por ejemplo, tu objetivo es mibanco.com y un atacante reenvía tu petición a un falso mibanco.com. El objetivo es suplantar al host.
Ataque de denegación de servicio (Dos)
En este tipo de ataque, un atacante intenta hacer que una máquina o recurso de red no esté disponible para los usuarios. El objetivo es interrumpir o suspender los servicios que se conectan a Internet. Este ataque se dirige a gateways y servidores web, como los de los bancos, y realiza algunos de los siguientes sabotajes.
- Uso de recursos computacionales, como el ancho de banda, la memoria, el espacio en disco o incluso la CPU. Como supongo, tu mente podría divagar hacia el malware. Tienes razón, algunos malware son un tipo de ataque DoS.
- Destruye la información y las tablas de enrutamiento.
- Interrumpir los componentes físicos de la red, como los routers, los switches y los firewalls.
- Envía datos no válidos a aplicaciones o servicios de red. Puede terminar anormalmente los servicios.
- Enviar muchos paquetes a los destinos para inundarlos y finalmente colapsar y apagar.
- Bloquear los destinos y que los usuarios autorizados no puedan acceder a ellos.
En el DDoS, un atacante puede utilizar la técnica del Zombie para capturar muchos ordenadores y enviar muchas peticiones a la víctima a través de ellos o de bots. Zombie significa que un ordenador conectado a Internet ha sido comprometido por un hacker.
Ataque Man-in-the-Middle
El ataque man-in-the-middle (abreviado MITM, MitM, MIM, MiM, MITMA) es una forma de ataque activo en el que un atacante establece una conexión entre las víctimas y envía mensajes entre ellas. Así, las víctimas creen que están hablando directamente entre ellas, pero en realidad un atacante lo controla. En este escenario, un atacante ha tenido éxito cuando puede hacerse pasar por un usuario. Por otro lado, existe una tercera persona entre tú y la persona con la que te comunicas y puede controlar y vigilar tu tráfico. Afortunadamente, algunos protocolos pueden impedirlo, como el SSL. Un hacker puede utilizar el siguiente software para implementar este ataque:
- Cain & Abel
- Subterfuge
- Ettercap
- AirJack
- SSLStrip
- SSLSniff
Analizador de paquetes (Packet Sniffer)
Un sniffer es una aplicación o dispositivo que el atacante utiliza para olfatear tu tráfico. Un atacante puede leer, monitorizar y capturar tus paquetes. Una buena manera de evitarlo es encriptando tu tráfico. Depende de la estructura de la red. En una red en la que los ordenadores se comunican entre sí a través de un hub, es muy inseguro y fácil de husmear. Los switches y routers utilizan otra arquitectura para evitarlo, pero no es imposible.
Las herramientas más populares son:
- Cain & Abel
- dSniff
- ettercap
- tcpdump
- Wireshark
Ahora que estás familiarizado con algunos ataques, quiero presentarte una herramienta popular con el nombre de “Ettercap“.
Introducción a Ettercap: Instalación
Ettercap es una herramienta gratuita y de código abierto que puede lanzar ataques Man-in-the-Middle. Puedes utilizar esta herramienta para el análisis de la red y la auditoría de seguridad y puede ejecutarse en varios sistemas operativos, como Linux, BSD, Mac OS X y Windows. Ettercap puede olfatear el tráfico de red, capturar contraseñas, etc.
Te mostraré algunas características de esta herramienta.
Ettercap puede trabajar con estos cuatro modelos:
- Basado en IP: Filtrado de paquetes por dirección IP.
- Basado en MAC: Filtrado de paquetes por dirección MAC.
- Basado en ARP: Es muy útil para husmear paquetes entre dos hosts en una red conmutada.
- Basado en ARP público: Es muy útil para husmear paquetes de un usuario a todos los hosts.
Algunas características importantes son
- Soporte de HTTPS
- Fingerprinting del sistema operativo
- Escaneo pasivo
- Secuestro de DNS
Descarga Ettercap a través de este enlace.
https://github.com/Ettercap/ettercap
Asumo que estás usando Gnu/Linux, ¿verdad? Yo uso una distribución basada en Debian (Parrot OS) y te mostraré cómo puedes instalarlo.
Ettercap puede ser instalado en las siguientes distribuciones:
- Debian/Ubuntu
- Kali Linux/Parrot OS
- Fedora
- Gentoo
- Pentoo
Puedes instalarlo en otras versiones de Linux y en Windows, pero la compilación no está garantizada.
Primero debes instalar algunas dependencias para que Ettercap funcione correctamente:
sudo apt-get install debhelper cmake bison flex libgtk2.0-dev libltdl3-dev libncurses-dev libncurses5-dev\ libnet1-dev libpcap-dev libpcre3-dev libssl-dev libcurl4-openssl-dev ghostscript
Ahora, abro mi terminal de Linux y escribo el siguiente comando para instalar Ettercap:
sudo apt-get install ettercap-graphical
Alternativamente, puedes utilizar apt-cache search
para encontrar el paquete de instalación: (alternativamente, puedes listar paquetes instalados)
sudo apt-cache search search ettercap
Ettercap puede ejecutarse en dos modos, modo texto y modo GUI. Para instalar el modo GUI, basta con ejecutar:
sudo apt-get install ettercap-gtk
Entonces, mediante el comando ettercap -G
, puedes ejecutar Ettercap en modo GUI.
Ettercap ofrece cuatro interfaces de usuario :
- -T utiliza la GUI de sólo texto
- -C utiliza la GUI de curses
- -G utiliza GTK+ GUI
- -D daemoniza ettercap (sin GUI)
Por ejemplo
ettercap -C
En Linux, puedes utilizar ifconfig -a
para ver todas las NICs. Para usar Ettercap, debes especificar una NIC. También puedes echar un vistazo a los 5 comandos para obtener la dirección IP de Linux.
ARP spoofing
Antes de empezar con Ettercap, debes saber algo sobre el ARP spoofing. En esta técnica, un atacante envía un mensaje ARP falso a la LAN local. ¿Pero qué es ARP? ARP (Address Resolution Protocol) es un protocolo que se utiliza para la resolución de direcciones de la capa de red en direcciones de la capa de enlace. En resumen, ARP se utiliza para convertir una IP en una dirección física. Los switches y routers utilizan la tabla de caché ARP. En los dispositivos de red, las direcciones IP y las correspondientes direcciones MAC de los sistemas se almacenan en una tabla llamada tabla ARP Cache. Todos los sistemas de la red manipulan esta tabla y, como se deduce de su nombre, no es obligatoria y se actualiza cada 15-20 minutos.
El objetivo del ARP spoofing es secuestrar un sistema y un atacante quiere unir su dirección MAC con la dirección IP de otro host. El resultado es que cualquier tráfico destinado a esa dirección IP será enviado al atacante.
Ahora que estás familiarizado con el ARP Spoofing, te mostraré cómo podemos implementarlo a través de Ettercap. Déjame lanzar Ettercap a través de la opción -G
. Cuando aparezca Ettercap, desde el menú Sniff, haz clic en Unified Sniffing y deberías ver una ventana como esta:
Puedes ver las NICs de tu sistema y seleccionar la NIC correcta. Ten en cuenta que si no puedes ver la NIC, es porque debes tener permiso de root, por lo tanto cierra Ettercap y ejecútalo mediante sudo
:
sudo ettercap -G
Después de pulsar OK, volverás a la ventana principal:
El siguiente paso es el escaneo de hosts. Haz clic en el menú Hosts y luego en Scan for hosts. Cuando el escaneo haya terminado, haz clic en el menú Hosts y luego en Hosts Lists:
Como ves, Ettercap encontró varios (12) hosts en mi red.
Haz clic en el primer host y haz clic en el botón “Add to Target 1” y luego haz clic en el segundo host y haz clic en el botón “Add to Target 2”.
Haz clic en el menú Mitm y selecciona Arp Poisoning, luego selecciona Sniff Remote Connection y haz clic en OK:
A continuación, haz clic en el menú Start y selecciona Start Sniffing. En este escenario nuestro ordenador parece 192.168.1.15 y cuando dos objetivos se comunican entre sí, los paquetes se envían también a nuestro ordenador. Puedes probarlo a través de la herramienta Wireshark. Mira la tabla ARP a través del comando arp -a
.
Ataque Suplantación de DNS
Antes de empezar con el DNS spoofing a través de Ettercap, deberías saber algo sobre el DNS. ¿Qué es el DNS? El DNS (Sistema de Nombres de Dominio) es un sistema de nomenclatura distribuido para ordenadores y servicios o cualquier dispositivo que se conecte a Internet o a una red. Traduce un nombre de dominio a una dirección IP para encontrar la ubicación del ordenador. Por ejemplo, linux.org se traduce a 172.67.153.210.
Es un servicio muy útil que ayuda a los usuarios a encontrar la ubicación de un ordenador sin tener que saber cómo el ordenador localiza realmente los servicios. Bien, examinemos el DNS Spoofing. Este tipo de ataque hace que el servidor de nombres devuelva una dirección IP incorrecta y desvíe el tráfico a otro ordenador.
Te mostraré cómo puedes implementar este ataque a través de Ettercap. Si examinas Ettercap, encontrarás algunos plug-ins útiles empaquetados por Ettercap. Uno de estos plug-ins es dns_spoof.
Primero, usando un editor de texto como nano
para editar el archivo /etc/ettercap/etter.conf
sudo nano /etc/ettercap/etter.conf
Cambia el gid y el uid que utiliza Ettercap a 0. Esto permitirá que el proceso se ejecute como root y la manipulación de la interfaz o de la configuración de funcionamiento para lograr nuestros objetivos no será un problema.
ec_uid=0
ec=gid=0
Ahora, edita la configuración del plugin dns_spoof para Ettercap. De nuevo, utiliza un editor de texto y edita el archivo en /etc/ettercap/etter.dns
.
nano /etc/ettercap/etter.dns
Después de abrirlo, puedes encontrar una guía muy buena y completa. En este ejemplo, quiero reenviar todas las solicitudes a unsitioweb.com a www.*****.org :). Utilizo la siguiente sintaxis:
unsitioweb.com A 104.21.80.209
*.unsitioweb.com A 104.21.80.209
www.unsitioweb.com PTR 104.21.80.209
La dirección IP de www.****.org es “104.21.80.209”.
Utiliza el siguiente comando para lanzar una suplantación de DNS:
sudo ettercap -T -q -P dns_spoof -i wlan0 -M arp /// ///
#Otro comando, para toda la red
sudo ettercap -T -q -M arp -i wlan0 -P dns_spoof -p //192.168.1.1/
#Para un rango de red
sudo ettercap -T -q -M arp -i wlan0 -P dns_spoof //192.168.1.1/ 192.168.1.51/
-T
: Especifica el uso de la interfaz basada en texto-q
: Ejecuta los comandos en modo silencioso-P dns_spoof
: Especifica el uso del complemento dns_spoof-M arp
: Inicia un ataque MITM de envenenamiento ARP para interceptar paquetes entre hosts
Ahora, todas las peticiones a unsitioweb.com son reenviadas a Linux.org.
También hay una versión gráfica:
Si obtienes el siguiente mensaje de advertencia (desde la línea de comandos):
SSL dissection needs a valid 'redir_command_on' script in the etter.conf file
Entonces, debes modificar algunas líneas en el archivo etter.conf
(en realidad, des-comentar las siguientes líneas):
redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT %rport"
redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT %rport"
Fingerprinting pasivo del sistema operativo
El fingerprinting pasivo del SO es una técnica basada en el análisis de la información enviada por un host remoto durante la comunicación, como la navegación por una página web o el ping. Esta técnica es muy útil para un hacker porque éste no envía ningún tráfico adicional o inusual, por lo que es pasivo y no detectable. El tráfico contiene suficiente información para identificar el SO remoto y podemos detectar el SO remoto fácilmente. Si quieres saber algo sobre Remote OS detect, te recomiendo http://nmap.org/book/osdetect.html.
Te recomendé dos herramientas, P0f y Ettercap. No quiero dedicar mucho tiempo a P0f pero te mostraré algunos comandos útiles.
Asumo que has instalado P0f, por lo tanto ejecuta el comando de abajo:
sudo apt-get install p0f
sudo p0f
Como puedes ver, P0f está esperando paquetes y puedes navegar por tu sitio web o hacer ping a la dirección IP. P0f intentará detectar el SO remoto a través de paquetes. Puedes ver todos los comandos mediante man p0f
.
No nos alejemos de Ettercap. Ejecuta Ettercap a través del siguiente comando:
sudo ettercap -C
A continuación, abre el menú Sniff, y selecciona Unified sniffing. Puedes ver tu NIC:
Como puedes ver, Ettercap recoge información de todas las direcciones IP que visitas. Selecciona la dirección IP y pulsa Intro. En la siguiente ventana, puedes ver los detalles del host.
En resumen, el Spoofing es fácil a través de Ettercap y es una muy buena herramienta para hacerlo. No quiero decirte que es un trabajo ridículo, pero algunas herramientas, como Ettercap, lo hacen fácil. Después de este artículo, estoy seguro de que estás pensando en el Sniffing del tráfico en una LAN y si eres un administrador de red investigarás y encontrarás algunas herramientas para endurecer tus dispositivos.