IDS/IPS Techniques d’évasion

Tip

Apprenez et pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE) Parcourez le catalogue complet de HackTricks Training pour les parcours d’évaluation (ARTA/GRTA/AzRTA) et Linux Hacking Expert (LHE).

Support HackTricks

TTL Manipulation

Envoyez des packets avec un TTL suffisant pour atteindre l’IDS/IPS mais pas assez pour atteindre le système final. Ensuite, envoyez d’autres packets avec les mêmes séquences que les précédents afin que l’IPS/IDS pense qu’il s’agit de répétitions et ne les inspecte pas, alors qu’ils contiennent en réalité le contenu malveillant.

Nmap option: --ttlvalue <value>

Avoiding signatures

Ajoutez simplement des garbage data aux packets pour éviter la signature de l’IPS/IDS.

Nmap option: --data-length 25

Fragmented Packets

Fragmenter les packets et les envoyer. Si l’IDS/IPS n’a pas la capacité de les reassemble, ils parviendront à l’hôte final.

Nmap option: -f

Invalid checksum

Les sensors calculent généralement pas la checksum pour des raisons de performance. Ainsi, un attaquant peut envoyer un packet qui sera interprété par le sensor mais rejeté par l’hôte final. Exemple :

Envoyer un packet avec le flag RST et une checksum invalide ; l’IPS/IDS peut alors penser que ce packet va fermer la connexion, mais l’hôte final rejettera le packet car la checksum est invalide.

Uncommon IP and TCP options

Un sensor peut ignorer des packets avec certains flags et options définis dans les headers IP et TCP, alors que l’hôte de destination accepte le packet à la réception.

Overlapping

Il est possible que lorsque vous fragmentez un packet, il y ait des overlaps entre packets (par exemple les 8 premiers octets du packet 2 chevauchent les 8 derniers octets du packet 1, et les 8 derniers octets du packet 2 chevauchent les 8 premiers octets du packet 3). Si l’IDS/IPS reassemble ces fragments différemment que l’hôte final, un packet différent sera interprété.
Ou bien, deux packets avec le même offset arrivent et l’hôte doit décider lequel conserver.

  • BSD: Préfère les packets avec un offset plus petit. Pour des packets avec le même offset, il choisira le premier.
  • Linux: Comme BSD, mais il préfère le dernier packet avec le même offset.
  • First (Windows): La première valeur reçue est celle qui reste.
  • Last (cisco): La dernière valeur reçue est celle qui reste.

TCP Stream Overlap / Reassembly Mismatch

Comme pour les fragments IP, des segments TCP chevauchants peuvent être reassembled différemment par l’IDS/IPS et par l’hôte de destination. Si le sensor et l’hôte ne sont pas d’accord sur quels octets l’emportent dans le chevauchement, vous pouvez placer des octets bénins là où l’IDS/IPS regarde et des octets malveillants là où l’hôte les reassemble finalement.

  • Envoyez d’abord un segment bénin puis un segment chevauchant malveillant plus tard (ou inversez l’ordre) selon la politique de reassembly de l’OS cible.
  • Utilisez de petits overlaps pour garder le stream valide pour l’hôte tout en maximisant l’ambiguïté pour le sensor.

IPv6 Extension Headers & Fragment Tricks

IPv6 permet des chaînes d’extension header arbitraires, et le header de couche supérieure (TCP/UDP/ICMPv6) apparaît après tous les extension headers. Si un dispositif ne parse pas la chaîne complète, il peut être contourné en insérant des extension headers ou en fragmentant de sorte que le header de couche supérieure ne soit pas visible là où le dispositif l’attend. RFC 7112 exige que l’ensemble de la chaîne de headers IPv6 soit présente dans le premier fragment ; les dispositifs qui acceptent des tiny fragments non conformes peuvent être évités en repoussant le L4 header dans des fragments ultérieurs.

Patterns pratiques :

  • Long extension-header chains pour pousser le header de couche supérieure plus profondément dans le packet.
  • Small first fragments contenant uniquement IPv6 + Fragment + options, laissant le L4 header pour des fragments ultérieurs.
  • Combiner extension headers + fragmentation pour cacher le vrai protocole de couche supérieure aux dispositifs qui n’inspectent que le premier fragment.

Tools

References

Tip

Apprenez et pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE) Parcourez le catalogue complet de HackTricks Training pour les parcours d’évaluation (ARTA/GRTA/AzRTA) et Linux Hacking Expert (LHE).

Support HackTricks