Que sont les rootkits et comment les détecter

Que sont les rootkits et comment les détecter
Les rootkits sont l'une des pires choses qui puissent arriver à un système et ils sont l'une des attaques les plus dangereuses, plus dangereuses que les logiciels malveillants et les virus, à la fois dans les dégâts qu'ils causent au système et à la difficulté de trouver et de les détecter. RootKits peut rester sur votre système pendant longtemps sans que l'utilisateur ne s'en remarque et peut causer de graves dommages au système.

Le mot «rootkit» vient à l'origine du monde des systèmes «Unix», où la racine est l'utilisateur avec les privilèges les plus d'accès au système '. Tandis que le kit de mots définit le kit contenant un ensemble d'outils malveillants comme les keyloggers, les voleurs d'identification bancaires, les voleurs de mot de passe, les désactivateurs antivirus ou les robots pour l'attaque DDOS, etc. En mettant les deux ensemble, vous obtenez rootkit.

Ils sont conçus de telle manière qu'ils restent cachés et font des choses malveillantes comme intercepter le trafic Internet, le vol de cartes de crédit et les informations bancaires en ligne. Rootkits donnent aux cybercriminels la possibilité de contrôler votre système informatique avec un accès administratif complet, il aide également l'attaquant à surveiller vos coups de clés et à désactiver votre logiciel antivirus, ce qui facilite le vol de vos informations secrètes.

Comment les rootkits se retrouvent-ils dans le système?

Rootkits sont, selon leur type, incapables de se propager par eux-mêmes. Par conséquent, ils sont répartis par l'attaquant par des tactiques que l'utilisateur n'est pas en mesure de remarquer que quelque chose ne va pas avec le système. Généralement en les cachant dans des logiciels sournois qui semblent légitimes et pourraient être fonctionnels. Quoi qu'il en soit, lorsque vous attribuez le logiciel à être introduit sur votre cadre, le rootkit se faufile discrètement à l'intérieur où il pourrait se coucher jusqu'à ce que l'attaquant / pirate l'actionne. Rootkits sont très difficiles à identifier car ils peuvent se cacher aux utilisateurs, aux administrateurs et à la plupart des produits antivirus. Fondamentalement, en cas de compromisation d'un système par rootkit, la portée du mouvement malin est très élevée.

Ingénierie sociale:

Le pirate essaie d'obtenir un accès racine / administrateur en exploitant des vulnérabilités connues ou en utilisant l'ingénierie sociale. Les cybercriminels utilisent l'ingénierie sociale pour faire le travail. Ils essaient d'installer rootkits sur le système de l'utilisateur en les envoyant dans un lien de phishing, des escroqueries par e-mail, vous rediriger vers des sites Web malveillants, patcher les rootkits dans un logiciel légitime qui semble normal à l'œil nu. Il est important de savoir que les rootkits ne veulent pas toujours que l'utilisateur exécute un exécutable malveillant pour se faufiler. Parfois, tout ce qu'ils veulent, c'est qu'un utilisateur ouvre un PDF ou un document Word pour se faufiler.

Types de rootkits:

Pour comprendre correctement les types de rootkits, nous devons d'abord imaginer le système comme un cercle d'anneaux concentriques.

  • Au centre, il y a un noyau connu sous le nom de Ring Zero. Le noyau a le plus haut niveau de privilèges sur un système informatique. Il a accès à toutes les informations et peut fonctionner sur le système comme il le souhaite.
  • L'anneau 1 et l'anneau 2 sont réservés aux processus moins privilégiés. Si cet anneau échoue, les seuls processus qui vont être affectés sont ceux qui dépendent de l'anneau 3.
  • L'anneau 3 est l'endroit où réside l'utilisateur. C'est le mode utilisateur ayant une hiérarchie d'accès strict sur les privilèges.

Surtout, une procédure exécutée dans un anneau privilégié plus élevé peut faire baisser ses avantages et s'exécuter dans un anneau externe, mais cela ne peut pas fonctionner à l'inverse sans l'assentiment sans équivoque des instruments de sécurité du cadre de travail. Dans les situations où ces composants de sécurité peuvent rester à l'écart, une vulnérabilité d'escalade des privilèges existerait. Maintenant, il existe 2 types de rootkits les plus importants:

ROOTKITS DE MODE USER:

Rootkits de cette catégorie fonctionne à faible niveau de privilégie ou d'utilisateur dans le système d'exploitation. Comme exprimé avant que les rootkits amènent les pirates à garder leur autorité sur le système en donnant un canal de passage secondaire, le mode utilisateur Rootkit modifiera en général les applications significatives au niveau de l'utilisateur de cette manière se cachant tout comme donnant un accès à la porte dérobée. Il existe différents rootkits de ce type pour les Windows et Linux.

Rootkits en mode utilisateur Linux:

De nombreux rootkits en mode utilisateur Linux sont disponibles de nos jours par exemple:

  • Pour obtenir un accès à distance à la machine de la cible, les services de connexion comme «Connexion», «SSHD» sont tous modifiés par le Rootkit pour inclure une porte dérobée. Les attaquants peuvent avoir accès à la machine de la cible simplement en arrivant à une porte dérobée. N'oubliez pas que le pirate a déjà exploité la machine, il vient d'ajouter une porte dérobée pour revenir une autre fois.
  • Pour effectuer l'attaque d'escalade des privilèges. L'attaquant modifie des commandes comme «Su», Sudo telle que lorsqu'il utilise ces commandes à travers une porte dérobée, il obtiendra un accès au niveau de la racine aux services.
  • Pour cacher leur présence lors d'une attaque par
  • Cachette de processus: Diverses commandes qui montrent des données sur les procédures exécutées sur la machine «PS», «PiDOF», «TOP» sont modifiées dans le but que la procédure de l'assaillant n'est pas enregistrée parmi d'autres procédures en cours d'exécution. De plus, la commande `` Kill All '' 'est généralement modifiée avec l'objectif que le processus du pirate ne peut pas être tué, et l'ordre de «crontab» est modifié de sorte que les processus malveillants s'exécutent à un moment précis sans changer dans la configuration de Crontab.
  • File cachette: cachent leur présence à partir de commandes comme «LS», «Find». En outre, se cacher de la commande «du» qui montre l'utilisation du disque d'un processus géré par un attaquant.
  • Cachette d'événement: se cacher des journaux système en modifiant «syslog.D 'fichier afin qu'ils ne puissent pas connecter ces fichiers.
  • Cachette de réseau: se cacher à partir de commandes comme «netstat», «iftop» qui montre des connexions actives. Des commandes comme «ifconfig» sont également modifiées pour éradiquer leur présence.

Rootkits en mode noyau:

Avant de passer à Rootkits en mode noyau, nous verrons d'abord comment fonctionne le noyau, comment le noyau gère les demandes. Le noyau permet aux applications d'exécuter à l'aide de ressources matérielles. Comme nous l'avons discuté du concept des anneaux, les applications Ring 3 ne peuvent pas accéder à une bague plus sécurisée ou privilégiée I.E Ring 0, ils dépendent des appels système qu'ils traitent à l'aide de bibliothèques de sous-systèmes. Donc, le flux est quelque chose comme ceci:

Mode utilisateur >> bibliothèques système >> Tableau d'appel système >> noyau

Maintenant, ce qu'un attaquant fera, c'est qu'il modifiera la table d'appel système en utilisant INSMOD puis cartographier les instructions malveillantes. Ensuite, il insérera le code du noyau et le flux malveillants comme suit:

Mode utilisateur >> Bibliothèques système >> Tableau d'appel système modifié >>
Code du noyau malveillant

Ce que nous verrons maintenant, c'est comment cette table d'appel système est modifiée et comment le code malveillant peut être inséré.

  • Modules du noyau: le noyau Linux est conçu de manière à charger un module de noyau externe pour prendre en charge ses fonctionnalités et insérer un code au niveau du noyau. Cette option donne aux attaquants un grand luxe pour injecter directement du code malveillant dans le noyau.
  • Modification du fichier du noyau: lorsque le noyau Linux n'est pas configuré pour charger des modules externes, l'altération du fichier du noyau peut être effectuée en mémoire ou disque dur.
  • Le fichier du noyau tenant l'image de mémoire sur le disque dur est / dev / kmem. Le code en direct sur le noyau existe également sur ce fichier. Il ne nécessite même pas de redémarrage du système.
  • Si la mémoire ne peut pas être modifiée, le fichier du noyau sur le disque dur peut être. Le fichier qui maintient le noyau sur le disque dur est VMLINUZ. Ce fichier ne peut être lu et modifié que par root. N'oubliez pas que pour un nouveau code à exécuter, un redémarrage du système est requis dans ce cas. La modification du fichier du noyau n'a pas besoin de passer de l'anneau 3 à l'anneau 0. Il a juste besoin de permissions de racine.

Un excellent exemple de rootkits de noyau est SmartService Rootkit. Il empêche les utilisateurs de lancer n'importe quel logiciel antivirus et sert donc de garde du corps à tous les autres logiciels malveillants et virus. C'était un célèbre rootkit dévastateur jusqu'à la mi-2017.

Chkrootkit:

Ces types de logiciels malveillants peuvent rester sur votre système pendant longtemps sans que l'utilisateur ne s'en remarque et peut causer de graves dommages car une fois le rootkit détecté, il n'y a pas d'autre moyen que de réinstaller l'ensemble du système et parfois il peut même provoquer une panne de matériel.

Heureusement, il existe certains outils qui aident à détecter une variété de rootkits connus sur des systèmes Linux comme Lynis, Clam AV, LMD (Linux Malware Detect). Vous pouvez vérifier votre système pour les rootkits connus en utilisant les commandes ci-dessous:

Tout d'abord, nous devons installer chkrootkit en utilisant la commande:

ubuntu @ ubuntu: ~ $ sudo apt installer chkrootkit

Cela installera l'outil Chkrootkit et vous pouvez l'utiliser pour vérifier les rootkits en utilisant:

ubuntu @ ubuntu: ~ $ sudo chkrootkit
Rootdir est '/'
Vérifier «AMD»… pas trouvé
Vérifier «CHSH»… non infecté
Vérifier «cron»… non infecté
Vérifier «crontab»… non infecté
Vérification de la «date»… non infectée
Vérifier «du»… non infecté
Vérifier «dirname»… non infecté
Vérification du «su»… non infecté
Vérifier «ifconfig»… non infecté
Vérification «INETD»… non infectée
Vérifier 'Inetdconf'… pas trouvé
Vérification «identique»… introuvable
Vérifier «init»… non infecté
Vérifier «Killall»… non infecté
Vérification de la «connexion»… non infectée
Vérification des «ls»… non infectés
Vérifier «lsof»… non infecté
Vérification «passwd»… non infecté
Vérification du «pido»… non infecté
Vérification «PS»… non infectée
Vérification de «PSTree»… non infecté
Vérification de «Rpcinfo»… pas trouvé
Vérifier «rlogind»… pas trouvé
Vérifier «RSHD»… pas trouvé
Vérifier «slogin»… non infecté
Vérifier «sendmail»… introuvable
Vérification du «sshd»… pas trouvé
Vérification de «syslogd»… non testé
Vérification des «extraterrestres»… pas de fichiers suspects
Recherche des journaux de Sniffer, cela peut prendre un certain temps… rien de trouvé
Recherche des fichiers par défaut de RootKit Hidrootkit… rien de trouvé
Recherche des fichiers par défaut de RootKit T0RN… rien de trouvé
Recherche des valeurs par défaut V8 de T0RN… rien de trouvé
Recherche des fichiers par défaut de Rootkit Lion… rien de trouvé
Recherche des fichiers par défaut de Rootkit Rsha… rien de trouvé
Recherche des fichiers par défaut de Rootkit Rh-Sharpe… rien de trouvé
Recherche de fichiers et de réseaux par défaut de RootKit d'Ambient (ARK)… rien de trouvé
Recherche de fichiers et de réseaux suspects, cela peut prendre un certain temps…
Les fichiers et répertoires suspects suivants ont été trouvés:
/ usr / lib / debug /.build-id / lib / modules / 5.3.0-45-Générique / VDSO /.build-id / lib / modules /
5.3.0-46-Générique / VDSO /.build-id
/ usr / lib / debug /.build-id / lib / modules / 5.3.0-45-Générique / VDSO /.build-id / lib / modules /
5.3.0-46-Générique / VDSO /.build-id
Recherche de fichiers et de réseaux de vers LPD… rien de trouvé
Recherche de fichiers et de réseaux de vers ramen… rien de trouvé
Recherche de fichiers et de réseaux maniaques… rien de trouvé
Recherche de fichiers et de réseaux RK17… rien de trouvé
CHKProc: Avertissement: possible LKM Trojan installé
chkDirs: rien de détecté
Vérification des «rexedcs»… pas trouvés
Vérification de «renifleur»… LO: pas des prises de renifleur de promisc et pas de paquets
VMNET1: pas de prises de sniffeur de promisc et pas de paquets
VMNET2: pas de prises de sniffeur de promisc et pas de paquets
VMNET8: pas de prises de sniffeur de promisc et pas de paquets
BNEP0: Sniffer de paquets (/ sbin / dhclient [432])
Vérification «W55808»… non infecté
Vérification «Wted»… CHK WTMP: Rien de supprimé
Vérification du «scalper»… non infecté
Vérifier «Slapper»… non infecté
Vérifier 'Z2'… CHK LASTLOG: Rien de supprimé
Vérification du «chkutmp»… Le Tty des processus utilisateur suivants n'a pas été trouvé
in / var / run / utmp !
! Ruid pid tty cmd
! 101 0 es = v8_context_snapshot_data: 100, v8101 - msteams-process-type = notificationsManager
! Ess-Type = PluginHost 0 Ta: 100, V8_Natives_Data: 101
! Root 3936 pts / 0 / bin / sh / usr / sbin / chkrootkit
! racine 4668 pts / 0 ./ chkutmp
! Root 4670 pts / 0 ps axk tty, ruser, args -o tty, pid, utilisateur, args
! Root 4669 PTS / 0 SH -C PS AXK "TTY, RUSER, Args" -o "Tty, Pid, ​​User, Args"
! racine 3934 pts / 0 sudo chkrootkit
! USMAN 3891 pts / 0 bash
chkutmp: rien de supprimé

Le programme Chkrootkit est un script shell qui vérifie les binaires système dans le chemin du système pour une modification malveillante. Il comprend également certains programmes qui vérifient divers problèmes de sécurité. Dans le cas ci-dessus, il a vérifié un signe de rootkit sur le système et n'en a pas trouvé, eh bien c'est un bon signe.

Rkhunter (rootkithunter):

Un autre outil génial pour chasser une variété de rootkits et d'exploits locaux dans un système d'exploitation est rkhunter.

Tout d'abord, nous devons installer rkhunter en utilisant la commande:

ubuntu @ ubuntu: ~ $ sudo apt install rkhunter

Cela installera l'outil RKHUNTER et vous pouvez l'utiliser pour vérifier les rootkits en utilisant:

Ubuntu @ Ubuntu: ~ $ sudo rkhunter --check | rootkits
Vérification des rootkits…
Effectuer la vérification des fichiers et répertoires RootKit connus
55808 Trojan - Variante A [non trouvé]
Adm Worm [non trouvé]
Ajakit rootkit [non trouvé]
Adorer rootkit [non trouvé]
kit apa [non trouvé]
Ver Apache [non trouvé]
Rootkit ambiant (arche) [non trouvé]
Balaur Rootkit [introuvable]
Beastkit Rootkit [non trouvé]
bex2 rootkit [non trouvé]
Bobkit rootkit [introuvable]
CB rootkit [non trouvé]
Cinik Worm (Slapper.Variante b) [introuvable]
Kit d'abus de Danny-Boy [non trouvé]
Devil rootkit [non trouvé]
Diamorphine LKM [non trouvé]
Dica-kit rootkit [non trouvé]
Dreams rootkit [non trouvé]
Duarawkz rootkit [non trouvé]
Backdoor Ebury [introuvable]
Enye lkm [non trouvé]
Flea Linux rootkit [non trouvé]
Fu rootkit [non trouvé]
Fuck'it rootkit [pas trouvé]
Gaskit rootkit [non trouvé]
Héroïne LKM [pas trouvé]
Kit hjc [introuvable]
Ignokit rootkit [introuvable]
Intxonia-ng rootkit [non trouvé]
Irix rootkit [non trouvé]
Jynx rootkit [non trouvé]
Jynx2 rootkit [non trouvé]
Kbeast rootkit [introuvable]
Kitko rootkit [introuvable]
Knark rootkit [introuvable]
LD-LINUXV.So rootkit [pas trouvé]
Ver li0n [introuvable]
LOCKIT / LJK2 ROOTKIT [INTOLUS]
Mooke Backdoor [introuvable]
Mood-nt rootkit [non trouvé]
MRK rootkit [introuvable]
Ni0 rootkit [non trouvé]
Ohhara rootkit [non trouvé]
Vir de kit optique (smoking) [introuvable]
Oz rootkit [introuvable]
Phalanx rootkit [non trouvé]
Phalanx2 rootkit [non trouvé]
Phalanx rootkit (tests prolongés) [non trouvé]
Portacelo Rootkit [non trouvé]
R3D Storm Toolkit [introuvable]
Rootkit de Rh-Sharpe [non trouvé]
Rootkit de Rsha [non trouvé]
Ver du scalper [introuvable]
Sebek lkm [non trouvé]
Arrêter Rootkit [pas trouvé]
Shv4 rootkit [introuvable]
Shv5 rootkit [introuvable]
Sin rootkit [non trouvé]
Ver Slapper [pas trouvé]
Sneakin rootkit [non trouvé]
Rootkit «espagnol» [non trouvé]
Suckit rootkit [non trouvé]
Superkit rootkit [non trouvé]
TBD (porte arrière Telnet) [introuvable]
Telekit rootkit [introuvable]
T0rn rootkit [non trouvé]
trnkit rootkit [non trouvé]
Kit de trojanit [introuvable]
TUXTENDO ROOTKIT [INTOLUS]
Urk rootkit [non trouvé]
Vampire Rootkit [introuvable]
VCkit rootkit [non trouvé]
Volc Rootkit [introuvable]
Xzibit rootkit [introuvable]
zarwt.Kit rootkit [non trouvé]
Zk rootkit [introuvable]

Cela vérifiera un grand nombre de rootkits connus dans votre système. Pour vérifier les commandes système et tous les types de fichiers malveillants dans votre système, saisissez la commande suivante:

ubuntu @ ubuntu: ~ $ sudo rkhunter --c --enable tout - nulaire

Si une erreur se produit, commentez les lignes d'erreur dans / etc / rkhunter.Fichier de confort et cela fonctionnera en douceur.

Conclusion:

Rootkits peut causer de graves dommages irréversibles au système d'exploitation. Il contient une variété d'outils malveillants comme les keyloggers, les voleurs d'identification bancaires, les voleurs de mot de passe, les désactivateurs antivirus ou les robots pour l'attaque DDOS, etc. Le logiciel reste caché dans un système informatique et continue de faire son travail pour un attaquant car il peut accéder à distance au système de la victime. Notre priorité après avoir détecté un rootkit devrait être de modifier tous les mots de passe du système. Vous pouvez corriger tous les liens faibles, mais la meilleure chose est d'essuyer et de reformater complètement le lecteur car vous ne savez jamais ce qui est encore à l'intérieur du système.