69 votes

Un ancien informaticien a probablement laissé des portes dérobées. Comment puis-je les éliminer ?

J'ai commencé à travailler pour une entreprise qui a licencié un ancien employé du service informatique pour avoir divulgué des données.

Je ne peux que dire les choses suivantes :

Nous utilisons une base de données Firebird avec une application écrite par une autre société, Proxmox, pour la virtualisation de Windows Server 2008 R2, SQL Server, un routeur Mikrotik central et quelques autres appareils Mikrotik.

Je ne suis pas sûr à 100%, mais existe-t-il un moyen rapide de vérifier s'il reste des backdoors, sans interrompre les processus internes et sans tout reformater ?

Le type précédent était vraiment bon, ayant écrit des logiciels en C++ et C#. Je sais aussi qu'il a fait un peu d'assembleur et a craqué quelques programmes en ollydbg.

0 votes

Les commentaires ne sont pas destinés à une discussion approfondie ; cette conversation a été déplacé vers le chat .

109voto

user9517 Points 113163

La seule façon d'en être absolument certain est de nettoyer chaque système et de le réinstaller à partir de zéro. Vous devrez également vérifier tous les logiciels et configurations générés localement pour vous assurer qu'ils ne contiennent pas de portes dérobées. Il s'agit d'une tâche non triviale qui a un coût non trivial.

En dehors de cela, il n'y a pas grand-chose que vous puissiez faire.

Évidemment, pendant que vous décidez de ce qu'il faut faire

  • Vérifier la validité de toutes les règles du pare-feu
  • Vérifier la validité de tous les comptes
  • Vérifier la validité de tous les fichiers sudoers
  • Changez tous les mots de passe et les clés

mais cela ne fait qu'effleurer la surface.

8 votes

En effet. Un audit complet du code est la uniquement Pour être sûr, il faut comprendre ce que fait chaque ligne de code. Il est trivial d'ajouter une URL "spéciale" qui ouvre un Shell, et de la cacher dans une logique d'application obscure. Aucune analyse, aucun redémarrage ou vérification des fichiers de configuration ne pourra détecter, et encore moins corriger, cela.

32 votes

Note : "réinstaller à partir de zéro" signifie VRAIMENT à partir de zéro. Obtenez une nouvelle machine qu'il n'a pas pu toucher et utilisez-la pour télécharger de nouveaux fichiers d'installation pour tous les systèmes d'exploitation et logiciels que vous utilisez, depuis le site officiel, de préférence via une connexion sécurisée et depuis un réseau entièrement différent. Si vous ne trouvez pas les bons installateurs en ligne, utilisez une somme de contrôle sur tous les fichiers existants avant de les utiliser.

27 votes

Compte tenu de tous les accès physiques que le gars aurait pu avoir, vous pourriez avoir besoin de vérifier la présence de matériel inhabituel ou inattendu.

41voto

peterh Points 4884

Tout d'abord, l'objectif le plus important d'un administrateur système licencié est de faire le ménage dans son passé, en particulier s'il s'agit d'un départ en mauvaise posture. Si une attaque sur son ancien système devait se produire, il n'aurait rien à gagner (surtout pas son ancien emploi), mais il pourrait perdre beaucoup . J'ai été confronté à des craintes similaires à plusieurs reprises, mais à mon avis, elles sont largement infondées. Je pense qu'il est beaucoup plus probable que si vous lui posez quelques questions, il sera très gentil et vous aidera (ce que vous devriez ensuite mentionner à votre patron).


Considérons maintenant le cas très improbable, qu'il veuille vraiment faire quelque chose de mal.

Faites une archive de l'ensemble de votre réseau dans un endroit - pour lui - inaccessible (derrière un pare-feu hors de sa responsabilité, disque dur dans une armoire fermée à clé, etc.)

Dès que vous aurez fait cette sauvegarde, il ne pourra plus couvrir ses traces. En cas d'attaque malveillante, elle servira de preuve.


Vous ne pouvez jamais être sûr à 100% (sauf dans le cas d'une réinstallation de l'ensemble du réseau). Vous pouvez passer par une liste de contrôle, mais vous ne pouvez jamais être sûr d'avoir tout vérifié.

Même dans le cas où vous trouvez un trou, vous ne pouvez pas prouver qu'il a été placé là intentionnellement. Remarque, le même problème existe pour les développeurs de logiciels. Le mauvais travail n'est pas une infraction pénale, et vous ne pouvez pas prouver qu'il a "oublié", par exemple, de changer le mot de passe par défaut de l'administrateur de la base de données, intentionnellement. Ou que les utilisateurs, dont il a défini le mot de passe, se sont vus accorder "accidentellement" les privilèges nécessaires pour se connecter à vos bases de données top secrètes.


Dans la plupart des cas, la partie la plus importante de votre système n'est pas vos OS, mais les données qui y sont gérées. C'est d'autant plus vrai, si ces données sont des données privées et la propriété de vos clients. Il aurait pu les voler bien avant son dernier jour de travail, les crypter et les sauvegarder dans des endroits connus de lui seul. Veillez donc à vérifier également les traces qui indiquent qu'il a fait des copies de vos données avant de partir. Notez toutefois que s'il l'a fait "correctement", vous ne trouverez rien.

0 votes

J'aime votre réponse, et j'ai essayé de la rendre plus naturelle. N'hésitez pas à revenir en arrière si vous n'êtes pas d'accord avec mes modifications.

15voto

Rob Moir Points 31534

@JonasWielicki a comparé cette question à l'une de nos questions canoniques sur la sécurité ( Comment faire face à un serveur compromis ? ). Je maintiens ma réponse à que mais il y a une différence importante.

Dans cette question, le serveur était connu sous le nom de à compromettre. D'après ce que j'ai compris este question qui n'a pas été établie dans cette affaire. En tant que tel, je ne suis pas sûr que nous devions sortir le lance-flammes pour le moment.

Les gens quittent souvent une organisation sans que rien de mal ne se produise, même s'ils sont partis dans de mauvaises conditions. Le fait d'être simplement bon en programmation, ce qui est la seule "preuve" que vous nous avez montrée dans la question OP, ne signifie pas que quelqu'un est un pirate en soi, ni qu'il est susceptible de vous attaquer maintenant qu'il est parti.

Si vous êtes vraiment inquiet, je vous suggère d'engager une société de sécurité externe pour auditer votre système. Cela permettra non seulement de découvrir les petites surprises laissées par l'ancien administrateur système, mais aussi de disposer d'une bonne base de référence pour tous vos problèmes de sécurité à venir.

2 votes

Notez que peterh a proposé Comment rechercher les backdoors de l'informaticien précédent ? comme un doublon possible, ce qui, selon moi, correspondrait bien mieux que Comment faire face à un serveur compromis ?

0 votes

@MichaelKjörling Je suis d'accord pour dire que ça ferait un meilleur double. Je pense que la question est suffisamment différente de celle de la "recherche de backdoors" pour survivre même si les réponses sont similaires.

1 votes

Je suis en fait assez indécis sur le fait que les deux couvrent le même terrain. Trouver les portes dérobées est une première étape évidente avant de pouvoir les éliminer ; une fois trouvées, les étapes spécifiques seraient quelque peu différentes selon le type de porte dérobée.

12voto

Frank Points 310

La seule façon de s'assurer qu'aucune porte dérobée n'existe est de détruire le système comme vous l'avez dit.

Si ce n'est pas tout à fait possible,

  1. Considérez une configuration de base sécurisée et l'analyse de la configuration actuelle s'en écarte.
  2. Vérifier tous les programmes suid.
  3. Analysez tous les processus en cours.
  4. Effectuez un scan des ports sur le système pour identifier les ports et services ouverts.
  5. Surveillez régulièrement toutes les connexions sortantes et entrantes et recherchez les connexions indésirables.

10voto

Dylan Martin Points 538

Vous allez devoir décider à quel point vous voulez être sûr. Le rapport coût-bénéfice ne sera jamais bon pour une attaque nucléaire depuis l'orbite.

Les gestionnaires exigent-ils des garanties ou essayez-vous simplement de procéder à un examen raisonnable des systèmes dont vous avez hérité ?

S'il s'agit de managers, vous devez maintenant découvrir s'ils sont raisonnables. Sont-ils prêts à se contenter de "presque sûrs" ? Peut-être pouvez-vous suivre le gars licencié jusqu'à son nouveau travail !

Si vous cherchez à examiner vos propres systèmes, je commencerais par mettre en place un système de surveillance du réseau, comme snort. Recherchez le trafic inattendu, comme " pourquoi le système parle-t-il à ce serveur en Russie tous les jours ?" ou "pourquoi des gens font-ils du IRC sur mon serveur web ?". (cela m'est arrivé).

Je pense que la suggestion de @peterh de créer une grande archive est une très bonne idée. Je pense également que sa suggestion concernant l'aide apportée par le gars licencié est tout à fait réaliste. Les problèmes de ce genre se révèlent être une gestion stupide dans 90 % des cas.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X