Você está na página 1de 4

Evitando e enganando o Firewall/IDS

Muitos pioneiros da Internet vislumbraram uma rede mundial aberta com um espao de endereamento IP universal
que permitisse conexes virtuais entre quaisquer dois ns. Isso permite que os hosts atuem como verdadeiros
semelhantes, servindo e obtendo informaes uns dos outros. As pessoas poderiam acessar seus computadores
domsticos do trabalho, mudando os ajustes do controle de climatizao ou abrindo as portas para convidados. Essa
viso de conectividade universal foi sufocada pela falta de espao de endereamento e preocupaes com a
segurana. No incio dos anos 1990, as empresas comearam a instalar firewalls para o propsito claro de reduzir a
conectividade. Rede enormes foram isoladas da Internet-sem-fronteiras por proxies de aplicativos, traduo de
endereamento de rede (network address translation) e filtros de pacotes. O fluxo irrestrito de informaes deu a
vez regulamentao acirrada de canais de comunicao autorizados e ao contedo que neles trafegam.
As obstrues de rede, como o firewall, podem tornar o mapeamente de uma rede extremamente difcil. E isso no
vai se tornar mais fcil, pois sufocar as sondagens casuais , freqentemente, o objetivo principal de se instalar
esses dispositivos. Apesar disso, o Nmap oferece muitas ferramentas para ajudar a entender essas redes complexas,
e para verificar que os filtros esto funcionando como esperado. Ele at suporta mecanismos para passar por cima
de defesas mal implementadas. Um dos melhores mtodos para se entender a postura de segurana de uma rede
tentar derrub-la. Pense com a mente de uma pessoa que quer atac-lo, e aplique tcnicas desta seo contra a sua
rede. Lance um scan FTP bounce, um scan idle, um ataque de fragmentao ou tente "tunelar" (criar um tnel)
atravs de um de seus prprios proxies.
Alm de restringir a atividade de rede, as empresas esto monitorando o trfego cada vez mais, com sistemas de
deteco de intruso (IDS). Todos os principais IDS vm com regras designadas para detectar escaneamentos feitos
com o Nmap porque os scans so, s vezes, precursores de ataques. Muitos desses produtos foram recentemente
metamorfoseados em sistemas deprevenode intruso (IPS) que bloqueiam o trfego considerado malicioso de
forma ativa. Infelizmente, para administradores de rede e vendedores de IDS, detectar confiavelmente as ms
intenes atravs da anlise de dados de pacotes um problema difcil. Atacantes com pacincia, habilidade e a
ajuda de certas opes do Nmap podem normalmente passar por um IDS sem serem detectados. Enquanto isso, os
administradores devem lidar com um alto nmero de resultados do tipo falso-positivo, onde atividades inocentes
so diagnosticadas erroneamente e recebem alertas ou so bloqueadas.
De vez em quando, as pessoas sugerem que o Nmap no deveria oferecer opes que permitam evitar as regras de
firewalls ou passar desapercebidos por IDSs. Elas argumentam que essas caractersticas so to sujeitas mutilizao por atacantes quanto so utilizadas por administradores para aumentar a segurana. O problema com esta
lgica que esses mtodos ainda assim seriam utilizados pelos atacantes, que encontrariam outras ferramentas ou
ento acrescentariam essa funcionalidade no Nmap. Enquanto isso, os administradores achariam muito mais difcil
executar suas tarefas. Instalar apenas servidores FTP modernos e corrigidos uma defesa muito melhor do que
tentar evitar a distribuio de ferramentas que implementem o ataque FTP bounce.
No existe uma carta mgica (ou opo do Nmap) para detectar e subverter firewalls e sistemas IDS. necessrio
habilidade e experincia. Um tutorial est alm do escopo deste guia de referncia, que apenas lista as opes
relevantes e descreve suas funes.
-f(fragmenta

os pacotes);--mtu (usando a MTU especificada)

A opo-ffaz com que o scan solicitado (incluindo scans usando ping) utilize pequenos pacotes IP
fragmentados. A idia dividir o cabealho TCP em diversos pacotes para tornar mais difcil para os filtros
de pacotes, os sistemas de deteco de intruso, e outros aborrecimentos, detectar o que voc est fazendo.
Tenha cuidado com isto! Alguns programas tem problemas para lidar com estes pequenos pacotes. O sniffer
da velha-guarda chamado Sniffit sofria uma falha de segmentao assim que recebia o primeiro fragmento.
Especifique esta opo uma vez e o Nmap dividir os pacotes em 8 bytes ou menos aps o cabealho IP.
Portanto, um cabealho TCP de 20 bytes seria dividido em 3 pacotes. Dois com oito bytes do cabealho TCP
e um com os quatro restantes. claro que cada fragmento tambm tem um cabealho IP. Especifiquefnovamente para usar 16 bytes por fragmento (reduzindo o nmero de fragmentos). Ou ento, voc pode
especificar o seu prprio tamanho de quebra com a opo--mtu . No especifique tambm o-fse voc usar
o--mtu . A quebra deve ser um mltiplo de 8. Embora os pacotes fragmentados no passem por filtros de
pacotes e firewalls que enfilerem todos os fragmentos IP, tal como a opo

CONFIG_IP_ALWAYS_DEFRAG do kernel do Linux faz, algumas redes no aguentam o impacto no


desempenho que isso causa, deixando a opo desabilitada. Outros no conseguem habilitar isso porque os
fragmentos podem seguir por rotas diferentes na rede. Alguns sistemas de origem desfragmentam pacotes de
sada no kernel. O Linux e o mdulo de reastreamento de conexo do iptables um exemplo desse tipo. Faa
um scan enquanto executa um sniffer como o Ethereal para ter a certeza de que pacotes enviados esto
fragmentados. Se o SO do seu host estiver causando problemas, tente a opo--send-eth para passar por
cima da camada IP e enviar frames ethernet em estado bruto.
-D <chamariz1 [,chamariz2][,ME],...> (Disfara

um scan usando chamarizes)

Faz com que um scan com chamarizes seja executado, o que parece ao host remoto que, o(s) host(s) que
voc especificou como chamarizes tambm estejam escaneando a rede-alvo. Com isso, o IDS poder reportar
5 a 10 scans de portas de endereos IP nicos, mas no saber qual IP estava realmente escaneando e qual
era um chamariz inocente. Embora isso possa ser desvendado atravs de rastreamento de caminho de
roteador, descarte de respostas (response-dropping) e outros mecanismos ativos, normalmente uma tcnica
eficaz para esconder o seu endereo IP.
Separe cada host-chamariz com vrgulas, e voc pode opcionalmente usarMEcomo um dos chamarizes para
representar a posio do seu endereo IP real. Se voc colocarMEna 6a. posio ou acima, alguns detectores
de scan de portas comuns (como o excelente scanlogd da Solar Designer) pouco provavelmente iro mostrar
o seu endereo IP. Se voc no utilizar oME, o nmap ir coloc-lo em uma posio aleatria.
Observe que os hosts que voc utilizar como chamarizes devem estar ativos ou voc poder, acidentamente,
inundar com SYN os seus alvos. Tambm ser bastante fcil determinar qual o host que est escaneando se
houver apenas um host realmente ativo na rede. Voc pode preferir usar endereos IP ao invs de nomes (de
forma que as redes chamarizes no vejam voc em seus logs dos servidores de nomes).
Chamarizes so utilizados tanto no scan com ping inicial (usando ICMP, SYN, ACK ou qualquer outro),
como tambm durante a fase real de escaneamento de portas. Chamarizes tambm so usados durante a
deteco de SO remoto ( -O). Chamarizes no funcionam com a deteco de verso ou com o scan TCP
connect.
Vale a pena observar que usar chamarizes demais pode deixar seu scan lento e potencialmente at torn-lo
menos preciso. Outra coisa, alguns provedores de internet (ISP) iro filtrar os seus pacotes disfarados, mas
muitos no restringem pacotes IP disfarados.
-S <Endereo_IP> (Disfara

o endereo de origem)

Em algumas circunstncias, o Nmap pode no conseguir determinar o seu endereo de origem (o Nmap ir
dizer se for esse o caso). Nesta situao, use o-Scom o endereo IP da interface que voc deseja utilizar
para enviar os pacotes.
Outro uso possvel para esta flag para disfarar o scan e fazer com que os alvos achem quealguma outra
pessoaest escaneando-as. Imagine uma empresa que est constantemente sofrendo scan de portas de um
concorrente! A opo-enormalmente seria requerida para este tipo de uso e-P0seria recomendvel.
-e <interface>(Usa

a interface especificada)

Diz ao Nmap qual interface deve ser utilizada para enviar e receber pacotes. O Nmap deveria ser capaz de
detectar isto automaticamente, mas ele informar se no conseguir.
--source-port <nmerodaporta>;-g <nmerodaporta> (Disfara

o nmero de porta de origem)

Um erro de configurao surpreendentemente comum confiar no trfego com base apenas no nmero da
porta de origem. fcil entender como isso acontece. Um administrador configura um firewall novinho em
folha, s para ser inundado com queixas de usurios ingratos cujas aplicaes param de funcionar. Em
particular, o DNS pode parar de funcionar porque as respostas DNS UDP de servidores externos no
conseguem mais entrar na rede. O FTP outro exemplo comum. Em tranferncias FTP ativas, o servidor
remoto tenta estabelecer uma conexo de volta com o cliente para poder transferir o arquivo solicitado.

Solues seguras para esses problemas existem, freqentemente na forma de proxies no nvel da aplicao ou
mdulos de firewall para anlise de protocolo. Infelizmente tambm h solues mais fceis e inseguras.
Observando que as respostas DNS chegam pela porta 53 e o FTP ativo pela porta 20, muitos administradores
caem na armadilha de apenas permitir trfego vindo dessas portas. Eles normalmente assumem que nenhum
atacante ir notar e explorar essas brechas no firewall. Em outros casos, os administradores consideram isso
uma medida provisria de curto prazo at que eles possam implementar uma soluo mais segura. Ento, eles
normalmente se esquecem de fazer as atualizaes de segurana.
Administradores de rede sobrecarregados no so os nicos a carem nessa armadilha. Diversos produtos
foram empacotados com essas regras inseguras. Mesmo a Microsoft culpada. Os filtros IPsec que vieram
com o Windows 2000 e com o Windows XP contm uma regra implcita que permite todo o trfego TCP ou
UDP da porta 88 (Kerberos). Em outro caso bastante conhecido, verses do firewall pessoal Zone Alarm, at
a verso 2.1.25, permitiam qualquer pacote UDP entrante com a porta de origem 53 (DNS) ou 67 (DHCP).
O Nmap oferece as opes-ge--source-port (elas so equivalentes) para explorar essas fraquezas.
Apenas fornea um nmero de porta e o Nmap ir enviar pacotes dessa porta onde for possvel. O Nmap
utiliza nmeros de porta diferentes para que certos testes de deteco de SO funcionem direito, e as
requisies DNS ignoram a flag--source-port porque o Nmap confia nas bibliotecas de sistema para lidar
com isso. A maioria dos scans TCP, incluindo o scan SYN, suportam a opo completamente, assim como o
scan UDP.
--data-length <nmero> (Acrescenta

dados aleatrios nos pacotes enviados)

Normalmente o Nmap envia pacotes minimalistas contendo apenas o cabealho. Dessa forma os pacotes TCP
tm normalmente 40 bytes e os echo requests ICMP tem s 28. Esta opo faz com que o Nmap acrescente o
nmero informado de bytes aleatrios na maioria dos pacotes que envia. Os pacotes de deteco de SO ( -O)
no so afetados, pois a preciso exige consistncia das sondagens, mas a maioria dos pacotes de ping e scan
de portas funcionam assim. Isso atrasa um pouco as coisas, mas pode tornar um scan ligeiramente menos
chamativo.
--ttl <valor> (Establece

o valor do campo time-to-live)

Estabelece que o campo tempo-de-vida (time-to-live) dos pacotes enviados ter o valor informado.
--randomize-hosts (Torna

aleatria a ordem dos hosts-alvo)

Informa ao Nmap que ele deve embaralhar cada grupo de, no mximo, 8096 hosts antes de escane-los. Isso
torna os scans menos bvios a vrios sistemas de monitoramento de rede, especialmente quando voc
combina isso com as opes de temporizao lentas. Se voc deseja fazer isso em grupos maiores, aumente o
PING_GROUP_SZ nonmap.he recompile. Uma soluo alternativa gerar uma lista de endereos IP-alvos
com um scan de lista ( -sL -n -oN<nomedoarquivo> ), embaralhar a lista com um script Perl e ento
fornecer a lista completa para o Nmap com-iL.
--spoof-mac <endereo mac, prefixo, ou nome do fabricante>(Disfara

o endereo MAC)

Solicita ao Nmap que utilize o endereo MAC informado para todos os frames ethernet em estado bruto
(raw) que ele enviar. Esta opo implica em--send-eth para assegurar que o Nmap realmente envie pacotes
no nvel ethernet. O MAC fornecido pode assumir diversos formatos. Se for apenas a string0, o Nmap ir
escolher um MAC completamente aleatrio para a sesso. Se a string informada for um nmero par de
dgitos hexa (com os pares opcionalmente separados por dois pontos), o Nmap ir usa-la como o MAC. Se
menos do que 12 dgitos hexa forem informados, o Nmap preenche o restante dos 6 bytes com valores
aleatrios. Se o argumento no for um 0 ou uma string hexa, o Nmap ir procurar nonmap-macprefixes para encontrar o nome de um fabricante contendo a string informada (no sensvel a maisculas
ou minsculas). Se encontrar, o Nmap usa o OUI (prefixo de 3 bytes) do fabricante e preenche os 3 bytes
restantes aleatoriamente. Exemplos de argumentos--spoof-mac vlidos
soApple ,0,01:02:03:04:05:06,deadbeefcafe,0020F2eCisco .
--badsum(Send

packets with bogus TCP/UDP checksums)

Solicita ao Nmap que utilize uma soma de verificao (checksum) TCP ou UDP invlida para os pacotes
enviados aos hosts. Uma vez que virtualmente todos as pilhas (stack) IP do host iro rejeitar esses pacotes,
quaisquer respostas recebidas so provavelmente vindas de um firewall ou IDS que nem se incomodou em
verificar a soma de verificao. Para mais detalhes desta tcnica, vejahttps://nmap.org/p60-12.txt