1. Введение
Интернет работает не магически, а по строгим правилам — протоколам. Чтобы понять, где искать уязвимости, нужно понимать модель взаимодействия систем. Чаще всего используют модель OSI (7 уровней) или TCP/IP (4 уровня).
Для CTF нам критически важны два понятия:
IP-адрес: Адрес дома. (Например,
192.168.1.1или10.10.10.5). Указывает, куда отправить данные.Порт: Номер квартиры в этом доме. (Например,
80,22,1337). Указывает, какой программе отдать данные.
Аналогия: IP — это адрес многоквартирного дома. Порт — это конкретная квартира. Если вы стучитесь в порт 80, вам откроет веб-сервер. Если в порт 22 — SSH-сервер. В CTF часто флаги прячут на нестандартных портах (например, 31337).
2. Основные протоколы (Языки общения)
Вам нужно знать разницу между основными способами передачи данных:
TCP vs UDP
TCP (Transmission Control Protocol): Надежный. Требует "рукопожатия" (Handshake). Гарантирует, что данные дошли в правильном порядке. Пример: Загрузка сайта, SSH, передача файлов.
UDP (User Datagram Protocol): Быстрый, но ненадежный. "Выстрелил и забыл". Пакеты могут теряться. Пример: Стриминг видео, DNS, онлайн-игры.
Важные порты для запоминания
Порт | Сервис | Описание |
20/21 | FTP | Передача файлов. Часто бывает анонимный вход ( |
22 | SSH | Удаленное управление консолью. Основной способ входа на сервер. |
23 | Telnet | Старый, незащищенный аналог SSH. Пароли летят в открытом виде! |
53 | DNS | Преобразование имен (https://www.google.com/search?q=google.com) в IP. |
80 | HTTP | Веб-сайты (нешифрованный). |
443 | HTTPS | Веб-сайты (шифрованный). |
445 | SMB | Общий доступ к файлам Windows. Часто уязвим (привет, EternalBlue). |
3. Инструментарий (The Toolkit)
Nmap (Network Mapper)
Король сетевой разведки. Позволяет узнать, какие порты открыты на сервере и что за программы там висят.
nmap -sC -sV <IP>— Базовый скан скриптами (-sC) и определением версий сервисов (-sV).nmap -p- <IP>— Сканировать все 65535 портов (по умолчанию сканирует только топ-1000).nmap -sn <subnet>— Ping-сканирование сети (узнать, какие компы живы в локалке).
Netcat (nc)
"Швейцарский армейский нож" хакера. Позволяет читать и писать данные в сетевые соединения.
nc <IP> <PORT>— Подключиться к порту.Пример CTF:
nc saturn.picoctf.net 12345— Часто после подключения сервер сразу выплевывает флаг или запускает диалог.
nc -l -p 1234— Слушать порт 1234 на своем компьютере (для приема Reverse Shell).
Wireshark
Графический инструмент для анализа сетевого трафика (файлов .pcap). Позволяет разобрать каждый пакет "по косточкам".
Фильтры Wireshark (самое важное!):
http— показать только HTTP запросы.ip.addr == 192.168.1.5— показать пакеты от или к этому IP.http.request.method == "POST"— найти отправленные формы (часто там логины/пароли).tcp.stream eq 0— Проследить весь диалог (Follow TCP Stream).
4. Методология решения
Сценарий 1: У вас есть IP-адрес (Категория Pwn / Web / Pentest)
Разведка: Запускаем
nmap -sC -sV -oN scan.txt <IP>.Анализ: Смотрим вывод.
Есть порт 80? Открываем в браузере. Смотрим исходный код (
Ctrl+U).Есть порт 21 (FTP)? Пробуем зайти как
Anonymous.Есть нестандартный порт (напр. 1337)? Подключаемся через
nc <IP> 1337.
Поиск эксплойтов: Если Nmap показал старую версию сервиса (например,
Apache 2.4.49), гуглим "Apache 2.4.49 exploit" или ищем черезsearchsploit.
Сценарий 2: У вас есть файл .pcap (Категория Forensics)
Открываем в Wireshark.
Общий обзор:
Statistics -> Protocol Hierarchy. Чего больше всего? HTTP? DNS?Поиск простого текста: Пробуем искать строку "flag" или "CTF" через
Ctrl+F(выбрать "Packet Bytes" и "String").Анализ HTTP: Ищем переданные файлы (
File -> Export Objects -> HTTP) или введенные пароли (фильтрhttp.request.method == POST).Восстановление потока: Правой кнопкой на интересный пакет ->
Follow -> TCP Stream. Вы увидите собранный текст переписки.
5. Полезные материалы
Nmap Cheatsheet
Шпаргалка по всем командам сканера.
Wireshark 101 (TryHackMe)
Отличная комната для практики анализа трафика.
Ссылка: tryhackme.com/room/wireshark
PicoCTF (Forensics category)
Там много задач на анализ pcap-файлов (Shark on Wire).
HackTheBox Academy (Network Enumeration)
Фундаментальный курс по сканированию сетей.