К списку уроков

Урок 3. Основы сетей

Онлайн и в Б-835, 23 октября (четверг), 15:00

ping — pong ||| Разберём, как устройства взаимодействуют друг с другом, модели OSI и TCP/IP, стандартные протоколы, сетевые утилиты и многое другое! Также вас ждёт полезная практика.

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

Передача файлов. Часто бывает анонимный вход (anonymous:anonymous).

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)

  1. Разведка: Запускаем nmap -sC -sV -oN scan.txt <IP>.

  2. Анализ: Смотрим вывод.

    • Есть порт 80? Открываем в браузере. Смотрим исходный код (Ctrl+U).

    • Есть порт 21 (FTP)? Пробуем зайти как Anonymous.

    • Есть нестандартный порт (напр. 1337)? Подключаемся через nc <IP> 1337.

  3. Поиск эксплойтов: Если Nmap показал старую версию сервиса (например, Apache 2.4.49), гуглим "Apache 2.4.49 exploit" или ищем через searchsploit.

Сценарий 2: У вас есть файл .pcap (Категория Forensics)

  1. Открываем в Wireshark.

  2. Общий обзор: Statistics -> Protocol Hierarchy. Чего больше всего? HTTP? DNS?

  3. Поиск простого текста: Пробуем искать строку "flag" или "CTF" через Ctrl+F (выбрать "Packet Bytes" и "String").

  4. Анализ HTTP: Ищем переданные файлы (File -> Export Objects -> HTTP) или введенные пароли (фильтр http.request.method == POST).

  5. Восстановление потока: Правой кнопкой на интересный пакет -> Follow -> TCP Stream. Вы увидите собранный текст переписки.

5. Полезные материалы

  • Nmap Cheatsheet

  • Wireshark 101 (TryHackMe)

  • PicoCTF (Forensics category)

    • Там много задач на анализ pcap-файлов (Shark on Wire).

  • HackTheBox Academy (Network Enumeration)

    • Фундаментальный курс по сканированию сетей.