Por trás da porta verde!
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Por trás da porta verde!

  • 859 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
859
On Slideshare
729
From Embeds
130
Number of Embeds
1

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 130

http://blog.luizthiago.info 130

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Por trás da porta verde!Usando NMAPLuiz Thiagolthiagol@gmail.com@lthiagol
  • 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. Slides ...blog.luizthiago.info/Palestras
  • 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. 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. “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. NMAP Documentação
  • 8. NMAP Documentaçãonmap.org
  • 9. Network Scanner??• O que ele procura?• Isso que ele procura serve pra que?• O que eu posso fazer com o resultado?
  • 10. IP/Porta
  • 11. IP/Porta• Camada de rede– Protocolo IP– Endereço IP de Destino e Origem
  • 12. IP/Porta• Camada de transporte– Protocolo TCP, UDP ou SCTP– Porta de destino e origem
  • 13. Voltando proNMAP
  • 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. 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. 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. 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. 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. 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. 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. Técnicas dePort Scanning
  • 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. NMAP -sS
  • 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. 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. 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. NMAP -sN -sF -sX• Flags de um cabeçalho TCP– URG– ACK– PSH– RST– SYN– FIN
  • 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. 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. • 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. • 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. • 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. • 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. NMAP -sW• Window Scan ...
  • 35. NMAP -sWWindows???????
  • 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. 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. 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. 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. 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. Outrasfuncionalidades doNMAP
  • 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. 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. 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. Detecção de SO
  • 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. 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. Detecção de versão
  • 49. Detecção de versão
  • 50. Demais opções da CLIdo NMAP
  • 51. ouAquela porrada de opções que aparecequando executamos o nmap sem especificarnenhum parâmetro ...
  • 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. 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. 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. Defesas
  • 56. Defesas conta o NMAP• Segurança por obscuridade• Port knocking– http://www.portknocking.org/• HoneyPot/HoneyNet• Simulação de SO• IDS• Firewalls
  • 57. Uso prático
  • 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. Perguntas?