Мы будем использовать очень простой 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 c brutforcer.ru
Aucun commentaire:
Enregistrer un commentaire