Новичку полезно

  • Баннер
  • А знаете ли вы что?

    - rudvs не ищет лёгких путей!


Nmap - сканер для хакера

Теги: nmap, нмап, нмап для виндоус, для windows

Салют!
Поговорим сегодня о самом качественном сканере сетей и незаменимом инструменте для пентеста - Nmap. А точнее я немного расскажу как им пользоваться чтобы при его выводе не сказать: "ШОЗАНАХ!!11".
Первым делом определимся на что будем устанавливать нмап. Если на линухах, то его нам легко предоставит репазиторий командой:

sudo apt-get install nmap

или

sudo yum install nmap

Зависит от вашего дистрибутива.
Для продвинутых можно собрать его из исходников которые можно скачать с официального сайта Nmap - nmap.org. Там же кстати и описано как следует его собирать.

Для тех же кто сидит в винде и терпит психологическую атаку со стороны последнего, все выглядит как обычно: скачать nmap для windows все с того же официального сайта, только выбрать версию для винды и собственно установить ее. Найти папку куда установили и запустить zenmap.exe. Можно пользоваться и привычным консольным вариантом, zenmap это всего лишь графическая оболочка.

На линухах программа запускается просто командой nmap в консоле, она выведит краткий справочник по ключам. Ключи в нмапе играют главную роль. Их вариация и гибкость творят чудеса.
На винде придется открыть zenmap.exe и в строке "Команда" вводить все теже ключи. Все остальное можно даже не трогать.

Итак, посмотрим что мы можем...
Есть задача просканировать порты на одной машине и вывести открытые порты в выводе... Делается это очень просто:

nmap -sS site.ru

Это самый обычный стелс режим, об этом говорит ключ -sS, с таким ключем нмап посылает syn запросы, которые плохой файрвол с легкостью пропускает. Так же сканер имеет много других режимов: -sT, -sF, -sX, -sN, -sN, -sU, -sP. Которыми первое время голову лучше не забивать.
Отчет нмапа будет примерно следующий:


PORT      STATE  SERVICE

21/tcp    open   ftp

22/tcp    open   ssh

70/tcp    closed gopher

80/tcp    open   http

113/tcp   closed auth

443/tcp   open   https

31337/tcp closed Elite

Это порт, статус и сервис который берется из базы нмап. То есть, не обязательно на 22 порту будет висеть ssh, но чаще всего так и есть.
Чтобы nmap все таки узнал точно какие демоны висят на портах, следует указать другой ключ -sV. Выглядит это так:

nmap -sV site.ru

PORT      STATE  SERVICE  VERSION

21/tcp    open   ftp?

22/tcp    open   ssh      OpenSSH 4.3 (protocol 2.0)

70/tcp    closed gopher

80/tcp    open   http     Apache httpd 2.2.3 ((CentOS))

113/tcp   closed auth

443/tcp   open   ssl/http Apache httpd 2.2.3 ((CentOS))

31337/tcp closed Elite

Тут мы уже видим точные версии демонов которые висят на портах. И уже точно знаем что на 22 находится OpenSSH 4.3 (protocol 2.0).
Чтобы узнать какая операционная система стоит на машине нужно указать -O.

nmap -sV -O site.ru

Отчет дополнится информацией о ОС. Чтобы не сканировать все возможные порты, мы может указать нмапу какие именно порты сканировать:

nmap -sV -p 22,80,443 site.ru

PORT    STATE SERVICE  VERSION

22/tcp  open  ssh      OpenSSH 4.3 (protocol 2.0)

80/tcp  open  http     Apache httpd 2.2.3 ((CentOS))

443/tcp open  ssl/http Apache httpd 2.2.3 ((CentOS))

Так же можно указать диапозон портов которые тебя волнуют:

nmap -sS -p 22-80 site.ru

Еще один интересный режим это -sO. Он определяет с какими протоколами работает хост:

nmap -sO site.ru

PROTOCOL STATE SERVICE

1        open  icmp

6        open  tcp

17       open  udp

Ну и самый интересный на мой вгляд режим это -sI. Это сканирование не на прямую, а через зомби машину. Объяснять долго, скажу лишь что на сканируемом хосте твой ip вообще никак светится не будет. Хорошо подойдет этот режим для хостов с доверительными ip:

nmap -sV -sI 64.148.88.31 -p 22 site.ru

Здесь сканирование проходит через зомби хост 64.148.88.31 и определяется демон который находится на 22 порту хоста site.ru. К слову сказать, зомби хост так же должен быть живой и пинговаться, idle у порта на зомби хосте не должен ровнятся нулю, но это уже можно определить только попробовав команду выше.

Отчеты

Отчетности в нмап уделили не последнее место, тут так же есть разные режимы вывода отчета. Мы использовали вывод по умолчанию, то есть прямо на экран. Но если задействовать ключ -oN [logfile], то весь отчет будет сохранятся в файл, например:

nmap -sS -p 22-80 site.ru -oN logfile.txt

Весь вывод будет в файле logfile.txt. Но будет в формате понятному для человека. Чтобы выводить отчеты в форме для дольнейшего использование в различных программах нужно указать -oG [logfile]. Этот формат хорошо подходит для дальнейшего парсинга grep, perl и т.д. Так же есть вывод отчета в

формате XML -oX [logfile]

Скрипты

В нмап включен скиптовый движок NSE. Вы может писать свои скрипты для нмап выучив не сложный язык. Но при установке уже имеется набор скриптов на все случаи жизни. Попробуем сделать нашу первую команду nmap -sS site.ru, но задействуем еще скрипты:

nmap -sS site.ru -sC

PORT     STATE    SERVICE
22/tcp   open     ssh
| ssh-hostkey: 1024 ec:5e:1a:d6:a6:3b:07:41:27:4b:00:e1:f0:b1:30:fa (DSA)
|_2048 78:e0:af:65:a5:2f:54:e1:06:10:61:42:65:b5:47:3b (RSA)

Ключом -sC мы задействуем все скрипты которые есть в комплекте. Их можно так же применять по отдельности:

nmap -iR 100 -p 21 --script ftp-brute

Что делает эта команда?
Во-первых, она генерирует 100 случайных айпи командой -iR 100. Во-вторых, она сканирует эти айпи на наличие открытого 21 порта, который служит для фтп соеденения и если находит такой, то применяет скрипт перебора паролей к фтп доступу. Список паролей и логинов он берет из директории nmap/nselib/data/usernames.lst и nmap/nselib/data/passwords.lst. Эти файлы можно редактировать по своему вкусу и может быть вам повезет поиметь фтп доступ нахаляву ;) Для эффективного использования лучше выводит отчет в файл:

nmap -iR 100 -p 21 --script ftp-brute -oG ftpbrute.txt

а далее обработать этот файл перлом или грепом для отсортировки удачных результатов.
Так же можно искать доступы и брутить их по заданому диапозону айпи:

nmap 192.159.94.* -p 21 --script ftp-brute -oG ftpbrute.txt

или

nmap 192.159.94.0-255 -p 21 --script ftp-brute -oG ftpbrute.txt

192.159.94.0-255 например, это диапазон айпи которые пренадлежат канаде :)

На этом пока все. Играйтесь с ключами и параметрами и поймете много нового. Как вариант можно ввести команду man nmap и почитать, тоже интересно. Ожидайте продолжения...

Добавить комментарий


Обновить