SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Por trás da porta verde!
Usando NMAP
Luiz Thiago
lthiagol@gmail.com
@lthiagol
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
Slides ...
blog.luizthiago.info/Palestras
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
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
“Inexperienced users and script kiddies, […], try
to solve every problem with the default SYN
scan. Since Nmap is free, the only barrier to port
scanning mastery is knowledge.”
nmap.org/book/man-port-scanning-techniques.html
“Usuários inexperientes e script kiddies, [...], tentam resolver todos
problemas usando apenas o SYN scan padrão. Como o Nmap é grátis, a única
barreira para dominar o port scanning é o conhecimento.”
Tradução livre
NMAP Motivação
NMAP Documentação
NMAP Documentação
nmap.org
Network Scanner??
• O que ele procura?
• Isso que ele procura serve pra que?
• O que eu posso fazer com o resultado?
IP/Porta
IP/Porta
• Camada de rede
– Protocolo IP
– Endereço IP de Destino e Origem
IP/Porta
• Camada de transporte
– Protocolo TCP, UDP ou SCTP
– Porta de destino e origem
Voltando pro
NMAP
NMAP Básico
• $ nmap <alvo>
– Executa uma varredura em mais de 1.000 portas
TCP no computador <alvo>
– Classificando as portas em seis estados:
• open, closed, filtered, unfiltered, open|filtered,
e closed|filtered
NMAP Básico
As portas são listadas de acordo com o acesso
do host que está executando o NMAP e do
momento da execução. Varreduras executadas
em outros momentos ou a partir de outros hosts
podem, senão irão, mostrar resultados
diferentes.
NMAP Básico
• Estado das portas:
– Open: Uma aplicação está aceitando conexões
TCP, datagramas UDP ou associações SCTP nessa
porta – Objetivo principal do NMAP é achar essas
portas
– Closed: Uma porta nesse estado é acessível,
porém, nenhuma aplicação está escutando na
mesma.
NMAP Básico
• Estado das portas:
– Filtered: O NMAP não consegue determinar se a
porta está open, pois, um filtro de pacotes impede
essa ação.
– Unfiltered: A porta está acessível, mas não é
possível determinar se está open ou closed – Esse
estado é retornado apenas pelo ACK scan!
NMAP Básico
• Open|Filtered: Estado indicado quando não é
possível determinar com certeza se a porta
está open ou filtered.
• Closed|Filtered: Similar ao estado
Open|Filtered, mas entre os estados closed e
filtered.
NMAP Test-drive
# nmap -A -T4 scanme.nmap.org
Starting 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 VERSION
22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)
53/tcp open domain
70/tcp closed gopher
80/tcp open http Apache httpd 2.0.52 ((Fedora))
113/tcp closed auth
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X
OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11
Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)
NMAP AVISO
• Port Scanning pode ser encarado como um
ataque, pois, a primeira etapa de um ataque é
justamente o levantamento de informações.
• Use em apenas em ambientes controlados e
com permissão
• Maquinas virtuais são uma boa ideia!
• scanme.nmap.org
Técnicas de
Port Scanning
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 e
filtered
– Inicia conexões TCP, aguarda uma resposta e
analisa.
NMAP -sS
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
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 NMAP
tenta 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 da
chamada CONNECT e isso torna essa opção menos
eficiente!
NMAP -sN -sF -sX
• RFC 793
– http://tools.ietf.org/html/rfc793#page-65
– “If the state is CLOSED […] then all data in the
incoming segment is discarded. An incoming
segment containing a RST is discarded. An
incoming segment not containing a RST causes a
RST to be sent in response.”
– Em outras palavras, descarte e retorne uma
mensagem!
NMAP -sN -sF -sX
• Flags de um cabeçalho TCP
– URG
– ACK
– PSH
– RST
– SYN
– FIN
NMAP -sN -sF -sX
• Quando sistemas seguem essa RFC, pacotes
que não contenham uma flag SYN, RST ou ACK
retornarão um RST se a porta estiver fechada
– Não responderá nada para portas abertas.
• Desde que essas flags estejam desligadas não
importa o estados das flags FIN, PSH e URG
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 de
natal que está toda acessa
• O comportamento dos três tipos de SCAN é
parecido, diferenciando apenas as flags que
estã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 for
recebido
NMAP -sN -sF -sX
• 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 FILTERED
NMAP -sN -sF -sX
• Apenas uma flag ACK é enviada
• Sistemas sem filtros retornarão um RST para
portas OPEN e CLOSED, marcando ambas
como UNFILTERED
– Sendo acessíveis por “pacotes ACK”
– Não é possível diferenciar OPEN de CLOSED
• Portas sem resposta ou que retornem erros
ICMP são marcadas como FILTERED
NMAP -sA
• 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 scan
NMAP -sA
NMAP -sW
• Window Scan ...
NMAP -sW
Windows???????
NMAP -sW
• Window Scan ...
• Mesma varredura que o ACK scan, porém,
analisa o tamanho da janela do TCP (TCP
Window)
• No lugar de marcar UNFILTERED quando
receber um RST a janela é analisada:
– TCP Window positiva – OPEN
– TCP Windows zero – CLOSED
• Não é muito confiável
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 BSD
simplesmente não retornam nada se a porta
estiver OPEN
• TCP Maimon scan
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)
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 da
porta 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
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 de
respostas
• Linux limita a 1 ICMP por segundo
• Analisar 65,536 portas leva 18 horas
• Boa idéia é analisar apenas portas populares!
Outras
funcionalidades do
NMAP
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
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 na
detecção é possível uma aproximação com
– osscan-guess
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 de
dados própria
– Exibe o resultado
Detecção de SO
Exame por ping
• Executa apenas o exame por ping para descobrir
se 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 de
hospedeiros
– 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)
Detecção de versão
• Encontra as portas abertas e tenta descobrir
qual serviço está sendo executado em cada
uma delas
– Descobrindo inclusive versões
– Falsos positivos são comuns
• Essa é uma ótima solução para serviços
executando em portas não padronizadas
• -sV: Probe open ports to determine
service/version info
Detecção de versão
Detecção de versão
Demais opções da CLI
do NMAP
ou
Aquela porrada de opções que aparece
quando executamos o nmap sem especificar
nenhum parâmetro ...
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 to
given ports
• -PE/PP/PM: ICMP echo, timestamp, and netmask request
discovery 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 OS's DNS resolver
• --traceroute: Trace hop path to each host
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
MISC:
• -6: Enable IPv6 scanning
• -A: Enable OS detection, version detection,
script scanning, and traceroute
• --datadir <dirname>: Specify custom Nmap data file
location
• --send-eth/--send-ip: Send using raw ethernet frames or IP
packets
• --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.
Defesas
Defesas conta o NMAP
• Segurança por obscuridade
• Port knocking
– http://www.portknocking.org/
• HoneyPot/HoneyNet
• Simulação de SO
• IDS
• Firewalls
Uso prático
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
Perguntas?

Mais conteúdo relacionado

Destaque

Cloud computing infraestrutura sem stress
Cloud computing   infraestrutura sem stressCloud computing   infraestrutura sem stress
Cloud computing infraestrutura sem stressLuiz Thiago
 
Apresentação - Cloud Computing
Apresentação - Cloud ComputingApresentação - Cloud Computing
Apresentação - Cloud ComputingUniCloud
 
Cloud Computing, Virtualização e seus benefícios.
Cloud Computing, Virtualização e seus benefícios.Cloud Computing, Virtualização e seus benefícios.
Cloud Computing, Virtualização e seus benefícios.Eduardo Duarte
 
Apresentação cloud computing senac
Apresentação cloud computing senacApresentação cloud computing senac
Apresentação cloud computing senacfrank encarnacão
 
Introdução a Cloud Computing com Amazon Web Services
Introdução a Cloud Computing com Amazon Web ServicesIntrodução a Cloud Computing com Amazon Web Services
Introdução a Cloud Computing com Amazon Web ServicesJose Papo, MSc
 
Apresentação de projetos a investidores
Apresentação de projetos a investidoresApresentação de projetos a investidores
Apresentação de projetos a investidoresGiancarlo Colombo
 

Destaque (8)

Cloud computing infraestrutura sem stress
Cloud computing   infraestrutura sem stressCloud computing   infraestrutura sem stress
Cloud computing infraestrutura sem stress
 
Apresentação - Cloud Computing
Apresentação - Cloud ComputingApresentação - Cloud Computing
Apresentação - Cloud Computing
 
Cloud Computing, Virtualização e seus benefícios.
Cloud Computing, Virtualização e seus benefícios.Cloud Computing, Virtualização e seus benefícios.
Cloud Computing, Virtualização e seus benefícios.
 
Arquiteturas Cloud na AWS: Uma Introducao
Arquiteturas Cloud na AWS: Uma IntroducaoArquiteturas Cloud na AWS: Uma Introducao
Arquiteturas Cloud na AWS: Uma Introducao
 
Apresentação cloud computing senac
Apresentação cloud computing senacApresentação cloud computing senac
Apresentação cloud computing senac
 
Apresentação Cloud Computing World Forum
Apresentação Cloud Computing World ForumApresentação Cloud Computing World Forum
Apresentação Cloud Computing World Forum
 
Introdução a Cloud Computing com Amazon Web Services
Introdução a Cloud Computing com Amazon Web ServicesIntrodução a Cloud Computing com Amazon Web Services
Introdução a Cloud Computing com Amazon Web Services
 
Apresentação de projetos a investidores
Apresentação de projetos a investidoresApresentação de projetos a investidores
Apresentação de projetos a investidores
 

Semelhante a Por trás da porta verde!

Sistemas operacionais 14
Sistemas operacionais 14Sistemas operacionais 14
Sistemas operacionais 14Nauber Gois
 
Ferramentas de ataques
Ferramentas de ataquesFerramentas de ataques
Ferramentas de ataquesCarlos Veiga
 
Aula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e ScriptsAula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e ScriptsAndrei Carniel
 
Aula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela FilterAula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela FilterAndrei Carniel
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
WANs e Roteadores Cap. 4 Outros Dispositivos - CCNA 3.1 Wellington Pinto de O...
WANs e Roteadores Cap. 4 Outros Dispositivos - CCNA 3.1 Wellington Pinto de O...WANs e Roteadores Cap. 4 Outros Dispositivos - CCNA 3.1 Wellington Pinto de O...
WANs e Roteadores Cap. 4 Outros Dispositivos - CCNA 3.1 Wellington Pinto de O...Wellington Oliveira
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFrederico Madeira
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall Carlos Melo
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapClavis Segurança da Informação
 
R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)Mariana Hiyori
 
Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Bruno Catão
 
Firewall - Introducao.pdf
Firewall - Introducao.pdfFirewall - Introducao.pdf
Firewall - Introducao.pdfssusere0b5a8
 
Nmap Avaliando Rede Em Ambiente Linux
Nmap  Avaliando Rede Em Ambiente LinuxNmap  Avaliando Rede Em Ambiente Linux
Nmap Avaliando Rede Em Ambiente Linux987123987123
 

Semelhante a Por trás da porta verde! (20)

Sistemas operacionais 14
Sistemas operacionais 14Sistemas operacionais 14
Sistemas operacionais 14
 
Ferramentas de ataques
Ferramentas de ataquesFerramentas de ataques
Ferramentas de ataques
 
Aula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e ScriptsAula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e Scripts
 
Aula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela FilterAula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela Filter
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
WANs e Roteadores Cap. 4 Outros Dispositivos - CCNA 3.1 Wellington Pinto de O...
WANs e Roteadores Cap. 4 Outros Dispositivos - CCNA 3.1 Wellington Pinto de O...WANs e Roteadores Cap. 4 Outros Dispositivos - CCNA 3.1 Wellington Pinto de O...
WANs e Roteadores Cap. 4 Outros Dispositivos - CCNA 3.1 Wellington Pinto de O...
 
Cap4
Cap4Cap4
Cap4
 
Sniffers Parte 3
Sniffers   Parte 3Sniffers   Parte 3
Sniffers Parte 3
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em Redes
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Unidade3 seg perimetral
Unidade3 seg perimetralUnidade3 seg perimetral
Unidade3 seg perimetral
 
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o NmapManobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
Manobras Evasivas: Técnicas de Evasão para Varreduras com o Nmap
 
Tutorial sobre iptables
Tutorial sobre iptablesTutorial sobre iptables
Tutorial sobre iptables
 
R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)R&c 02 14_2 - Protocolos (Parte 2)
R&c 02 14_2 - Protocolos (Parte 2)
 
NMAP
NMAPNMAP
NMAP
 
Apostila firewall-consulta
Apostila firewall-consultaApostila firewall-consulta
Apostila firewall-consulta
 
Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2Introdução às Redes Neurais - Parte 2/2
Introdução às Redes Neurais - Parte 2/2
 
Roteamento
RoteamentoRoteamento
Roteamento
 
Firewall - Introducao.pdf
Firewall - Introducao.pdfFirewall - Introducao.pdf
Firewall - Introducao.pdf
 
Nmap Avaliando Rede Em Ambiente Linux
Nmap  Avaliando Rede Em Ambiente LinuxNmap  Avaliando Rede Em Ambiente Linux
Nmap Avaliando Rede Em Ambiente Linux
 

Mais de Luiz Thiago

ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTINGESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTINGLuiz Thiago
 
Ubuntu o projeto e a comunidade
Ubuntu   o projeto e a comunidadeUbuntu   o projeto e a comunidade
Ubuntu o projeto e a comunidadeLuiz Thiago
 
Arch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxArch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxLuiz Thiago
 
Sun Spot Zig Bee
Sun Spot Zig BeeSun Spot Zig Bee
Sun Spot Zig BeeLuiz Thiago
 

Mais de Luiz Thiago (6)

ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTINGESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
ESTUDO DE CASO PARA ALTA DISPONIBILIDADE EM AMBIENTES DE WEB HOSTING
 
Ubuntu o projeto e a comunidade
Ubuntu   o projeto e a comunidadeUbuntu   o projeto e a comunidade
Ubuntu o projeto e a comunidade
 
Ubuntu Kung Fu
Ubuntu Kung FuUbuntu Kung Fu
Ubuntu Kung Fu
 
Arch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxArch Linux – Simplesmente Linux
Arch Linux – Simplesmente Linux
 
Sun Spot Zig Bee
Sun Spot Zig BeeSun Spot Zig Bee
Sun Spot Zig Bee
 
Ehtical Hacking
Ehtical HackingEhtical Hacking
Ehtical Hacking
 

Por trás da porta verde!

  • 1. Por trás da porta verde! Usando NMAP Luiz Thiago lthiagol@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
  • 4.
  • 5. 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
  • 6. 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
  • 7. “Inexperienced users and script kiddies, […], try to solve every problem with the default SYN scan. Since Nmap is free, the only barrier to port scanning mastery is knowledge.” nmap.org/book/man-port-scanning-techniques.html “Usuários inexperientes e script kiddies, [...], tentam resolver todos problemas usando apenas o SYN scan padrão. Como o Nmap é grátis, a única barreira para dominar o port scanning é o conhecimento.” Tradução livre NMAP Motivação
  • 10. Network Scanner?? • O que ele procura? • Isso que ele procura serve pra que? • O que eu posso fazer com o resultado?
  • 12. IP/Porta • Camada de rede – Protocolo IP – Endereço IP de Destino e Origem
  • 13. IP/Porta • Camada de transporte – Protocolo TCP, UDP ou SCTP – Porta de destino e origem
  • 15. NMAP Básico • $ nmap <alvo> – Executa uma varredura em mais de 1.000 portas TCP no computador <alvo> – Classificando as portas em seis estados: • open, closed, filtered, unfiltered, open|filtered, e closed|filtered
  • 16. NMAP Básico As portas são listadas de acordo com o acesso do host que está executando o NMAP e do momento da execução. Varreduras executadas em outros momentos ou a partir de outros hosts podem, senão irão, mostrar resultados diferentes.
  • 17. NMAP Básico • Estado das portas: – Open: Uma aplicação está aceitando conexões TCP, datagramas UDP ou associações SCTP nessa porta – Objetivo principal do NMAP é achar essas portas – Closed: Uma porta nesse estado é acessível, porém, nenhuma aplicação está escutando na mesma.
  • 18. NMAP Básico • Estado das portas: – Filtered: O NMAP não consegue determinar se a porta está open, pois, um filtro de pacotes impede essa ação. – Unfiltered: A porta está acessível, mas não é possível determinar se está open ou closed – Esse estado é retornado apenas pelo ACK scan!
  • 19. NMAP Básico • Open|Filtered: Estado indicado quando não é possível determinar com certeza se a porta está open ou filtered. • Closed|Filtered: Similar ao estado Open|Filtered, mas entre os estados closed e filtered.
  • 20. NMAP Test-drive # nmap -A -T4 scanme.nmap.org Starting 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 VERSION 22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) 53/tcp open domain 70/tcp closed gopher 80/tcp open http Apache httpd 2.0.52 ((Fedora)) 113/tcp closed auth Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Uptime 33.908 days (since Thu Jul 21 03:38:03 2005)
  • 21. NMAP AVISO • Port Scanning pode ser encarado como um ataque, pois, a primeira etapa de um ataque é justamente o levantamento de informações. • Use em apenas em ambientes controlados e com permissão • Maquinas virtuais são uma boa ideia! • scanme.nmap.org
  • 23. 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 e filtered – Inicia conexões TCP, aguarda uma resposta e analisa.
  • 25. 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
  • 26. 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 NMAP tenta 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 da chamada CONNECT e isso torna essa opção menos eficiente!
  • 27. NMAP -sN -sF -sX • RFC 793 – http://tools.ietf.org/html/rfc793#page-65 – “If the state is CLOSED […] then all data in the incoming segment is discarded. An incoming segment containing a RST is discarded. An incoming segment not containing a RST causes a RST to be sent in response.” – Em outras palavras, descarte e retorne uma mensagem!
  • 28. NMAP -sN -sF -sX • Flags de um cabeçalho TCP – URG – ACK – PSH – RST – SYN – FIN
  • 29. NMAP -sN -sF -sX • Quando sistemas seguem essa RFC, pacotes que não contenham uma flag SYN, RST ou ACK retornarão um RST se a porta estiver fechada – Não responderá nada para portas abertas. • Desde que essas flags estejam desligadas não importa o estados das flags FIN, PSH e URG
  • 30. 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 de natal que está toda acessa
  • 31. • O comportamento dos três tipos de SCAN é parecido, diferenciando apenas as flags que estã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 for recebido NMAP -sN -sF -sX
  • 32. • 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 FILTERED NMAP -sN -sF -sX
  • 33. • Apenas uma flag ACK é enviada • Sistemas sem filtros retornarão um RST para portas OPEN e CLOSED, marcando ambas como UNFILTERED – Sendo acessíveis por “pacotes ACK” – Não é possível diferenciar OPEN de CLOSED • Portas sem resposta ou que retornem erros ICMP são marcadas como FILTERED NMAP -sA
  • 34. • 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 scan NMAP -sA
  • 37. NMAP -sW • Window Scan ... • Mesma varredura que o ACK scan, porém, analisa o tamanho da janela do TCP (TCP Window) • No lugar de marcar UNFILTERED quando receber um RST a janela é analisada: – TCP Window positiva – OPEN – TCP Windows zero – CLOSED • Não é muito confiável
  • 38. 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 BSD simplesmente não retornam nada se a porta estiver OPEN • TCP Maimon scan
  • 39. 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)
  • 40. 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 da porta 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
  • 41. 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 de respostas • Linux limita a 1 ICMP por segundo • Analisar 65,536 portas leva 18 horas • Boa idéia é analisar apenas portas populares!
  • 43. 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
  • 44. 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 na detecção é possível uma aproximação com – osscan-guess
  • 45. 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 de dados própria – Exibe o resultado
  • 47. Exame por ping • Executa apenas o exame por ping para descobrir se 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 de hospedeiros – 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)
  • 48. Detecção de versão • Encontra as portas abertas e tenta descobrir qual serviço está sendo executado em cada uma delas – Descobrindo inclusive versões – Falsos positivos são comuns • Essa é uma ótima solução para serviços executando em portas não padronizadas • -sV: Probe open ports to determine service/version info
  • 51. Demais opções da CLI do NMAP
  • 52. ou Aquela porrada de opções que aparece quando executamos o nmap sem especificar nenhum parâmetro ...
  • 53. 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 to given ports • -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery 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 OS's DNS resolver • --traceroute: Trace hop path to each host
  • 54. 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
  • 55. MISC: • -6: Enable IPv6 scanning • -A: Enable OS detection, version detection, script scanning, and traceroute • --datadir <dirname>: Specify custom Nmap data file location • --send-eth/--send-ip: Send using raw ethernet frames or IP packets • --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.
  • 57. Defesas conta o NMAP • Segurança por obscuridade • Port knocking – http://www.portknocking.org/ • HoneyPot/HoneyNet • Simulação de SO • IDS • Firewalls
  • 59. 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