Escolar Documentos
Profissional Documentos
Cultura Documentos
traceroute
O traceroute (tracert em Windows) é uma ferramenta que permite ver a rota pelo qual um pacote IP passa
desde o seu host de origem até ao host de destino. O traceroute utiliza a opção time-to-live (TTL) para
que os routers no caminho enviem uma mensagem ICMP TIME_EXCEEDED ao host de origem. Desta
forma o campo TTL (que é decrementado em cada passagem por um router) funciona como contador
de hops. As implementações de traceroute para UNIX normalmente utilizam pacotes UDP enquanto
que as implementações para Windows utilizam pacotes ICMP (do tipo echo request). Outras aplicações
relacionadas:
• Firewalk1 - Permite utilizar um porto fixo em todos os pacotes UDP enviados pelo traceroute
(normalmente o porto é incrementado para cada hop). Esta técnica permite ultrapassar firewalls
que deixem passar apenas determinados portos. Um exemplo clássico é o porto do DNS (o porto
53), normalmente autorizado em firewalls para que seja possível consultar servidores DNS na
DMZ.
Scanning
Depois de recolhida a informação necessária sobre os domínios e respetivas redes IP o objetivo seguinte
consistirá em procurar determinar quais são as máquinas ativas e que portos (ou serviços) essas máquinas
disponibilizam. Esta fase é designada por scanning. Apresentam-se a seguir algumas ferramentas que
podem ser utilizadas para o efeito.
ping
Uma aplicação que permite testar se determinados sistemas estão ativos em determinadas redes IP. O
comando ping tradicional é pouco eficiente se pretendermos verificar um conjunto alargados de hosts
(operação designada por ping sweep). Outras aplicações:
• O fping3 permite efetuar ping sweeps de forma mais eficiente que o ping tradicional.
• O nmap (apresentado mais à frente) pode igualmente ser utilizado para efectuar ping sweeps
(exemplo: nmap –sP 10.254.0.0/24). Em alternativa o nmap pode também efetuar os chamados
TCP ping scans (exemplo: nmap –PT 10.254.0.0/24).
• O hping24 permite fazer TCP ping scans em que o utilizador controla opções específicas dos
pacotes TCP. Um exemplo consiste em fragmentar os pacotes TCP utilizados nos ping scans com
o objetivo de conseguir passar determinados tipos de filtros (ou firewalls).
Nos casos em que o ping ou o traceroute não podem ser utilizados (por exemplo uma firewall que
bloqueia tráfego ICMP ou UDP) podemos recorrer a diversas técnicas de port scanning para tentar
determinar se determinado host está ou não ativo. Ao procurar determinar se determinadas portas estão
ativas poderemos conseguir concluir que determinado host está ativo (embora o port scanning não seja
1
http://www.packetfactory.net/Projects/firewalk
2
http://www.visualware.com/personal/products/visualroute
3
http://www.fping.com/
4
http://www.hping.org/
nmap
O nmap5 (network mapper) é um port scanner que permite explorar diversas técnicas de port scanning
para verificar conjuntos alargados de máquinas em simultâneo. O nmap utiliza diversas técnicas com
a finalidade de detetar que hosts estão ativos na rede, que serviços (aplicações e respetiva versão) eles
oferecem, o sistema operativo (e respetiva versão) utilizado, tipos de filtros de pacotes utilizados, etc. O
nmap pode ser utilizado na linha de comando ou recorrendo a uma interface gráfica.
Descrevem-se abreviadamente a seguir algumas das principais técnicas de port scanning implemen-
tadas pelo nmap:
TCP connect scan Este tipo de scan efetua ligações ao host remoto, completando o handshake normal
do TCP (em 3 fases: SYN,SYN/ACK e ACK, apresentado na Figura 1). Devido a este fato, este
tipo de scan é facilmente detetado pelo host remoto.
SYN
SYN/ACK
ACK
Cliente SYN Servidor
SYN/ACK
Figura 1: O resultado de um TCP scan quando a porta está aberta
ACK
Cliente
TCP SYN scan (half-open scanning) Este tipo de scan não chega a completar Servidor
uma ligação TCP. De-
pois de enviado o pacote SYN inicial caso seja recebido o pacote SYN/ACK é possível concluir
que a porta em causa está no estado LISTENING. Se por outro lado for recebido um pacote
RST/ACK (Figura 2) concluímos que a porta SYN não está ativa (não há aplicação à escuta nessa
porta). No final é enviado um pacote RST.RST/ACK
Este tipo de scan não é facilmente detetado pelo host
remoto. RST
Atacante SYN Servidor
RST/ACK
RST
Atacante Servidor
FIN
TCP FIN scan Este tipo de scan envia um pacote FIN (flag TCP)para o host de destino (Figura 3). De
acordo com as regras do TCP/IP o host remoto deverá responder com um pacote RST caso a porta
RST/ACK
não esteja ativa. Devido a particularidades de implementação da pilha TCP/IP (e apesar do que é
dito nos RFC’s)Atacante
esta técnica só funciona tipicamente para UNIX, não funcionando para máquinas
Servidor
Windows. FIN
5
http://www.insecure.org/nmap/index.html
RST/ACK
Atacante Servidoremarques@uma.pt
versão:ssr.tp.fx Net Tools v1.0 3/7
FIN
RST/ACK
Atacante Servidor
TCP Xmas Tree scan Este tipo de scan envia um pacote FIN,URG e PUSH. De acordo com as regras
do TCP/IP o host remoto deverá responder com um pacote RST caso a porta não esteja fechada.
A ausência resposta será indicativa de porta ativa.
TCP Null scan Este tipo de scan desativa todas as flags no pacote inicial enviado ao host remoto. De
acordo com as regras do TCP/IP o host remoto deverá responder com um pacote RST para todas
as portas que não estejam ativas. A ausência de resposta será indicativa de porta ativa.
TCP ACK scan Este tipo de scan permite detetar se uma firewall funciona em modo statefull ou faz
apenas filtragem de pacotes em modo stateless, autorizando as ligações já estabelecidas com base
na presença do bit ACK nos pacotes em trânsito.
TCP RPC scan Este tipo de scan é específico para sistemas UNIX e permite detetar portas RPC e
respetivos programas associados (incluindo números de versão).
TCP Windows scan Este tipo de scan consegue detetar portas abertas em determinados sistemas ope-
rativos com base no modo como o tamanho da janela TCP é reportado pelo sistema remoto.
UDP scan Este tipo de scan envia um pacote UDP para o host de destino. Se o host responder com uma
mensagem ICMP do tipo PORT_UNREACH isso significará que a porta não se encontra ativa. A
ausência de resposta será indicativa de porta ativa.
O nmap implementa todas as técnicas de port scanning descritas. É bom ter em conta que o resultado
depende de vários fatores, em particular de pormenores de implementação da pilha TCP/IP no sistema
operativo utilizado no host remoto. As duas primeiras técnicas (connect e SYN) podem ser consideradas
as mais fiáveis.
O nmap utiliza igualmente algumas técnicas para deteção do sistema operativo utilizado no host re-
moto, designadas por stack fingerprinting. Estas técnicas exploram as pequenas diferenças que existem
no modo como os diversos fabricantes implementam as pilhas TCP/IP nos respetivos sistemas operati-
vos. Outras aplicações:
• Embora o principal método de deteção de port scans sejam os sistemas NIDS (Network Intrusion
Detection System) como o snort6 existem diversas ferramentas de deteção. Um exemplo de uma
ferramenta deste tipo para hosts UNIX é o scanlogd7 .
Nessus
O Nessus10 é um remote security scanner. Esta aplicação permite efetuar uma auditoria remota a um
host ou conjunto de hosts de uma rede e verificar se existem problemas de segurança que possam ser
explorados para determinados serviços. Além de detetar problemas de segurança em serviços o Nessus
procura verificar se é de facto possível explorar as vulnerabilidades conhecidas para os serviços em
causa, funcionando como cracker. Algumas características do Nessus:
1. Os testes de segurança são escritos como plug-ins. O utilizador pode escrever os seus próprios
testes de segurança em C ou em NASL (Nessus Attack Scripting Language).
2. O conjunto de plug-ins (exploits) pode ser atualizado diariamente, à medida que novos problemas
de segurança vão sendo encontrados (e os respetivos scripts de teste para o nessus são produzidos).
Esta atualização pode ser feita on-line e de forma automática.
3. O nessus utiliza um cliente e um servidor que podem residir em máquinas separadas. O servidor
(nessusd) é responsável pelos testes de segurança. O cliente funciona como consola de gestão e
recebe do servidor o resultado dos testes.
Outras informações
De entre muitas fontes de informação, destacam-se as seguintes entidades: CVE12 , SANS Institute13 ,
Lista BugTrack14 , e Sítio nmap15 .
9
http://www.tcpdump.org
10
http://www.nessus.org
11
http://www-arc.com/sara
12
Common Vulnerabilities and Exposures: http://cve.mitre.org
13
The Twenty Most Critical Internet Security Vulnerabilities: http://www.sans.org/top20/
14
http://seclists.org/#bugtraq
15
Top 75 Security Tools: http://www.insecure.org/tools.html
Comandos monitorização
1. Responda às seguintes questões usando o ping ou outros comandos indicados.
(a) Com ajuda do comando ping envie 5 pacotes ICMP de 200 bytes ao apus.uma.pt (ICMP
ECHO REQUEST, ICMP ECHO REPONSE). Quais são os tempos mínimo, máximo e médio
dessa transmissão?
ping -c 5 -s 200 <ip> windows ping -n 5 -l <ip>
(b) Utilizando o comando traceroute, responda por quantos hops temos que passar para chegar à
rede apus.uma.pt (este comando pode ter de ser executado dentro do diretório /usr/sbin).
(c) Tente também realizar o traceroute para uma rede externa (por exemplo: www.google.com
ou outra). Quantos hops temos de passar para chegar ao destino?
(d) Execute o comando netstat -i. Quantas interfaces de rede existem na sua máquina?
encontrei 2
(e) Para cada uma delas indique o respetivo número IP (use netstat -i -e)
ipconfig windows
(f) Qual é o número IP de difusão (broadcast) da rede a que pertence a interface eth0 (caso seja
este o interface que está a utilizar)? (veja também o comando /sbin/ifconfig <interface>)
10.2.255.255/16
(g) Utilize o comando netstat para mostrar a tabela de routing do kernel da rede max.uma.pt.
Igualmente, utilize este comando para mostrar as estatísticas operacionais dos protocolos da
netstat -r
versão:ssr.tp.fx Net Tools v1.0 6/7 emarques@uma.pt
rede max. Quantos pacotes UDP foram recebidos?
para statistics netstat -s e mostra os poacotes
2. Utilizar o nmap para determinar (use man nmap para obter ajuda):
(a) Os serviços disponíveis no servidor APUS (10.2.3.254).
nmap -A ip
(b) Que serviços sensíveis, e que podem ser alvos de ataque da rede, estão ativos no servidor web
da UMa (www.uma.pt) ?
22/25/3306/443
(e) Que serviços estão ativos nas portas 20, 22, 23, 30, 80, 137, 139, 3306 e 8080 do servidor web
da UMa?
(f) Que máquinas com o endereço IP 10.1.1.1 até 10.1.1.10 classe C estão a utilizar serviços
Web? Fazer uma análise de forma aleatória.
(g) Que máquinas da rede UMa com endereço IP (10.2.15.0) classe C estão ativos? Armazene os
seus resultados num arquivo texto usando os comandos de nmap.
(h) Efectue um TPC SYN scan ao servidor APUS e armazene o resultado no ficheiro outfile.txt.