Показать сообщение отдельно

  #3  
Старый 12.11.2006, 21:47
+toxa+
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
Провел на форуме:
9751379

Репутация: 3812


Отправить сообщение для +toxa+ с помощью ICQ Отправить сообщение для +toxa+ с помощью AIM
По умолчанию

Код:
Сканирование с Nmap.
===================

Введение
--------

Иногда, перед хакером встает такая проблема: Он получил задание сломать какой-то сервак за вполне реальные деньги, он долго
искал уязвимость на web,пробовал php и sql-иньекции, изучал скрипты которые стоят на сайте, но все безрезультатно :( казалось
бы ВСЕ ,надежды не осталось, хакер не сломает заказанный сайт и не получит бабки ,но тут на помощь взломщику приходит сетевой
сканнер NMAP ....

Многие говорят "Nmap это офигенная тулза, я юзаю только ее", а на самом деле никто из этих выскочек не умеет пользоваться,
этим по истине офигенным сканнером. Что бы ты смог понять, как это сделать, в этой статье я подробно расскажу весь процесс
установки и последующего сканирования сканером.Итак, поехали!


Установка                        
-------------

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

grex.cyberspace.org 
m-net.arbornet.org 
www.freeshell.org  
www.nyx.net        

После того как ты получил shell-аккаунт, приступаем к работе. Заходим на шелл,идем в папку tmp (туда обычно разрешена запись),
командой: cd /tmp. Следующий шаг заливка самого nmap'a к себе на шелл. Сам сканнер лежит здесь –

 http://freshmeat.net/redir/nmap/7202/url_tgz/nmap-4.11.tgz.

Проверь, какая качалка стоит у тебя на шелле(wget,curl,lynx/links,fetch) и после этого заливай.Например 

 #wget http://freshmeat.net/redir/nmap/7202/url_tgz/nmap-4.11.tgz

Как видишь, сканнер находится в архиве(.tgz), поэтому после заливки тебе нужно его разархивировать, командой: 
 
 #tar xvzf nmap-4.11.tgz.

Выполнил? Красавец, дальше нужно его собрать командой : 

 #./configure,


Если сборка сканнера прошла без проблем(а я думаю что это так),будем запускать его командой make, ждем .. и последняя команда
make install.ВСЕ!Сканнер готов к работе...Теперь перейди в папку куда ты залил свой сканнер, если ты следовал моим указаниям,
то сканнер находится в папке tmp ( cd /tmp/nmap-4.11 ) .Можешь выполнить вот эту команду 

 #nmap --help 

и узнать синтаксис сканера. Вообщем с установкой все. Теперь разберемся в опциях
nmap.


Опции 
------

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

=======================================
-sT (scan TCP) - использовать метод TCP connect(). Наиболее общий метод сканирования TCP-портов. Функция connect(), 
присутствующая в любой ОС, позволяет создать соединение с любым портом удаленной машины. Для того, чтобы использовать 
данный метод, пользователь может не иметь никаких привилегий на сканирующем хосте. 
=========================================================================================================================

-sS (scan SYN) - Сканирование скрытно от фаера. Этот метод часто называют "полуоткрытым" сканированием, поскольку при 
этом полное TCP-соединение с портом сканируемой машины не устанавливается.
=========================================================================================================================

-sP (scan Ping) - ping-"сканирование".(Думаю тут объяснения не нужны.)

=======================================================================================================================

-sV (scan Version) - включение режима определения версий служб, за которыми закреплены сканируемые порты. После окончания
 сканирования будет получен список открытых TCP и/или UDP-портов. Без этой опции в списке напротив каждого порта будет 
указана служба, которая обычно использует данный порт. При включенной опции будет запущена подсистема определения версий 
служб, которая проведет последовательное тестирование этих портов с целью определения типов и версий служб, за которыми 
закреплены обнаруженные порты. 

=======================================================================================================================
-sI <zombie_хост[:порт]> (scan Idle) - позволяет произсести абсолютно невидимое сканирование портов. 
Атакующий может просканировать цель, не посылая при этом пакетов от своего IP-адреса. Вместо этого 
используется метод IdleScan, позволяющий просканировать жертву через так называемый хост-"зомби". 
Кроме абсолютной невидимости, этот тип сканирования позволяет определить политику доверия между 
машинами на уровне протокола IP. Листинг результатов показывает открытые порты со стороны хоста-"зомби". 
Таким образом, можно просканировать цель с использованием нескольких "зомби", которым цель может "доверять", 
в обход файрволлов и пакетных фильтров. Такого рода информация может быть самой важной при выборе целей 
"первого удара". Мы подготовили статью с описанием этого метода, Вы можете ознакимиться с ней здесь. 
Вы можете указать конкретный порт для проверки изменения IPID на хосте-"зомби". В противном случае Nmap 
будет использовать номер порта по умолчанию для "tcp ping". 
=========================================================================================================================
-sR (scan RPC) - использовать RPC-сканирование. Этот метод используется совместно с другими методами сканирования
 и позволяет определить программу, которая обслуживает RPC-порт, и номер ее версии. Для этого все открытые TCP/UDP-порты 
хоста затопляются NULL-командами оболочки SunRPC, после чего определяются RPC-порты и закрепленные за ними программы. 
Таким образом, вы легко получаете информацию, которую могли бы получить с помощью команды 'rpcinfo -p', даже если 
portmapper сканируемого хоста закрыт файрволлом или TCP-wrapper'ом. 
====================================================================================================================
-sW (scan Window) - использовать метод TCP Window. Этот метод похож на ACK-сканирование, за исключением того, что иногда
 с его помощью можно определять открытые порты точно так же, как и фильтруемые/нефильтруемые. Это можно сделать, проверив
 значение поля Initial Window TCP-пакета, возвращаемого хостом в ответ на посланный ему запрос, ввиду наличия определенных
 особенностей обработки данного поля у некоторых ОС. Список уязвимых операционных систем включает в себя по крайней 
мере несколько версий AIX, Amiga, BeOS, BSDI, Cray, Tru64 UNIX, DG/UX, OpenVMS, Digital UNIX, FreeBSD, HP-UX, OS/2, IRIX,
 MacOS, NetBSD, OpenBSD, OpenStep, QNX, Rhapsody, SunOS 4.X, Ultrix, VAX и VxWorks. Для более подробной информации 
смотрите архив nmap-hackers. 

========================================================================================================================
-p <диапазон(ы)_портов> (ports) - эта опция указывает Nmap, какие порты необходимо просканировать. Например, '-p23' 
означает сканирование 23 порта на целевой машины. Если указано выражение типа '-p 20-30,139,', Nmap будет 
сканить порты с номерами с 20 по 30 включительно, 139 . 
=========================================================================================================================
-o(Operating system detection) - эта опция позволяет определить операциоку сканируемого хоста с помощью метода
 отпечатков стека TCP/IP. 
=========================================================================================================================

-PP - использует пакет ICMP "timestamp request (code 13)" для определения активных хостов.

=========================================================================================================================

-b <ftp_relay хост> (bounche scan) - использовать атаку "Прорыв через FTP". Интересной "возможностью" протокола FTP (RFC 959)
является поддержка "доверенных" (proxy) ftp-соединений. Другими словами, с доверенного хоста source.com можно соединиться 
с ftp-сервером target.com и отправить файл, находящийся на нем, на любой адрес Internet! Заметим, что данная возможность 
известна с 1985 года (когда был написан этот RFC). Nmap использует эту "дыру" для сканирования портов с "доверенного" 
ftp-сервера. Итак, вы можете подключиться к ftp-серверу "над" файрволлом и затем просканировать заблокированные им 
порты (например 139-й). Если ftp-сервер позволяет читать и записывать данные в какой-либо каталог (например /incoming), 
вы также можете отправить любые данные на эти порты. Аргумент, указываемый после '-b', представляет собой URL сервера ftp,
 используемого в качестве "доверенного". Формат URL следующий: имя_пользователя:пароль@сервер:порт. Адрес сервера нужно 
указать обязательно, остальное можно не указывать. 
============================================================================================================================

-I (Ident scan) - использовать reverse-ident сканирование. Протокол Ident (RFC 1413) позволяет вскрыть имя пользователя 
(username) процесса, использующего TCP, даже если этот процесс не инициализировал соединение. Так, например, вы можете 
подключиться к порту http и затем использовать identd для поиска на сервере пользователя root. Это может быть сделано 
только при установлении "полного" TCP-соединения с портом сканируемой машины (т.е. необходимо использовать опцию '-sT'). 
Nmap опрашивает identd сканируемого хоста параллельно с каждым открытым портом. Естественно, этот метод не будет работать,
 если на целевом хосте не запущен identd. 
=======================================================================================================================

-oN <имя_файла> (output Normal) - записывает результаты сканирования в указанный файл в удобной для пользователя форме.

=======================================================================================================================

--resume <имя_файла> - если вы прервали сканирование сети нажатием комбинации <Ctrl C>, то вы можете продолжить его,
 используя эту опцию, если результаты сканирования записывались в лог-файл с помощью опций '-oG' или '-oN'. В этом случае 
запустите Nmap с указанием этой опции и имени файла, в который производилась запись предыдущего сеанса. При этом никаких
 других опций указывать не нужно, поскольку при возобновлении сканирования будут использоваться опции, указанные в 
предыдущем сеансе. Nmap продолжит сканирование с адреса, следующего за последним "завершенным".
========================================================================================================================
-v (verbose output) - использовать режим "подробного отчета". Эту опцию рекомендуется использовать в любых случаях,
 поскольку при этом Nmap подробно сообщает о ходе выполнения текущей операции. Для получения лучшего эффекта можно
 указать ее дважды. Ну а если вы укажете еще опцию '-d', то от скроллинга экрана у вас может закружиться голова. 

=========================================================================================================================

Как я уже сказал ,опций у этого сканнера много, но я расписал самые распрстроненные на мой взгляд.


Сканинг
--------

Допустим у нас есть сайт, который мы хотим просканировать(если у тебя нет такого, то беги в google и вводи в поисковике 
следующее: .pl -покажет огромный список польских сайтов, .jp -то же самое только японские, .de -немцы и тд. ), пусть это
будут немцы ;)Итак теперь у меня есть сайт - www.target.de. Можно выполнить команду - nmap www.target.de и запустить
сканнер, но особо нужных нам результатов мы не получим т.к. сканнер выдаст нам только список открытых и закрытых портов, 
это конечно нужная информация о сервере, но я предлагаю пойти немного другим путем. Для начала пропингуем сервер и узнаем его
ip.Выполняем:

 #ping www.target.de

Мы узнали ip сервера, пусть будет xx.xx.xx.76,значит диапазон, по которому сканим будет xx.xx.xx.1 - xx.xx.xx.254.

Итак, сканнер мы установили, опции узнали , ip пропинговали, что теперь нам мешает начать сканить? Да ни чего!

Даем такую команду:

 #nmap -p 110 -sV xx.xx.xx.*

Отсюда следует то, что мы говорим сканнеру, что сканируем все диапазоны ip, по 110 порту(-p 110) с определением версий служб
(-sV), за которыми закреплен сканируемый порт. Попробуем еще кое-что:

 #nmap -o -p 22,23,110,80 xx.xx.xx.1/35 

Тут мы даем сканнеру команду, что бы он сканил диапазон айпишников с xx.xx.xx.1 по xx.xx.xx.35, с определением операционки
(-o),по 22,23,110,80 портам. Можно выполнить следующую команду, на мой взгляд полезную:

 #nmap -sV -o -SS xx.xx.xx.*

Как видишь, мы добавили новую опцию (если ты читал раздел опции, то она для тебя неновая) -sS ,которая означает что мы
сканим скрыто от фаервола, с определением операционки и версий служб.

Заключение
-----------

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

=============================================================================================================================
l1s, Ru24 Security team.
мдас...
__________________