## Apoyo práctica de Hacking Ético # Guía de Netdiscover para Hacking Ético ## Netdiscover: Identificación de Hosts en Vivo **Netdiscover** es un sencillo escáner ARP que se utiliza para buscar hosts activos en una red. Algunas características clave son: - **Modo Activo y Pasivo**: Netdiscover funciona en ambos modos. Puede enviar solicitudes ARP o simplemente escuchar el tráfico. - **Visualización en Tiempo Real**: Muestra los hosts identificados en una interfaz en vivo (ncurse). - **Exploración de Múltiples Subredes**: Puede escanear varias subredes. ## Opciones de Netdiscover Algunas opciones útiles de Netdiscover son: - `-i dispositivo`: Especifica el dispositivo de red. - `-r rango`: Escanea un rango específico en lugar de la detección automática. - `-l archivo`: Escanea una lista de rangos desde un archivo. - `-p modo pasivo`: Solo escucha sin enviar solicitudes ARP. - `-F filtro`: Personaliza la expresión de filtro pcap (por defecto: "arp"). - `-s tiempo`: Tiempo de espera entre cada solicitud ARP (milisegundos). - `-n nodo`: Último octeto de IP utilizado para el escaneo (de 2 a 253). - `-c cantidad`: Número de veces que se envía cada solicitud ARP (para redes con pérdida de paquetes). - `-f modo rápido`: Ahorra tiempo en el escaneo. - `-d ignora archivos de configuración para el escaneo automático y el modo rápido`. - `-S supresión de tiempo de espera entre cada solicitud (modo avanzado)`. - `-P resultados en formato adecuado para análisis por otro programa`. - `-N no muestra encabezado (solo válido con -P habilitado)`. ## Ejemplos de Uso - **Autoescaneo**: `netdiscover` - **Especificar Rango**: `netdiscover -r 192.168.1.0/24` - **Múltiples Rangos desde un Archivo**: `netdiscover -l archivo_de_rangos` - **Modo Pasivo**: `netdiscover -p -r 192.168.1.0/24` - **Salida Parsable**: `netdiscover -P -N -r 192.168.1.0/24` ## ARP (Protocolo de Resolución de Direcciones) El **ARP** (Address Resolution Protocol) es uno de los protocolos más importantes de la capa de enlace de datos en el modelo OSI. Su función es traducir direcciones IP a direcciones físicas (direcciones MAC). A continuación, se presentan algunos términos clave asociados con ARP: 1. **ARP inverso**: Protocolo de Resolución de Direcciones Inverso que se utiliza en redes de área local (LAN) para solicitar una dirección IP (IPv4) desde la tabla ARP del enrutador. Cuando una nueva máquina necesita una dirección IP, envía un paquete de difusión RARP que contiene la dirección MAC en los campos de hardware del remitente y el receptor. 2. **ARP proxy**: El Protocolo de Resolución de Direcciones Proxy permite que los dispositivos separados en segmentos de red, conectados a través del enrutador en la misma IP, resuelvan la dirección IP a la dirección MAC. El enrutador proxy reside con su dirección MAC en una red local como el enrutador deseado al que se dirige la difusión. 3. **ARP inverso**: Utiliza la dirección MAC para encontrar la dirección IP. En las redes ATM (Asynchronous Transfer Mode), el ARP inverso se utiliza de forma predeterminada para encontrar direcciones de capa 3 a partir de direcciones de capa 2. ### ¿Cómo funciona ARP? Imagina un dispositivo que desea comunicarse con otros a través de Internet. ¿Qué hace ARP? 1. **Difunde un paquete** a todos los dispositivos de la red de origen. 2. Los dispositivos de la red validan la **ID de red** del paquete con la **ID de red de destino** del paquete. 3. Si son iguales, responden al origen con la **dirección MAC de destino**. 4. Si no son iguales, el paquete llega al **gateway** de la red y se difunde a los dispositivos conectados, validando sus ID de red. 5. Este proceso continúa hasta que el penúltimo dispositivo de la red llega al destino, donde se valida y ARP responde con la dirección MAC de destino. Para visualizar las tablas ARP registradas tanto en windows como linux: `arp -a` ## Diferentes usos del PING 1. **Ping con ICMP (modo predeterminado)**: - El modo más común y predeterminado utiliza el protocolo **ICMP** para enviar paquetes de eco a una dirección IP o nombre de host. - Ejecuta el siguiente comando para hacer ping a una dirección IP o dominio: ``` ping <dirección_IP_o_nombre_de_host> ``` - Por ejemplo: ``` ping www.google.com ``` 2. **Ping por TCP/UDP**: - Puedes realizar un ping utilizando paquetes TCP o UDP en lugar de ICMP. - Aunque menos común, aquí tienes un ejemplo de cómo hacerlo con TCP: ``` ping -T <protocolo> <dirección_IP_o_nombre_de_host> ``` - Por ejemplo: ``` ping -T tcp www.example.com ``` 3. **Ping por HTTP**: - Algunas herramientas de monitoreo utilizan solicitudes HTTP para verificar la disponibilidad de un servidor web. - No es el método estándar de ping, pero puedes usar herramientas como **curl** o **wget** para enviar solicitudes HTTP: ``` curl -I www.example.com ``` 4. **Ping por DNS**: - Verifica la resolución de nombres de dominio mediante consultas DNS. - Utiliza el siguiente comando: ``` ping -c 4 www.example.com ``` 5. **Ping por SNMP**: - Utiliza el protocolo SNMP para verificar la conectividad y obtener información de dispositivos de red. - No es tan común como el ping ICMP, pero puedes usar herramientas como **snmpwalk**: ``` snmpwalk -v2c -c public <dirección_IP> ``` 6. **Ping por ARP**: - Verifica la tabla de direcciones MAC en una red local. - Utiliza el siguiente comando: ``` arping -c 4 <dirección_IP> ``` ## Ejemplo de uso de Hping3 1. Instalación: En caso de no tenerlo instalado usa el siguiente comando: ```bash sudo apt-get install hping3 sudo apt-get install hping3 ``` 2. Prueba de Ping sencilla Para verificar la conectividad con un host, puedes usar: ```bash hping3 -c 4 <dirección_IP> ``` 3. Trazar ruta de conexión: Para rastrear la ruta de conexión a un destino, ejecuta: ```bash! hping3 --traceroute <dirección_IP> ``` 4. Escaneo de puertos usando el flag SYN de TCP: Para escanear puertos, utiliza: ```bash! hping3 -S -p <puerto> <dirección_IP> ``` 5. Escaneo NULL: Puedes realizar un escaneo NULL con: ```bash! hping3 -p <puerto> --scan null <dirección_IP> ``` 6. Firmar paquetes con un archivo de texto personalizado: Si deseas firmar paquetes con un archivo de texto, prueba: ```bash! hping3 -p <puerto> --sign <archivo_de_firma.txt> <dirección_IP> ``` 7. Generar múltiples peticiones para probar la protección DoS y DDoS: Para evaluar la protección contra ataques DoS/DDoS, puedes usar: ```bash! hping3 --flood -p <puerto> <dirección_IP> ````