Por trás da porta verde!

0 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
0
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Por trás da porta verde!

  1. 1. Por trás da porta verde!Usando NMAPLuiz Thiagolthiagol@gmail.com@lthiagol
  2. 2. Quem sou eu ...• Graduação– IFPB – Redes de Computadores• Especialização– I2P – Segurança da Informação• Profissão– Unimed CG - Analista de Infraestrutura de TIC
  3. 3. Slides ...blog.luizthiago.info/Palestras
  4. 4. Comunidade• GESoL-CG– http://gesolcg.wordpress.com/• GLUGPB– http://listas.glugpb.org.br/listinfo.cgi/glugpb-glugpb.org.br• UbuntuPB– http://wiki.ubuntu-br.org/UbuntuPB
  5. 5. NMAP Origem• 1º. de Setembro de 1997• Edição 51 da Phrack• Gordon Lyon a.k.a. Fyodor• Network Mapper - NMAP• 2.000 linhas de código• Suportando apenas Linux
  6. 6. “Inexperienced users and script kiddies, […], tryto solve every problem with the default SYNscan. Since Nmap is free, the only barrier to portscanning mastery is knowledge.”nmap.org/book/man-port-scanning-techniques.html“Usuários inexperientes e script kiddies, [...], tentam resolver todosproblemas usando apenas o SYN scan padrão. Como o Nmap é grátis, a únicabarreira para dominar o port scanning é o conhecimento.”Tradução livreNMAP Motivação
  7. 7. NMAP Documentação
  8. 8. NMAP Documentaçãonmap.org
  9. 9. Network Scanner??• O que ele procura?• Isso que ele procura serve pra que?• O que eu posso fazer com o resultado?
  10. 10. IP/Porta
  11. 11. IP/Porta• Camada de rede– Protocolo IP– Endereço IP de Destino e Origem
  12. 12. IP/Porta• Camada de transporte– Protocolo TCP, UDP ou SCTP– Porta de destino e origem
  13. 13. Voltando proNMAP
  14. 14. NMAP Básico• $ nmap <alvo>– Executa uma varredura em mais de 1.000 portasTCP no computador <alvo>– Classificando as portas em seis estados:• open, closed, filtered, unfiltered, open|filtered,e closed|filtered
  15. 15. NMAP BásicoAs portas são listadas de acordo com o acessodo host que está executando o NMAP e domomento da execução. Varreduras executadasem outros momentos ou a partir de outros hostspodem, senão irão, mostrar resultadosdiferentes.
  16. 16. NMAP Básico• Estado das portas:– Open: Uma aplicação está aceitando conexõesTCP, datagramas UDP ou associações SCTP nessaporta – Objetivo principal do NMAP é achar essasportas– Closed: Uma porta nesse estado é acessível,porém, nenhuma aplicação está escutando namesma.
  17. 17. NMAP Básico• Estado das portas:– Filtered: O NMAP não consegue determinar se aporta está open, pois, um filtro de pacotes impedeessa ação.– Unfiltered: A porta está acessível, mas não épossível determinar se está open ou closed – Esseestado é retornado apenas pelo ACK scan!
  18. 18. NMAP Básico• Open|Filtered: Estado indicado quando não épossível determinar com certeza se a portaestá open ou filtered.• Closed|Filtered: Similar ao estadoOpen|Filtered, mas entre os estados closed efiltered.
  19. 19. NMAP Test-drive# nmap -A -T4 scanme.nmap.orgStarting nmap ( http://insecure.org/nmap/ )Interesting ports on scanme.nmap.org (205.217.153.62):(The 1663 ports scanned but not shown below are in state: filtered)PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)53/tcp open domain70/tcp closed gopher80/tcp open http Apache httpd 2.0.52 ((Fedora))113/tcp closed authDevice type: general purposeRunning: Linux 2.4.X|2.5.X|2.6.XOS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)
  20. 20. NMAP AVISO• Port Scanning pode ser encarado como umataque, pois, a primeira etapa de um ataque éjustamente o levantamento de informações.• Use em apenas em ambientes controlados ecom permissão• Maquinas virtuais são uma boa ideia!• scanme.nmap.org
  21. 21. Técnicas dePort Scanning
  22. 22. NMAP -sS• -sS (TCP SYN scan)– Método padrão do NMAP– Rápido, não obstruído por firewalls restritivos e“silencioso”– Diferenciação confiável entre open, closed efiltered– Inicia conexões TCP, aguarda uma resposta eanalisa.
  23. 23. NMAP -sS
  24. 24. NMAP -sS• NMAP solicita a conexão (SYN Flag)– SYN/ACK Flags de resposta – OPEN– RST Flag de resposta – CLOSED– Sem resposta ou um ICMP unreachable error – Filtered• Necessário privilégios de superusuário/admin
  25. 25. NMAP -sT• -sT (TCP connect scan)– Opção padrão quando o SYN Scan não estádisponível ou o usuário não tem privilégios– Usando a chamada de sistema CONNECT o NMAPtenta estabelecer uma conexão TCP com o alvo– Fácil detecção, pois, gera logs no destino– É mais demorada que a opção -sS– Infelizmente o NMAP não tem tanto controle dachamada CONNECT e isso torna essa opção menoseficiente!
  26. 26. NMAP -sN -sF -sX• RFC 793– http://tools.ietf.org/html/rfc793#page-65– “If the state is CLOSED […] then all data in theincoming segment is discarded. An incomingsegment containing a RST is discarded. Anincoming segment not containing a RST causes aRST to be sent in response.”– Em outras palavras, descarte e retorne umamensagem!
  27. 27. NMAP -sN -sF -sX• Flags de um cabeçalho TCP– URG– ACK– PSH– RST– SYN– FIN
  28. 28. NMAP -sN -sF -sX• Quando sistemas seguem essa RFC, pacotesque não contenham uma flag SYN, RST ou ACKretornarão um RST se a porta estiver fechada– Não responderá nada para portas abertas.• Desde que essas flags estejam desligadas nãoimporta o estados das flags FIN, PSH e URG
  29. 29. NMAP -sN -sF -sX• Null scan (-sN)– Todas as flags estão desligadas• FIN scan (-sF)– Apenas a flag FIN é ligada.• Xmas scan (-sX)– Liga as flags FIN, PSH e URG– O nome é uma brincadeira com uma árvore denatal que está toda acessa
  30. 30. • O comportamento dos três tipos de SCAN éparecido, diferenciando apenas as flags queestão ativadas• Os estados das portas são:– CLOSED – Se um RST for recebido como resposta– OPEN|FILTERED – Se não houver resposta– FILTERED – Se um ICMP unreachable error forrecebidoNMAP -sN -sF -sX
  31. 31. • Vantagens:– Pode passar por:• Firewalls non-stateful• Roteadores com filtros de pacotes– Mais “silencioso” que o TCP SYN Scan• Disvantagem:– Nem todos os SO seguem a RFC 793 a risca– Difícil diferenciar portas OPEN de FILTEREDNMAP -sN -sF -sX
  32. 32. • Apenas uma flag ACK é enviada• Sistemas sem filtros retornarão um RST paraportas OPEN e CLOSED, marcando ambascomo UNFILTERED– Sendo acessíveis por “pacotes ACK”– Não é possível diferenciar OPEN de CLOSED• Portas sem resposta ou que retornem errosICMP são marcadas como FILTEREDNMAP -sA
  33. 33. • Não identifica portas abertas!• Serve para identificar:– Conjuntos de regras de firewall– Portas filtradas– Se os firewalls no caminho são ou não statefull• Sim ... –sA vem de TCP ACK scanNMAP -sA
  34. 34. NMAP -sW• Window Scan ...
  35. 35. NMAP -sWWindows???????
  36. 36. NMAP -sW• Window Scan ...• Mesma varredura que o ACK scan, porém,analisa o tamanho da janela do TCP (TCPWindow)• No lugar de marcar UNFILTERED quandoreceber um RST a janela é analisada:– TCP Window positiva – OPEN– TCP Windows zero – CLOSED• Não é muito confiável
  37. 37. NMAP -sM• Uriel Maimon – Phrack #49• Baseado na mesma técnica dos SCAN NULL,FIN e XMAS– Probe FIN/ACK– Porém, alguns sistemas derivados do BSDsimplesmente não retornam nada se a portaestiver OPEN• TCP Maimon scan
  38. 38. NMAP scans...• -sZ (SCTP COOKIE ECHO scan)• -sI <zombie host>[:<probeport>] (idle scan)• -sO (IP protocol scan)• -b <FTP relay host> (FTP bounce scan)• --scanflags (Custom TCP scan)
  39. 39. NMAP -sU• -sU (UDP scan)– Geralmente mais lento que os do tipo TCP– Pode ser usado junto dos outros TCP scan– Um payload específico ou 0 é enviado dependendo daporta de destino• Respostas• ICMP unreachable errors (Tipo 3, codigo 3) – CLOSED• ICMP unreachable errors (Tipo 3, codigo 1, 2,9, 10, 13) –FILTERED• Pacote UDP – OPEN• Sem resposta – OPEN|FILTERED
  40. 40. NMAP -sU• Grande desafio ... Efetuar um SCAN rápido!– Portas OPEN ou FILTERED dificilmente respondem,aumentando o número de retestes– Normalmente ICMP tem um número limitado derespostas• Linux limita a 1 ICMP por segundo• Analisar 65,536 portas leva 18 horas• Boa idéia é analisar apenas portas populares!
  41. 41. Outrasfuncionalidades doNMAP
  42. 42. Detecção de SO• Razões:– Determinar vulnerabilidades• Delimitar o escopo da exploração– Inventário de redes– Detecção de dispositivos não autorizados– Engenharia social
  43. 43. Detecção de SO• Habilitado pela opção– O• Pode ser otimizado com a opção– osscan-limit• Caso não seja possível ter exatidão nadetecção é possível uma aproximação com– osscan-guess
  44. 44. Detecção de SO• Como funciona:– Vários testes são feitos com as respostas do alvo:• Amostragem de ID de IP• Ordenação da opções do TCP• Verificação de TCP Window inicial• [..]– O NMAP compara os resultados com uma base dedados própria– Exibe o resultado
  45. 45. Detecção de SO
  46. 46. Exame por ping• Executa apenas o exame por ping para descobrirse o host (ou lista de hosts) está ativo• Faz a varredura de forma rápida e confiável• É possível especificar técnicas de descoberta dehospedeiros– TCP SYN (-PS <lista de portas>)– TCP ACK (-PA <lista de portas>)– UDP (-PU <lista de portas>)– ICMP (-PE, -PP, -PM)– Protocolo IP (-PO <lista de protocolos>)– ARP (-PR)
  47. 47. Detecção de versão• Encontra as portas abertas e tenta descobrirqual serviço está sendo executado em cadauma delas– Descobrindo inclusive versões– Falsos positivos são comuns• Essa é uma ótima solução para serviçosexecutando em portas não padronizadas• -sV: Probe open ports to determineservice/version info
  48. 48. Detecção de versão
  49. 49. Detecção de versão
  50. 50. Demais opções da CLIdo NMAP
  51. 51. ouAquela porrada de opções que aparecequando executamos o nmap sem especificarnenhum parâmetro ...
  52. 52. HOST DISCOVERY:• -sL: List Scan - simply list targets to scan• -sn: Ping Scan - disable port scan• -Pn: Treat all hosts as online -- skip host discovery• -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery togiven ports• -PE/PP/PM: ICMP echo, timestamp, and netmask requestdiscovery probes• -PO[protocol list]: IP Protocol Ping• -n/-R: Never do DNS resolution/Always resolve [default:sometimes]• --dns-servers <serv1[,serv2],...>: Specify custom DNS servers• --system-dns: Use OSs DNS resolver• --traceroute: Trace hop path to each host
  53. 53. OUTPUT:• -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,• and Grepable format, respectively, to the given filename.• -oA <basename>: Output in the three major formats at once• -v: Increase verbosity level (use -vv or more for greater effect)• -d: Increase debugging level (use -dd or more for greater effect)• --reason: Display the reason a port is in a particular state• --open: Only show open (or possibly open) ports• --packet-trace: Show all packets sent and received• --iflist: Print host interfaces and routes (for debugging)• --log-errors: Log errors/warnings to the normal-format output file• --append-output: Append to rather than clobber specified output files• --resume <filename>: Resume an aborted scan• --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML• --webxml: Reference stylesheet from Nmap.Org for more portable XML• --no-stylesheet: Prevent associating of XSL stylesheet w/XML output
  54. 54. MISC:• -6: Enable IPv6 scanning• -A: Enable OS detection, version detection,script scanning, and traceroute• --datadir <dirname>: Specify custom Nmap data filelocation• --send-eth/--send-ip: Send using raw ethernet frames or IPpackets• --privileged: Assume that the user is fully privileged• --unprivileged: Assume the user lacks raw socket privileges• -V: Print version number• -h: Print this help summary page.
  55. 55. Defesas
  56. 56. Defesas conta o NMAP• Segurança por obscuridade• Port knocking– http://www.portknocking.org/• HoneyPot/HoneyNet• Simulação de SO• IDS• Firewalls
  57. 57. Uso prático
  58. 58. Uso prático• Detectar máquinas infectadas com Conficker– http://pt.wikipedia.org/wiki/Conficker– http://nmap.org/nsedoc/scripts/p2p-conficker.html– nmap -PN -T4 -p139,445 -n -v –script=smb-check-vulns –script-args safe=1 192.168.0.1-254• Scripts• O que você conseguir imaginar
  59. 59. Perguntas?

×