{"id":5032,"date":"2019-06-17T11:00:17","date_gmt":"2019-06-17T09:00:17","guid":{"rendered":"https:\/\/assistance.groupemagiconline.com\/?post_type=ht_kb&p=5032"},"modified":"2020-06-12T11:14:35","modified_gmt":"2020-06-12T09:14:35","slug":"nettoyer-mon-serveur-prive","status":"publish","type":"ht_kb","link":"https:\/\/assistance.groupemagiconline.com\/knowledge-base\/nettoyer-mon-serveur-prive\/","title":{"rendered":"Nettoyer mon serveur priv\u00e9"},"content":{"rendered":"
\n

Chaque\u00a0CMS<\/acronym>\u00a0(joomla, wordpress, drupal, etc.) est une source potentielle d\u2019infection. Il en va de m\u00eame pour les logiciels install\u00e9s sur votre serveurs<\/a>.<\/strong> L\u2019infection de votre serveur peut servir \u00e0 y installer, par exemple, un\u00a0Botnet<\/a><\/strong>, ou encore un logiciel de\u00a0Bitcoin Mining<\/a><\/strong><\/p>\n<\/div>\n

Faire un diagnostic<\/h2>\n
\n

Dans le cas d\u2019un mineur bitcoin, les ressources de votre serveur seront tr\u00e8s sollicit\u00e9es, il est alors assez simple de retrouver le processus incrimin\u00e9 \u00e0 l\u2019aide de la commande\u00a0top<\/code>\u00a0en\u00a0SSH<\/acronym><\/p>\n

Dans le cas d\u2019un botnet, cela devient un peu plus critique. Nous pouvons vous proposer notre aide dans le cadre de\u00a0cr\u00e9dit d\u2019heures d\u2019infog\u00e9rance<\/a><\/strong>\u00a0si vous rencontrez des difficult\u00e9s.<\/p>\n

G\u00e9n\u00e9ralement, la proc\u00e9dure est la suivante; nous commen\u00e7ons par utiliser la commande\u00a0ss<\/code>\u00a0(rempla\u00e7ante de\u00a0netstat<\/code>) :<\/p>\n

ss -lntpaue|grep -i 6667<\/pre>\n

Cette commande permet de d\u00e9terminer quel processus communique via le port 6667 (IRC<\/acronym>)<\/p>\n

tcp    SYN-SENT   0      1          ip.de.votre.serveur:44098     ip.malveillante:6667   timer:(on,30sec,5) users:((\"perl\",7908,4)) uid:10013 ino:34808658 sk:ffff8805c23680c0\r\ntcp    SYN-SENT   0      1          ip.de.votre.serveur:47601   ip.malveillante.2:6667   timer:(on,28sec,5) users:((\"perl\",17998,4)) uid:10013 ino:34808090 sk:ffff881086770f40\r\ntcp    SYN-SENT   0      1          ip.de.votre.serveur:42479     ip.malveillante.3:6667   timer:(on,10sec,4) users:((\"perl\",27298,4)) uid:10013 ino:34810070 sk:ffff88000e852e40\r\ntcp    SYN-SENT   0      1          ip.de.votre.serveur:48434     ip.malveillante.4:6667   timer:(on,10sec,4) users:((\"perl\",27312,4)) uid:10013 ino:34810069 sk:ffff881ee98b8280<\/pre>\n

On sait alors que le PID 7908, un processus perl, a envoy\u00e9 un\u00a0SYN<\/a><\/strong>\u00a0\u00e0 l\u2019IP \u201cip.malveillante\u201d.<\/p>\n<\/div>\n

D\u00e9tecter l\u2019infection<\/h2>\n

Identifier le(s) script(s)<\/h4>\n
\n

Que le probl\u00e8me rel\u00e8ve d\u2019un mineur bitcoin, d\u2019un botnet d\u2019un script de spam ou quoi que ce soit d\u2019autre, g\u00e9n\u00e9ralement la d\u00e9marche est la m\u00eame.<\/p>\n

Une fois que l\u2019on dispose du PID du script incrimin\u00e9, il suffit d\u2019appliquer la commande\u00a0lsof<\/code>\u00a0utilisant le param\u00e8tre\u00a0-p<\/code>\u00a0afin d\u2019identifier les fichiers ouverts par le noyau de votre serveur, via le processus identifi\u00e9.<\/p>\n

root@monserveur:\/# lsof -p 7908\r\nCOMMAND  PID     USER   FD   TYPE     DEVICE SIZE\/OFF      NODE NAME\r\nperl    7908 www-data  cwd    DIR      0,147     4096  65774431 \/var\/www\/vhosts\/monserveur.ispfr.net\/www\/images\/partenaires\r\nperl    7908 www-data  rtd    DIR      0,147     4096  64882566 \/\r\nperl    7908 www-data  txt    REG      0,147     6928  64907675 \/usr\/bin\/perl\r\nperl    7908 www-data  mem    REG      0,147    80712  66365480 \/lib\/libresolv-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147    22928  66365674 \/lib\/libnss_dns-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147    51728  66365701 \/lib\/libnss_files-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147    43552  66365618 \/lib\/libnss_nis-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147    89064  66365442 \/lib\/libnsl-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147    31616  66365673 \/lib\/libnss_compat-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147    17640  42543840 \/usr\/lib\/perl\/5.10.1\/auto\/Digest\/MD5\/MD5.so\r\nperl    7908 www-data  mem    REG      0,147    13992  42543857 \/usr\/lib\/perl\/5.10.1\/auto\/MIME\/Base64\/Base64.so\r\nperl    7908 www-data  mem    REG      0,147    25976  36315140 \/usr\/lib\/perl\/5.10.1\/auto\/Socket\/Socket.so\r\nperl    7908 www-data  mem    REG      0,147    86072  42550019 \/usr\/lib\/perl\/5.10.1\/auto\/Storable\/Storable.so\r\nperl    7908 www-data  mem    REG      0,147    18120  36241410 \/usr\/lib\/perl\/5.10.1\/auto\/Fcntl\/Fcntl.so\r\nperl    7908 www-data  mem    REG      0,147    19920  36282369 \/usr\/lib\/perl\/5.10.1\/auto\/IO\/IO.so\r\nperl    7908 www-data  mem    REG      0,147    35104  66365563 \/lib\/libcrypt-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147  1437064  66365693 \/lib\/libc-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147   131258  66365502 \/lib\/libpthread-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147   530736  66365430 \/lib\/libm-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147    14696  66365682 \/lib\/libdl-2.11.3.so\r\nperl    7908 www-data  mem    REG      0,147  1494792  65005681 \/usr\/lib\/libperl.so.5.10.1\r\nperl    7908 www-data  mem    REG      0,147   128744  66365635 \/lib\/ld-2.11.3.so\r\nperl    7908 www-data    0r   CHR        1,3      0t0  64890531 \/dev\/null\r\nperl    7908 www-data    1w  FIFO        0,8      0t0 880179538 pipe\r\nperl    7908 www-data    2w  FIFO        0,8      0t0 880179538 pipe\r\nperl    7908 www-data    3u  IPv4 2691366378      0t0       TCP monserveur.ispfr.net:41386->87.250.73.120:ircd (SYN_SENT)\r\nperl    7908 www-data   54r  FIFO        0,8      0t0 875280500 pipe\r\nperl    7908 www-data   55w  FIFO        0,8      0t0 875280500 pipe\r\nperl    7908 www-data   56r  FIFO        0,8      0t0 875280501 pipe\r\nperl    7908 www-data   57w  FIFO        0,8      0t0 875280501 pipe<\/pre>\n

On voit donc que la premi\u00e8re ligne identifie le dossier incrimin\u00e9 :\u00a0perl 7908 www-data cwd DIR 0,147 4096 65774431 \/var\/www\/vhosts\/monserveur.ispfr.net\/www\/images\/partenaires<\/code><\/p>\n

Le r\u00e9pertoire\u00a0\/var\/www\/vhosts\/monserveur.ispfr.net\/www\/images\/partenaires<\/code>\u00a0contient donc le fichier incrimin\u00e9.<\/p>\n

On ouvre donc dossier, afin de savoir ce qu\u2019il contient :<\/p>\n

root@monserveur:\/var\/www\/vhosts\/monserveur.ispfr.net\/www\/images\/partenaires# ls\r\nDeNia.phtml  image55.jpg  jrtv.jpg  d.jpg index.html   xml.phtml<\/pre>\n

Si l\u2019on ouvre le fichier\u00a0DeNia.phtml<\/code><\/p>\n

?php\r\n\/*******************************************\/\r\n\/* c99 injektor v.9 (C) 2011               *\/\r\n\/* Re-coded and modified By DeNia          *\/\r\n\/* #Denia@irc.allnetwork.org               *\/\r\n\/*******************************************\/<\/pre>\n

On peut trouver alors\u00a0quelques traces sur Internet<\/a><\/strong>\u00a0de l\u2019origine de l\u2019attaque. On peut, d\u00e8s lors, supposer que l\u2019ensemble des sites sur votre serveur qui se trouvent sur le m\u00eame\u00a0CMS<\/acronym>\u00a0sont tous infect\u00e9s de la m\u00eame fa\u00e7on.<\/p>\n

Les fichiers au format\u00a0.jpg<\/code>\u00a0pr\u00e9sents dans ce dossiers ne sont donc pas forc\u00e9ment tous l\u00e9gitimes; si l\u2019on ouvre le premier de la liste :<\/p>\n

# head image55.jpg \r\n#!\/usr\/bin\/perl\r\nuse HTTP::Request;\r\nuse LWP::UserAgent;\r\nuse IO::Socket;\r\nuse IO::Select;\r\nuse Socket;\r\nuse MIME::Base64;\r\nuse File::Basename;\r\nuse URI::Escape; \r\nuse Digest::MD5 qw(md5_hex);<\/pre>\n

On peut voir qu\u2019il s\u2019agit l\u00e0 d\u2019un script malveillant. Idem pour l\u2019image suivante :<\/p>\n

# head d.jpg\r\n#!\/usr\/bin\/perl\r\n\r\nuse HTTP::Request;\r\nuse HTTP::Request::Common;\r\nuse HTTP::Request::Common qw(POST);\r\nuse LWP::Simple;\r\nuse LWP 5.64;\r\nuse LWP::UserAgent;\r\nuse Socket;\r\nuse IO::Socket;<\/pre>\n<\/div>\n

\u00c9liminer le probl\u00e8me<\/h4>\n
\n

Il convient, une fois que l\u2019on est s\u00fbr d\u2019avoir identifi\u00e9 les scripts malveillants, de couper court \u00e0 la menace.<\/p>\n

Pour cela, un moyen simple et radical fonctionne tr\u00e8s bien :<\/p>\n

cd \/le\/chemin\/de\/mon\/dossier\/contenant\/les\/fichiers\/infect\u00e9s\/\r\nchmod -R 0 *<\/pre>\n

Puis on coupe court \u00e0 l\u2019activit\u00e9 du botnet :<\/p>\n

kill -9 7908<\/pre>\n

(7908<\/strong>\u00a0correspondant bien s\u00fbr au PID du script)<\/p>\n<\/div>\n

Mise \u00e0 jour<\/h4>\n
\n

Les\u00a0CMS<\/acronym>\u00a0ne font pas exception au besoin de mise \u00e0 jour. Il est donc\u00a0primordial<\/strong>\u00a0de s\u2019occuper de la mise \u00e0 jour de vos\u00a0CMS<\/acronym>\u00a0de la mani\u00e8re la plus suivie possible.<\/p>\n

Nous vous invitons \u00e0 vous tourner vers votre administrateur syst\u00e8me au besoin, dans le cas o\u00f9 cette documentation ne vous serait pas suffisante.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

Chaque\u00a0CMS\u00a0(joomla, wordpress, drupal, etc.) est une source potentielle d\u2019infection. Il en va de m\u00eame pour les logiciels install\u00e9s sur votre serveurs. L\u2019infection de votre serveur peut servir \u00e0 y installer, par exemple, un\u00a0Botnet, ou encore un logiciel de\u00a0Bitcoin Mining Faire un diagnostic Dans le cas d\u2019un mineur bitcoin, les ressources…<\/p>\n","protected":false},"author":52,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[591,590],"ht-kb-tag":[667],"class_list":["post-5032","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-serveur-dedie-physique","ht_kb_category-serveur-prive-virtuel","ht_kb_tag-serveur-prive"],"_links":{"self":[{"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/ht-kb\/5032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/comments?post=5032"}],"version-history":[{"count":0,"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/ht-kb\/5032\/revisions"}],"wp:attachment":[{"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/media?parent=5032"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/ht-kb-category?post=5032"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/assistance.groupemagiconline.com\/wp-json\/wp\/v2\/ht-kb-tag?post=5032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}