Evadir Firewalls e IDS com Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como evadir firewalls e IDS usando o Nmap. O laboratório cobre diversas técnicas, incluindo a execução de varreduras de isca (decoy scans), fragmentação de pacotes, spoofing de endereços IP, ajuste das taxas de varredura e a combinação dessas técnicas. Você executará vários comandos Nmap no terminal Xfce e verificará os resultados da evasão. Lembre-se de usar essas técnicas eticamente e com a devida autorização.

Executar varredura de isca com nmap -D RND:5 192.168.1.1

Nesta etapa, exploraremos como usar a varredura de isca (decoy scanning) com o Nmap para ofuscar a origem da nossa varredura. A varredura de isca faz parecer que a varredura está se originando de múltiplos endereços IP, tornando mais difícil identificar o scanner real.

A opção -D no Nmap permite que você especifique endereços IP de isca. O argumento RND:5 informa ao Nmap para usar 5 endereços IP aleatórios e não reservados como iscas, além do seu endereço IP real.

Vamos realizar uma varredura de isca contra um alvo. Para fins de demonstração, usaremos 192.168.1.1 como o endereço IP do alvo. Observe que 192.168.1.1 é um espaço reservado (placeholder). Em um cenário real, você substituiria isso pelo endereço IP real do alvo que você está autorizado a varrer.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -D RND:5 192.168.1.1

Este comando iniciará uma varredura Nmap contra 192.168.1.1, usando 5 endereços IP aleatórios como iscas. Você verá a saída do Nmap no terminal, mostrando o progresso da varredura.

Exemplo de saída (a saída específica variará dependendo do alvo e da rede):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh

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

Considerações Importantes:

  • Uso Ético: Sempre certifique-se de ter permissão explícita para varrer uma rede ou sistema. Varredura não autorizada é ilegal e antiética.
  • Impacto na Rede: Varreduras de isca podem gerar uma quantidade significativa de tráfego de rede. Use-as de forma responsável e evite sobrecarregar a rede alvo.
  • Eficácia: Embora as varreduras de isca possam dificultar o rastreamento da origem de uma varredura, elas não são infalíveis. Sistemas de detecção de intrusão (IDS) sofisticados ainda podem ser capazes de identificar a fonte real.

Fragmentar pacotes com nmap -f 127.0.0.1

Nesta etapa, aprenderemos como fragmentar pacotes usando o Nmap. A fragmentação de pacotes envolve a divisão dos dados TCP ou UDP em pedaços menores (fragmentos) antes de enviá-los ao alvo. Essa técnica pode ser usada para evadir alguns firewalls ou sistemas de detecção de intrusão (IDS) que podem não remontar corretamente os pacotes fragmentados.

A opção -f no Nmap habilita a fragmentação de pacotes. Por padrão, o Nmap fragmenta os pacotes em pedaços de 8 bytes. Você pode especificar um tamanho de MTU (Maximum Transmission Unit) diferente usando -mtu <size>.

Vamos realizar uma varredura fragmentada contra o endereço de loopback 127.0.0.1. Este endereço sempre se refere à máquina local, tornando-o seguro para testes.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -f 127.0.0.1

Este comando iniciará uma varredura Nmap contra 127.0.0.1, fragmentando os pacotes. Você verá a saída do Nmap no terminal, mostrando o progresso da varredura.

Exemplo de saída (a saída específica variará dependendo da configuração do seu sistema):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000028s latency).
Other addresses for localhost: ::1

PORT     STATE SERVICE
139/tcp  closed netbios-ssn
445/tcp  closed microsoft-ds

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

Explicação:

  • sudo nmap: Executa o Nmap com privilégios de superusuário, que são frequentemente necessários para operações de socket bruto, como fragmentação de pacotes.
  • -f: Habilita a fragmentação. O Nmap fragmentará os pacotes antes de enviá-los.
  • 127.0.0.1: Especifica o endereço IP do alvo (o endereço de loopback).

Considerações Importantes:

  • Evasão de Firewall/IDS: A fragmentação de pacotes pode, às vezes, contornar firewalls ou IDS simples que não remontam corretamente os fragmentos. No entanto, dispositivos de segurança modernos geralmente são capazes de lidar com pacotes fragmentados.
  • Impacto no Desempenho: A fragmentação pode aumentar a sobrecarga da rede e potencialmente diminuir a velocidade da varredura.
  • Opção MTU: Você pode usar a opção -mtu para especificar um tamanho de MTU personalizado para os fragmentos. Por exemplo, nmap -f -mtu 32 127.0.0.1 fragmentaria os pacotes em pedaços de 32 bytes.

Falsificar IP com nmap -S 192.168.1.100 192.168.1.1

Nesta etapa, exploraremos como falsificar o endereço IP de origem das varreduras Nmap. A falsificação (spoofing) de endereço IP envolve forjar o endereço IP de origem nos pacotes enviados pelo Nmap. Isso pode ser usado para ocultar seu endereço IP real ou para testar defesas de rede.

A opção -S no Nmap permite que você especifique um endereço IP de origem. É importante entender que a falsificação de endereços IP pode ter sérias consequências e só deve ser feita em ambientes autorizados. Além disso, observe que você normalmente não receberá respostas aos pacotes falsificados, pois eles serão enviados para o endereço falsificado. Portanto, essa técnica é frequentemente usada com técnicas de varredura "cegas" como a varredura SYN (-sS) ou varredura connect (-sT) quando você não precisa ver as respostas.

Vamos realizar uma varredura SYN com um endereço IP falsificado contra um alvo. Para fins de demonstração, usaremos 192.168.1.100 como o endereço IP falsificado e 192.168.1.1 como o endereço IP do alvo. Observe que 192.168.1.1 é um espaço reservado (placeholder). Em um cenário real, você substituiria isso pelo endereço IP real do alvo que você está autorizado a varrer. Além disso, 192.168.1.100 é apenas um exemplo, e você deve escolher um endereço IP que não esteja em uso em sua rede para evitar conflitos.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -sS -S 192.168.1.100 192.168.1.1

Este comando iniciará uma varredura SYN Nmap contra 192.168.1.1, usando 192.168.1.100 como o endereço IP de origem falsificado. Você verá a saída do Nmap no terminal, mostrando o progresso da varredura.

Exemplo de saída (a saída específica variará dependendo do alvo e da rede):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00029s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

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

Explicação:

  • sudo nmap: Executa o Nmap com privilégios de superusuário, que são necessários para operações de socket bruto, como falsificação de endereço IP.
  • -sS: Especifica uma varredura SYN, que é uma varredura furtiva que não completa o handshake TCP.
  • -S 192.168.1.100: Especifica o endereço IP de origem falsificado.
  • 192.168.1.1: Especifica o endereço IP do alvo.

Considerações Importantes:

  • Uso Ético: A falsificação de endereço IP só deve ser usada em ambientes autorizados para fins legítimos, como testes de segurança.
  • Privilégios de Root: A falsificação de endereços IP requer privilégios de root.
  • Funcionalidade Limitada: Como você não receberá respostas aos pacotes falsificados, pode ser necessário usar outras técnicas para coletar informações sobre o alvo.
  • Configuração de Rede: A falsificação pode não funcionar se sua rede estiver configurada para impedi-la. Roteadores e firewalls geralmente têm mecanismos para impedir que pacotes com endereços de origem falsificados saiam da rede.

Ajustar taxa com nmap --max-rate 100 192.168.1.1

Nesta etapa, aprenderemos como controlar a taxa de varredura do Nmap. Ajustar a taxa de varredura é crucial para evitar a detecção e prevenir a congestão da rede. O Nmap oferece várias opções para controlar a taxa com que envia pacotes.

A opção --max-rate limita o número de pacotes que o Nmap envia por segundo. Isso pode ser útil para evitar a detecção por sistemas de detecção de intrusão (IDS) ou para prevenir a congestão da rede, especialmente ao varrer redes com largura de banda limitada.

Vamos realizar uma varredura contra um endereço IP de destino, limitando a taxa máxima de pacotes a 100 pacotes por segundo. Para fins de demonstração, usaremos 192.168.1.1 como o endereço IP de destino. Observe que 192.168.1.1 é um espaço reservado (placeholder). Em um cenário real, você substituiria isso pelo endereço IP real do alvo que você está autorizado a varrer.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap --max-rate 100 192.168.1.1

Este comando iniciará uma varredura Nmap contra 192.168.1.1, limitando a taxa máxima de pacotes a 100 pacotes por segundo. Você verá a saída do Nmap no terminal, mostrando o progresso da varredura.

Exemplo de saída (a saída específica variará dependendo do alvo e da rede):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00028s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

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

Explicação:

  • sudo nmap: Executa o Nmap com privilégios de superusuário, o que pode ser necessário para certos tipos de varredura.
  • --max-rate 100: Limita a taxa de envio a um máximo de 100 pacotes por segundo.
  • 192.168.1.1: Especifica o endereço IP do alvo.

Outras Opções de Limitação de Taxa:

O Nmap oferece várias outras opções para controlar a taxa de varredura:

  • --min-rate <number>: Especifica o número mínimo de pacotes por segundo a serem enviados.
  • --scan-delay <time>: Ajusta a quantidade de tempo que o Nmap espera após cada sonda que envia.
  • --min-rtt-timeout <time>, --max-rtt-timeout <time>, --initial-rtt-timeout <time>: Controla os valores de tempo limite (timeout) da sonda.

Considerações Importantes:

  • Condições da Rede: A taxa de varredura ideal depende das condições da rede. Se a rede estiver congestionada, uma taxa mais baixa pode ser necessária para evitar a perda de pacotes.
  • Evasão de IDS/IPS: Ajustar a taxa de varredura pode ajudar a evitar a detecção por sistemas de detecção/prevenção de intrusão.
  • Tempo de Varredura: Diminuir a taxa de varredura aumentará o tempo total da varredura.

Combinar técnicas com nmap -f --max-rate 50 127.0.0.1

Nesta etapa, combinaremos as técnicas de fragmentação de pacotes e limitação de taxa para refinar ainda mais nossas varreduras Nmap. A combinação de técnicas pode ser útil para evitar a detecção e otimizar o desempenho da varredura.

Usaremos a opção -f para fragmentar pacotes e a opção --max-rate para limitar a taxa de envio. A fragmentação de pacotes divide o cabeçalho TCP em vários pacotes para dificultar a detecção da varredura por filtros de pacotes e firewalls. Limitar a taxa garante que a varredura não sobrecarregue a rede ou acione alarmes.

Vamos realizar uma varredura contra o endereço de loopback (127.0.0.1), usando a fragmentação de pacotes e limitando a taxa máxima de pacotes a 50 pacotes por segundo.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -f --max-rate 50 127.0.0.1

Este comando iniciará uma varredura Nmap contra 127.0.0.1, fragmentando os pacotes e limitando a taxa máxima de pacotes a 50 pacotes por segundo. Você verá a saída do Nmap no terminal, mostrando o progresso da varredura.

Exemplo de saída (a saída específica variará dependendo do alvo e da rede):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000070s latency).
Other addresses for localhost: ::1
Not shown: 999 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc

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

Explicação:

  • sudo nmap: Executa o Nmap com privilégios de superusuário, o que pode ser necessário para certos tipos de varredura.
  • -f: Fragmenta os pacotes em pedaços menores.
  • --max-rate 50: Limita a taxa de envio a um máximo de 50 pacotes por segundo.
  • 127.0.0.1: Especifica o endereço IP de destino (endereço de loopback).

Considerações Importantes:

  • Sobrecarga de Fragmentação: A fragmentação de pacotes pode aumentar a sobrecarga da varredura, pois mais pacotes precisam ser enviados.
  • Comportamento do Firewall: Alguns firewalls podem remontar pacotes fragmentados antes de inspecioná-los, anulando os efeitos da fragmentação.
  • Eficácia da Limitação de Taxa: A eficácia da limitação de taxa depende das condições da rede e da sensibilidade do sistema de destino.
  • Combinação de Técnicas: A combinação de diferentes técnicas de evasão pode aumentar as chances de contornar as medidas de segurança, mas também aumenta a complexidade da varredura.

Verificar evasão no terminal Xfce

Nesta etapa, discutiremos como verificar a eficácia das técnicas de evasão que usamos nas etapas anteriores. Embora não possamos provar definitivamente que nossas varreduras são completamente indetectáveis, podemos usar vários métodos para avaliar a probabilidade de evasão.

Métodos para Verificar a Evasão:

  1. Monitoramento de Rede: Use ferramentas como tcpdump ou Wireshark para capturar o tráfego de rede e analisar as características das varreduras Nmap. Procure por pacotes fragmentados, endereços IP de isca e tráfego com taxa limitada. Isso requer uma máquina separada na mesma rede que o alvo. Como estamos em um ambiente contido, isso não é viável.

  2. Logs de IDS/IPS: Se você tiver acesso aos logs de um sistema de detecção/prevenção de intrusão (IDS/IPS), examine-os em busca de quaisquer alertas relacionados às varreduras Nmap. A ausência de alertas não garante a evasão, mas é um sinal positivo. Isso também requer acesso a sistemas externos, o que não temos.

  3. Logs do Sistema Alvo: Verifique os logs do sistema alvo em busca de qualquer evidência das varreduras Nmap. Isso pode incluir tentativas de conexão a portas específicas ou atividade de rede incomum. Novamente, isso requer acesso ao sistema alvo.

  4. Serviços Online de Terceiros: Alguns serviços online podem analisar o tráfego de rede e identificar possíveis ameaças à segurança. Você pode enviar uma amostra do tráfego de varredura Nmap para esses serviços para análise.

Limitações no Ambiente do Laboratório:

Devido às limitações do ambiente da VM LabEx (por exemplo, falta de uma máquina de monitoramento separada, sem acesso aos logs do IDS/IPS ou do sistema alvo), não podemos realizar uma verificação abrangente da evasão. No entanto, podemos revisar os comandos que executamos e entender como eles contribuem para a evasão.

Revisão das Técnicas de Evasão:

  • Varredura de Isca (nmap -D RND:5 192.168.1.1): Esta técnica faz parecer que a varredura está se originando de vários endereços IP, incluindo os gerados aleatoriamente. Isso pode confundir os administradores de rede e dificultar o rastreamento da varredura até a fonte real.

  • Fragmentação de Pacotes (nmap -f 127.0.0.1): Esta técnica divide o cabeçalho TCP em vários pacotes, tornando mais difícil para filtros de pacotes e firewalls detectarem a varredura.

  • IP Spoofing (nmap -S 192.168.1.100 192.168.1.1): Esta técnica oculta seu endereço IP real usando um endereço IP de origem diferente.

  • Limitação de Taxa (nmap --max-rate 100 192.168.1.1): Esta técnica diminui a velocidade da varredura, reduzindo a probabilidade de acionar alarmes ou causar congestionamento na rede.

  • Técnicas Combinadas (nmap -f --max-rate 50 127.0.0.1): A combinação de fragmentação e limitação de taxa fornece uma abordagem em várias camadas para a evasão.

Conclusão:

Embora não possamos verificar definitivamente a evasão no ambiente da VM LabEx, entender os princípios por trás dessas técnicas e como elas funcionam é crucial para conduzir varreduras Nmap furtivas e eficazes. Em um cenário real, você usaria os métodos descritos acima para avaliar a eficácia de seus esforços de evasão.

Esta etapa é mais sobre entender os conceitos e limitações do que realizar uma ação específica no terminal. Portanto, a etapa de verificação simplesmente verificará se você acessou esta etapa no laboratório.

Resumo

Neste laboratório, os participantes aprendem como evadir firewalls e IDS usando o Nmap. Eles exploram várias técnicas, incluindo a execução de uma varredura de isca com nmap -D RND:5, a fragmentação de pacotes com nmap -f, a falsificação de endereços IP com nmap -S, o ajuste da taxa de varredura com nmap --max-rate e a combinação dessas técnicas. Cada comando é executado no terminal Xfce, e os participantes são lembrados da importância do uso ético, do impacto na rede e das limitações desses métodos de evasão.