Hackerlab Неделя 1: Кто там? - port scan и banner grabbing на nmap

Сергей Попов

Администратор
30.12.2015
5 837
6 818
Специализация
  1. OSINT
  2. Веб-безопасность
Статус верификации
  1. ✓ Verified
Сканирование портов с помощью nmap в задаче по сетевой разведке на HackerLab


Старт серии: понедельник, 1 июня 20:00. Дедлайн недели: воскресенье, 7 июня, 23:59 МСК. Первая неделя месячного марафона «Сетевая разведка за 30 дней».
Внимание! В конкурсе могут принять участие только те, кто РАНЕЕ не решал или не решил это задание. Флаги, которые сданы раньше 1 июня 20:00 не учитываются в конкурсе.
Recon начинается со стука. Прежде чем эксплуатировать что-либо, нужно знать: какие порты открыты, что за сервисы там сидят, какие версии. На веб-эксплойт уходит 30 минут, на recon с нуля - 2 часа, и большинство новичков начинают сразу со второго шага. Эта неделя - про первый.

Задача недели​

Кто там? - HackerLab, Pentest Machines, 200 очков, retired. Идея в названии: перед тем, как войти, принято стучаться.

Открыть прямо сейчас: hackerlab.pro.

Инструменты этой недели​

Один инструмент, но в четырёх режимах. Если до сих пор запускали nmap <ip> без флагов - на этой неделе разбираемся, что флаги вообще делают.
  • nmap -sS <ip> - TCP SYN scan, дефолт пентестера. Быстрее -sT потому что не открывает полное соединение
  • nmap -p- <ip> - все 65535 портов. Без этого пропустите сервисы на нестандартных портах
  • nmap -sV -sC <ip> - детект версий + дефолтные NSE-скрипты. Возвращает баннеры, основу для CVE-поиска
  • nmap -O <ip> - fingerprint операционной системы. Полезно когда выбираете цепочку эксплуатации
Запоминаем не команды, а что делает каждый флаг. Команды можно нагуглить, понимание - нельзя.

Что почитать перед стартом​

Обсуждаем в комментариях​

  • Какие 3-5 флагов nmap вы запускаете первой командой при работе с новой целью? Почему именно эти?
  • -sS vs -sT vs -sU - в каких сценариях имеет смысл переключаться?
  • Какие порты, кроме «стандартных 1024», вы обязательно проверяете и почему?
Анти-спойлер: до воскресенья 23:59 МСК - никаких прямых команд, которые ведут к флагу задачи. Обсуждаем инструменты, подходы, ошибки. После дедлайна открываем writeup'ы.

Серия: Сетевая разведка за 30 дней. Следующая неделя - service enumeration на тех самых открытых портах.
 
  • Нравится
Реакции: r0dd9
Первая команда на новой цели

Bash:
nmap -sS -sV -sC -O --open -T3 192.168.2.204

Объяснение флагов:

-sS — полураскрытое (SYN) сканирование. Быстрее и менее шумное, чем -sT
-sV — определение версий сервисов.
-sC — запуск стандартных скриптов NSE (default). Полезны для автоматического обнаружения анонимного FTP, уязвимости HTTP.
-O — определение ОС.
--open — показывает только открытые порты.
-T3 — ускоряет сканирование, не будучи слишком агрессивным.

-sS vs -sT vs -sU — переключаем:
  • Если видим, что -sS не работает (например, фаервол фильтрует SYN), переключаемся на -sT.
  • Если подозреваем наличие сервисов UDP используем -sU

Кроме «стандартных 1024», проверяю

8080, 8000, 8888, 8443 HTTP(S) Альтернативные веб-порты. Админ-панели, веб-приложения.
 
Посмотреть вложение 83495

Старт серии: понедельник, 1 июня 20:00. Дедлайн недели: воскресенье, 7 июня, 23:59 МСК. Первая неделя месячного марафона «Сетевая разведка за 30 дней».

Recon начинается со стука. Прежде чем эксплуатировать что-либо, нужно знать: какие порты открыты, что за сервисы там сидят, какие версии. На веб-эксплойт уходит 30 минут, на recon с нуля - 2 часа, и большинство новичков начинают сразу со второго шага. Эта неделя - про первый.

Задача недели​

Кто там? - HackerLab, Pentest Machines, 200 очков, retired. Идея в названии: перед тем, как войти, принято стучаться.

Открыть прямо сейчас: hackerlab.pro.

Инструменты этой недели​

Один инструмент, но в четырёх режимах. Если до сих пор запускали nmap <ip> без флагов - на этой неделе разбираемся, что флаги вообще делают.
  • nmap -sS <ip> - TCP SYN scan, дефолт пентестера. Быстрее -sT потому что не открывает полное соединение
  • nmap -p- <ip> - все 65535 портов. Без этого пропустите сервисы на нестандартных портах
  • nmap -sV -sC <ip> - детект версий + дефолтные NSE-скрипты. Возвращает баннеры, основу для CVE-поиска
  • nmap -O <ip> - fingerprint операционной системы. Полезно когда выбираете цепочку эксплуатации
Запоминаем не команды, а что делает каждый флаг. Команды можно нагуглить, понимание - нельзя.

Что почитать перед стартом​

Обсуждаем в комментариях​

  • Какие 3-5 флагов nmap вы запускаете первой командой при работе с новой целью? Почему именно эти?
  • -sS vs -sT vs -sU - в каких сценариях имеет смысл переключаться?
  • Какие порты, кроме «стандартных 1024», вы обязательно проверяете и почему?
Анти-спойлер: до воскресенья 23:59 МСК - никаких прямых команд, которые ведут к флагу задачи. Обсуждаем инструменты, подходы, ошибки. После дедлайна открываем writeup'ы.

Серия: Сетевая разведка за 30 дней. Следующая неделя - service enumeration на тех самых открытых портах.
Доброго! Считаю что в первую очередь нужно собрать информацию - "а какие вообще порты открыты на целевом сервисе" прежде чем в одну команду пускать скрипты - даже базовые для сбора информации о конфигурациях которые могут спровоцировать IDS/IPS (ну тут скорее смотря в каком контексте мы ставим вопрос - изначально работать по приближённому к Red Team сценарию или упрощённая проверка обычной офисной сети). Ну даже если в рамках обычной проверки:

nmap -sS -p- {target_ip} + можно и по UDP пройтись но учитывая принцип работы этого протокола, пожалуй, хватит только сканирования первых ~100 портов: nmap -sU --top-ports 100 {target_ip}.

Почему не "--open" - потому что всё что могло попасть под filtered будет отброшено в выводе в конце, а такое может быть... По итогу через 1 и 2 прогон мы получаем практически видимость карты сети - TCP и UDP порты которые нас уже чем-то привлекают, и дальнейшие команды по сбору баннеров (-sV) и выполнение NSE сценариев проводить "точечно" по уже известным портам + T2;3 что бы сканирование не было сильно агрессивным.

-p- для того что бы учесть тот момент когда системные администраторы посчитают безопасным спрятать сервис на порт не по умолчанию - все 65535 портов конечно сканировать дольше, но это даёт больше видимости что какой-нибудь там ssh не был спрятан на какой нибудь 34545 порт.
 
Последнее редактирование:
Сперва мог изменить текущее сообщение но потом решил написать отдельное "опровержение" пока этого не заметил кто-то из участников форума. Данные команды без sudo работать не будут из-за необходимости работы на низком уровне с сетевыми пакетами, а для этого требуются соответствующие привилегии - это 1-я оговорка в моём ответе и 2) при использовании "sudo nmap .... {target_ip}" флаг -sS используется в автоматическом режиме НО всё ещё привычка прописывать вручную его даже через sudo что бы флаг УЖ ТОЧНО СРАБОТАЛ)))

Уважаемые энтузиасты в этой сфере - внимательнее! :)
 
Последнее редактирование:
  • Огонь
Реакции: Сергей Попов
Уважаемые энтузиасты в этой сфере - внимательнее! :)
в Kali без sudo все работает, имеется ввиду что это уже настроено в системе видимо, и явно не надо sudo для -sS прописывать
а вы про какую ОС говорили?
 
в Kali без sudo все работает, имеется ввиду что это уже настроено в системе видимо, и явно не надо sudo для -sS прописывать
а вы про какую ОС говорили?
Ну тут момент да... Интересный, я не особо делаю привязку к какой-то конкретной системе/сборке, но в Parrot OS например это так как писал выше)
1780501945209.webp


В каком-то роде в Kali действительно этот процесс настроен, разница всё таки есть:
1780503410309.webp
 
Последнее редактирование:
Я обязательно проверяю 3389, 5985, 5986, 8080, 8443, 8000, 8888, 9000 и широкий хвост 49152-65535. Эти диапазоны часто содержат RDP/WinRM, админки, прокси, dev-сервисы и случайно открытые внутренние приложения, которые не попадают в «классический» список.
Отдельно всегда смотрю 53, 67-68, 123, 161, 500, 514 и 1900 на UDP, потому что именно там часто живут базовые сетевые и инфраструктурные сервисы.
 
Не для этого задания а вообще как понять что есть IDS/IPS, и чем я могу её спровоцировать?
Какие команды шумные какие нет?
Когда IDS/IPS начинает блокировать атаку, какой там уровень шума или что вообще происходит?)
Где это всё проверить? На metasploitable2 есть IDS/IPS ?
Лабораторию хочу построить на metasploitable2)
 
В каком-то роде в Kali действительно этот процесс настроен, разница всё таки есть:
Извечный вопрос kali либо parrot или ставить все что нужно на unix систему самому )
 
Извечный вопрос kali либо parrot или ставить все что нужно на unix систему самому )
Задавался этим вопросом сам долгое время... Даже сидел на обычном Arch с repo blackarch в течении пары лет в качестве основной ОС. Пришёл к мнению что дело вкуса - не сборка делает человека профессионалом) У самого VM с Kali, прекрасно хватает! В качестве основной ОС Kali плохой выбор - тут отдаю предпочтение в сторону Parrot OS Home (даже не в рамках пентеста, а просто чтоб на слабом железе система могла дышать и +- инет сёрфить можно было), либо Arch если тонкую настройку любите или параноидальны - желание самим решать что ставить и по минимализму всё делать. Сборок много... Людей тоже, а от этого и мнений ещё больше, кому-то Ubuntu хватит)

Про Windows-based на подобие Ninjutsu OS всяких шутить воздержусь...

Android и мобильные платформы в целом? Ну... Скрывать не буду проект Nethunter мне нравится, когда то и termux нужен, всякое бывает) Некий вайб возможности сделать что-то такое с почти обычного смартфона который всегда в кармане)
 
Последнее редактирование:
Не для этого задания а вообще как понять что есть IDS/IPS, и чем я могу её спровоцировать?
Какие команды шумные какие нет?
Когда IDS/IPS начинает блокировать атаку, какой там уровень шума или что вообще происходит?)
Где это всё проверить? На metasploitable2 есть IDS/IPS ?
Лабораторию хочу построить на metasploitable2)
1) "Не для этого задания а вообще как понять что есть IDS/IPS, и чем я могу её спровоцировать?"
Если мы про тот же nmap то порты что фильтруются вернут filtered состояние в большинстве случаев, nmap приходит к такому решению если в течении определённого количества времени хост не вернут ответ на счёт этого порта - не промолчат и не ответил, а просто проигнорировал - это ассоциация с фильтрацией, трафик просто не прошёл)

2) Какие команды шумные какие нет?
Полное -sT шумное так как ожидается подтверждение что порт открыт и в ответ мы подтверждаем это, но и -sS не панацея скрытности, увы... Если бы средства защиты не улавливали бы такие полуоткрытые сканы то nmap был бы топ 1 утилит (хотя он всё ещё в этих местах и держится). В справке nmap есть подсказки о том как усложнить сканирование, есть способы обмануть системы обнаружения - не всё идеально.

3) Когда IDS/IPS начинает блокировать атаку, какой там уровень шума или что вообще происходит?)

Уровень шума не важен раз система среагировала на аномалию или бурную сетевую активность. Что происходит - что захотят сделать владельцы то и прозойдёт, в большинстве случаев блокируется попытка дальнейшего сканирования, либо просто "закрывается дверь", например если мы вдруг додумается брутить mysql через nmap а там попыток 3-4 после чего IP улетает в бан до РУЧНОЙ разблокировке со стороны сервера то сперва - до брута мы будем видеть на 3306 - "open", а после брута - "filtered", тем самым мы спровоцировали систему и нам закрыли вход)

4) Где это всё проверить? На metasploitable2 есть IDS/IPS ?

Где проверять: играться с suricata/snort или подобными решениями, metasploitable2 изначально задуман как машина которую ЛОМАТЬ нужно, без защит и прочего но вам ничего и никто не мешает модифицировать и как раз таки на базе metasploitable собрать стенд для экспериментов - накатить туже самую suricata/snort и тд и тп :)
 
Последнее редактирование:
есть способы обмануть системы обнаружения
По грубому если то это перебор с много ip адресов и смотреть реакцию, может так как-то

Насколько знаю на metasploitable2 есть waf и логирование, похоже это на подобие IDS/IPS?
suricata/snort и тд и тп, не накатывал надо попробовать спасибо за совет.
Как я предполагаю что IDS/IPS срабатывают автоматически с логирование при syn ack трёхстороннем, почему и -sS в nnap называют полуоткрытым и менее шумным.
 
По грубому если то это перебор с много ip адресов и смотреть реакцию, может так как-то

Насколько знаю на metasploitable2 есть waf и логирование, похоже это на подобие IDS/IPS?
suricata/snort и тд и тп, не накатывал надо попробовать спасибо за совет.
Как я предполагаю что IDS/IPS срабатывают автоматически с логирование при syn ack трёхстороннем, почему и -sS в nnap называют полуоткрытым и менее шумным.
1) "По грубому если то это перебор с много ip адресов и смотреть реакцию, может так как-то"

Да, например через использование proxy что бы было много IP адресов, но как упомянул в справке nmap (man nmap) есть подсказки как усложнить системам обнаружения вторжения жизнь)

2) "Насколько знаю на metasploitable2 есть waf и логирование, похоже это на подобие IDS/IPS?"

WAF и IDS/IPS - немного разные технологии, лучше не путать их. Какой бы WAF не был крутым он будет ловить попытки IDOR, SQLi, XSS и прочего web-ского, но не SYN скан в сети, не его полномочия - он для этого не создан)

3) "Как я предполагаю что IDS/IPS срабатывают автоматически с логирование при syn ack трёхстороннем, почему и -sS в nnap называют полуоткрытым и менее шумным."

Что бы не путаться IDS (просто наблюдает, логирует), IPS (видит (логирует) - реагирует, например отбрасывает) - обычно в продукте они работают в паре от одного IDS толку то что оно логирует когда логов сотни тысяч в лучшем случае...

-sS сканирования может не отобразится в логах у служб если вдруг на них настроено логирование только успешных подключений - ACK в ответ не отправляем, значит такой лог просто не запишется.

-sS не спасёт от той же suricata (та же IDS/IPS по нашему выбору) - хорошо умеет с ним работать, на самом деле не нужны дорогие игрушки что бы защитить свою сеть, хватит и опенсорс решений и пары тройки утилиток).
 
Последнее редактирование:
🏁 Неделя 1 закрыта — «Кто там?» (port scan + banner grabbing, nmap)

Друзья, первая неделя «Сетевой разведки за 30 дней» позади. Спасибо всем, кто вышел на связь, спорил про -sS vs -sT, делился логикой выбора нестандартных портов и держал интригу без спойлеров до дедлайна.

📊 Статистика недели
  • Задание: «Кто там?» — Pentest Machines, 200 баллов
  • Решили за конкурсное окно (с 01.06 20:00 МСК): 5 участников
  • Самый быстрый флаг — через 11 секунд после открытия. Да, вы прочитали верно.
🏆 Топ-3 по скорости (мерч от Codeby — напишем в ЛС по адресу доставки)
  1. qkeqkell — 01.06, 20:00:11 МСК ⚡
  2. sweat.suit — 02.06, 16:18 МСК
  3. sdh — 02.06, 19:10 МСК
👏 Респект также dodrios и Grohott — дошли до флага, засчитано.

Разбор решения по правилам не выкладываем — пусть задание остаётся честным для тех, кто захочет пройти его позже.

➡️ Уже в понедельник — Неделя 2: «Виртуальный сервер»

Углубляемся в enumeration сервисов: nmap -sV, ftp, ssh-audit. 200 баллов, старт 8 июня 20:00 МСК. Готовьте стенды — встречаемся в новой ветке.
  1. Запрещено начинать решать задание раньше 20:00 МСК, до старта челенджа!
  2. Флаг, который будет сдан без реального прохождения задания - не засчитаем.
За сетевую разведку! 🛰️
 
  • Нравится
Реакции: r0dd9
"После дедлайна открываем writeup'ы."
открываем?
 
Пара заметок по «Кто там?»: не разбор, а на что стоит смотреть.

Дедлайн прошёл, writeup'ы открыты, так что полное прохождение я выкладывать не буду, его интереснее пройти самому. Но за неделю в обсуждении всплыло несколько вещей, на которых спотыкаются почти все, и их стоит проговорить.

Первое и самое главное здесь не команда, а порядок действий. Многие хотят сразу что-то эксплуатировать, хотя до этого ещё далеко: сначала нужно понять, с чем вообще имеешь дело. Какие порты открыты, какие за ними сервисы, какие у них версии. «Кто там?» именно про это, про первый стук в дверь, а не про то, чтобы её выбить. Пока у тебя нет карты цели, любое действие сводится к стрельбе наугад.

Теперь по технике. Про -sS писали много, но у него есть важная деталь: без прав root он не делает того, чего от него ждут. SYN-скан собирает сетевые пакеты вручную, а для этого нужны привилегии. Запустишь nmap без sudo, и он молча переключится на обычное TCP-подключение (-sT), то есть ты будешь сканировать совсем не тем способом, на который рассчитывал. В Kali это часто незаметно, потому что нужные права там розданы заранее; в Parrot или на обычном Linux об этом приходится помнить самому. Правило простое: всегда понимай, каким методом и под какими правами ты сканируешь.

Второй частый промах: доверять списку портов по умолчанию. Без настроек nmap проверяет тысячу самых популярных портов, и этого почти всегда мало. Сервисы любят селиться там, куда заглядывают реже: в высоком диапазоне 49152–65535, на нестандартных веб-портах вроде 8080, 8443 и 8888, и в UDP про 53, 161 и 500 тоже забывать не стоит. Чем шире смотришь, тем больше шансов действительно услышать, кто там.

Само название подсказывает суть: это banner grabbing, а не поиск уязвимостей. Когда подключаешься к сервису, он часто сам себя называет: отдаёт имя, версию, строку приветствия. Флаги -sV и -sC в nmap ровно для этого: выяснить, что за сервис перед тобой и какой он версии. Если на этом шаге рука уже тянется к готовому эксплойту, скорее всего, ты обгоняешь задачу, потому что здесь достаточно было спокойно прочитать то, что цель сама о себе рассказала.

И две мелочи, которые часто решают исход. Если nmap показал порт как filtered, это не «там пусто», а «ответ режет фаервол»: за таким портом вполне может работать живой сервис, просто прикрытый, поэтому не вычёркивай его, а попробуй достучаться иначе. И про темп: режимы -T4 и -T5 быстрые, но шумные, они легко упираются в фильтрацию и будят системы обнаружения, тогда как -sS ведёт себя тише. На учебной машине это не страшно, но на реальной цели скорость и скрытность тянут в разные стороны, и выбирать между ними лучше осознанно.

Отдельное спасибо за живую дискуссию, особенно за спор Kali против Parrot и за разговор о шумности сканов. Если коротко: профессионала делает не сборка и не любимый инструмент, а понимание того, что и зачем ты запускаешь. На второй неделе идём глубже.
 
Последнее редактирование:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →

Популярный контент

🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab