Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   Немного об nmap (Вернул из кэш) (https://forum.antichat.xyz/showthread.php?t=441071)

SooLFaa 21.08.2016 14:07

Всем привет. Разбирался со всей мощью такого сканера, как nmap и решил написать несколько строк о нем.

Статьяhttps://nmap.org/book/man.html из разряда бесполезных и не очень, но в целом выйдет небольшой И НЕ ПОЛНЫЙ мануальчик.

Полный же мануальчик (которым и не только которым я пользовался при написании этой статьи) можно глянуть здесь.

EN

RU

Как читать?

Новичкам взглянуть по первому абзацу, а потом обращаться при практике.

Опытным можно пробежаться в скольз по интересующим разделам.

Совсем опытным сразу в конец.

Для начала рассмотрим в каких форматах можно задавать цели.

nmap -iL

nmap -iR 4 - где номер означает количество РАНДОМНЫХ хостов, то есть два раза выполнив эту команду выполнится сканирование разных хостов.

Зачем? Можно поискать уязвимые хосты с помощью скриптов, или просто с открытым портом во всём интернете(Пример nmap -iR 100000 -PN -p 80). -PN опция очень удобная, когда сканируем два три порта у диапазона адресов. Отключает определение доступности хоста, т.е. мы не спрашиваем у хоста: «А доступен ли ты?» -, мы сразу спрашиваем: «А открыт ли у тебя такой порт?».

nmap 192.168.101.1,192.168.101.2

nmap 192.168.1-101.1 Просканирует 192.168.2.1,192.168.3.1....192.168.100.1,192.168.1 01.1

nmap 192.168.1.1/24 по 24 маске 0.0.0.255 (Другие маски можно глянуть тут http://www.networkcenter.info/inform/netmask)

nmap 192.168.0.101,102,103

Определение Хостов

nmap -n -sL megahacker.ru - Быстрое определение хоста. Это штука ничего никуда не посылает, а просто выводит список всего того что ВЫ собирались сканировать.

-sP - Ping запрос, спрашиваем, а работает вообще наш хост (Обратное Pn)?

-PN - не определять хост на работоспособность (уменьшает время работы при сканировании 1 - 2 портов)

--dns-servers- если надо можно задать собственные сервера (например если у Вас свой dnsсервер)

Посмотрим на флаги

-sS/sT/sA/sW/sM

nmap -sSСТЕЛС - СКАНИРОВАНИЕ. Как видно из названия скрытое сканирование методом (TCP CYN). Отправляется SYN - пакет на нужный порт и анализируя пакет определяется его состояние. Наиболее быстрый и более незаметный поэтому на первом месте.

nmap -sT - Бывают ситуации, когда полномочия суперпользователя отсутствуют обычное сканирование с помощью вызова функции системной функции connect. Менее приоритетный режим, работает дольше, так как устанавливается полное соединение, и даже простенькая IDS сможет его словить.

nmap -sA Определение фильтрованныхине фильтрованных портов НО НЕ ОПРЕДЕЛЯЕТ НА ОТКРЫТЫЕ И ЗАКРЫТЫЕ.

nmap–unprivileges/ privileges– считаем по дефолту что у нас нет/есть права root.

nmap -sW – Windows сканирование. Тоже что и -sA, но в некоторых сборках может возвращать и открытые порты.

nmap -sN; -sF; -sX (TCP NULL, FIN и Xmas сканирования) - Еще больше стелс чем SYN. Суть этих трех методов заключается в установке некоторых (или ничего не устанавливать) флагов.

(с)Работает в режиме обнаружения портов, удобно использовать на UNIX системах, хотя есть и недостатки, неспособность разделять порты на открытые и фильтруемые. (с) И работать может не на всех системах. RFC 793 - наше всё

nmap -sM тоже что и (TCP NULL, FIN и Xmas), с той лишь разницей что RST пакет тупо отбрасывается если порт закрыт. Нам это дает обход некоторых уникальных IDS. И может работать там, где не работает способ выше.

Эти методы по сути проверяют фаервол на уязвимости

nmap --scanflags URGACKPSHRSTSYNFIN – Устанавливать указанные флаги по стандарту RFC каждый из методов по-своему проверяет открытие закрытие порта. По сути это альтернатива некоторых других режимов, но так же и позволяет обойти IDS.

nmap -sI- ещё один стел режим. Запросы идут с Вашей зомби машины. Пример: nmap -Pn -p- -sI www.proxy.ruwww.hack.com

nmap -b :@: - Сканирование портов, используя протокол FTP. Минусы: почти не осталось FTP серверов поддерживающих FTP bounce. Плюсы: Обход брандмауэра.

nmap --allports смотреть все порты (по умолчанию nmap пропускает некоторые порты, например, 9100)

nmap -sV - определение версий и служб на открытых портах. Сервисы хранятся в базе данных nmap .

nmap -A - Что описано выше, но плюс обнаружение версии ОС

nmap --version-intensityот 1 до 9 - всё просто, чем ниже уровень, тем быстрее, но тем меньше вероятность правильного обнаружения Пример: nmap --version-intensity 9

nmap --version-lightкак (nmap --version- intensity 2 )

nmap --version-all как (nmap --version-intensit 9 host)

nmap -O - определение ОС

Итак, скрипты. Пожалуй, мы подошли к более-менее интересной части статьи.

Мало для кого секрет что nmap не был бы таким мощным инструментом без поддержки nse сркиптов.

Скрипты же эти разделяются на следующие категории:

auth, default, discovery, external, fuzzer, intrusive, malware, safe, version, vuln ….

Каждая категория определенный спектр.

Рассмотрим их с примерами. (полный список скриптов здесь)

Напоминаю запустить скрипты определённой категории можно так nmap --scripts=auth,default

1)auth сценарии для обнаружения учетных данных или обход авторизации

Перебор пользователей веб сервера с включенным модулем mod_userdir

nmap -sV --script=http-userdir-enum

2) broadcast- здесь различные приемы обнаружения хостов.

Пример:

Обнаружение хостов с помощью DNS Service Discovery протокола

nmap --script=broadcast-dns-service-discovery

3) brute- очевидно по названию

Пример: nmap --script http-form-brute -p 80 Брутит форму по указанному адресу.

4) default- здесь собранные различные скрипты

Попробуем прочекать наш хост на гит репозиторий

nmap --script=http-git

5) discovery -различные скрипты для сбора информации

nmap --script dns-brute www.foo.com

Найдет домены и субдомены данного хоста

6) dos- Очевидно проверка на dos уязвимости

nmap --script http-slowloris --max-parallelism 400

Тестирует сервер на Slowloris DoS

7) exploit советую её поизучать по подробней , например как можно создать бэкдор в proftpd 1.3.3c

nmap --script ftp-proftpd-backdoor -p 21

8) external- использует внешние ресурсы для сканирования.

Например посмотреть по хэшсумме какой то файл на вирус тотал (никогда не заливайте туда свои малвари)

nmap --script http-virustotal --script-args='http-virustotal.apikey="",http-virustotal.checksum="275a021bbfb6489e54d471899f7db 9d1663fc695ec2fe2a2c4538aabf651fd0f"'

9) fuzzer- как видно из названия здесь краулеры и чекеры на различные клевые штуки

Пример. соберем php файлы и прочекаем их на XSS

nmap --script=http-phpself-xss -p80

10) intrusive- здесь самые "шумящие" сценарии из всех категорий;

11) malware- эти сценарии для нахождения вредносов или бэкдоров;

12) safeпротивоположное intrusive - самые тихие сценарии

13) vulnсценарии определяют некоторые уязвимости

Пример:

nmap --script ftp-vuln-cve2010-4221 -p 21

Вывод:

1/tcp open ftp

| ftp-vuln-cve2010-4221:

| VULNERABLE:

| ProFTPD server TELNET IAC stack overflow

| State: VULNERABLE

| IDs: CVE:CVE-2010-4221 BID:44562 OSVDB:68985

| Risk factor: High CVSSv2: 10.0 (HIGH) (AV:N/AC:L/Au:N/C:C/I:C/A:C)

| Description:

.....


Некоторые приколюшные опции не описанные ранее (ниже копипаст с nmap.org)

--traceroute: Отслеживать путь к хосту

--reason: Выводить причину нахождения порта в определенном состоянии

-S — использование чужого IP-адреса в посылаемых компьютеру пакетах. В этом случае сервер вернет ответ по указанному адресу;

-e — применение только определенного сетевого интерфейса, например, Nmap –e eth0;

-v; -d [level] — вывод текущего состояния сканирования в режиме онлайн. Директива -d включает режим debug, где показывается вся возможная информация о текущем состоянии работы, а также ошибки и их коды;

-g (альтернатива --source-port ) — позволяет выбрать порт-источник, с которого будут посылаться пакеты при сканировании;

-data-length — дает возможность задать размер пакета в байтах. По умолчанию используются значения 40 и 28 для TCP- и ICMP-запросов соответственно;

-ttl — позволяет задать время для IP-пакета в поле time-to-live;

-spoof-mac — позволяет задать другой MAC-адрес (физический) для фреймов. Пример применения: Dlink, 0, 01:02:03:04:05:06;

-badsum — посылает пакеты TCP и ICMP с искаженной проверочной суммой. Брандмауэры или системы безопасности, как правило, отвечают на такой пакет;

-6 — использование сканирования для IPv6-сетей. В этом случае следует задать IPv6-адрес или название хоста;

-log-errors — все ошибки записываются в лог-файл;

-oN - Вывести в нормальном виде в файл

-oX - Вывести в xml формате

-oS - Формат называется ScriptKidd - Типа хакерский язык

Пример: 139/Tcp F|LtEr3d NEtbIos-$$n

Никакой пользы от него я не увидел.

-oG - Grepable format как ясно из названия очень удобно искать утилитой grep

--append-outputДобавлять в конец, а не перезаписывать выходные файлы

--resume Продолжить прерванное сканирование одна из клевых штук по файлам

--stylesheet Устанавливает XSL таблицу стилей для преобразования XML вывода в HTML

--webxml Загружает таблицу стилей с Nmap.Org

Пожалуй, на этом всё. Постарался не тупо переписывать вкратце мануал, а дать оценку тем или иным методам, в каких ситуациях что было бы интереснее. Любая адекватная критика есть гуд. Всем спасибо.


Время: 17:14