Расширенные методы скрытого сканирования
На этом шаге мы рассмотрим более продвинутые методы сканирования, обеспечивающие ещё более высокий уровень скрытности. Эти методы имеют решающее значение в кибербезопасности, поскольку позволяют собирать информацию о целевой сети, не будучи легко обнаруженными. Одним из таких мощных методов является скрытое сканирование, также известное как сканирование с использованием «зомби». Этот метод позволяет сканировать цель, маскируя свою личность за другим хостом.
Прежде чем начать, важно убедиться, что вы находитесь в своей рабочей области. Здесь будут выполняться все ваши файлы и команды, связанные с проектом. Для перехода в рабочую область выполните следующую команду в терминале:
cd /home/labex/project
Понимание скрытого сканирования с использованием «зомби»
Сканирование с использованием «зомби» — один из самых скрытных методов сканирования, доступных в Nmap. Но как это работает? Ну, оно использует хост третьей стороны, который мы называем «зомби», для проведения сканирования. Это делает так, что сканирование кажется исходящим от хоста-зомби, а не от вас.
Давайте разберём процесс скрытого сканирования с использованием «зомби» пошагово:
- Сначала сканер отправляет запрос хосту-зомби. Этот запрос помогает сканеру определить текущую последовательность идентификаторов IP-пакетов зомби. Последовательность идентификаторов IP — это уникальное число, которое хост присваивает каждому IP-пакету, который он отправляет.
- Затем сканер отправляет пакет SYN целевому хосту. Однако он устанавливает исходный IP-адрес этого пакета как IP-адрес зомби. Пакет SYN используется для инициализации TCP-соединения.
- Если порт на целевом хосте открыт, целевой хост ответит пакетом SYN-ACK. Этот пакет отправляется хосту-зомби, потому что это исходный IP-адрес, который он увидел в пакете SYN.
- Зомби, который не ожидал этого пакета SYN-ACK, отправит пакет RST обратно целевому хосту. Пакет RST используется для сброса TCP-соединения.
- Затем сканер снова отправляет запрос хосту-зомби. Он проверяет, увеличилась ли последовательность идентификаторов IP-пакетов зомби.
- Если последовательность идентификаторов IP увеличилась, это указывает на то, что порт на целевом хосте открыт. Это происходит потому, что зомби отправил пакет RST в ответ на пакет SYN-ACK от целевого хоста.
Прелесть этой техники в её скрытности. Целевой хост видит только общение, исходящее от зомби, а не от фактического сканера. Поэтому для целевого хоста очень сложно обнаружить, что он сканируется.
Выполнение скрытого сканирования с использованием «зомби»
Теперь давайте выполним скрытое сканирование с использованием Nmap. В реальной ситуации вы бы использовали внешний хост-зомби. Но для этой лабораторной работы мы смоделируем процесс, используя ваш локальный компьютер.
Выполните следующую команду в терминале:
sudo nmap -sI 127.0.0.1 localhost -p 8080 > /home/labex/project/idle_scan.txt
Давайте разберём каждую часть этой команды:
sudo используется, потому что Nmap нуждается в прямом доступе к сокетам для выполнения скрытого сканирования. Прямой доступ к сокетам позволяет Nmap создавать и отправлять пользовательские IP-пакеты, что необходимо для этого типа сканирования.
nmap — это известный инструмент сканирования, который мы используем для этой задачи.
-sI 127.0.0.1 указывает, что мы выполняем скрытое сканирование с использованием 127.0.0.1 (локальный хост) в качестве хоста-зомби.
localhost — это целевой хост, который мы хотим сканировать.
-p 8080 сообщает Nmap сканировать только порт 8080 на целевом хосте.
> /home/labex/project/idle_scan.txt перенаправляет вывод сканирования в текстовый файл. Таким образом, мы можем легко просмотреть результаты позже.
После выполнения сканирования давайте рассмотрим результаты. Используйте следующую команду для просмотра содержимого выходного файла:
cat /home/labex/project/idle_scan.txt
Вы можете увидеть вывод, похожий на этот:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-25 12:10 UTC
Idle scan using zombie 127.0.0.1 (127.0.0.1:80); Class: Incremental
Skipping Idle Scan against localhost (127.0.0.1) -- you can't idle scan your own machine (localhost).
Nmap scan report for localhost (127.0.0.1)
Host is up.
PORT STATE SERVICE
8080/tcp unknown http-proxy
Nmap done: 1 IP address (1 host up) scanned in 2.03 seconds
Обратите внимание, что Nmap сообщает о пропуске скрытого сканирования. Это происходит потому, что вы пытаетесь использовать свой собственный компьютер как зомби и цель одновременно. В реальной ситуации, когда у вас есть отдельные хосты, этот метод был бы очень эффективным для скрытого сканирования.
Несмотря на это ограничение в нашей лабораторной среде, это упражнение всё равно показывает, как использовать команду скрытого сканирования. На практике вы бы выбрали другой хост в качестве зомби, и сканирование прошло бы без этого предупреждения.
Этот расширенный метод очень ценен, когда вам нужна максимальная скрытность. Это делает крайне сложным для целевого хоста отследить сканирование до фактического сканера.
Сравнение результатов сканирования
Давайте сравним результаты обоих типов сканирования, чтобы увидеть различия:
echo "=== Stealth Scan Results ===" && cat /home/labex/project/stealth_scan.txt
echo "=== Idle Scan Results ===" && cat /home/labex/project/idle_scan.txt
Оба сканирования успешно обнаружили открытый порт 8080, но скрытое сканирование с использованием «зомби» показывает дополнительную информацию о используемом методе сканирования.
Очистка
Прежде чем закончить, давайте очистим нашу среду, остановив веб-сервер:
pkill -f "nc -lvp 8080"
Это завершит процесс netcat, который запускает наш веб-сервер на порту 8080.