TGViewer
Codeby Codeby @codeby_sec · 37K subscribers
Post #10143 2.92K
Предсказуемый sequence number — и чужая сессия у тебя в руках

Полгода назад на внутреннем пентесте я перехватил TCP-сессию между сервером мониторинга и управляющей консолью. RST-инъекция сработала с первого пакета — от обнаружения открытого порта до разрыва чужого соединения прошло 12 минут. Коллега-джуниор, наблюдавший в Wireshark, не мог понять, что происходит. Он знал, что TCP — «надёжный протокол». Но не представлял, как именно эта надёжность становится уязвимостью.

🔍 Суть проблемы — в механике трёхстороннего рукопожатия. Клиент отправляет SYN с начальным sequence number, сервер отвечает SYN-ACK со своим, клиент подтверждает ACK. Три пакета — соединение установлено. Просто? Да. Но дьявол в деталях:

• Сервер после получения SYN выделяет ресурсы на полуоткрытое соединение ещё до завершения handshake. Запись в SYN-очереди висит ~31 секунду, ожидая финального ACK. Отправь тысячи SYN без продолжения — и очередь переполнится. Это классический SYN flood.

• В устаревших TCP-стеках начальные sequence numbers генерировались линейно. Атакующий предсказывал ISN удалённого хоста и инжектировал пакеты в чужую сессию вслепую — blind TCP injection. Современные ОС вычисляют ISN через криптографический хеш (RFC 6528), но legacy-системы в промышленных сетях и SCADA — до сих пор уязвимы.

⚡ А теперь про разведку. SYN-скан в Nmap (nmap -sS) — первое, что запускаешь на новом проекте. Отправляется SYN, анализируется ответ, тут же шлётся RST — рукопожатие не завершается. Три варианта ответа:

• SYN-ACK → порт открыт, сервис слушает
• RST → порт закрыт
• Тишина → файрвол дропает пакет

Разница между SYN-сканом и обычным connect-сканом (-sT) — как между подглядыванием в замочную скважину и стуком в дверь. Первый не оставляет записей в логах сервиса, второй — оставляет.

🛡 Каждый уровень TCP/IP-стека — отдельная поверхность атаки. На L2 — ARP-спуфинг и MAC-flooding. На L3 — IP-спуфинг и фрагментация. На L4 — манипуляции флагами, SYN flood, session hijacking. На L7 — SQL-инъекции и перехват сессий. Один пентестер за час может работать на трёх уровнях — и каждый раз правила игры меняются.

TCP-атаки — не финальная цель. Это разведка и плацдарм для lateral movement и privilege escalation. Без понимания транспортного уровня весь пентест строится на догадках.

📖 В полной статье — разбор всех TCP-флагов, практика с Scapy и Wireshark, реальные примеры RST-инъекций и защита от них. Читайте на Codeby.

https://codeby.net/threads/tcp-ip-stek-protokolov-dlya-khakera-flagi-rukopozhatiye-i-real-nyye-ataki.93696/
  • ❤ 8
  • 👍 7
  • 🔥 5
More from @codeby_sec
  1. Sep 26, 2026🚩 Новые задания на платформе HackerLab! 👩‍💻 Категория Pentest Machines (Active Director…
  2. Sep 25, 2026Post #10469
  3. Sep 25, 2026Tookie-OSINT: Инструмент разведки по имени пользователя Tookie-OSINT — инструмент с открыт…
  4. Sep 24, 202614 резюме за три дня. Где вакансии? За месяц работодатели не разместили на форуме ни одной…
  5. Sep 24, 2026UDP-сканирование: ты доверяешь zenmap или запускаешь nmap руками? Дефолтный профиль zenmap…
  6. Sep 24, 2026🌐HExHTTP Инструмент для тестирования HTTP-заголовков и анализа результатов с целью выявле…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →