瀏覽代碼

Добавить 'Лекции/2.6.201_Как_просканировать_сетевой_периметр_сервиса_с_помощью_OpenSource-инструментов/goev.md'

u23-27goev 2 周之前
父節點
當前提交
a435df1d6f

+ 95 - 0
Лекции/2.6.201_Как_просканировать_сетевой_периметр_сервиса_с_помощью_OpenSource-инструментов/goev.md

@@ -0,0 +1,95 @@
+# Как просканирование сетевой периметр сервиса с помощью OpenSource-инструментов
+---
+Nmap для профи: от тихого скана до мощи NSE
+
+Nmap (Network Mapper) — это не просто сканер портов. Это мощнейший опенсорсный инструмент для исследования сети и проведения аудита безопасности. Для пентестера или ИБ-специалиста владение Nmap — это как для хирурга владение скальпелем: обязательно и требует точности. Сегодня мы не будем разжевывать, что такое IP-адрес. Мы сосредоточимся на тактиках, которые отличают новичка от профессионала, и разберем, как превратить стандартное nmap сканирование портов в целенаправленное исследование.
+Основы основ: выбор правильного типа сканирования​
+Каждое сканирование начинается с выбора метода. И тут кроется первый важный нюанс, который влияет и на скорость, и на скрытность. Два самых популярных типа TCP-сканирования — это TCP Connect (-sT) и SYN Stealth (-sS). В чем же их принципиальная разница?
+
+---
+### **TCP Connect Scan (-sT)**  
+- Этот метод использует системный вызов connect() операционной системы для установки полного трехстороннего рукопожатия (SYN, SYN/ACK, ACK).
+
+    Плюс: Не требует прав суперпользователя (root).
+    Минус: Очень "шумный". Установка полного соединения легко обнаруживается и логируется большинством файрволов и IDS. Это как громко постучать в дверь и дождаться, пока ее откроют.
+---
+### **SYN Scan (-sS)**  
+- А вот это уже классика пентеста, не зря он используется по умолчанию при запуске от root. Nmap отправляет SYN-пакет, как бы собираясь начать соединение.
+
+    Если в ответ приходит SYN/ACK — порт открыт. Nmap, вместо отправки финального ACK, посылает RST-пакет, обрывая соединение до его полного установления.
+    Если приходит RST — порт закрыт.
+    Если ответа нет — порт, скорее всего, фильтруется.
+    Плюс: Гораздо более скрытный метод, так как полное соединение не устанавливается. Его называют "полуоткрытым" сканированием.
+    Минус: Требует прав root для создания "сырых" сокетов.
+
+**Практический пример:**  
+
+Представим, что мы хотим быстро и относительно незаметно проверить, открыт ли веб-сервер (порт 80) и SSH (порт 22) на цели scanme.nmap.org.
+Bash:  
+#Требует прав root/sudo
+sudo nmap -sS -p 22,80 scanme.nmap.org
+
+Запустив эту команду, мы получим быстрый и точный результат, минимизируя вероятность быть замеченными на базовом уровне мониторинга. Использование -sT в профессиональной среде — скорее исключение, когда нет root-доступа.
+Продвинутые техники: копаем глубже​
+Окей, с портами разобрались. Но что за ними скрывается? Наша задача — собрать как можно больше информации.
+Определение версий служб и ОС (-sV)​
+Знать, что порт 80 открыт — это полдела. А вот знать, что за ним стоит Apache 2.4.52 на Ubuntu, а не IIS 10.0 на Windows — это уже ценная информация для поиска эксплойтов. Здесь в игру вступает ключ -sV.
+Bash:
+
+# Сканируем топ-20 портов, определяя версии сервисов
+sudo nmap -sS -sV --top-ports 20 scanme.nmap.org
+
+Nmap отправит специальные пробы на открытые порты и проанализирует ответы, чтобы максимально точно определить сервис и его версию. Это один из самых полезных ключей в арсенале.
+Сканирование UDP (-sU)​
+Многие забывают, что кроме TCP существует и UDP. А ведь через него работают такие важные сервисы, как DNS (53), SNMP (161) и VPN (OpenVPN, IKE). Сканирование UDP — процесс медленный и муторный, так как протокол не подразумевает установку соединения. Отсутствие ответа не всегда означает, что порт закрыт. Однако игнорировать его — преступная халатность.
+Bash:
+
+# Медленное, но важное сканирование популярных UDP-портов
+sudo nmap -sU --top-ports 50 scanme.nmap.org
+
+Будьте готовы, что такой скан займет значительно больше времени, чем TCP.
+Обход файрволов​
+Когда на пути стоит файрвол или IDS/IPS, стандартные сканы могут не пройти. Тут нужны хитрости:
+
+    Фрагментация пакетов (-f): Этот ключ разбивает TCP-заголовок на мелкие фрагменты. Некоторые старые файрволы, пытаясь сэкономить ресурсы, не собирают такие пакеты для анализа и пропускают их.
+    Указание MTU (--mtu): Можно задать свой размер пакета, например, --mtu 8, чтобы отправить 8-байтовые пакеты. Это тоже может запутать некоторые системы защиты.
+    Подмена источника (-D RND:10): Создает 10 "ложных" IP-адресов (декоев), которые якобы сканируют цель вместе с вами. Ваш реальный IP будет затерян в этом шуме, что усложнит анализ логов.
+
+
+# Максимально аккуратный скан с фрагментацией и медленным таймингом
+sudo nmap -sS -f -T2 -p 22,80,443 <target_ip>
+
+Здесь -T2 (Polite) замедляет сканирование, чтобы не вызывать подозрений у систем мониторинга аномальной сетевой активности.
+Сила скриптов: Nmap Scripting Engine (NSE)​
+Вот мы и подобрались к самому интересному. NSE — это сердце Nmap, превращающее его из сканера в многофункциональный комбайн для аудита. Скрипты, написанные на языке Lua, могут выполнять тысячи задач: от поиска уязвимостей до брутфорса учетных записей.
+
+Использовать их просто. Основной ключ — --script.
+
+Поиск уязвимостей (категория vuln):
+Это набор скриптов, которые ищут конкретные, известные уязвимости на основе обнаруженных сервисов.
+Bash:
+
+# Запускаем все скрипты из категории vuln на цели
+sudo nmap -sS -sV --script=vuln -p 80,443 <target_ip>
+
+Если на веб-сервере обнаружится, например, уязвимость типа Heartbleed, Nmap об этом сообщит.
+
+Использование популярных скриптов:
+Один из самых полезных скриптов — vulners, который сверяет версии ПО с огромной базой данных уязвимостей на vulners.com.
+Bash:
+
+# Требуется предварительно скачать скрипт или использовать дистрибутив, где он есть
+sudo nmap -sV --script=vulners <target_ip>
+
+Результат будет содержать не только список открытых портов, но и перечень CVE, ассоциированных с запущенным на них софтом, часто даже со ссылками на эксплойты. Применение таких скриптов особенно эффективно при аудите внутренних сетей, где часто можно наткнуться на распространенные конфигурации. Это первый шаг к более сложным сценариям, таким как тестирование на проникновение в Active Directory, где результаты сканирования Nmap дают основу для дальнейших атак.
+
+Шпаргалка (Cheat Sheet) полезных команд​
+Сохраните себе, пригодится!
+
+nmap -sS -p- <target>	"Тихое" сканирование всех 65535 TCP-портов. Будьте готовы ждать!
+nmap -sV -O <target>	Определение версий сервисов и операционной системы.
+nmap -A <target>	"Агрессивный" режим. Включает -sV, -O, трассировку и запуск дефолтных скриптов NSE.
+nmap -sn 192.168.1.0/24	"Ping scan". Быстрое обнаружение "живых" хостов в сети без сканирования портов.
+nmap --script=http-title -p 80,443 <target>	Получает заголовки (titles) веб-страниц с открытых HTTP(S) портов.
+nmap -iL targets.txt	Сканирование целей из файла targets.txt.
+nmap -oA scan_results <target>	Сохранение результатов сразу в трех форматах: .nmap, .gnmap (для grep) и .xml.