Nmap, the free scanner

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Nmap, the free scanner - Presentation Transcript

    1. Dani Gutiérrez jdanitxu@gmail.com 2009ko apirilak 25
    2. ¿Por qué esta presentación?
    3. ¿Por qué esta presentación? 1ª edic. Dic-2008
    4. Software libre con 12 años 1-sep-97: sin versión, sólo para GNU/Linux, ● creada por Gordon “Fyodor” Lyon Feb-04: v3.50 denegada a SCO Caldera por no ● adhesión a la GPL. Le obliga a rehacer la ISO. Dic-06: v4.21ALPHA1 NSE ● Ago-08: v4.68 presentada en la Blackhat ● Defcon Mar-09: v4.85BETA7 Conficker ●
    5. Software libre con 12 años Nuevas contribuciones: ● Funcionalidades, algoritmos, huellas ● Google SoC: 2005, 2006, 2007, 2008 ●
    6. Software libre con 12 años Películas: ● The Matrix Reloaded (may-03),... ● Otras: 13 Game of death, The listening, ... ●
    7. Usos Descubrimiento Resolución inversa de equipos online de nombres Resolución de nombres: ●Servidores DNS preestablecidos (resolv.conf) Información de estado ●Otros servidores DNS de puertos tcp/udp, etc. ●S.O. (hosts,nsswitch.conf) Trazado de rutas Reconoc. de versiones servicios de red y S.O. ncat, ndiff Detección de agujeros de seg. y malware En otros software's Nessus, metasploit,...
    8. Cuestiones éticas y legales No hay una respuesta sencilla ● En general no problemático, pero a veces sí ● (políticas, dañar equipos)
    9. Cuestiones éticas y legales Consejos: ● Focalizar el objetivo: nº IPs y puertos, timing ● Respetar las políticas establecidas, si existen ● Avisar de antemano ● O... stealthiness ●
    10. Versión actual: 4.85BETA7 Licencia GPL v2 ● Corre en GNU/linux, *BSD, Windows, Mac OS ● X,... 1760 huellas de S.O. ● 4805 huellas de servicios tcp/udp ● 55 scripts NSE y 26 librerías LUA ● Ejecutables: ncat, ndiff, nmap, zenmap ● Otros ficheros: 140 protocolos, 2124 servicios ● tcp/udp, 8406 fabricantes de MACs, Servicios RPC
    11. Instalación debian 5.0 lenny: 4.62-1 ubuntu 9.04 jaunty: 4.76 tar.bz2 (v4.85BETA7: 6.2 Mb) ./configure && make && sudo make install (abierto a lectura desde dic-06)
    12. Descubrimiento equipos online Técnicas: ● (ping [-b] xxx.yyy.zzz[.255]) ● Ping ICMP echo request, timestamp, ● netmask TCP SYN, mejor contra FW stateful ● TCP ACK, mejor contra FW stateless ● Ping UDP (por defecto a udp/31338) ● Otros protocolos IP: ICMP, IGMP, IP-in-IP ● ARP scan. Más rápido en LANs ●
    13. Descubrimiento equipos online Por defecto: ● Superusuario: ICMP y ACK a tcp/80 ● No superusuario: SYN a tcp/80 a través del ● stack TCP/IP del S.O. (connect syscall). Más lenta. Si se está en red local: ARP ● A veces por defecto no se descubre ● Interesante nombres resueltos ● Entidad versus Proveedor servicio ●
    14. Escaneo de puertos Según RFCs e implement. stacks protocolos. Ej tcp: closed open SYN SYN RST SYN/ACK RST filtered SYN SYN/ACK ACK SYN Datos SYN RST SYN
    15. Escaneo de puertos nmap define 6 estados open closed filtered (*) closed|filtered open|filtered unfiltered UDP, IP, FIN, ACK Idle NULL, Xmas (*)No depende sólo del puerto, también del tipo de prueba
    16. Escaneo de puertos Detección Motor Motores Sin nmap versión del ultra_scan propios servicio Varios TCP,UDP (ver tabla) TCP idle netstat en ● ● ● ●TCP con flags ad-hoc ●FTP bounce cada equipo ●TCP idle ●nc -z ●IP protocol TCP TCP NULL, TCP TCP TCP SYN, UDP FIN, ACK Window Maimon Connect Xmas TCP SYN/ACK O UDP O ICMP error (tipo 3, cód. 3) F C F F F F ICMP error (tipo 3, cód. 1, 2, 9, 10, 13) F F F F F F (nada) F O|F O|F F F O|F TCP RST non-zero window field C C U O C TCP RST zero window field C C U C C
    17. Escaneo de puertos TCP Connect: no requiere privilegios, pero ● menos eficiente que SYN (gestión por S.O. y no nmap) UDP: más lento que TCP. A veces funciona ● enviando contenido adecuado TCP ACK: apto para diferenciar firewall ● statefull/stateless
    18. Escaneo de puertos Menos eficientes y más dependientes de S.O.: ● TCP FIN, NULL, Xmas: aptos para algunos ● firewall stateless y filtros de paquetes TCP Window: apto para diferenciar firewall ● statefull/stateless.
    19. Escaneo de puertos Fichero nmap-services: ● servicio, protocolo, puerto, frecuencia de estado abierto. F=/usr/share/nmap/nmap-services grep -v ^# $F | sort -t. -k 2 -r -n | grep tcp Ej. Puertos tcp más populares: ● 80, 23, 443, 21, 22, 25,...
    20. Escaneo de puertos Router/Firewall reenviando a otros equipos: ● #PUERTOS=”P_FW1,P_FW2,...,P_REENV1,P_REENV2,...” #nmap -PN -n -p $PUERTOS --packet-trace IPDESTINO | grep “ SA “ RCVD (0.3800s) TCP IPDESTINO:P_REENV1 > IPORIGEN:57233 SA ttl=55 … RCVD (0.3800s) TCP IPDESTINO:P_REENV2 > IPORIGEN:57233 SA ttl=55 … ... RCVD (0.3800s) TCP IPDESTINO:P_FW1 > IPORIGEN:57233 SA ttl=56 … RCVD (0.3800s) TCP IPDESTINO:P_FW2 > IPORIGEN:57233 SA ttl=56 … ...
    21. Fingerprinting de servicios Resultado: servicio, aplicación y versión ● Soporta SSL (mediante OpenSSL) y IPv6 ● Caso de servicio SunRPC: se lanza un ataque ● por fuerza bruta para encontrar programa, nombre y versión.
    22. Fingerprinting de servicios Técnica: Gramática de pruebas extensible: ● Probe: Nombre de la prueba y bytes a enviar ● ports, sslports: puertos para los que enviar ● un probe match, softmatch: patrón a comparar y ● servicio/versión asociada Otras: Exclude, totalwaitms, rarity, fallback ● Fichero nmap-service-probes ●
    23. Fingerprinting de S.O. Resultado: ● Tipo de dispositivo ● Detalles: versión, fabricante, MAC, hostname ● Uptime estimado ● Distancia de red ● Predicción de secuencia TCP e IP ●
    24. Fingerprinting de S.O. grep ^Class nmap-os-db | cut -f 4 -d \\| | sort -u general purpose telecom-misc web server PBX load balancer VoIP adapter proxy server VoIP gateway print server VoIP phone remote management phone terminal server PDA router game console switch media device bridge power-device broadband router storage-misc WAP specialized encryption accelerator printer firewall terminal security-misc webcam
    25. Fingerprinting de S.O. Técnica: ● Interpretación de respuestas a 13 pruebas ● (ECN, IE, OPS, SEQ, T1,..., T7, U1, WIN) mediante envío de 2 paq. ICMP, 13 paq. TCP, 1 paq. UDP a puertos abiertos / cerrados. Ej. ttl por defecto: ● /proc/sys/net/ipv4/ip_default_ttl Fichero nmap-os-db ●
    26. Fingerprinting de S.O. Otras técnicas no empleadas: ● Fingerprinting pasivo: nmap es activo ● Exploits de versiones específicas ● Tiempos de retransmisión de paquetes: lento ● Fragmentación IP: algunos fw ● (de)fragmentan Qué puertos están abiertos: poco fiable ●
    27. Parámetros de calidad Fiabilidad: ● Cantidad de información ● No falsos positivos/negativos ● Velocidad: Tiempo / Cantidad de info ● Rendimiento en contextos no favorables (ej. ● firewalls) Ocultación o discreción (stealthiness) ● Recursos (RAM, ancho de banda) ●
    28. Fiabilidad ¡No siempre acierta! ● Escanear más puertos ● Escanear de forma más agresiva ● Escanear desde otra ubicación ●
    29. Velocidad Paquetes y tiempos (1) ● Nº pruebas / segundo (min/máx). ● Paralelismo: ● Nº hosts (mín/máx) en paralelo – – Nº pruebas simultáneas entre todos los hosts (mín/máx). – Múltiples instancias de nmap no siempre aconsejable
    30. Velocidad Paquetes y tiempos (2) ● Timeouts: estimables ej. con hping2 ● RTT (mín/máx): tiempo de espera a una – prueba – Por host: tiempo máximo para descartarlo Máximo nº de reintentos para retransmitir un ● paquete Retardo para envío de paquetes a un host ●
    31. Velocidad No solicitar servicios innecesarios: ● Para ver los equipos online no es necesaria ● la fase de escaneo de puertos Resolución de nombres ● Detección de versiones de S.O. y servicios ● Trazado de rutas ● Qué puertos escanear: los N más típicos (por ● defecto 1000), el objetivo,... Intensidad de pruebas de detección de versión ●
    32. Velocidad Escanear desde puntos con velocidad rápida al ● objetivo: Desde la red local o detrás del firewall ● Desde puntos adecuados ej. en conexiones ● internacionales Hacer nmaps por fases: 1) detección rápida de ● hosts online, 2) escaneo de puertos,... Tiempo estimado a priori/durante ●
    33. Ocultación Características de paquetes: tamaño no nulo (--data- ● length), TTL, fragmentación, MTU, opciones de paquetes IP, checksum TCP/UDP inválido, enrutamiento en origen Envío de paquetes intermedios con otras IPs origen ● (“señuelos”) Spoofing de MAC, IP, puerto origen ● Proxies abiertos ● Orden aleatorio de hosts y puertos destinos ● Nº de hosts, nº de puertos y frecuencia de envío ● Técnica o tipo de probe ●
    34. Firewalls / IDs / IPs Firewalls stateless/statefull, con/sin NAT ● IDSs: detección, ej. alarma ● IPSs: prevención, ej. bloqueo ● Honeypots / Honeynets ●
    35. Denfensas contra nmap Cerrar puertos ● drop vs reject ● IDSs/ Seguimiento de logs (scanlogd,...) ● Servicios en puertos no típicos ● Port knocking ● Honeypots / honeynets ● OS Spoofing ● Retardos en respuestas (“tar pitting”) ● Bloqueo de puertos ●
    36. Formatos de salida Fichero: ● Normal ● XML ● Grepable ● “Hack3r” ● Se puede continuar uno ya comenzado ●
    37. NSE Nmap Scripting Engine ● Por qué: ● Detección más sofisticada de S.O. y ● servicios, ej. skype v2 Deteccion de vulnerabilidades y malware ● Scripts clasificados en categorías ●
    38. NSE NSE = intérprete LUA + biblioteca NSE ● LUA: ● Razones: diseñado para ser embebido de ● forma eficiente, lic. MIT, paralelizable. Lenguaje interpretado. ● Utilizado en wireshark/tshark, snort, ● OpenWRT, VLC, lighttpd, juegos,...
    39. NSE Librería NSE: conexión Nmap y LUA: ● Paso de parámetros ● API de red (connect I/O, raw packet I/O) ● Ejecución de scripts en paralelo (thread ● mutexes) Gestión de Excepciones ● Registro de estado ●
    40. NSE Ejemplo: showSMTPVersion.nse ● --- Queries the version of an SMTP server. --@output -- 25/tcp open smtp\\n -- |_ SMTP version: 220 mail.foo.com mx-2.bar.com ESMTP Exim 4.64\\n id = \"SMTP version\" description = \"Simple script which queries and prints the version of an SMTP server.\" author = \"Diman Todorov <diman.todorov@gmail.com>\" license = \"Same as Nmap--See http://nmap.org/book/man-legal.html\" categories = {\"demo\"} require \"comm\" require \"shortport\" portrule = shortport.port_or_service(25, \"smtp\") action = function(host, port) local status, result = comm.get_banner(host, port, {lines=1}) if not status then return end return (string.gsub(result, \"\\n\", \"\")) end
    41. NSE Conficker ● nmap -PN -d -p445 --script=smb-check-vulns --script-args=safe=1 RangoIPs Host script results: | smb-check-vulns: | MS08-067: FIXED | Conficker: Likely INFECTED |_ regsvc DoS: VULNERABLE
    42. zenmap GUI GTK. Otras Qt: knmap, nmapsi4 ● Qué aporta: ● Ayuda en introducción de opciones ● Usabilidad en presentación de resultados, ● especialmente representación de topología
    43. zenmap
    44. Otras herramientas Libres / Privativas. Gratis / Comerciales. ● Ej. en Ubuntu jaunty 9.04: ● arp-scan, doscan, ike-scan, knocker, nast, nessus, netdiscover, nwatch, openvas*, p0f, paketto, php-net-portscan, pnscan, python- scapy, scanssh, sslscan, irpas, nikto, xprobe Otras, ej. unicornscan ●
    45. Agur eta Ondo eskaneatu! Eskerrik asko: Gordon “Fyodor” Lyon & team, blindsec ● Licencia de uso de este documento: CC 3.0 by-sa ● () /\\ _ ( \\ | ( \\ ( \\.( ) _____ \\ \\\\ ` ` )\\ ( ___ /_ \\ (_` \\+ . x ( .\\ \\/ \\____-----------/ (o) \\_ - .- \\+ ; (O \\____ ) \\_____________ ` \\/ (__ +- .( -'.- <. - _ VVVVVVV VV V\\ \\/ (_____ ._._: <_ - <- _ (--_AAAAAAA__A_/ | . /./.+- . .- / +-- - . \\______________//_ \\_______ (__ ' /x / x _/ ( \\___' \\ / ,x/(' ./. / | \\ / / / _/ / + / \\/ ' (__/ / \\ NMAP IS A POWERFUL TOOL -- USE CAREFULLY AND RESPONSIBLY

    + danitxudanitxu, 6 months ago

    custom

    1043 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1043
      • 1043 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 12
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories