Введение
Современные сети — это сложные организмы, где критически важные данные и скрытые угрозы движутся невидимыми потоками. Многие специалисты по ИБ недооценивают глубину сетевого уровня, останавливаясь на поверхностном анализе. Но истинная сила — в умении «видеть сквозь кабели»: точно знать, какие сервисы работают на каждом узле и что за данные они передают. Эту сверхспособность дают два проверенных временем инструмента: сканер Nmap и анализатор Wireshark.
Эта статья — практический гид по их использованию, который превратит непонятный шум в структурированную и понятную картину вашей сети.
Nmap примеры сканирования: Картографирование сети и поиск уязвимых сервисов
Nmap — это ваш швейцарский армейский нож для
сканирования портов. Его задача — активно опросить сеть и составить точную карту всех хостов и сервисов.
Базовое сканирование: Быстрая инвентаризация
Код:
Код:
nmap -sS 192.168.1.0/24
*
: SYN-сканирование. Быстрое и малозаметное, показывает все открытые TCP-порты в сети.
*
Что дает: Мгновенное понимание того, какие устройства есть в сети и какие основные сервисы (веб, SSH, базы данных) работают.
Глубокий анализ: Кто ты и какой версии?
Код:
Код:
nmap -sV -sC 192.168.1.100
- : Определение версий сервисов. Это ключ к поиску уязвимостей.
- : Запуск безопасных NSE-скриптов для сбора дополнительной информации (например, проверка анонимного доступа на FTP).
- Что дает: Вы не просто видите «порт 80 открыт». Вы видите «порт 80: nginx 1.18.0 (Ubuntu)». А скрипты могут сразу показать, что на FTP разрешен анонимный вход.
Поиск невидимок: Сканирование UDP-портов
Код:
Код:
nmap -sU --top-ports 50 192.168.1.100
- : UDP-сканирование. Часто игнорируется, но именно на UDP-портах (DNS, SNMP, DHCP) часто находят утечки данных.
- Что дает: Обнаружение сервисов, которые не отвечают на TCP-запросы. Статус open|filtered — это точка для дальнейшего расследования.
Wireshark анализ трафика: Искусство видеть содержимое пакетов
Если Nmap составил карту, то
Wireshark — это микроскоп, который позволяет рассмотреть каждое здание на этой карте в деталях. Это золотой стандарт для
анализа сетевого трафика.
*
Базовый прием: Мощь фильтров
Без фильтров вы утонете в море пакетов. Освойте их:
*
Код:
ip.addr == 192.168.1.100
— весь трафик узла.
*
— весь трафик через HTTPS-порт.
*
Код:
http.request.method == "POST"
— только POST-запросы (часто с логинами/паролями).
*
— только DNS-запросы.
Расследование инцидента: Поиск утечек в открытом тексте- Захватите трафик.
- Примените фильтр http.
- Найдите пакет с методом POST.
- Кликните ПКМ -> Follow -> HTTP Stream.
Что дает: Вы увидите полный диалог браузера и сервера. Часто в нем в незашифрованном виде видны логины и пароли.
Практический кейс: Обнаружение подозрительной локальной активности на Kali Linux
Задача: Вы — специалист по безопасности, проводящий плановый аудит собственной рабочей станции Kali Linux. Вам необходимо проверить, какие сетевые сервисы прослушивают порты, и проанализировать исходящий трафик на предмет аномалий, которые могут указывать на скрытую активность (например, бекдор или несанкционированное соединение).
Инструменты: Kali Linux (все предустановлено), netcat (утилита для создания сетевых соединений), curl.
Сценарий: Мы сами создадим подозрительную активность, чтобы имитировать работу скрытого сервиса, а затем обнаружим ее с помощью Nmap и Wireshark.
Шаг 1: Создаем «подозрительный» сервис на своем же компьютере
Откройте терминал и запустите простой TCP-сервер на нестандартном порту (например, 9999) с помощью netcat. Он будет ждать подключений и выводить всё, что ему пришлют.
Код:
- -l — режим прослушивания (listen)
- -v — подробный вывод (verbose)
- -p 9999 — порт для прослушивания
Шаг 2: Nmap-сканирование самого себя (localhost)
Откройте
второе окно терминала. Здесь мы будем проводить
сканирование портов нашей же машины.
Пример 1: Быстрая проверка, виден ли наш сервис
Код:
Код:
nmap -sS -p 9999 localhost
- -sS: SYN-сканирование.
- -p 9999: Проверить только порт 9999.
- localhost: Сканируем сами себя.
Результат: Nmap должен показать, что порт 9999/tcp открыт.
Пример 2: Глубокое сканирование с определением сервисаТеперь попробуем узнать, что же это за сервис. Nmap попытается определить его по ответам.
Код:
Код:
nmap -sV -sC -p 9999 localhost
Результат: Скорее всего, Nmap не сможет точно определить сервис (так как это просто netcat) и пометит его как unknown или предп. Это уже само по себе подозрительно — на системе не должно быть неизвестных открытых портов.
Шаг 3: Генерируем подозрительный трафик
Вернитесь в первое окно терминала, где работает netcat. Вы увидите, что к нему никто не подключился. Мы сами инициируем подключение.
Откройте
третье окно терминала и с помощью curl отправим простой HTTP-запрос на наш же «подозрительный» сервис. Это сымитирует попытку передачи данных.
Код:
Код:
curl -X GET http://localhost:9999/secret_data.html
- Эта команла отправит GET-запрос на наш сервер netcat на порту 9999.
Теперь посмотрите на первое окно терминала с netcat. Вы увидите там raw-данные HTTP-запроса, который вы только что отправили.
Шаг 4: Wireshark анализ трафика в реальном времени
Теперь самое интересное — перехватить и проанализировать этот трафик. Запустите Wireshark (нужны права суперпользователя):
Код:
- В интерфейсе выберите сетевой интерфейс lo (loopback). Это виртуальный интерфейс для внутреннего трафика самой машины.
- Начните захват трафика.
- Перед тем как снова отправить запрос, установите фильтр: tcp.port == 9999. Это покажет только трафик, связанный с нашим подозрительным портом.
- Снова выполните команду curl из третьего терминала:
- Код:
Код:
curl -X GET http://localhost:9999/secret_data.html
- Остановите захват в Wireshark.
Анализ в Wireshark:- Вы увидите TCP handshake (SYN, SYN-ACK, ACK) для установления соединения на порт 9999.
- Далее вы увидите пакет PSH, ACK — это и есть наш HTTP-запрос, отправленный curl.
- Ключевой момент: Щелкните правой кнопкой мыши на этом пакете и выберите Follow -> HTTP Stream.
Это доказывает, что даже локальный трафик можно перехватить и проанализировать. Если бы это был не тестовый запрос, а реальная команда от зловреда, мы бы увидели ее содержимое.
tcpdump vs Wireshark: Сила командной строки и красота GUI
Часто возникает вопрос:
tcpdump vs Wireshark? Это не противостояние, а разделение труда.
- tcpdump — это ваш полевой агент. Он легкий, есть практически на любом сервере, и им можно быстро захватить трафик в файл или применить простой фильтр.
Код:
Код:
tcpdump -i eth0 -w capture.pcap host 192.168.1.100 and port 80
- Wireshark — это штаб-квартира с большими экранами. Вы загружаете в него файл, снятый tcpdump, и проводите глубокий, удобный визуальный анализ сетевого трафика с продвинутыми фильтрами.
Идеальный тандем: Захватить трафик на удаленном сервере с помощью tcpdump, скачать файл .pcap и детально изучить его в
Wireshark на своей машине.
Этика и безопасность
Работа с такой мощью обязывает к ответственности.
- Сканируйте только те сети, которые вам принадлежат или на которые вы имеете письменное разрешение. Несанкционированное сканирование портов — это нарушение закона.
- Все данные, полученные при анализе (особенно пароли и персональные данные), являются строго конфиденциальными. Уничтожайте дампы трафика после завершения анализа.
- Практикуйтесь на своей тестовой лаборатории (виртуальные машины, стенды). Это единственный правильный и безопасный путь к экспертизе.
Заключение
Понимание сети — это не скучная теория, а практический навык, который можно и нужно прокачивать.
Nmap и
Wireshark — это ваши основные инструменты для того, чтобы перестать гадать и начать видеть. Они превращают невидимые биты и байты в ясную картину происходящего, позволяя находить уязвимости и аномалии до того, как это сделает злоумышленник. Начните с простых
примеров сканирования, учитесь читать
трафик — и вы откроете для себя новый уровень контроля над вашей ИБ-средой.