charla nmap jose luis chica murcialanparty 11
TRANSCRIPT
- 1.
- Jos Luis Chica Uribe
- Tcnico en seguridad
- 2. CSIRT-cv
- NMAP
- www.securityartwork.es
www.csirtcv.gva.es
- www.s2grupo .es
3.
- ndice
- Indroduccin
4. Descubrimiento de equipos y puertos 5. Detectando la versin del SSOO y del servicio 6. Deteccin y evasin de firewalls e IDS 7. Nmap Scripting Engine 8. Consejos de optimizacin del rendimiento 9. Contramedidas contra Nmap 10.
- Introduccin
- Herramienta de exploracin y auditora
11. Escanea equipos y redes 12. Primera versin 1997 por Fyodor 13. Gratuita, abierta, GPL 14. Multiplataforma 15. Documentada 16. Respaldada por una gran comunidad 17.
- Como funciona?
- Hace un barrido, enviando sondas
18. En funcin de las respuestas, reconoce equipos y servicios activos. 19. Aprovecha ambigedades en protocolos de red para adivinar la versin del SSOO 20. Necesario conocimientos bsicos del protocolo TCP para entender y aprovechar al mximo el funcionamiento de Nmap 21.
- TCP
PETICIN DEL CLIENTE PARA CONECTARSE A UN PUERTO 22.
- TCP
SYN/ACK SI EST DISPONIBLE, RESPUESTA AFIRMATIVA DEL SERVIDOR 23.
- TCP
SYN/ACK CONFIRMACIN DEL CLIENTE, COMPLETANDO LA CONEXIN 24.
- TCP
- Un paquete TCP entra a un bar y dice:
- -Quiero una cerveza.
- -Una cerveza quieres?
- -Si, una cerveza .
25.
- Un primer ejemplo
- # nmap -T4 192.168.111.222 Not shown: 995 filtered ports PORTSTATE SERVICE 21/tcpopenftp 22/tcpclosed ssh 25/tcpopensmtp 80/tcpopenhttp 8080/tcp openhttp-proxy
Nmap done: 1 IP address (1 host up) scanned in 12.69 seconds 26.
- Explicacin estado puertos
- ABIERTO : el puerto es alcanzable y hay alguna aplicacin a la escucha.
27. CERRADO : el puerto es alcanzable, pero no hay ninguna aplicacin a la escucha. 28. FILTRADO : no hay respuesta. Seguramente hay un firewall en medio. 29.
- Enumeracin de equipos
Barrido con pings # nmap -sP 192.168.1.0/24 Si el trfico ICMP est filtrado, se puede hacer barrido con ping TCP # nmap -sP -PS80,21,22,25 192.168.1.0/24 30.
- Otros ejemplos
- Escaneo a puertos especficos -p # nmap -T4 -p21,22,25,80,137,8080 192.168.1.0/24 - Escaneo rpido, 100 puertos ms usuales -F # nmap -T4 -F 192.168.1.0/24 31.
- Deteccin del SSOO
# nmap -T4-O10.10.10.30 Not shown: 997 closed ports PORTSTATE SERVICE 135/tcpopenmsrpc 139/tcpopennetbios-ssn 445/tcpopenmicrosoft-ds Running:Microsoft Windows Vista|2008|7 OS details:Microsoft Windows Vista SP0 - SP2, Server 2008, or Windows 7 Ultimate 32.
- Deteccin de versin
# nmap -T4-sV10.10.10.30 Not shown: 998 closed ports PORTSTATE SERVICE VERSION 80/tcpopenhttpApache httpd 2.2.16 (Debian) 3333/tcp opensshOpenSSH 5.5p1 Debian 6+squeeze1 (protocol 2.0) 33.
- Todo en uno
# nmap -T4-A10.10.10.30 Modificador-A
-
- Deteccin de versin -sV
- 34. Deteccin de SSOO -O
35. Uso de scripts -sC 36. Uso de traceroute --traceroute 37.
- Escaneo a UDP
# nmap -T4-sU -F10.10.10.20 Not shown: 997 closed ports PORTSTATESERVICE 67/udpopen|filtered dhcps 68/udpopen|filtered dhcpc 135/udpopen|filtered msrpc -En UDP no podemos determinar si un puerto est abierto o filtrado (por eso tarda tanto) - Interesante usar -sV para reconocer servicio y -F (hay pocos puertos comunes en UDP) 38.
- AUDITANDO FIREWALLS
- Nmap como herramienta de anlisis de configuracin de firewalls
39. Deteccin de la poltica por defecto.
- DEFAULT ACCEPT
40. DEFAULT DROP Deteccin del tipo de firewall
- STATELESS
41. STATEFULL Evasin de firewalls e IDS 42.
- AUDITANDO FIREWALLS
- POLITICA POR DEFECTO
Basado en el estado de los puertos no mostrados en un escaneo
-
- Cerrados : accept by default
- 43. Filtrados : deny by default
44.
- AUDITANDO FIREWALLS
FIREWALL ACCEPT POR DEFECTO #nmap -T4 ejemplo.com Not shown:995 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 135/tcp filtered msrpc 139/tcp filtered netbios-ssn 445/tcp filtered microsoft-ds Respuesta activaRSTde 995 puertos 45.
- AUDITANDO FIREWALLS
FIREWALL DROP POR DEFECTO #nmap -T4 asdf.com Not shown:996 filtered ports PORT STATE SERVICE 22/tcp open ssh 25/tcp closed smtp 80/tcp open http 113/tcp closed auth Sin respuesta de 996 puertos 46.
- AUDITANDO FIREWALLS
DETECCIN DEL TIPO DE FIREWALL
- Statefull: capaz de controlar las sesiones TCP
47. Se lanza Nmap normal (SYN scan)
- Se lanza otro escaneo extico
- ACK scan
48. Xmas scan 49. FIN scan Si el segundo scan no muestra resultado, es un firewall statefull 50.
- AUDITANDO FIREWALLS
FIREWALL STATEFULL #nmap -sA -T4 asdf.com Not shown:1000 filteredportsFirewall detecta paquetes ACK sin establecer conexin previa y los dropea 51.
- AUDITANDO FIREWALLS
FIREWALL SIN ESTADO #nmap -sA -T4 asdf.com Not shown: 996 filtered portsPORT STATE SERVICE 22/tcp unfiltered ssh 25/tcp unfiltered smtp 80/tcp unfiltered http 113/tcp unfiltered auth Sondas ACK han burlado el firewall 52.
- EVASIN DE FIREWALLS
Manipulacin del puerto de origen
- Puertos que el equipo considera de confianza
53. Permiten todo el trfico entrante 54. An teniendo reglas que lo bloqueen implcitamente!!! Ej:
- W2K y XP permita todo trfico TCP y UDP desde el puerto 88 (Kerberos)
55. OS X TIGER permita trfico desde el puerto 67 (DHCP) y 5353 (Zeroconf) 56.
- EVASIN DE FIREWALLS
Escaneo IPv6
- Servicios que escuchan IPv6
57. No se tienen en cuenta 58. Electrnica que an no soporta reglas de filtrado IPv6 59. Posibilidad de llegar a servicios que estn filtrados solo en IPv4 60.
- EVASIN DE FIREWALLS
#nmap -T4 asdf.com PORT STATE SERVICE 22/tcp open ssh 25/tcp filtered smtp 80/tcp open http 113/tcp closed auth#nmap -T4-6asdf.com PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http 113/tcp closed auth 61.
- EVASIN DE FIREWALLS
Fragmentacin IP
- Firewalls que no tratan paquetes fragmentados
62. Podran dejarlos pasar todos los fragmentos (o ignorarlos) 63. Modificador -f 64. Se puede usar tambin mtu 65.
- EVASIN DE IDS
BARRIDOS LEEEEENTOS
- Ralentizar los envos de sondas
66. Evitar deteccin por reglas de X paquetes en Y segundos. 67. Modificador T0: envo de sonda por cada 300sg -_-zZzZzz 68. Modificador T1: envo de sonda por cada 15sg 69.
- NMAP SCRIPTING ENGINE
- Herramienta muy potente y flexible
70. Permite al usuario escribir scripts para automatizar tareas 71. Basado en lenguaje LUA 72. Permite:
- Deteccin de vulnerabilidades
73. Explotacin de vulnerabilidades 74. Etcetcetc........ 75.
- NMAP SCRIPTING ENGINE
# nmap -sC -p139 -T4 1.2.3.4 Starting Nmap ( http://nmap.org ) Nmap scan report for flog (1.2.3.4) PORTSTATE SERVICE 139/tcpopennetbios-ssn Host script results: |smb-os-discovery : Unix | LAN Manager: Samba 3.0.31-0.fc8 |_Name: WORKGROUP Nmap done: 1 IP address scanned in 0.33 seconds 76.
- NMAP SCRIPTING ENGINE
- Actualmente:
- 284 scripts
77. 74 librerias Mantenidos activamente por comunidad en lista de correo nmap-dev 78. Categorias:
- Bruteforce, version, fuzzing, DoS
http://nmap.org/nsedoc/ 79.
- NMAP SCRIPTING ENGINE
- uso de un script especifico
--script
- si necesita algn argumento
--script-args 80.
- OPTIMIZACIN NMAP
- Capaz de escanear redes MUY extensas y heterogeneas
81. No es lo mismo escanear una red lejana que una LAN 82. Ni con firewalls que sin ellos 83. Los tiempos de respuesta son diferentes 84.
- OPTIMIZACIN NMAP
- Necesidad de utilizar configuracin personalizada
85. Plantillas de tiempo: -T0...T6
- T0,T1 MUY lento. Evasin de IDS
86. T2,T3, lento. Redes muy saturadas o inferiores a modems 56Kb 87. T4,T5 rpido, apaa para redes WAN o LAN (Por defecto T3) 88.
- OPTIMIZACIN NMAP
- Pero a veces no es suficiente
- Perfiles demasiado genricos
- 89. Se puede exprimir ms!
90. Uso de modificadores para configuracin avanzada de tiempo 91.
- OPTIMIZACIN NMAP
- --min-hostgroup, --max-hostgroup
- Agrupa las IPs y las escanea en paralelo - Interesante usarlo en escaneos UDP o con pocos puertos por host 92.
- OPTIMIZACIN NMAP
- --max-rtt-timeout,--initial-rtt-timeout
- Ajusta el tiempo de rtt (round trip time) - Se puede aproximar con ping/hping3 5 packets transmitted, 5 received, time 4005ms rtt min/avg/max/mdev=210.736/ 215.089/221.475 /4.063 93.
- OPTIMIZACIN NMAP
- --min-parallelism, --max-paralleism
- Nmero de sondas pendientes de respuesta que es capaz de manejar. - Nmap calcula este valor de forma dinmica -Si se estn perdiendo paquetes, ralentiza el envo de sondas y reduce el nmero de respuestas pendientes, para no perder precisin 94.
- OPTIMIZACIN NMAP
T0 T1 T2 T3 T4 T5 min-rtt-timeout 100 100 100 100 100 50 max-rtt-timeout 300,000 15,000 10,000 10,000 1,250 300 Initialrtt-timeout 300,000 15,000 1,000 1,000 500 250 max-retries 10 10 10 10 6 2 host-timeout 0 0 0 0 0 900,000 min-parallelism Dinmico max-parallelism 1 1 1 Dinmico min-hostgroup Dinmico max-hostgroup Dinmico TABLA DE TIEMPOS 95.
- OPTIMIZACIN NMAP
- - nmap -T4 1.2.3.0/24
# Nmap done at Tue Nov 29 14:45:36 2011 -- 256 IP addresses (229 hosts up) scanned in 3475.76 seconds - nmap -T4 --initial-rtt-timeout 250 --max-rtt-timeout 500 --max-retries 2 --min-parallelism 701.2.3.0/24 # Nmap done at Wed Nov 30 11:30:57 2011 -- 256 IP addresses (229 hosts up) scanned in1052.46seconds 96.
- OPTIMIZACIN NMAP
- SCAN MLP EDITION - nmap -T4 217.124.152.0/22
# Nmap done at Wed Dec7 12:50:22 2011 -- 1024 IP addresses (339 hosts up) scanned in 2227.96 seconds - nmap -T4 --initial-rtt-timeout 2 --max-rtt-timeout 5 --max-retries 2 --min-parallelism 70 217.124.152.0/22 # Nmap done at Wed Dec7 13:33:08 2011 -- 1024 IP addresses ( 395 hosts up ) scanned in875.07 second 97.
- DEFENSA CONTRA NMAP
- UN BUEN ATAQUE!
- Escanea tu red
98. Cierra puertos innecesarios 99. Busca vulnerabilidades y arrglalas! 100. Interesante programar escaneos peridicos y comparar resultados con Ndiff 101.
- DEFENSA CONTRA NMAP
- DETECTAR ESCANEOS
- Firewalls o IDS son capaces de detectar
102. Es habitual ignorar la deteccin, debido a que casi siempre son inofensivos 103. Pero a veces es precursor a una intrusin 104. Interesante correlar esta informacin
- Escaneo y acceso SSH
105. Escaneo y caida de servicio 106.
- DEFENSA CONTRA NMAP
- OCULTAR PUERTOS
- Nmap escanea 1000 puertos usuales
107. Interesante bindear un servicio a un puerto poco conocido 108. Obligas a hacer un barrido completo 109. Valorar seguridad vs usabilidad
- Poco util servidor web puerto 23981
110.
- DEFENSA CONTRA NMAP
- OTROS
- OS Spoofing
- Operating System: MS Mapache 2011
Port Knoking
- Llamar a una secuencia de puertos
Honeypots
- Falsos servicios abiertos y golosos para entretener al atacante
111. www.neuronasdigitales.com Twitter: @spankito