IDS/IPS Evasion Techniques

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

TTL Manipulation

Надішліть кілька пакетів з TTL, достатнім, щоб дістатися до IDS/IPS, але недостатнім, щоб досягти кінцевої системи. Потім надішліть інші пакети з тими ж послідовностями, щоб IPS/IDS подумав, що це повтори і не перевіряв їх, тоді як насправді вони містять шкідливий контент.

Nmap option: --ttlvalue <value>

Avoiding signatures

Просто додайте в пакети зайві (garbage) дані, щоб уникнути сигнатур IPS/IDS.

Nmap option: --data-length 25

Fragmented Packets

Просто розбийте пакети на фрагменти і надішліть їх. Якщо IDS/IPS не вміє їх зібрати заново, вони дійдуть до кінцевого хоста.

Nmap option: -f

Invalid checksum

Сенсори зазвичай не обчислюють checksum з міркувань продуктивності. Тому атакувальник може надіслати пакет, який буде інтерпретований сенсором, але відхилений кінцевим хостом. Приклад:

Надішліть пакет з прапором RST і некоректним checksum — IPS/IDS може подумати, що цей пакет закриває з’єднання, тоді як кінцевий хост відкине його через неправильний checksum.

Uncommon IP and TCP options

Сенсор може ігнорувати пакети з певними прапорами та опціями в IP та TCP заголовках, тоді як приймаючий хост приймає пакет при отриманні.

Overlapping

Можливо, при фрагментації пакетів між фрагментами виникає перекриття (наприклад, перші 8 байтів пакета 2 перекриваються з останніми 8 байтами пакета 1, а останні 8 байт пакета 2 перекриваються з першими 8 байтами пакета 3). Якщо IDS/IPS збирає їх по-іншому, ніж кінцевий хост, буде інтерпретовано інший пакет.
Або ж можуть надійти 2 пакети з однаковим offset і хост має вирішити, який з них застосувати.

  • BSD: надає перевагу пакетам з меншим offset. Для пакетів з однаковим offset обирає перший.
  • Linux: як і BSD, але віддає перевагу останньому пакету з тим же offset.
  • First (Windows): перше значення, що надійшло, залишається.
  • Last (cisco): останнє значення, що надійшло, залишається.

TCP Stream Overlap / Reassembly Mismatch

Як і з IP-фрагментами, перекриваючі TCP сегменти можуть бути реконструйовані по-різному сенсором і кінцевим хостом. Якщо сенсор і хост не погоджуються щодо які байти мають пріоритет в перекритті, ви можете розмістити нешкідливі байти там, де дивиться IDS/IPS, і шкідливі байти там, де хост остаточно їх збирає.

  • Надішліть спочатку нешкідливий сегмент, а потім шкідливий перекриваючий сегмент або навпаки, залежно від політики реконструкції цільової ОС.
  • Використовуйте малі перекриття, щоб зберегти коректність потоку для хоста і максимально підвищити неоднозначність для сенсора.

IPv6 Extension Headers & Fragment Tricks

IPv6 дозволяє довільні ланцюги заголовків, а верхній (TCP/UDP/ICMPv6) заголовок з’являється після усіх extension headers. Якщо пристрій не розбирає увесь ланцюг, його можна обійти, вставивши extension headers або розбивши пакет так, щоб верхній шар не був видимий там, де пристрій очікує його. RFC 7112 вимагає, щоб увесь ланцюг заголовків IPv6 був присутній в першому фрагменті; пристрої, що приймають некомплаєнтні дуже малі фрагменти, можна обійти, відсунувши L4 заголовок у пізніші фрагменти.

Практичні схеми:

  • Довгі ланцюги extension-header щоб відсунути верхній заголовок глибше в пакеті.
  • Малі перші фрагменти, що містять лише IPv6 + Fragment + опції, залишаючи L4 заголовок для пізніших фрагментів.
  • Комбінування extension headers + fragmentation щоб приховати реальний протокол верхнього шару від пристроїв, що інспектують тільки перший фрагмент.

Tools

References

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks