Starting Nmap 5.00 ( http://nmap.org ) at 2009-08-13 19:29 MDT
NSE: Loaded 3 scripts for scanning.
Initiating ARP Ping Scan at 19:29
Scanning 101 hosts [1 port/host]
...
Nmap done: 256 IP addresses (16 hosts up) scanned in 499.41 seconds
Raw packets sent: 19973 (877.822KB) | Rcvd: 15125 (609.512KB)
После завершения сканирования задайте команду 'db_import_nmap_xml' для импорта Nmap xml файла.
msf > db_import_nmap_xml subnet_1.xml

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

msf > db_hosts
[*] Time: Thu Aug 13 19:39:05 -0600 2009 Host: 192.168.1.1 Status: alive OS:
[*] Time: Thu Aug 13 19:39:05 -0600 2009 Host: 192.168.1.2 Status: alive OS:
[*] Time: Thu Aug 13 19:39:05 -0600 2009 Host: 192.168.1.10 Status: alive OS:
[*] Time: Thu Aug 13 19:39:05 -0600 2009 Host: 192.168.1.100 Status: alive OS:
...
 
msf > db_services
[*] Time: Thu Aug 13 19:39:05 -0600 2009 Service: host=192.168.1.1 port=22 proto=tcp state=up name=ssh
[*] Time: Thu Aug 13 19:39:05 -0600 2009 Service: host=192.168.1.1 port=23 proto=tcp state=up name=telnet
[*] Time: Thu Aug 13 19:39:05 -0600 2009 Service: host=192.168.1.1 port=80 proto=tcp state=up name=http
[*] Time: Thu Aug 13 19:39:05 -0600 2009 Service: host=192.168.1.2 port=23 proto=tcp state=up name=telnet

Теперь мы готовы импортировать наши результаты в dradis, переходим к терминалу где запущен dradis и командуем 'import nmap '.

dradis> import nmap /pentest/exploits/framework3/subnet_1.nmap normal
There has been an exception:
[error] undefined method `each' for nil:NilClass
/pentest/exploits/framework3/subnet_1.nmap was successfully imported dradis>

Если теперь перейти в веб-интерфейс dradis и обновить страницу, мы увидим результаты сканирования nmap в удобно-читаемом виде.

scan

Заметки о сканерах и вспомогательных модулях.

Сканеры и множество других вспомогательных модулей используют опцию RHOSTS вместо RHOST. RHOSTS может принимать IP диапазоны (192.168.1.20-192.168.1.30), CIDR диапазоны (192.168.1.0/24), несколько диапазонов, разделенных запятыми (192.168.1.0/24, 192.168.3.0/24), и список в хост файле (файл: /tmp/hostlist.txt).
Отметим, что по умолчанию все модули сканера будут иметь значение THREADS установленное в значение '1'. Значение THREADS устанавливает количество потоков во время сканирования. Установите высокое значение, чтобы ускорить сканирование или низкое, чтобы сократить сетевой трафик. Но обязательно придерживайтесь следующих принципов:
Значение THREADS — 16, на системах Win32,
Значение THREADS — 200, запуск из под MSF Cygwin,
Значение THREADS — 256, на Unix-like операционных системах.

Сканирование портов.

Помимо сканера Nmap существует еще множество сканеров портов доступных в framework.

msf > search portscan
[*] Searching loaded modules for pattern 'portscan'...
 
Auxiliary
=========
 
Name                       Description
----                       -----------
scanner/portscan/ack       TCP ACK Firewall Scanner
scanner/portscan/ftpbounce FTP Bounce Port Scanner
scanner/portscan/syn       TCP SYN Port Scanner
scanner/portscan/tcp       TCP Port Scanner
scanner/portscan/xmas      TCP "XMas" Port Scanner

Для сравнения мы сравним результат сканирования Nmap для порта 80 с результатом сканирования модулем Metasploit. Для начала посмотрим открытые порты по результатам Nmap.

msf > cat subnet_1.gnmap | grep 80/open | awk '{print $2}'
[*] exec: cat subnet_1.gnmap | grep 80/open | awk '{print $2}'
 
192.168.1.1
192.168.1.2
192.168.1.10
192.168.1.109
192.168.1.116
192.168.1.150

Теперь посмотрим тот же порт используя Metasploit на сетевом интерфейсе eth0.

msf > use scanner/portscan/syn
msf auxiliary(syn) > show options
 
Module options:
 
Name      Current Setting Required Description
----      --------------- -------- -----------
BATCHSIZE 256             yes      The number of hosts to scan per set
INTERFACE                 no       The name of the interface
PORTS     1-10000         yes      Ports to scan (e.g. 22-25,80,110-900)
RHOSTS                    yes      The target address range or CIDR identifier
THREADS   1               yes      The number of concurrent threads
TIMEOUT   500             yes      The reply read timeout in milliseconds
 
msf auxiliary(syn) > set INTERFACE eth0
INTERFACE => eth0 msf auxiliary(syn) > set PORTS 80
PORTS => 80
msf auxiliary(syn) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(syn) > set THREADS 50
THREADS => 50
msf auxiliary(syn) > run
 
[*] TCP OPEN 192.168.1.1:80
[*] TCP OPEN 192.168.1.2:80
[*] TCP OPEN 192.168.1.10:80
[*] TCP OPEN 192.168.1.109:80
[*] TCP OPEN 192.168.1.116:80
[*] TCP OPEN 192.168.1.150:80
[*] Auxiliary module execution completed

Мы убедились, что Metasploit просто еще один отличный инструмент в вашем арсенале, если вам случится работать в системе без Nmap.

Сканирование SMB.

Теперь, когда мы определили какие из хостов являются доступными в сети, чтобы сузить круг атаки, нам нужно определить под какой операционной системой они работают, чтобы подобрать нужный эксплоит. Поскольку в нашей сети находится множество систем с открытым 445 портом, мы будем использовать модуль 'scanner/smb/version', чтобы отделить хосты с Windows от хостов Linux с запущенной Samba.

msf auxiliary(version) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf auxiliary(version) > set THREADS 50
THREADS => 50
msf auxiliary(version) > run 
 
[*] 192.168.1.100 is running Windows 7 Enterprise (Build 7600) (language: Unknown)
[*] 192.168.1.116 is running Unix Samba 3.0.22 (language: Unknown)