mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
46 lines
3.6 KiB
Markdown
46 lines
3.6 KiB
Markdown
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
# **Маніпуляція TTL**
|
||
|
||
Відправте кілька пакетів з TTL, достатнім для досягнення IDS/IPS, але недостатнім для досягнення кінцевої системи. А потім відправте інші пакети з тими ж послідовностями, щоб IPS/IDS вважали їх повтореннями і не перевіряли їх, але насправді вони несуть шкідливий вміст.
|
||
|
||
**Опція Nmap:** `--ttlvalue <value>`
|
||
|
||
# Уникнення підписів
|
||
|
||
Просто додайте сміттєві дані до пакетів, щоб уникнути підпису IPS/IDS.
|
||
|
||
**Опція Nmap:** `--data-length 25`
|
||
|
||
# **Фрагментовані пакети**
|
||
|
||
Просто фрагментуйте пакети і відправляйте їх. Якщо IDS/IPS не має можливості їх зібрати, вони досягнуть кінцевого хоста.
|
||
|
||
**Опція Nmap:** `-f`
|
||
|
||
# **Недійсний** _**контрольна сума**_
|
||
|
||
Датчики зазвичай не обчислюють контрольну суму з причин продуктивності. Тому зловмисник може відправити пакет, який буде **інтерпретований датчиком, але відхилений кінцевим хостом.** Приклад:
|
||
|
||
Відправте пакет з прапором RST і недійсною контрольною сумою, тоді IPS/IDS може подумати, що цей пакет закриває з'єднання, але кінцевий хост відкине пакет, оскільки контрольна сума недійсна.
|
||
|
||
# **Незвичайні IP та TCP опції**
|
||
|
||
Датчик може ігнорувати пакети з певними прапорами та опціями, встановленими в заголовках IP та TCP, тоді як кінцевий хост приймає пакет при отриманні.
|
||
|
||
# **Перекриття**
|
||
|
||
Можливо, що коли ви фрагментуєте пакет, між пакетами існує певне перекриття (можливо, перші 8 байтів пакету 2 перекриваються з останніми 8 байтами пакету 1, а останні 8 байтів пакету 2 перекриваються з першими 8 байтами пакету 3). Тоді, якщо IDS/IPS зберуть їх по-іншому, ніж кінцевий хост, буде інтерпретовано інший пакет.\
|
||
Або, можливо, 2 пакети з однаковим зсувом приходять, і хост повинен вирішити, який з них взяти.
|
||
|
||
- **BSD**: Віддає перевагу пакетам з меншим _зсувом_. Для пакетів з однаковим зсувом вибере перший.
|
||
- **Linux**: Як BSD, але віддає перевагу останньому пакету з однаковим зсувом.
|
||
- **Перший** (Windows): Перше значення, яке приходить, значення, яке залишається.
|
||
- **Останнє** (cisco): Останнє значення, яке приходить, значення, яке залишається.
|
||
|
||
# Інструменти
|
||
|
||
- [https://github.com/vecna/sniffjoke](https://github.com/vecna/sniffjoke)
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|