-
Notifications
You must be signed in to change notification settings - Fork 0
/
dns_report.rb
66 lines (62 loc) · 1.54 KB
/
dns_report.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/ruby
=begin
DNS LOOKKUP LIB:
em-resolv-replace
eventmachine
-------------------------->
Resolv::DNS.new
--------------------------->
dnsobject.each_resource(domain,) do |var|
MX >> exchange
MS >> name
end
Resolv::DNS::Resource::IN::MX >> for mail server
Resolv::DNS::Resource::IN::A >> ip address
Resolv::DNS::Resource::IN::NS >> name server
------------------------------------------------------------------
Metasploit Rank >>>>>>
NormalRanking
GoodRanking
GreatRanking
EXcellentRanking
AverageRanking
LowRabking
ManualRanding
=end
require "msf/core"
require "em-resolv-replace"
class MetasploitModule < Msf::Auxiliary
include Msf::Auxiliary::Report
Rank = GreatRanking
def initialize(info = {})
super(update_info(info,
'Name' => 'DNS LOOKUP COLECTER',
'Description' => %q{
DNS LOOKUP information gathering Auxiliary
},
'Author' => ['Abd El Rahman HSN <abdelrahmanhsn1@gmail.com>'],
'License' => MSF_LICENSE,
'Version' => '1.0'))
register_options(
[
OptString.new('DOMAIN',[true,'target domain']),
],self.class)
end
def run
$domain = datastore['DOMAIN']
$dns = Resolv::DNS.new
print_status("starting gather dns information")
print_good("IP address")
$dns.each_address($domain) do |address|
puts address
end
print_good("Mail Servers")
$dns.each_resource($domain,Resolv::DNS::Resource::IN::MX) do |mail_servers|
puts mail_servers.exchange
end
print_good("Name Servers")
$dns.each_resource($domain,Resolv::DNS::Resource::IN::NS) do |name_servers|
puts name_servers.name
end
end
end