/
githubmirror
/
metasploit-framework
Обзор
Документация
Войти
/
githubmirror
/
metasploit-framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
modules/auxiliary/scanner/http/docker_version.rb
67 строк
2 KB
cgranleese-r7
Update info -d markdown
24 июн 2025, 13:21
24 июн 2025, 13:21
a454217
Код
Авторство
О чём код?
## # This module requires Metasploit: https://metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient include Msf::Auxiliary::Scanner include Msf::Auxiliary::Report def initialize(info = {}) super( update_info( info, 'Name' => 'Docker Server Version Scanner', 'Description' => %q{ This module attempts to identify the version of a Docker Server running on a host. If you wish to see all the information available, set VERBOSE to true. }, 'Author' => [ 'Agora-Security' ], 'License' => MSF_LICENSE, 'Notes' => { 'Reliability' => UNKNOWN_RELIABILITY, 'Stability' => UNKNOWN_STABILITY, 'SideEffects' => UNKNOWN_SIDE_EFFECTS } ) ) register_options( [ Opt::RPORT(2375) ] ) end def run_host(ip) res = send_request_cgi({ 'uri' => '/version', 'method' => 'GET' }) if res.nil? || res.code != 200 print_error("[Docker Version] failed to identify version") return end result = res.get_json_document print_status("Identifying Docker Server Version on #{peer}") print_good("[Docker Server] Version: #{result['Version']}") print_status ("All info: #{result.to_s}") if datastore['VERBOSE'] report_note( :host => ip, :port => rport, :proto => 'tcp', :ntype => 'docker_version', :data => { :version => result['Version'] }, :info => "Docker Server v.#{result['Version']}" ) print_status("Saving host information.") report_host( :host => ip, :arch => result['Arch'], :detected_arch => result['Arch'], :os_family => result['Os'], :info => "Docker Server v.#{result['Version']} Kernel Version: #{result['KernelVersion']}" ) end end