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