Статья Первый шаг к взлому (nmap сканирование портов)

Информация, содержащаяся в данном руководстве для образовательных и информационных целей, используйте её на свой страх и риск. Мы не несем никакой ответственность за ваши действия.
Требования

  1. Backtrack 5 or Kali Linux
  2. Терпение
Это будет первый учебник по серии, который даст основное представление что такое пентест. Есть много инструментов на Kali linux дистрибутиве, которые не будут охвачены в этих серии, но если у читателей есть какие-либо вопросы о других инструментов, напишите сообщение. Это первая часть нацелена на сбор информации и имеет название как (nmap сканирование портов). Она будет сосредоточена на поиске живых хостов в сети, а также на просмотра их версий программного обеспечения и на их работающих портах.

Давайте начнем

Для этого упражнения мы будем использовать следующие инструменты: Nmap

На протяжении многих лет у Nmap было добавлено много разных функции, один из более поздних является уязвимость проверки модулей. Если вы не знаете, о них, перейдите на Google и исследуйте их.

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

Первое, что мы хотим сделать, это найти живых хостов в сети, это может быть достигнуто за счет использования Nmap. С помощью этой команды мы также можем проверять службу и версию для каждого открытого порта. Есть много других команд, которые встроенны в Nmap, которые могут быть найдены с помощью команды Nmap -h или просто набрав

Nmap

Мы в сети как 192.168.1.1

nmap -sV 192.168.1.1/24

Эта команда будет проверять все 254 хостов в сети и перечислять открытые порты вместе с версией программного обеспечения, работающего на этом хосте. Я использую только 2 машины в своей сети и я сделал это, чтобы сократить учебник. Вот результаты:
Код:
Nmap scan report for 192.168.1.2
Host is up (0.0080s latency).
Not shown: 995 filtered ports
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
445/tcp open netbios-ssn
912/tcp open vmware-auth VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
5357/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
MAC Address: 00:25:22:12:C7:7F (ASRock Incorporation)
Service Info: OS: Windows

Nmap scan report for 192.168.1.14
Host is up (0.022s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE VERSION
20/tcp closed ftp-data
21/tcp open ftp vsftpd 2.0.8 or earlier
22/tcp open ssh OpenSSH 4.7 or earlier
80/tcp open http Apache httpd 2.2.4 ((Fedora))
MAC Address: 00:21:2F:36:D2:E2 (Phoebe Micro)
Если бы мы имели большую сеть, коммутатор -p может использоваться для четкого указания какие порты искать. Так:

nmap -sV 192.168.1.1/24 -p 21,80,445

Одна вещь, которую я рекомендую: чтобы всегда, я имею в виду всегда сканировать сеть в режиме UDP и искать открытые порты SNMP. Старые версии SNMP уязвимы для атак, поскольку они используют строки государственного и частного для входа в систему. Если вы не знаете, какие порты SNMP или SNMP являются, Google является вашим другом.

Для выполнения такого рода сбора информации вы должны использовать команду -Su. Дабы сказать Nmap сканировать UDP-порты. Наша команда должна будет выглядеть так:

nmap -sU 192.168.1.1/24 -p161, 162

Мы указываем порты 161 и 162, так как они являются портами где SNMP работает.

Когда работает UDP сканирование запомните, что Протокол UDP не проверяет соединение так что это хорошая идея, чтобы проверить если порт на самом деле открыт для соединения с Netcat.

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

nmap --script-help script name

Это команда покажет вам скрипт и то, что он делает.

Первые скрипты которые мы будем использовать это SMB скрипты, так как у нас SMB-порт 445 открыт.
Код:
nmap -sS --script smb-os-discovery 192.168.1.14
nmap -sS --script smb-check-vulns 192.168.1.14
nmap -sS --script smb-enum-users 192.168.1.14
nmap -sS --script smb-enum-shares 192.168.1.14
Вы можете видеть, что я добавил -sS команду, это приводит Nmap сканировать в скрытом режиме. Так как я работаю на Linux машине у меня будут другие отчеты. Я сделал это чтобы вы поняли как все эти команды работают. Давайте перейдем к Майкрософт машине, так что вы сможете увидеть некоторые результаты.
Код:
Host script results:
| smb-enum-shares:
| ADMIN$
| Anonymous access:
| Current user ('guest') access:
| C$
| Anonymous access:
| Current user ('guest') access:
| E$
| Anonymous access:
| Current user ('guest') access:
| IPC$
| Anonymous access: READ
| Current user ('guest') access: READ
| Current user ('guest') access: READ
| movies
| Anonymous access:
| Current user ('guest') access: READ
| print$
| Anonymous access:
|_ Current user ('guest') access: READ

Nmap done: 1 IP address (1 host up) scanned in 8.37 seconds

nmap -sS --script smb-check-vulns 192.168.1.2
Host script results:
| smb-check-vulns:
| MS08-067: NOT VULNERABLE
| Conficker: Likely CLEAN
| regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)
| SMBv2 DoS (CVE-2009-3103): CHECK DISABLED (add '--script-args=unsafe=1' to run)
| MS06-025: CHECK DISABLED (remove 'safe=1' argument to run)
|_ MS07-029: CHECK DISABLED (remove 'safe=1' argument to run)

nmap -sS --script smb-os-discovery
Host script results:
| smb-os-discovery:
| OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
| Name: MSHOME\gh0s7
|_ System time: 2012-06-25 19:41:16 UTC-7
Это еще не все! у Nmap есть еще пару прекрасных команд.
nmap -sS --script ftp-anon 192.168.1.2 192.168.1.14
Эта команда будет проверять если включен анонимный FTP логин на целевой машине.
nmap -A 192.168.1.2
Эта команда позволит запускать все скрипты и много других вариантов, вот описание из меню справки: Enable OS detection, version detection, script scanning, and traceroute.

Вы также можете добавить различные типы сканирования на начинающийся линии вот так:

Nmap -sS -А 192.168.1.2

Есть также способы, чтобы добавить другие аргументы в скрипты, и даже создавать свои собственные.

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

Следующий инструмент который мы будем использовать один из моих любимых это Netcat. Если мы откроем терминал и введем nc. Мы увидим меню справки Netcat. Далее мы будет работать через порты и попытаться соединиться с основными командами NetCat:

NC -v 192.168.1.2 445.

Это приведет к запуску программе и подключиться к порту 445.

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!