Name         Current Setting                                       Required  Description
   ----         ---------------                                       --------  -----------
   BATCHSIZE    256                                                   yes       The number of hosts to probe in each set
   COMMUNITIES  /pentest/exploits/framework3/data/wordlists/snmp.txt  no        The list of communities that should be attempted per host
   RHOSTS                                                             yes       The target address range or CIDR identifier
   RPORT        161                                                   yes       The target port
   THREADS      1                                                     yes       The number of concurrent threads 
 
msf auxiliary(community) > set RHOSTS 192.168.0.0-192.168.5.255
rhosts => 192.168.0.0-192.168.5.255
msf auxiliary(community) > set THREADS 10
threads => 10
msf auxiliary(community) > run
[*] >> progress (192.168.0.0-192.168.0.255) 0/30208...
[*] >> progress (192.168.1.0-192.168.1.255) 0/30208...
[*] >> progress (192.168.2.0-192.168.2.255) 0/30208...
[*] >> progress (192.168.3.0-192.168.3.255) 0/30208...
[*] >> progress (192.168.4.0-192.168.4.255) 0/30208...
[*] >> progress (-) 0/0...
[*] 192.168.1.50 'public' 'APC Web/SNMP Management Card (MB:v3.8.6 PF:v3.5.5 PN:apc_hw02_aos_355.bin AF1:v3.5.5 AN1:apc_hw02_sumx_355.bin MN:AP9619 HR:A10 SN: NA0827001465 MD:07/01/2008) (Embedded PowerNet SNMP Agent SW v2.2 compatible)'
[*] Auxiliary module execution completed

Как мы видим здесь, мы смогли найти строку "public", сервис настроен скорее всего только для чтения и не раскрывает много информации. Мы узнали, что это устройство APC Web/SNMP, и его версию.

Создание собственного сканера.

Будет время, когда вам, возможно понадобится возможности конкретного сканера. Metasploit имеет множество особенностей, которые могут пригодиться для этой цели, поддержка прокси, SSL, отчетность, многопоточность. Возможность задать пароль от системы или сканирование особенных служб. Все это просто осуществить, создав ваш собственный сканер.
Мы будем использовать очень простой TCP сканер, который будет подключаться к хосту к порту по умолчанию 12345, который кстати, можно будет сменить в процессе выполнения. После подключения к серверу, сканер посылает 'HELLO SERVER', получает ответ и печатает его вместе с IP адресом удаленного хоста.

require 'msf/core'
 
class Metasploit3 < Msf::Auxiliary
include Msf::Exploit::Remote::Tcp
include Msf::Auxiliary::Scanner
def initialize
super(
'Name' => 'My custom TCP scan',
'Version' => '$Revision: 1 $',
'Description' => 'My quick scanner',
'Author' => 'Your name here',
'License' => MSF_LICENSE
)
register_options( [
Opt::RPORT(12345)
], self.class)
end
def run_host(ip)
connect()
sock.puts('HELLO SERVER')
data = sock.recv(1024)
print_status("Received: #{data} from #{ip}")
disconnect()
end
end

Сохраняем наш файл в дирректории ./modules/auxiliary/scanner/ как 'simple_tcp.rb' и запустим msfconsole. Важно отметить две вещи. Во-первых, модули загружаются во время выполнения, поэтому наш новый модуль не появится, если мы не перезапустим наш интерфейс выбора. Во-вторых структура папок очень важна, если мы сохраним наш сканер в ./modules/auxiliary/scanner/http/, он будет отображаться в списке сканеров как 'scanner/http/simple_tcp'. Для тестирования сканера, запустим netcat прослушивающим порт 12345, в качестве ответов воспользуемся текстовым файлом.

root@bt4:~/docs# nc -lnvp 12345 < response.txt
listening on [any] 12345

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

msf > use scanner/simple_tcp
msf auxiliary(simple_tcp) > set RHOSTS 192.168.1.101
RHOSTS => 192.168.1.101
msf auxiliary(simple_tcp) > run
 
[*] Received: hello metasploit from 192.168.1.101
[*] Auxiliary module execution completed

Как вы видите из этого простого примера, этот уровень гибкости может оказать большую помощь, когда нужно воспользоваться пользовательским кодом в тесте на проникновение.
На этом третью часть курса можно считать завершенной, до встречи в следующих частях.
Источник: http://www.offensive-security.com/metasploit-unleashed

Перевод: Э_L_A_Y