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 в удобно-читаемом виде.

Заметки о сканерах и вспомогательных модулях.
Сканеры и множество других вспомогательных модулей используют опцию 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)
db_add_host Add one or MORE hosts to the database
Знает ли кто-нибудь как добавить именно more hosts (диапазон)?
Конструкции типа 192.168.1.0/24 и 192.168.1.0-255 не дает.