• # A noter

    Posté par  . Évalué à -2.

    Comme il fouille dans les log apache, il faut avoir un apache qui tourne sur la machine :)
  • # Detection avec snort :

    Posté par  . Évalué à 7.

    Snort est un outil de surveillance d'un réseau.
    La page de snort : http://www.snort.org(...)
    Les signatures à utiliser pour detecter Nimda avec Snort.
    http://www.snort.org/article.html?id=31(...)

    Mais snort n'effectue pas la requète nslookup sur les ip loguées comme dans le script de Gilles Cuesta.
  • # Une alternative

    Posté par  (site web personnel) . Évalué à 7.

    Un petit script en Perl qui fait la meme chose:


    use Socket;print "The following lamers were detected on your system: \n";while($line=<>) {if($line=~/(root.exe)|(cmd.exe)/) { @lame=split(/\s/,$line);print $lame[3]." ".$lame[0]." ("; @lamename=gethostbyaddr(inet_aton($lame[0]),AF_INET);print $lamename[0].")]\n"; } }


    Il scanne un fichier log Apache donné en entrée standard
    • [^] # Re: Une alternative

      Posté par  . Évalué à 2.

      Cela suppose évidemment que le format du fichier de logs soit standard (CLF il me semble), ce qui n'est pas forcément le cas.
      Merci quand même pour le petit scrit (Perl rulez :)
  • # sauver de la BP : bloquer nimda par ipchains

    Posté par  . Évalué à 3.

    ce script peut tourner en permanence, il ne perturbe pas logrotate. Lancer avec "nohup script"


    ----8<-------------8<----------
    #!/bin/sh

    # Repertoire des logs Apache
    cd /var/log/httpd

    # Augmenter le -n au besoin
    tail -n10000 --follow=name access_log | \
    awk '
    # on matche Nimda
    /scripts\/root.exe/ {
    old=0
    while(getline line < "nimda.txt"){if($1 ~ line) old=1}
    if(old==0){
    # On trace la becane verolee
    print $1 >> "nimda.txt"
    # Goodbye
    system("/sbin/ipchains -A input -j DENY -i eth0 -p tcp -s " $1 "
    --destination-port 80")
    }
    close("nimda.txt")
    }
    # on matche CodeRed
    /default.ida/ {
    old=0
    while(getline line < "codered.txt"){if($1 ~ line) old=1}
    if(old==0){
    # on trace la becane verolee
    print $1 >> "codered.txt"
    # Goodbye
    system("/sbin/ipchains -A input -j DENY -i eth0 -p tcp -s " $1 "
    --destination-port 80")
    }
    close("codered.txt")
    }' - &
    -------8<----------8<------------

    Sauver le fichier et comparer rend plus sur le fait de lancer plusieurs fois le script. Sinon ca n'est pas utile.


    traduction d'un post de Raimo Koski (www.raimokoski.com) sur comp.os.linux.security

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.