Comment des hackers ont essayé de me ransomware

Comment des hackers ont essayé de me ransomware

Alexandre P. dans News - Le 30-08-2022

Ce genre de problèmes arrive à tout le monde et je ne serai pas le dernier. Lorsque l'on monte son serveur, il y a souvent des petites failles qu'il faut colmater pour éviter de se faire pirater. C'est ce que j'ai fait, pourtant des hackers sont passés, je vous explique comment il s'y sont pris.

Mon petit serveur

Comme à mon habitude, je travaille sur des projets persos et met en ligne mes tests sur des serveurs VPS. Dernièrement j'ai un de mes serveurs qui s'est fait hacké par un soit disant "rambler" qui me demandait 0.2 BTC soit 4000€ au moment où je vous parle pour récupérer mes données.

Bien entendu, il s'agissait d'un serveur de test donc autant vous dire qu'il peut s'asseoir dessus encore bien longtemps, avant de recevoir quoique ce soit de ma part. Quoiqu'il en soit j'ai tout de même réalisé qu'il y avait un problème quelque part.

Mais où ?

Ce que je vérifie par défaut sur mes serveurs

A chaque serveur que je monte, je prends le soin de mettre en place ufw (le firewall) et un fail2ban (pour empêcher le brut force). Et jusque là tout s'est toujours bien passé. Pour tout vous dire, je désactive toujours la connexion distante par mot de passe sur SSH et j'ai une liste de clé SSH autorisés que je garde précieusement (backupé au cas où).

Jusque là j'ai eu des serveurs qui ont tenu bon. Je vois des logs passer, sur des dizaines de millier d'IP que j'identifie être une tentative de brut force de la part d'un bot net. Mais ils ne sont pas prêt d'y arriver et ça fait 5 ans que ça dure...

Trouver la faille

Le jour où je me suis fait hacké ce serveur, ils ont réussi à accéder à ma base MySQL et ont tout extrait avant de supprimer et de laisser un message avec les instructions pour la récupération. Très bien mais comment ont-ils fait ?

J'étais pourtant persuadé que mon ufw était configuré en deny by default. Ce qui veut dire que le firewall rejette systématiquement tout ce qui rentre, à part ce que j'ai ajouté en liste comme étant autorisé. Par exemple certains ports, comme SSH, certains protocoles comme le Web avec Nginx, etc...

Me serais-je loupé cette fois-ci ? Aurais-je oublié de le faire ?

Je vérifie... Et la réponse est NON !

Je n'ai absolument rien oublié, et tout était bien configuré.

Donc il ne me reste plus qu'à tester quelque chose : une connexion distante vers mon serveur MySQL.

Résultat : Ca passe ! J'arrive à me connecter ! WTF ? 😱

Je suis sans voix, qu'est-ce qui a bien pu se passer pour que ufw ne fasse pas son boulot ?

Je reprends mes investigations, le service défaillant est MySQL.

Il a été déployé comment ? Je suis passé par un Docker.

Certes, j'ai fait l'erreur de laisser un mot de passe bidon, mais jusque là j'étais persuadé d'être derrière un intranet. Bon... Ceci n'est plus un problème.

Mais pour ce qui est de la vraie question : Qu'est-ce que Docker est en train de me faire là ? 🧐

Et ben la réponse est : vraiment n'importe quoi ! Docker crée ses propres règles firewall, donc il bypass ufw !

Pour régler le problème il faut configurer un fichier /etc/docker/daemon.json et ajouter une ligne :

{"iptables":false}

Incroyable ! 🤔

Mais maintenant, j'en rigole, je me dis qu'il vaut mieux que ce soit un serveur de test qui sert à rien. Ca aurait pu être beaucoup plus grave, et ça veut dire que ça l'est pour beaucoup de gens qui ne savent pas que Docker et ufw ne font pas bon ménage, par défaut.

Conclusion

Faîtes bien attention si vous aussi vous utilisez ces services, vous risquez d'avoir bien des surprises dans le futur. Mais cette expérience m'a fait réaliser qu'il vaut mieux ne jamais faire confiance lorsque l'on monte une machine et que l'on teste absolument tout pour vérifié le niveau de sécurité.

Content d'avoir appris quelque chose. 😄

#hacking#sécurité#serveurs#administration

user picture
Alexandre P.

Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.


Nous utilisons des cookies sur ce site pour améliorer votre expérience d'utilisateur.