hacktricks/generic-methodologies-and-resources/pentesting-network/ids-evasion.md

4.4 KiB

{% hint style="success" %} Aprenda e pratique AWS Hacking:Treinamento HackTricks AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking: Treinamento HackTricks GCP Red Team Expert (GRTE)

Apoie o HackTricks
{% endhint %}

Manipulação de TTL

Envie alguns pacotes com um TTL suficiente para chegar ao IDS/IPS, mas não o suficiente para chegar ao sistema final. Em seguida, envie outros pacotes com as mesmas sequências que os anteriores, para que o IPS/IDS pense que são repetições e não os verifique, mas na verdade estão carregando o conteúdo malicioso.

Opção Nmap: --ttlvalue <valor>

Evitando assinaturas

Apenas adicione dados de lixo aos pacotes para evitar a assinatura do IPS/IDS.

Opção Nmap: --data-length 25

Pacotes fragmentados

Apenas fragmente os pacotes e os envie. Se o IDS/IPS não tiver a capacidade de reagrupá-los, eles chegarão ao host final.

Opção Nmap: -f

Checksum inválido

Os sensores geralmente não calculam o checksum por motivos de desempenho. Assim, um atacante pode enviar um pacote que será interpretado pelo sensor, mas rejeitado pelo host final. Exemplo:

Envie um pacote com a flag RST e um checksum inválido, para que o IPS/IDS pense que este pacote está fechando a conexão, mas o host final descartará o pacote devido ao checksum inválido.

Opções IP e TCP incomuns

Um sensor pode ignorar pacotes com certas flags e opções definidas nos cabeçalhos IP e TCP, enquanto o host de destino aceita o pacote ao recebê-lo.

Sobreposição

É possível que, ao fragmentar um pacote, exista algum tipo de sobreposição entre os pacotes (talvez os primeiros 8 bytes do pacote 2 se sobreponham com os últimos 8 bytes do pacote 1, e os últimos 8 bytes do pacote 2 se sobreponham com os primeiros 8 bytes do pacote 3). Então, se o IDS/IPS os reagrupar de maneira diferente do host final, um pacote diferente será interpretado.
Ou talvez, 2 pacotes com o mesmo deslocamento cheguem e o host tenha que decidir qual deles aceita.

  • BSD: Tem preferência por pacotes com offset menor. Para pacotes com o mesmo offset, escolherá o primeiro.
  • Linux: Como o BSD, mas prefere o último pacote com o mesmo offset.
  • Primeiro (Windows): Primeiro valor que chega, valor que fica.
  • Último (Cisco): Último valor que chega, valor que fica.

Ferramentas

{% hint style="success" %} Aprenda e pratique AWS Hacking:Treinamento HackTricks AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking: Treinamento HackTricks GCP Red Team Expert (GRTE)

Apoie o HackTricks
{% endhint %}