Você está na página 1de 78

KEEP

CALM
we will use
NMAP
NMAP - KUNG FU

Sandro Melo - Atualmente é Coordenador do curso de


Tecnologia em Redes de Computadores na BANDTEC
onde também é professor das cátedras: "Sistema
Operacionais,  Segurança e Auditoria" e responsável pelo
Curso de Pós Graduação Lato Sensu em "Segurança
Computacional e Computação Forense”. Atua na área de
TI desde 1995. Doutorando pelo TIDD/PUC-SP, Mestre
em Engenharia da Computação pelo IPT e Graduado em
Tecnologia de Processamento de Dado Pela Universidade
Mackenzie. Ministrou palestras em eventos nacionais e
internacionais relevantes   como CNASI, FIRST/USA,
BRUCON/Bélgica, SCI/RNP, COALTI, FISL,
LATINOWARE; é escritor e revisor técnico; autor de 5
Livros publicados no Brasil pela editora Altabooks;
conteudista, revisor técnico e instrutor convidado pela
ESR/RNP.
NMAP - KUNG FU

Ficha Técnica

Nível:
Básico/Intermediário.

Publico alvo:
Profissionais de TI que buscam informações
inerentes a tecnologia de levantamento de dados e
varreduras de redes de computadores e seu impacto
no contexto de segurança de redes.
NMAP - KUNG FU

Nossa Agenda
O objetivo é ser uma apresentação de técnicas sutis e
furtivas de varreduras e levantamento de dados, usando
sutilezas da pilha TCP/IP. Através de uma dinâmica
expositiva participativa em formato de mini tutorial,
objetivando mostrar possibilidades arrojadas que podem ser
utilizadas por um administrador ou até mesmo pelo seu
maior pesadelo, os BLACKHAT (crackers) de plantão:

Técnicas Varreduras
Fingerprint
Footprint
Identificação de Firewalls
Enumeração em Serviços,
Detecção de Vulnerabilidades
NMAP
Kung Fu
Estado da Arte
Conceitos Iniciais
NMAP - KUNG FU

Introdução

No mesmo de toda uma rede. mundo OPENSOURCE


temos ferramentas formidáveis ao ponto de serem
consagradas até mesmo no mundo MATRIX, que foi
o caso do NMAP (desenvolvido pelo hacker Fyodor),
teve sua primeira versão liberada em 1997.

Um Scanners é programa que atua com um pseudo-


cliente arrojado e furtivo que através de resposta
especificas é capaz de levantar informações
relevantes de um host.
“NMAP
no
Cinema”
Nmap by Matrix
Nmap by Matrix
NMAP
Kung Fu
Fingerprint
Footprint
FootPrint
Primeiros Passos
NMAP - KUNG FU

Footprint
Footprint - onde são levantadas informações importantes do
host alvo.

Necessariamente o processo de Footprint pode ser dividido


de uma forma didática em:

•  Coleta e informações para ataques de engenharia


social

•  Informações do domínio (whois, DNS)


NMAP - KUNG FU

e-como ocorrer ?

O levantamento de informações de um invasor parte da


coleta de informações públicas sobre o domínio da
empresa e seus responsáveis, informações essas que
poderiam ser utilizadas numa investida de Engenharia
Social.

Ou seja, a informações de whois ou DNS onde se


consulta informações do registro do dominio e das
maquinas do domínio respectivamente com ferramentas
comumente conhecidas como: whois, xwhois para consulta
whois e nslookup, dig, host para consultadas DNS.
FingerPrint
Impressão Digital

NMAP - KUNG FU

Exploração da Pilha TCP/IP

Um programador que desenvolver um scanner,


explorar todas as possibilidades de negociação de
datagramas baseados nas RFC's e também no fato
que muitos sistemas operacionais não implementam
devidamente sua Pilha TCP/IP segundo as RFC’s.

Isso é um trabalho arduo, mas a partir da


“enumeração” desses detalhes, é possivel
desenvolver ferramentas para FingerPrint e
também varreduras.
NMAP - KUNG FU

Algumas formas 1-2


•  Investigação de FIN (FIN •  Valor Ack (ACK Value)
Probe) •  ICMP Error Message
•  Investigação Falsa (Bogus Quenching
Flag) •  Type of Service (TOS)
•  Padrão de ISN (TCP ISN •  Fragmentation Handling
Sampling)
•  Bit de não Fragmentação
(Don't Fragment bit)
NMAP - KUNG FU

Algumas formas 2-2


TCP (TCP Options), são várias as formas
possiveis
Via TTL em respostas ICMP (um pouco limitado
mais funcional), alguns exemplos:

•  Free/Net/Open/BSD TTL 255


•  Linux TTL 255
•  Windows (95/98/NT/2K) TTL 128
•  Roteadores (Bay/Cyclades) TTL 30
•  Roteadores (Cisco) TTL 255
•  Switches (3com) TTL 30
•  JetDirect TTL 60
NMAP - KUNG FU

FingerPrint

A maioria dos bons scanners são capazes de


realizar o FingerPrint, evidentemente os que mais
se destacam são o NMAP, NSAT, P0F, XPROBE,
PHOBIA, NESSUS. Mas a menina dos olhos para
FingerPrint é o Queso, motivo esse que o mesmo é
a base para maiorias das boas ferramentas de
FingerPrint e Scanners.
NMAP - KUNG FU

DEMO
NMAP
Kung Fu
Varreduras de
Portas e
Detecção de
Firewall
Técnicas
Varreduras
NMAP - KUNG FU

Técnicas Clássicas ½
No Nmap são implementadas muitas técnicas to utilizadas par
levantamento de dados de uma rede, entre elas destacam-se:

Varredura Inicio de Conexão


Connect Scan (Vanilla TCP Scan)
Varredura TCP SYN
Varreduras de Fim de Conexão (RFC 793)
Varredura TCP FIN
Varredura TCP de Árvore de NATAL
Varredura TCP Nula

Varreduras UDP

Varreduras ICMP
NMAP - KUNG FU

Técnicas Clássicas 2/2


Varredura para identificar Firewall
Varredura TCP WINDOWS
Varredura TCP ACK

Varreduras de Bounce
Via FTP / Proxy

Varreduras em serviços
RPC
SMB
SMTP
SNMP
NMAP - KUNG FU

Técnicas Arrojadas

A evolução natural dos serviços de redes e dos


sistemas de IDS, motivaram evoluíram também formas
de levantamento de dados em especial as técnicas
varreduras, criando um cenário com possibilidades
realmente criativas, todavia nem todas são
implementadas no Nmap:

Varredura baseadas em ISN – TCP ISNPROBER


Varredura para identificar LOAD BALANCING
Varredura para identificar VPN – IKE Scanning
Varredura IDLE SCANNING
Varredura Inverse Syn Cookies
Técnicas sutis de TRACEROUTE
Ataques de Varredura
NMAP - KUNG FU

Essa é parte do Footprint onde são levantadas informaçõe


importantes do host alvo.Uma varredura poder ser apena
de portas, todavia, há a possibilidade de varreduras d
bugs vulneráveis no host alvo.

Varredura de portas (“PortScan”)


Nmap, portscan, netcat

Varredura de Vulnerabilidade (“BuguentoScan!”)


Nessus (linux/*nix), ISSscan(Linux, *nix e win), Asak
(Macintosh)
Varreduras Clássicas
NMAP - KUNG FU

Pelo ponto de vista de protocolo podemos


genericamente dividir as varreduras em 3 tipos:

Varreduras TCP

Varreduras UDP

Varreduras ICMP (ou consultas ICMP)


NMAP - KUNG FU

Varreduras TCP
Esse tipo de varredura tem o objetivo de descobrir que
serviço TCP estaõ disponíveis num determinado host alvo.
Através de manipulações sutis do cabeçalho TCP, um bom
scanner é capaz de levantar informações dos serviços TCP
disponíveis.

Que podem ser subdivida em:


l  Varredura Connect Scan
l  Varredura TCP SYN
l  Varredura TCP FIN
l  Varredura TCP de Arvore de NATAL
l  Varredura TCP Nula
NMAP - KUNG FU

TCP CONNECT SCAN


(condição com a porta aberta)
NMAP - KUNG FU

TCP CONNECT SCAN


(condição com a porta fechada)
NMAP - KUNG FU

TCP SYN
(condição com a porta aberta)
NMAP - KUNG FU

TCP SYN
(condição com a porta fechada)
NMAP - KUNG FU

TCP FIN
(condição com a porta aberta)
NMAP - KUNG FU

TCP XMAS
(condição com a porta aberta)
NMAP - KUNG FU

TCP NULL
(condição com a porta aberta)
NMAP - KUNG FU

TCP FIN – XMAS - NULL


(condição com a porta fechada)
NMAP - KUNG FU

TCP UDP
(condição com a porta aberta)
NMAP - KUNG FU

TCP UDP
(condição com a porta fechada)
DEMO
NMAP - KUNG FU

NMAP
Kung Fu
Outras Técnica
de Varreduras
Detecção
NMAP - KUNG FU

de Firewall
NMAP - KUNG FU

Detecção de Firewall

O Nmap provem varreduras para identificação de


Firewall:

l  Varredura TCP Windows


l  Varredura TCP ACK

Exemplo TCP Windows:


# nmap –sW –n –Pn –p 21-23 ip.ip.ip.ip

Exemplo TCP Ack:


# nmap –sA –n –Pn –p 21-23 ip.ip.ip.ip
NMAP - KUNG FU

TCP ACK
( Condição – estado da Porta aberta
- Detecção de Firewall)

Exemplo:
# nmap –sA –n –Pn –p 21-23 ip.ip.ip.ip
NMAP - KUNG FU

TCP ACK
( Condição – estado da Porta fechada
- Detecção de Firewall)

Exemplo:
# nmap –sA –n –Pn –p 21-23 ip.ip.ip.ip
NMAP - KUNG FU

TCP ACK
(Condição – estado da Porta Filtrada Negando Pacote
- Detecção de Firewall)

Exemplo:
# nmap –sA –n –Pn –p 21-23 ip.ip.ip.ip
NMAP - KUNG FU

TCP ACK
( Condição – estado da Porta Filtrada Rejeitando Pacote
- Detecção de Firewall)

Exemplo:
# nmap –sA –n –Pn –p 21-23 ip.ip.ip.ip
Técnicas
NMAP - KUNG FU

Furtivas
NMAP - KUNG FU

Métodos Especiais
Com a evolução dos sistemas de IDS, motivaram
evoluíram também as técnicas furtivas varreduras
para enganá-los e motivar a geração de FALSOS
POSITIVOS.

Exemplo disso são opções muito interessantes de


varreduras que encontramos no NMAP:
Varredura Decoy
Varreduras Temporizadas (Slow Scan)
Varreduras Furtivas e Objetivas
Fragmentation Scanning
Varreduras "Spoofadas”
NMAP - KUNG FU

Varreduras Temporizadas 1/2

Técnica conhecida também como “Slow Scan” tem


por objetivo dificultar a possibilidade de um IDS
identificar número de uma respectiva sequencia de
pacotes de uma varredura (Detection Threshold).
Um bom exemplo são das opções de manipular o
tempo entre os pacotes que forma implementados.
NMAP - KUNG FU

Varreduas Temporizadas 2/2


A opções de varreduras temporizadas (Slow Scan do NMAP:

T0 -->Varredura Paranoid (Paranoica) 5 minutos delay


T1 -->Varredura Sneaky - 15 segundos delay
T2 --> Varredura Polite (Educada) - 0.4 segundos delay
T3 --> Varredura Normal (default)
T4 --> Varredura Aggressive (Agressiva) - 1.25 minutos por
hostT5 --> Varredura Insane (Insana) - 0.3 segundos
--scan_delay --> Opção que permite que tempo seja
definido
NMAP - KUNG FU

Varreduras Furtivas

É fato que uma varredura objetiva em uma única porta


é praticamente impossível identificar ou diferenciar de
uma conexão válida.

Um outro bom exemplo do poder do Nmap é a opção de


manipular a porta origem dos pacotes montados pelo
scanners, com o objetivo de uma varredura furtiva que
é a opção “ -g”. Objetivando ludibriar PacketFilter ou
sistema de IDS simples.
NMAP - KUNG FU

Varreduras Decoy
(desenhadas para enganar sistemas de IDS)

Consiste em usar o recurso de “IP SPOOFING” como


base, enviando vários pacotes simultâneos para o host
alvo, objetivando deixar qualquer mecanismo de IDS
perdido em FALSO POSITIVOS, forjando o cabeçalho
IP e também o TTL.

Sendo muito quase impossível definir a verdadeira


origem da varredura.
NMAP - KUNG FU

Decoy

Sintaxe:
# nmap –sS –n –Pn –p 21-23 –D ip1, ip
ip3 ... ip25 ip.ip.ip.ip
NMAP - KUNG FU
NMAP - KUNG FU
NMAP - KUNG FU

Idle Scanning
Uma varredura por tabela usando a variação de do ID
de uma terceira maquina, seria equivalente ao conceito
de varredura bounce de ftp. Esse técnica foi criada
pelo especialista de segurança, o italiano Salvatore
Sanfilippo (conhecido como “Antirez”),

Essa baseia-se no valor IPID.


NMAP - KUNG FU

IDLE Scanning

IPID Probe – SYN/ACK Packet – Porta 80

Response; IPID=10000 – RST Packet


192.168.100.100

# nmap -PN –p <portas alvo> -sI <ip zumbi> <maquina alvo>



# nmap -PN –p 80 -sI 192.168.100.171 192.168.100.100
NMAP - KUNG FU

IDLE Scanning

Request – S
YN Packet to
port 80 “spo
ofa ndo"

/A C K packet
e s pons e; SYN
R 192.168.100.100
T packet
1– RS
; IP ID =1 0 0 0
n
Sessio
Bogus

192.168.100.171
IPID Probe SYN/ACK

192.168.100.171 Response, IPID=10001 RST


packet
NMAP - KUNG FU

IDLE Scanning

Request – S
YN Packet to
port 80 “spo
ofa ndo

R ST pa cket
s e d –
s Clo
s R eque st! Port i
B ogu
192.168.100.100

92.168.100.171
IPID Probe SYN/ACK

Response, IPID=10001 RST


192.168.100.171 packet
NMAP - KUNG FU

Exemplificação Enumeração
# nmap -sV -n -Pn 192.168.1.1

Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-05 18:42 BRT


Nmap scan report for 192.168.1.1
Host is up (0.00049s latency).
Not shown: 990 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
22/tcp open ssh OpenSSH 7.1 (protocol 2.0)
80/tcp open http Microsoft IIS httpd 7.5
3000/tcp open http WEBrick httpd 1.3.1 (Ruby 2.3.1 (2016-04-26))
4848/tcp open ssl/http Oracle Glassfish Application Server
8022/tcp open http Apache Tomcat/Coyote JSP engine 1.1
8080/tcp open http Oracle GlassFish 4.0 (Servlet 3.1; JSP 2.3; Java 1.8)
9200/tcp open http Elasticsearch REST API 1.1.1 (name: Warstar; Lucene 4.7)
49153/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
MAC Address: 08:00:27:BD:28:06 (Oracle VirtualBox virtual NIC)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/


submit/ .
Nmap done: 1 IP address (1 host up) scanned in 79.24 seconds
NMAP - KUNG FU

Nmap Scripting Engine - NSE


•  O recurso NSE é uma funcionalidade poderosas do Nmap pois
possibilta o desenvolvimento de scripts em Lua para automatizar
tarefas ou estender as funcionalidades do Nmap.
•  Os Scripts NSE são executados com eficiência e velocidade a
partir da da API do Nmap.
•  NSE iniciou com o Nmap 5 e durante esse release foram criados
59 scripts homologados. J’s Nmap 6 foi lançado dia 21/05/2012
com 6x mais scripts, agora possui 348 homologados. Atualmente
o NMAP está na versão 7 e centenas de scriptis oficiais estão
disponíveis, como também alguns scripts não oficiais também
são estão disponíveis.
NMAP - KUNG FU

Nmap Scripting Engine - NSE


•  Adicionado a biblioteca “vulns”, que pode ser usada por scripts
para reportar e armazenar vulnerabilidades num formato
comum.
•  Adicionado uma biblioteca “httpspider” para crawling de
páginas web.
•  Dezenas de scripts para web scanner, tanto para suporte a HTTP
como HTTPS (http-title, http-methods, http-enum, http-php-
version, entre outros).
•  Suporte ao IPv6 (Raw IPv6, OS IPv6 Detection, etc).
NMAP - KUNG FU

Nmap Scripting Engine - NSE


•  Sofisticadas técnicas de detecção.
•  Enumeração de Serviços
•  Detecção de ativos de Segurança (WAF, Firewall)
•  Detecção de vulnerabilidades.
•  Detecção de Malware (backdoors).
•  Exploração de vulnerabilidades.
NMAP - KUNG FU

Nmap Scripting Engine - NSE


•  Auth:
•  External
•  Broadcast
•  Fuzzer
•  Brute
•  Intrusive
•  Default
•  Malware
•  Discovery
•  Safe
•  Dos
•  Version
•  Exploit
•  Vuln
NMAP - KUNG FU

Nmap Scripting Engine - NSE


•  -sC = Utiliza o conjunto de scripts default
•  --script <filename>|<category>|<directory>|<expression>[…] – Executa a varredura usando
a lista de arquivos separados por virgula, categorias de scripts e diretórios.
•  --datadir - Diretório de dados (scripts, wordlists, executável, etc),
•  --script-args <args> - passa argumentos para os scripts.
•  --script-args-file - Passa um arquivo para o script.
•  --script-help <filename>|<category>|<directory>|all[…] – mostra informações de help sobre
um script
•  --script-trace – ativa o modo Debug script
• --script-updatedb - Atualiza o banco de scripts, deve ser utilizado toda vez que um novo script
é atualizado (/usr/share/nmap/scripts).

Exemplificação
# nmap -sC -n -Pn -p80 192.168.1.1
NMAP - KUNG FU

Exemplificação do uso de Script NSE


# nmap -sT -n -Pn -p80 --script=http-headers 192.168.1.1

Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-05 16:39 BRT


Nmap scan report for 192.168.1.1
Host is up (0.00076s latency).
PORT STATE SERVICE
80/tcp open http
| http-headers:
| Content-Length: 1116928
| Content-Type: text/html
| Last-Modified: Thu, 23 Feb 2017 22:35:10 GMT
| Accept-Ranges: bytes
| ETag: "f3bca217258ed21:0"
| Server: Microsoft-IIS/7.5
| X-Powered-By: ASP.NET
| Date: Sun, 05 Mar 2017 19:39:05 GMT
| Connection: close
|_ (Request type: HEAD)

Nmap done: 1 IP address (1 host up) scanned in 0.27 seconds


NMAP - KUNG FU

Exemplificação do uso de Script NSE

# nmap -sT -n -Pn -p80 --script=http-methods 192.168.1.1

Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-05 16:43 BRT


Nmap scan report for 192.168.1.1
Host is up (0.0011s latency).
PORT STATE SERVICE
80/tcp open http
| http-methods:
| Supported Methods: OPTIONS TRACE GET HEAD POST
|_ Potentially risky methods: TRACE

Nmap done: 1 IP address (1 host up) scanned in 0.30 seconds


NMAP - KUNG FU

Exemplificação do uso de Script NSE

# nmap -sT -n -Pn -p80 --script=http-php-version 192.168.1.2

Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-05 16:46 BRT


Nmap scan report for 192.168.1.2
Host is up (0.00044s latency).
PORT STATE SERVICE
80/tcp open http
| http-php-version: Versions from credits query (more accurate): 5.1.3 - 5.1.6
|_Version from header x-powered-by: PHP/5.1.6

Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds


NMAP - KUNG FU

Exemplificação do uso de Script NSE


# nmap -sT -n -Pn -p80 --script=http-enum 192.168.1.2

Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-05 16:27 BRT


Nmap scan report for 192.168.1.2
Host is up (0.00045s latency).
PORT STATE SERVICE
80/tcp open http
| http-enum:
| /rss.xml: RSS or Atom feed
| /robots.txt: Robots file
| /phpinfo.php: Possible information file
| /.git/HEAD: Git folder
| /UPGRADE.txt: Drupal file
| /CHANGELOG.txt: Drupal v1
…………………………………………………………………………………
| /webmail/src/login.php: squirrelmail version 1.4.8-21.el5.centos
| /webmail/images/sm_logo.png: SquirrelMail
|_ /user/: Potentially interesting folder

Nmap done: 1 IP address (1 host up) scanned in 241.86 seconds


NMAP - KUNG FU

Exemplificação do uso de Script NSE

nmap -sT -T3 -Pn -n -p 80,443 --script=http-waf-detect,http-waf-fingerprint


www.alvo.xxx.xx

Starting Nmap 7.31 ( https://nmap.org ) at 2015-03-251 19:55 BRST


Nmap scan report for www.alvo.xxx.xx (60.252.11.95)
Host is up (0.046s latency).
PORT STATE SERVICE
80/tcp open http
| http-waf-detect: IDS/IPS/WAF detected:
|_www.alvo.xxx.br:80/?p4yl04d=../../../../../../../../../../../../../../../../../etc/passwd
| http-waf-fingerprint:
| Detected WAF
|_ F5 BigIP
443/tcp open https
| http-waf-detect: IDS/IPS/WAF detected:
|_www.alvo.xxx.br:443/?p4yl04d3=<script>alert(document.cookie)</script>

Nmap done: 1 IP address (1 host up) scanned in 29.55 seconds


NMAP - KUNG FU

Exemplificação do uso de Script NSE


nmap www.alvoqualquer.xxx.br -n -Pn -p80 --script=http-slowloris-check

Starting Nmap 7.31 ( https://nmap.org ) at 2016-01-30 19:22 BRST


Nmap scan report for www.alvoqualquer.xxx.br (50.33.62.126)
Host is up (0.043s latency).
PORT STATE SERVICE
80/tcp open http
| http-slowloris-check:
| VULNERABLE:
| Slowloris DOS attack
| State: LIKELY VULNERABLE
| IDs: CVE:CVE-2007-6750
| Slowloris tries to keep many connections to the target web server open and hold
| them open as long as possible. It accomplishes this by opening connections to
| the target web server and sending a partial request. By doing so, it starves
| the http server's resources causing Denial Of Service.
|
| Disclosure date: 2009-09-17
| References:
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_ http://ha.ckers.org/slowloris/

Nmap done: 1 IP address (1 host up) scanned in 299.59 seconds


NMAP - KUNG FU

Consideração Finais

Para um Especialista com bons conhecimentos técnicos


levantar dados podem ser uma tarefa árdua mais em
momento algum impossível e nesta fase o NMAP é uma ótima
escolha em um processo de Penetration Testing.

Por outro lado para um bom administrador deve buscar


conhecimento sobre as técnicas de varreduras para melhor
administrar seus servidores e ter consciência do risco
assumido e das possibilidades que um invasor dispõe para
levantar dados. O que pode permite pensar em meios para
obscurecer informações da rede e ser pró-ativo dificultar /
mitigar o impacto de invasões ao negócio da empresa. Pois
mesmo que Obscuridade não seja segurança, ela ajuda,
pouco do
NMAP - KUNG FU

Kung Fu do
NMAP.
NMAP - KUNG FU

DEMO
Esse é o
Kung Fu
do
NMAP. E
é dos
NMAP - KUNG FU

Antes do FIM
Bibliografia

npage do Nmap
w.insecure.com
w.ussback.com
w.linuxsecurity.com.br
MP usase in Scanning - Ofir Arkin (www.sys-security.com)
mer, Douglas - Interligação em redes com TCP/IP - volume 1
Network Scanning & Reconnaissance – Matta Security
ntos, André -Tópicos Avançados em TCP/IP – Parte 1- disponvivel no site
w.secforum.com.br - em maio de 2003
w.freshmeat.net
w.securityfocus.com
w.doxpara.com

Você também pode gostar