IDS/IPS Evasion Techniques

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

TTL Manipulation

IDS/IPS’e ulaşacak kadar yüksek fakat hedef son sisteme ulaşmayacak kadar düşük bir TTL ile bazı paketler gönderin. Ardından, aynı sıra numaralarını taşıyan paketleri tekrar gönderin; böylece IPS/IDS bunları tekrar olarak değerlendirecek ve kontrol etmeyecektir, ama aslında bu paketler kötü amaçlı içeriği taşır.

Nmap option: --ttlvalue <value>

Avoiding signatures

Paketlere çöp veri ekleyerek IPS/IDS imzasından kaçının.

Nmap option: --data-length 25

Fragmented Packets

Paketleri parçalayın ve gönderin. Eğer IDS/IPS bunları yeniden birleştirme yeteneğine sahip değilse, paketler hedef hosta ulaşacaktır.

Nmap option: -f

Invalid checksum

Sensörler genellikle performans sebepleriyle checksum hesaplamaz. Bu nedenle saldırgan, sensör tarafından yorumlanıp hedef host tarafından reddedilecek bir paket gönderebilir. Örnek:

RST flag’ine sahip ve geçersiz checksum içeren bir paket gönderin; böylece IPS/IDS bu paketin bağlantıyı kapatacağını düşünebilir, ancak hedef host checksum geçersiz olduğu için paketi atar.

Uncommon IP and TCP options

Bir sensör, IP ve TCP başlıklarında belirli flag ve option’lar ayarlı paketleri görmezden gelebilir; oysa hedef host paketi aldığı zaman kabul edebilir.

Overlapping

Bir paketi parçalarken, paketler arasında örtüşme (overlap) oluşabilir (ör. paket 2’nin ilk 8 byte’ı paket 1’in son 8 byte’ı ile örtüşür ve paket 2’nin son 8 byte’ı paket 3’ün ilk 8 byte’ı ile örtüşür). Eğer IDS/IPS bunları hedef hosttan farklı şekilde yeniden birleştirirse, farklı bir paket yorumlanır.
Veya aynı offset’e sahip iki paket gelebilir ve host hangi paketi alacağına karar vermek zorunda kalır.

  • BSD: Daha küçük offset değerine öncelik verir. Aynı offset için ilk geleni seçer.
  • Linux: BSD’ye benzer, fakat aynı offset için son gelen paketi tercih eder.
  • First (Windows): Gelen ilk değer kalır.
  • Last (cisco): Gelen son değer kalır.

TCP Stream Overlap / Reassembly Mismatch

IP fragmentleri gibi, örtüşen TCP segmentleri IDS/IPS ile hedef host tarafından farklı şekilde yeniden birleştirilebilir. Sensör ile host örtüşmede hangi byte’ların üstün geldiği konusunda aynı fikirde değilse, sensörün baktığı yerde masum byte’lar ve hostun nihayetinde birleştirdiği yerde kötü amaçlı byte’lar yerleştirebilirsiniz.

  • Hedef OS’nin yeniden birleştirme politikasına bağlı olarak önce masum bir segment, sonra örtüşen kötü amaçlı segment gönderin (veya sıralamayı tersine çevirin).
  • Sensör için belirsizliği maksimize ederken host için akışı geçerli tutmak adına küçük örtüşmeler kullanın.

IPv6 Extension Headers & Fragment Tricks

IPv6, herhangi bir header zincirine izin verir ve üst katman (TCP/UDP/ICMPv6) başlığı tüm extension header’lardan sonra görünür. Bir cihaz bütün zinciri parse etmezse, extension header ekleyerek veya parçalayarak üst katman başlığı cihazın beklediği yerde görünmeyecek şekilde atlatılabilir. RFC 7112 tüm IPv6 header zincirinin ilk fragmanda bulunmasını zorunlu kılar; uyumsuz küçük fragmanları kabul eden cihazlar, L4 başlığını sonraki fragmanlara iterek atlatılabilir.

Pratik desenler:

  • Üst katman başlığını paketin daha derinlerine itmek için uzun extension-header zincirleri.
  • İlk fragmanı yalnızca IPv6 + Fragment + options içerecek kadar küçük yapmak, L4 başlığını sonraki fragmanlara bırakmak.
  • Daha derinlere saklamak için extension header’lar + fragmentation kombinasyonu; sadece ilk fragmanı inceleyen cihazlardan gerçek üst-katman protokolünü gizler.

Tools

References

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin