Comment découvrir les processus Linux cachés avec Unhide



Essayez Notre Instrument Pour Éliminer Les Problèmes

Bien que GNU / Linux soit un système d'exploitation extrêmement sécurisé, de nombreuses personnes sont attirées par un faux sentiment de sécurité. Ils ont la fausse idée que rien ne peut jamais arriver parce qu’ils travaillent dans un environnement sécurisé. Il est vrai que très peu de logiciels malveillants existent pour l’environnement Linux, mais il est encore très possible qu’une installation Linux soit finalement compromise. Si rien d'autre, considérer la possibilité de rootkits et d'autres attaques similaires est une partie importante de l'administration système. Un rootkit fait référence à un ensemble d’outils dont les utilisateurs tiers ont accédé à un système informatique auquel ils n’ont pas accès à juste titre. Ce kit peut ensuite être utilisé pour modifier des fichiers à l'insu des utilisateurs légitimes. Le package unhide fournit la technologie nécessaire pour trouver rapidement de tels logiciels compromis.



Unhide est dans les référentiels de la plupart des principales distributions Linux. L'utilisation d'une commande de gestionnaire de paquets telle que sudo apt-get install unhide suffit à le forcer à s'installer sur les versions Debian et Ubuntu. Les serveurs avec accès GUI peuvent utiliser le gestionnaire de packages Synaptic. Les distributions Fedora et Arch ont des versions pré-construites de unhide pour leurs propres systèmes de gestion de paquets. Une fois unhide installé, les administrateurs système devraient pouvoir l'utiliser de différentes manières.



Méthode 1: ID de processus Bruteforcing

La technique la plus basique consiste à forcer brutalement chaque ID de processus pour s'assurer qu'aucun d'entre eux n'a été caché à l'utilisateur. Sauf si vous disposez d'un accès root, tapez sudo unhide brute -d à l'invite CLI. L'option d double le test pour réduire le nombre de faux positifs signalés.



La sortie est extrêmement basique. Après un message de copyright, unhide expliquera les vérifications qu'il effectue. Il y aura une ligne indiquant:

[*] Démarrage du scan en utilisant la force brute contre PIDS avec fork ()

et un autre déclarant:



[*] Démarrage de la numérisation en utilisant la force brute contre PIDS avec les fonctions pthread

S'il n'y a pas d'autre sortie, il n'y a pas lieu de s'inquiéter. Si le sous-programme brut du programme trouve quelque chose, il signale quelque chose comme:

PID CACHÉ trouvé: 0000

Les quatre zéros seraient remplacés par un nombre valide. S'il se contente de lire qu'il s'agit d'un processus transitoire, cela pourrait être un faux positif. N'hésitez pas à exécuter le test plusieurs fois jusqu'à ce qu'il fournisse un résultat net. S'il y a plus d'informations, cela peut justifier une vérification de suivi. Si vous avez besoin d'un journal, vous pouvez utiliser le commutateur -f pour créer un fichier journal dans le répertoire actuel. Les versions plus récentes du programme appellent ce fichier unhide-linux.log, et il propose une sortie en texte brut.

Méthode 2: Comparaison de / proc et / bin / ps

Vous pouvez à la place demander à unhide de comparer les listes de processus / bin / ps et / proc pour vous assurer que ces deux listes séparées dans l'arborescence de fichiers Unix correspondent. S'il y a quelque chose qui ne va pas, le programme signale le PID inhabituel. Les règles Unix stipulent que les processus en cours d'exécution doivent présenter des numéros d'identification dans ces deux listes. Tapez sudo unhide proc -v pour démarrer le test. Tacking sur v mettra le programme en mode verbeux.

Cette méthode renverra une invite indiquant:

[*] Recherche de processus cachés via l'analyse / proc stat

Si quelque chose d'inhabituel se produit, il apparaîtra après cette ligne de texte.

Méthode 3: Combinaison des techniques Proc et Procfs

Si besoin est, vous pouvez comparer les listes d'arborescence de fichiers Unix / bin / ps et / proc tout en comparant également toutes les informations de la liste / bin / ps avec les entrées procfs virtuelles. Cela vérifie à la fois les règles d'arborescence de fichiers Unix et les données procfs. Tapez sudo unhide procall -v pour effectuer ce test, ce qui peut prendre un certain temps car il doit analyser toutes les statistiques / proc ainsi que plusieurs autres tests. C’est un excellent moyen de s’assurer que tout sur un serveur est copasétique.

2016-11-02_222832

Méthode 4: Comparaison des résultats procfs avec / bin / ps

Les tests précédents sont trop compliqués pour la plupart des applications, mais vous pouvez exécuter les vérifications du système de fichiers proc indépendamment pour une certaine opportunité. Tapez sudo unhide procfs -m, qui effectuera ces vérifications ainsi que plusieurs autres vérifications fournies en cliquant sur -m.

C'est encore un test assez compliqué, et peut prendre un moment. Il renvoie trois lignes de sortie distinctes:

2016-11-02_223011

Gardez à l'esprit que vous pouvez créer un journal complet avec l'un de ces tests en ajoutant -f à la commande.

Méthode 5: exécution d'une analyse rapide

Si vous avez simplement besoin d'exécuter une analyse rapide sans vous soucier des vérifications approfondies, tapez simplement sudo unhide quick, qui devrait s'exécuter aussi rapidement que son nom l'indique. Cette technique analyse les listes de processus ainsi que le système de fichiers proc. Il exécute également une vérification qui consiste à comparer les informations collectées à partir de / bin / ps avec les informations fournies par les appels aux ressources système. Cela fournit une seule ligne de sortie, mais augmente malheureusement le risque de faux positifs. Il est utile de revérifier après avoir déjà examiné les résultats précédents.

La sortie est la suivante:

[*] Recherche de processus cachés par comparaison des résultats des appels système, proc, dir et ps

Vous pouvez voir plusieurs processus transitoires se produire après l'exécution de cette analyse.

Méthode 6: exécution d'une analyse inversée

Une excellente technique pour détecter les rootkits implique la vérification de tous les threads ps. Si vous exécutez la commande ps à une invite CLI, vous pouvez voir une liste de commandes exécutées à partir d'un terminal. L'analyse inversée vérifie que chacun des threads de processeur que les images ps présentent des appels système valides et peut être recherché dans la liste procfs. C’est un excellent moyen de s’assurer qu’un rootkit n’a pas tué quelque chose. Tapez simplement sudo unhide reverse pour exécuter cette vérification. Il devrait fonctionner extrêmement rapidement. Lorsqu'il s'exécute, le programme doit vous avertir qu'il recherche de faux processus.

Méthode 7: Comparaison de / bin / ps avec les appels système

Enfin, la vérification la plus complète consiste à comparer toutes les informations de la liste / bin / ps avec les informations provenant d'appels système valides. Tapez sudo unhide sys pour démarrer ce test. Cela prendra probablement plus de temps que les autres. Puisqu'il fournit autant de lignes de sortie différentes, vous pouvez utiliser la commande -f log-to-file pour faciliter la lecture de tout ce qu'il a trouvé.

4 minutes de lecture