@@ -7,43 +7,48 @@ class MetasploitModule < Msf::Auxiliary
77
88 def initialize
99 super (
10- 'Name' => 'VSploit Zeus DNS Query Module' ,
11- 'Description' => 'This module queries known Zeus Botnet DNS records.' ,
12- 'Author' => 'MJC' ,
13- 'License' => MSF_LICENSE ,
14- 'References' =>
15- [
16- [ 'URL' , 'https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist' ]
17- ]
10+ 'Name' => 'VSploit Zeus DNS Query Module' ,
11+ 'Description' => 'This module queries known Zeus Botnet DNS records.' ,
12+ 'Author' => 'MJC' ,
13+ 'License' => MSF_LICENSE ,
14+ 'References' => [
15+ [ 'URL' , 'https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist' ]
16+ ] ,
17+ 'Notes' => {
18+ 'Stability' => [ CRASH_SAFE ] ,
19+ 'SideEffects' => [ IOC_IN_LOGS ] ,
20+ 'Reliability' => [ ]
21+ }
1822 )
1923 register_options (
2024 [
21- OptString . new ( 'DNS_SERVER' , [ false , "Specifies a DNS Server" ] ) ,
22- OptInt . new ( 'COUNT' , [ false , "Number of intervals to loop" , 1 ] ) ,
23- OptInt . new ( 'DELAY' , [ false , "Delay in seconds between intervals" , 3 ] )
24- ] )
25+ OptString . new ( 'DNS_SERVER' , [ false , 'Specifies a DNS server' ] ) ,
26+ OptInt . new ( 'COUNT' , [ false , 'Number of intervals to loop' , 1 ] ) ,
27+ OptInt . new ( 'DELAY' , [ false , 'Delay in seconds between intervals' , 3 ] )
28+ ]
29+ )
2530 end
2631
2732 def run
28- @res = Net ::DNS ::Resolver . new ( )
33+ @res = Net ::DNS ::Resolver . new
2934
3035 domain = [
31- " allspring.net" , " antifoher.biz" , " asdfasdgqghgsw.cx.cc" ,
32- " ashnmjjpoljfnl.info" , " atlaz.net" , " b3l.org" , " back.boroborogold.ru" ,
33- " bandwithcheckstart.com" , " batmanrobinho.com" , " bellicbridge.ru" ,
34- " bestfihteerdr.com" , " bestprice2you.net" , " billyd.com.au" ,
35- " bitschoonerop.com" , " blackskullbg.sytes.net" , " botikov.eu.tf" ,
36- " botnetdown.gicp.net" , " boutique.vcm-mode.it" , " brandc.name" ,
37- " bxkkuskgdjskdn.com" , " c0re.su" , " cdvqvnjqqtkqhsoo.info" ,
38- " christmassuper.com" , " ciritas.ru" , " citi-spb.ru" , " clavn.ru" ,
39- " client.trackups.org" , " client.upsclients.net" , " cnewsus.ru" ,
40- " cnnus.ru" , " concapow.in" , " consoleencydd.com" , " cqoqgzqmkpkrmlo.com" ,
41- " ctllutheran.org" , " currencytradechat.com" , " cyytmmlxsthywst.com" ,
42- " damaka.com" , " datacricketuf.ru" , " deimingames.com" ,
43- " dfhhdkdddqjda.start.tl" , " djerk.info" , " djpeterblue.com.br" ,
44- " dlmsonisfzksioqq.org" , " domio.pwomega.ru" , " favdstgssdqdsfg.start.tl" ,
45- " favoritopilodjd.com" , " favqnornkwvkwfxv.biz" , " fdhjkfhskas.com" ,
46- " federalreserve-report.com" , " federetoktyt.net"
36+ ' allspring.net' , ' antifoher.biz' , ' asdfasdgqghgsw.cx.cc' ,
37+ ' ashnmjjpoljfnl.info' , ' atlaz.net' , ' b3l.org' , ' back.boroborogold.ru' ,
38+ ' bandwithcheckstart.com' , ' batmanrobinho.com' , ' bellicbridge.ru' ,
39+ ' bestfihteerdr.com' , ' bestprice2you.net' , ' billyd.com.au' ,
40+ ' bitschoonerop.com' , ' blackskullbg.sytes.net' , ' botikov.eu.tf' ,
41+ ' botnetdown.gicp.net' , ' boutique.vcm-mode.it' , ' brandc.name' ,
42+ ' bxkkuskgdjskdn.com' , ' c0re.su' , ' cdvqvnjqqtkqhsoo.info' ,
43+ ' christmassuper.com' , ' ciritas.ru' , ' citi-spb.ru' , ' clavn.ru' ,
44+ ' client.trackups.org' , ' client.upsclients.net' , ' cnewsus.ru' ,
45+ ' cnnus.ru' , ' concapow.in' , ' consoleencydd.com' , ' cqoqgzqmkpkrmlo.com' ,
46+ ' ctllutheran.org' , ' currencytradechat.com' , ' cyytmmlxsthywst.com' ,
47+ ' damaka.com' , ' datacricketuf.ru' , ' deimingames.com' ,
48+ ' dfhhdkdddqjda.start.tl' , ' djerk.info' , ' djpeterblue.com.br' ,
49+ ' dlmsonisfzksioqq.org' , ' domio.pwomega.ru' , ' favdstgssdqdsfg.start.tl' ,
50+ ' favoritopilodjd.com' , ' favqnornkwvkwfxv.biz' , ' fdhjkfhskas.com' ,
51+ ' federalreserve-report.com' , ' federetoktyt.net'
4752 ]
4853
4954 if datastore [ 'DNS_SERVER' ]
@@ -55,11 +60,11 @@ def run
5560 while count < datastore [ 'COUNT' ]
5661
5762 domain . each do |name |
58- query = @res . query ( name , "A" )
63+ query = @res . query ( name , 'A' )
5964 time = Time . new
60- time = time . strftime ( " %Y-%m-%d %H:%M:%S" )
65+ time = time . strftime ( ' %Y-%m-%d %H:%M:%S' )
6166 print_status ( "#{ time } - DNS Query sent for => #{ name } " )
62- if query . answer . length == 0
67+ if query . answer . empty?
6368 print_error ( "#{ time } - #{ name } => No Record Found" )
6469 else
6570 a = query . answer [ 0 ] . to_s . split ( /[\s ,]+/ )
@@ -68,7 +73,7 @@ def run
6873 end
6974 unless count == ( datastore [ 'COUNT' ] - 1 )
7075 time = Time . new
71- time = time . strftime ( " %Y-%m-%d %H:%M:%S" )
76+ time = time . strftime ( ' %Y-%m-%d %H:%M:%S' )
7277 print_status ( "#{ time } - Waiting #{ datastore [ 'DELAY' ] } seconds to query" )
7378 select ( nil , nil , nil , datastore [ 'DELAY' ] )
7479 end
0 commit comments