Сканирование сети

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

Аватара пользователя
Sigiz
Сообщения: 18
ОС: Alt Linux 3.0 Compact

Сканирование сети

Сообщение Sigiz »

Чем можно просканировать сеть по определенному порту?
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Сканирование сети

Сообщение Liksys »

man nmap
Спасибо сказали:
divenvrsk
Сообщения: 379
ОС: Ubuntu, openSuSE

Re: Сканирование сети

Сообщение divenvrsk »

часть 1. Работа с Nmap.
~~~~~~~~~~~~~~~~~~~~~
Это статья открывает цикл статей под эгидой "анализ удаленной системы". Сразу поясню, что я не собираюсь писать статьи типа "как взломать, как хакнуть и т.д." - все статьи будут направлены лишь именно на анализ, а что потом делать с полученной информацией решать лишь вам.

Основным источником информации, изложенной здесь, является личный опыт + материалы www.bugtraq.ru.

Category: General | Posted by: dive Анализ удаленной системы.
~~~~~~~~~~~~~~~~~~~~~~~~
часть 1.
~~~~~~~~
Работа с Nmap.
~~~~~~~~~~~~~

Немного предисловия
~~~~~~~~~~~~~~~~~~~

Это статья открывает цикл статей под эгидой "анализ удаленной системы". Сразу поясню, что я не собираюсь писать статьи типа "как взломать, как хакнуть и т.д." - все статьи будут направлены лишь именно на анализ, а что потом делать с полученной информацией решать лишь вам.

Основным источником информации, изложенной здесь, является личный опыт + материалы www.bugtraq.ru.

Общий термин для масштабного понятия "анализ и сбор информации об удаленной системе" - Fingerprinting. В кратце, теория такова - с помощью ряда манипуляций возможно получить информацию о: операционной системе сервера (локальной машины), приложениях работающих на удаленной системе + много чего полезного и важного. На практике, fingerprinting делится на пассивный и активный, соответственно, пассивный метод упреждает от того, чтобы система обнаружила о том, что ее изучают (возможно на предмет взлома). В данной статье я коснусь active fingerprinting (косвенно passive).

Как работает nmap.
~~~~~~~~~~~~~~~~~~

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

Где взять.
~~~~~~~~~~

В unix-like системах обычно предустановленный пакет, в крайнем случае, лежит на установочном диске. Для пользователей Windows - прошу в google.

Непосредственно работа.
~~~~~~~~~~~~~~~~~~~~~~~

nmap работает в коммандной строке, для получения всех опций наберите [nmap --help] (определимся, что в дальнейшем все команды будут заключены в скобки [] для зрительного удобства).
Итак, пройдемся по основным опциям.

{-p} (ports) =диапазон портов= - если необходимо просканировать определнные порты.

{-o -O} (Operating system detection) - с этим ключом, nmap пытается определить ОС по отпечатку стека TCP/IP.

{-oN имя_файла} - записывает результаты сканирования в файл.

{-v} (verbose output) - "подробного отчета" при работе программы.

{-sP} (scan Ping) -сканирование, ипользующееся стандартную процедуру ping - вот это важно, если вы впервые слышите этот термин настоятельно рекомендую прочитать следующий абзац, кто знает, что это такое - идет дальше.
|Ping работает на основе эхо протокола ICMP (RFC 792). Работает программа следующим образом - посылает ICMP-пакет типа ECHO
|REQUEST, выставляя в нем время и его идентификатор. Удаленная система отвечает на подобный запрос пакетом ICMP ECHO REPLY.
|Ping выдает скорость прохождения пакета. При стандартном режиме работы пакеты выслаются через некоторые промежутки времени,
|не нагружая сеть. Но в "агрессивном" режиме поток ICMP echo request/reply-пакетов (при наличии широкого канала, или при
|массовости агрессивного ping`а) может вызвать перегрузку небольшого канала, лишив способности передавать полезную
|информацию.
|С помощью ping мы можем узнать:
| - поведение пакетов по пути следования,
| - нарушение целостности пакетов,
| - определение времени распространения пакетов и изменение этого параметра во времени,
| - устойчивость соединения,
| - появление в процессе работы неопознанных пакетов.
|Если есть задаться целью, то с помощью ping можно делать и нехорошие вещи - желающие гуглять flood ping и preload packets.

{-PP} (timestamp request) - при сканировании использует пакет ICMP "timestamp request (code 13)".
|Timestamp request используется для получения текущего времени на удаленной системе. Согласно RFC 1122 может не
|обрабатываться хостом, соответственно, не все системы будут отвечать. Microsoft удивляет как всегда: одни версии Windows
|отвечает на такой пакет (Windows 98/ME/2000), а другие - нет (Windows NT с любыми SP). На такие пакеты отвечают следующие
|системы: Linux 2.6.x/2.4.x/2.2.x; FreeBSD; Solaris; Cisco IOS. Игнорируют этот пакет следующие платформы: Windows 95/NT.

{-sT} (scan TCP) - метод TCP connect(). Стандартный метод сканирования. connect() (работает на всех ОС) позволяет создать соединение с любым портом удаленной системы.
|(TCP SYN scan) Метод TCP-сканирования подключением заключается в попытке подключения по протоколу TCP к нужному порту с
|прохождением полной процедуры согласования параметров соединения (процедура handshake), заключающейся в обмене служебными |сообщениями (SYN, SYN/ACK, ACK) между системами.
|(TCP SYN scan) В методе TCP-сканирования с помощью сообщений SYN полного подключения к порту не происходит. Исследуемому
|порту посылается сообщение SYN, и если в ответ приходит сообщение SYN/ACK, то это означает, что порт находится в режиме
|прослушивания. Данный метод сканирования портов является более скрытым в сравнении с методом сканирования с полным
|подключением.
|(TCP Null sсan) В методе TCP-нуль-сканирования осуществляется отправка пакетов с отключенными флагами. Исследуемая система в
|ответ должна отправить сообщение RST для всех закрытых портов.
|(TCP ACK scan) Метод TCP-сканирования с помощью сообщений ACK позволяет установить набор правил, используемых брандмауэром,
|и выяснить, выполняет ли брандмауэр расширенную фильтрацию пакетов.
|(UDP scan) Метод UDP-сканирования заключается в отправке пакетов по протоколу UDP. Если в ответ поступает сообщение, что
|порт недоступен, то это значит, что порт закрыт. При отсутствии такого ответа можно предположить, что порт открыт. Стоит
|отметить, что протокол UDP не гарантирует доставки сообщений, поэтому данный метод сканирования не очень надежен.

{-sS} (scan SYN) - почти "скрытое" сканированием, поскольку полное TCP-соединение со сканируемой системой не устанавливается.
(описание смотри выше)

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

{-sR} (scan RPC) - RPC-сканирование. Используется с другими методами сканирования. Пробует определить программу обслужтвающую RPC-порт.
|Принцип работы таков: все открытые порты системы затопляются NULL-командами, из полученных баннеров определяется служба |(см. примечание в начале по поводу определения служб).

Важная опция (и нужная иногда):
{-sI <хост[:порт]>} (scan Idle) - сканирование портов без участия вашей машины. Метод IdleScan работает по принципу - отдается команда на сканирование указанному вами хосту, тот производит сканирование и отдает вам результат (так же проверяется политика доверия между системами).


Непосредственно работа.
~~~~~~~~~~~~~~~~~~~~~~~

Выбираем сайт (буду показывать на всеми любимом www.nvrsk.ru, да простит меня dexter), пингуем его:
[ping www.nvrsk.ru]
|зачем вы спросите пинговать? я всегда пингую на предмет доступности сайта и определения диапазонов IP, если мне в
|дальнейшем потребуется весь сервер.

Теперь пускаемся в бой, пойдем простым путем:
[nmap -O 83.239.240.251]

получаем:

PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
82/tcp open xfer
49400/tcp closed compaqdiag
50000/tcp closed iiimsf
50002/tcp closed iiimsf
54320/tcp closed bo2k
61439/tcp closed netprowler-manager
61440/tcp closed netprowler-manager2
61441/tcp closed netprowler-sensor
65301/tcp closed pcanywhere - чтобы удобно было smile.gif

Running: Sun Solaris 9|10 - для тех кто не знал что nvrsk на solaris крутится=

OS details: Sun Solaris 9 or 10

Uptime 209.143 days (since Sun Apr 23 21:22:19 2006) - неплохой показатель.


Послесловие.
~~~~~~~~~~~~

Разбирать, что же мы получили - будем в дальнейшем. Пока неплохо было бы посмотреть и подумать самому. Вы скажите "таких статей полно в инете" - я соглашусь. Но затея в том, что я пройдусь по всем известным и малоизвестным способам fingerprinting, с учетом анализа полученной информации и ее фильтрации. И финальным аккордом будет нахождение уязвимостей на удаленной системе.

На этом - до встречи.
с уважением, dive=
Спасибо сказали:
Аватара пользователя
Виталмий
Сообщения: 468
Статус: Любитель
ОС: Gentoo Linux

Re: Сканирование сети

Сообщение Виталмий »

имеется к nmap удобная морда NmapFE
linux-2.6.17-gentoo-r5 x86 on AMD Athlon XP 2000+
OpenSuse 11.0 x86_64 on Sony VNG-FZ31ER
Спасибо сказали:
Mellon
Сообщения: 655
Статус: Powered by Gentoo
ОС: Gentoo

Re: Сканирование сети

Сообщение Mellon »

nessus
а вообще может вам для начала поискать в пакетах вашего дистра, а затем в гугле?
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов
Спасибо сказали: