Closed mgl512 closed 7 years ago
Je n'ai pas vérifié le world.mt du serveur. Mais si Minetest permet d'exécuter les mods qui se trouvent dans un dossier "worldmods" comme cité précedemment sans passer par world.mt, il serait surement bon d'en faire des fichiers appartenants à un compte les rendant impossibles à effacer puisqu'on ne les utilise pas. Comme ça le pirate ne pourrait pas créer un répertoire de même nom et mettre ses mods dedans. En considérant que la casse compte évidemment, qu'il ne puisse créer qu'un dossier au nom unique en minuscules et pas mettre le même en majuscules.
https://forum.minetest.net/viewtopic.php?f=6&t=17601&p=269578
Pas de dégâts très grave sur le serveur. Le pirate était probablement un white hat. La mod security est maintenant activée (https://github.com/Mynetest/Mynetest-server/commit/a81a5e0a3fe023a199f8a5def90671cab2a2c27a et https://github.com/Mynetest/Mynetest-server/commit/5da8028d2885620a1460cda14dbd9a6bf8e802bb)
Salut, merci pour la remonté d'information, on a été touché sur MFF-SB par le même soucis, sauf que le mod security n'est pas activable dans notre cas (à cause d'IRC), mais on fix tout de même
IRC supporte maintenant le mod securiry à condition de le mettre dans les trusted_mods
:smiley:
depuis minetest-mods/irc@0c900db
Getsuga qui était connecter au moment de l'attaque dit avoir eu un message d'erreur lui demandant de telecharger le nouveau client sur minetest.org ! bizzard minetest c'est .net
C'était le message du mod que le pirate a installé sur le serveur, qui kickait tout joueur qui se connectait avec le message "You are using an unofficial client. Use the official client from minetest.org". J'avais remarqué ce message de Getsuga en survolant les logs de l'IRC. Je n'en ai rien fait encore. J'en ai juste déduit que le pirate a installé une première fois son mod puis l'a enlevé le temps que Getsuga se reconnecte. Et surtout que son mod semble s'être chargé sans redémarrage du serveur. Le pirate s'y est peut-etre repris à plusieurs fois sur Mynetest. Mynetest a été attaqué 8 heures avant Axinite d'après Sporax.
Je n'aime pas ce dossier "worldmods" qui semble exécuter tout ce qu'on met dedans à chaud et sans avoir besoin de world.mt pour valider les mods. C'est carrément une aide au piratage. "mod secutity" supprime surement la possibilité d'y mettre des trucs mais je préfèrerais que worldmods soit un dossier root dans lequel on ne peut pas entrer ou un fichier comme il l'est actuellement (mais appartenant à l'utilisateur minetest, l'utilisateur piraté).
Le dossier worldmods
réagit exactement comme le dossier mods
, à la différence qu'il est placé dans le dossier du monde et n'est chargé que pour celui-ci. Il est chargé lors du démarrage du serveur. Effectivement, il n'a pas besoin de world.mt
- ça semblerait absurde. Je l'ai supprimé.
Le pirate n'a pas eu besoin de redémarrage pour register un callback on_joinplayer
. Cela peut très bien se faire à chaud (depuis le GUI de WorldEdit, par exemple). Il a ajouté le dossier worldmods
pour s'assurer que le callback serait rechargé en cas de redémarrage.
Cf mesage de Grosam sur le forum Minetest
Les logs entre la sauvergarde du 5 mai et le 14 mai sont effacés.
Un dossier "worldmods" est apparu sur le serveur. Il contient un dossier qui est vide maintenant, "moddy", mais a pu servir pour l'attaque.
Et un autre là, pas vide:
Les dossiers worldmods que j'ai trouvé sont remplacés par des fichiers textes. J'ai reboot le serveur.
WE_gui serait la faille qui lui a permis d'exécuter du code LUA. Il est maj sur le dépot.