Pentesting Network
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Bug bounty tip: regístrate en Intigriti, una plataforma de bug bounty premium creada por hackers, para hackers! Únete a nosotros en https://go.intigriti.com/hacktricks hoy, y comienza a ganar recompensas de hasta $100,000!
Esta va a ser una breve sección sobre cómo encontrar IPs que responden desde el Internet. En esta situación tienes un alcance de IPs (quizás incluso varios rangos) y solo necesitas encontrar qué IPs están respondiendo.
Esta es la forma más fácil y rápida de descubrir si un host está activo o no.
Podrías intentar enviar algunos paquetes ICMP y esperar respuestas. La forma más sencilla es simplemente enviar una solicitud de eco y esperar la respuesta. Puedes hacer eso usando un simple ping
o usando fping
para rangos.
También podrías usar nmap para enviar otros tipos de paquetes ICMP (esto evitará filtros a la solicitud-respuesta de eco ICMP común).
Es muy común encontrar que todo tipo de paquetes ICMP están siendo filtrados. Entonces, lo único que puedes hacer para verificar si un host está activo es intentar encontrar puertos abiertos. Cada host tiene 65535 puertos, así que, si tienes un alcance "grande", no puedes probar si cada puerto de cada host está abierto o no, eso tomaría demasiado tiempo. Entonces, lo que necesitas es un escáner de puertos rápido (masscan) y una lista de los puertos más utilizados:
También podrías realizar este paso con nmap
, pero es más lento y nmap
tiene problemas para identificar hosts activos.
Esto es solo un descubrimiento de puertos TCP útil cuando deseas enfocarte en descubrir servicios HTTP:
También podrías intentar verificar si hay algún puerto UDP abierto para decidir si deberías prestar más atención a un host. Dado que los servicios UDP generalmente no responden con datos a un paquete de sondeo UDP vacío, es difícil decir si un puerto está siendo filtrado o abierto. La forma más fácil de decidir esto es enviar un paquete relacionado con el servicio en ejecución, y como no sabes qué servicio está en funcionamiento, deberías probar el más probable según el número de puerto:
La línea de nmap propuesta anteriormente probará los 1000 puertos UDP principales en cada host dentro del rango /24, pero incluso solo esto tomará >20min. Si necesita resultados más rápidos, puede usar udp-proto-scanner: ./udp-proto-scanner.pl 199.66.11.53/24
Esto enviará estas probes UDP a su puerto esperado (para un rango /24 esto solo tomará 1 min): DNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike, ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp.
Aquí puedes encontrar una buena guía de todos los ataques Wifi bien conocidos en el momento de la escritura:
Pentesting WifiSi estás dentro de la red, una de las primeras cosas que querrás hacer es descubrir otros hosts. Dependiendo de cuánto ruido puedes/quieres hacer, se podrían realizar diferentes acciones:
Puedes usar estas herramientas para descubrir pasivamente hosts dentro de una red conectada:
Note que las técnicas comentadas en Descubriendo hosts desde afuera (Descubrimiento de puertos TCP/HTTP/UDP/SCTP) también pueden ser aplicadas aquí. Pero, como estás en la misma red que los otros hosts, puedes hacer más cosas:
Note que las técnicas comentadas en Descubriendo hosts desde el exterior (ICMP) también pueden ser aplicadas aquí. Pero, como estás en la misma red que los otros hosts, puedes hacer más cosas:
Si haces ping a una dirección de difusión de subred, el ping debería llegar a cada host y podrían responder a ti: ping -b 10.10.5.255
Haciendo ping a la dirección de difusión de la red podrías incluso encontrar hosts dentro de otras subredes: ping -b 255.255.255.255
Usa las flags -PE
, -PP
, -PM
de nmap
para realizar el descubrimiento de hosts enviando respectivamente ICMPv4 echo, timestamp, y solicitudes de máscara de subred: nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24
Wake On Lan se utiliza para encender computadoras a través de un mensaje de red. El paquete mágico utilizado para encender la computadora es solo un paquete donde se proporciona un MAC Dst y luego se repite 16 veces dentro del mismo paquete. Luego, este tipo de paquetes generalmente se envían en un ethernet 0x0842 o en un paquete UDP al puerto 9. Si no se proporciona [MAC], el paquete se envía a difusión ethernet (y el MAC de difusión será el que se repita).
Una vez que hayas descubierto todas las IPs (externas o internas) que deseas escanear en profundidad, se pueden realizar diferentes acciones.
Puerto abierto: SYN --> SYN/ACK --> RST
Puerto cerrado: SYN --> RST/ACK
Puerto filtrado: SYN --> [SIN RESPUESTA]
Puerto filtrado: SYN --> mensaje ICMP
Hay 2 opciones para escanear un puerto UDP:
Enviar un paquete UDP y verificar la respuesta ICMP unreachable si el puerto está cerrado (en varios casos, ICMP será filtrado, por lo que no recibirás ninguna información si el puerto está cerrado o abierto).
Enviar datagramas formateados para provocar una respuesta de un servicio (por ejemplo, DNS, DHCP, TFTP y otros, como se lista en nmap-payloads). Si recibes una respuesta, entonces, el puerto está abierto.
Nmap mezclará ambas opciones usando "-sV" (los escaneos UDP son muy lentos), pero ten en cuenta que los escaneos UDP son más lentos que los escaneos TCP:
SCTP (Stream Control Transmission Protocol) está diseñado para ser utilizado junto con TCP (Transmission Control Protocol) y UDP (User Datagram Protocol). Su principal propósito es facilitar el transporte de datos de telefonía a través de redes IP, reflejando muchas de las características de fiabilidad que se encuentran en Signaling System 7 (SS7). SCTP es un componente central de la familia de protocolos SIGTRAN, que tiene como objetivo transportar señales SS7 a través de redes IP.
El soporte para SCTP es proporcionado por varios sistemas operativos, como IBM AIX, Oracle Solaris, HP-UX, Linux, Cisco IOS y VxWorks, lo que indica su amplia aceptación y utilidad en el campo de las telecomunicaciones y redes.
Se ofrecen dos escaneos diferentes para SCTP por nmap: -sY y -sZ
Los routers, firewalls y dispositivos de red mal configurados a veces responden a sondas de red utilizando direcciones de origen no públicas. tcpdump se puede utilizar para identificar paquetes recibidos de direcciones privadas durante las pruebas. Específicamente, en Kali Linux, se pueden capturar paquetes en la interfaz eth2, que es accesible desde Internet público. Es importante tener en cuenta que si tu configuración está detrás de un NAT o un Firewall, es probable que tales paquetes sean filtrados.