Inexprimablement attrayant: comment nous avons créé un haniot qui ne peut pas être exposé

image
, - - — , « » . , : , . , , , . , , «Caught in the Act: Running a Realistic Factory Honeypot to Capture Real Threats». — .

: -


La tâche principale dans la création de notre super piège était de nous empêcher d'être exposés par des pirates qui s'y intéressaient. Pour ce faire, j'ai dû faire beaucoup de travail:

  1. Créez une légende réaliste sur l'entreprise, y compris le nom et la photo des employés, les numéros de téléphone et les e-mails.
  2. Inventer et mettre en œuvre un modèle d'infrastructure industrielle qui correspond à la légende de notre entreprise.
  3. Décidez quels services réseau seront disponibles à l'extérieur, mais ne vous impliquez pas dans l'ouverture de ports vulnérables afin que cela ne ressemble pas à un piège pour les coots.
  4. Organisez l'apparition de fuites d'informations sur le système vulnérable et diffusez ces informations auprès des attaquants potentiels.
  5. Mettre en place une surveillance discrète des pirates dans l'infrastructure des pièges.

Et maintenant, tout d'abord.

Créer une légende


Les cybercriminels sont déjà habitués au fait qu'ils rencontrent beaucoup de manipulations, donc la partie la plus avancée d'entre eux mène une étude approfondie de chaque système vulnérable pour s'assurer que ce n'est pas un piège. Pour la même raison, nous nous sommes efforcés d'atteindre non seulement le réalisme du hanipot en termes de design et d'aspects techniques, mais aussi de créer l'apparence d'une véritable entreprise.

Se mettant à la place d'un kulhaker hypothétique, nous avons développé un algorithme de vérification qui distinguerait un système réel d'un piège. Cela comprenait la recherche d'adresses IP de l'entreprise dans les systèmes de réputation, la recherche inversée de l'historique des adresses IP, la recherche de noms et de mots clés liés à l'entreprise, ainsi que ses contreparties et bien d'autres choses. En conséquence, la légende s'est avérée assez convaincante et attrayante.

Nous avons décidé de positionner l'usine de trappes comme une petite boutique de prototypage industriel, travaillant pour de très gros clients anonymes du secteur militaire et aéronautique. Cela a éliminé les difficultés juridiques liées à l'utilisation d'une marque existante.

Ensuite, nous avons dû trouver une vision, une mission et le nom de l'organisation. Nous avons décidé que notre entreprise serait une startup avec un petit nombre d'employés, dont chacun est fondateur. Cela a ajouté de la crédibilité à la légende de la spécialisation de notre entreprise, ce qui lui permet de travailler avec des projets délicats pour des clients importants et importants. Nous voulions que notre entreprise semble faible en termes de cybersécurité, mais en même temps, il était évident que nous travaillions avec des actifs importants dans des systèmes cibles.

image
Capture d'écran du site MeTech Hanipot. Source: Trend Micro.

Nous avons choisi le mot MeTech comme nom de l'entreprise. Le site a été réalisé sur la base d'un modèle gratuit. Les images ont été prises à partir de banques de photos, en utilisant les plus impopulaires et les plus raffinées pour les rendre moins reconnaissables.

Nous voulions que l'entreprise ait l'air réelle, nous avons donc dû ajouter des employés avec des compétences professionnelles correspondant au profil de l'entreprise. Nous avons trouvé des noms et des personnalités pour eux, puis nous avons essayé de sélectionner des images dans des banques de photos en fonction de leur origine ethnique.

image
Capture d'écran du site MeTech Hanipot. Source: Trend Micro

Afin de ne pas nous révéler, nous recherchions des photos de groupe de bonne qualité parmi lesquelles nous pourrions choisir les visages dont nous avions besoin. Cependant, nous avons ensuite abandonné cette option, car un pirate potentiel pourrait tirer parti de la recherche d'image inversée et constater que nos «employés» ne vivent que dans des banques de photos. Au final, nous avons profité de photographies de personnes inexistantes créées à l'aide de réseaux de neurones.

Les profils des employés publiés sur le site contenaient des informations importantes sur leurs compétences techniques, mais nous avons évité les instructions d'établissements d'enseignement et de villes spécifiques.
Pour créer des boîtes aux lettres, nous avons utilisé le serveur du fournisseur d'hébergement, puis loué plusieurs numéros de téléphone aux États-Unis et les avons combinés en un central téléphonique virtuel avec un menu vocal et un répondeur.

Infrastructure Hanipot


Pour éviter d'être exposé, nous avons décidé d'utiliser une combinaison d'équipements industriels réels, d'ordinateurs physiques et de machines virtuelles sécurisées. Pour l'avenir, nous disons que nous avons vérifié le résultat de nos efforts en utilisant le moteur de recherche Shodan, et il a montré que le hanipot ressemble à un véritable système industriel.

image
Le résultat de la numérisation d'un hanipot à l'aide de Shodan. Source: Trend Micro.

Nous avons utilisé quatre automates comme matériel pour notre piège:

  • Siemens S7-1200,
  • deux AllenBradley MicroLogix 1100,
  • Omron CP1L.

Ces automates ont été sélectionnés pour leur popularité sur le marché mondial des systèmes de contrôle. Et chacun de ces contrôleurs utilise son propre protocole, ce qui nous permet de vérifier lesquels des automates attaqueront le plus souvent et s'ils intéresseront en principe quiconque.

image
L'équipement de notre piège «usine». Source: Trend Micro

Nous n'avons pas simplement mis des morceaux de fer et les avons connectés à Internet. Nous avons programmé chaque contrôleur pour effectuer des tâches, parmi lesquelles

  • mélange
  • commande du brûleur et de la bande transporteuse,
  • palettisation à l'aide d'un bras robotisé.

Et pour rendre le processus de production réaliste, nous avons programmé la logique pour modifier aléatoirement les paramètres de rétroaction, simuler le démarrage et l'arrêt des moteurs, allumer et éteindre le brûleur.

Notre usine avait trois ordinateurs virtuels et un physique. Les machines virtuelles ont été utilisées pour contrôler l'usine, le robot de palettisation et comme lieu de travail automatisé de l'ingénieur logiciel PLC. L'ordinateur physique fonctionnait comme un serveur de fichiers.

En plus de surveiller les attaques sur l'automate, nous voulions surveiller l'état des programmes téléchargés sur nos appareils. Pour ce faire, nous avons créé une interface qui nous a permis de déterminer rapidement comment les états de nos actionneurs et installations virtuelles ont été modifiés. Déjà au stade de la planification, nous avons constaté qu'il est beaucoup plus facile de mettre en œuvre cela avec un programme de contrôle que par une programmation directe de la logique du contrôleur. Nous avons ouvert l'accès à l'interface de gestion des appareils de notre hanipot via VNC sans mot de passe.

Les robots industriels sont un élément clé de la fabrication intelligente moderne. À cet égard, nous avons décidé d'ajouter un robot et un AWP pour le contrôler dans l'équipement de notre usine-piège. Pour rendre "l'usine" plus réaliste, nous avons installé de vrais logiciels sur la commande AWP, que les ingénieurs utilisent pour programmer graphiquement la logique du robot. Eh bien, comme les robots industriels sont généralement situés dans un réseau interne isolé, nous avons décidé de laisser l'accès VNC non protégé uniquement à la gestion des postes de travail.

image
Environnement RobotStudio avec un modèle 3D de notre robot. Source: Trend Micro

Sur une machine virtuelle avec un poste de travail de contrôle de robot, nous avons installé l'environnement de programmation RobotStudio d'ABB Robotics. Après avoir installé RobotStudio, nous y avons ouvert un fichier de simulation avec notre robot afin que son image 3D soit visible à l'écran. En conséquence, Shodan et d'autres moteurs de recherche, après avoir découvert un serveur VNC non protégé, recevront cette image de l'écran et la montreront à ceux qui recherchent des robots industriels avec un accès ouvert au contrôle.

Le sens d'une telle attention aux détails était de créer un objectif attrayant et le plus réaliste pour les attaquants qui, l'ayant découvert, y reviendraient encore et encore.

Ingénieur AWP


Pour programmer la logique PLC, nous avons ajouté un ordinateur d'ingénierie à l'infrastructure. Un logiciel industriel de programmation PLC y a été installé:

  • Portail TIA pour Siemens,
  • MicroLogix pour contrôleur Allen-Bradley,
  • CX-One pour Omron.

Nous avons décidé que le poste d'ingénierie ne serait pas accessible en dehors du réseau. Au lieu de cela, nous avons défini le même mot de passe pour le compte administrateur sur celui-ci que sur les postes de travail du robot et les postes de travail de l'usine accessibles depuis Internet. Cette configuration est assez courante dans de nombreuses entreprises.
Malheureusement, malgré tous nos efforts, pas un seul attaquant n’a atteint le AWP de l’ingénieur.

Serveur de fichiers


Nous en avions besoin comme leurre pour les intrus et comme moyen de sauvegarder notre propre «travail» dans une fabrique de pièges. Cela nous a permis de partager des fichiers avec notre haniot à l'aide de périphériques USB, sans laisser de traces dans le piège réseau. En tant qu'OS pour le serveur de fichiers, nous avons installé Windows 7 Pro, dans lequel nous avons créé un dossier partagé accessible pour la lecture et l'écriture à tout le monde.

Au début, nous n'avons pas fait de hiérarchie de dossiers et de documents sur le serveur de fichiers. Cependant, il s'est avéré que les attaquants étudiaient activement ce dossier, nous avons donc décidé de le remplir avec divers fichiers. Pour ce faire, nous avons écrit un script python qui a créé un fichier de taille aléatoire avec l'une des extensions spécifiées, formant un nom basé sur le dictionnaire.

image
Un script pour générer des noms de fichiers attrayants. Source: Trend Micro

Après avoir exécuté le script, nous avons obtenu le résultat souhaité sous la forme d'un dossier rempli de fichiers avec des noms très intéressants.

image
Le résultat du script. Source: Trend Micro

Environnement de surveillance


Après avoir consacré tant d'efforts à créer une entreprise réaliste, nous ne pouvions tout simplement pas nous permettre de nous injecter dans l'environnement pour surveiller nos «visiteurs». Nous devions obtenir toutes les données en temps réel afin que les attaquants ne remarquent pas qu'ils étaient surveillés.

Nous l'avons implémenté à l'aide de quatre adaptateurs USB-Ethernet, de quatre coupleurs Ethernet SharkTap, de Raspberry Pi 3 et d'un grand disque externe. Le schéma de notre réseau ressemblait à ceci:

image
Schéma d'un réseau de hanipot avec équipement de surveillance. Source: Trend Micro

Nous avons organisé trois prises SharkTap pour surveiller tout le trafic externe vers les API accessibles uniquement à partir du réseau interne. Le quatrième SharkTap a suivi le trafic des invités de la machine virtuelle vulnérable.

image
Coupleur Ethernet SharkTap et routeur Sierra Wireless AirLink RV50. Source: Trend Micro

Raspberry Pi a effectué une capture quotidienne du trafic. Nous avons établi une connexion Internet à l'aide du routeur cellulaire Sierra Wireless AirLink RV50, souvent utilisé dans les entreprises industrielles.

Malheureusement, ce routeur n'a pas permis le blocage sélectif des attaques qui ne correspondaient pas à nos plans, nous avons donc ajouté le pare-feu Cisco ASA 5505 en mode transparent au réseau pour effectuer un blocage avec un impact minimal sur le réseau.

Analyse du trafic


Tshark et tcpdump sont appropriés pour résoudre rapidement les problèmes actuels, mais dans notre cas, leurs capacités n'étaient pas suffisantes, car nous avions beaucoup de gigaoctets de trafic, qui ont été analysés par plusieurs personnes. Nous avons utilisé l'analyseur open source Moloch développé par AOL. En termes de fonctionnalités, il est comparable à Wireshark, mais il a plus de fonctionnalités pour la collaboration, la description et le balisage des packages, l'exportation et d'autres tâches.

Comme nous ne voulions pas traiter les données collectées sur les ordinateurs hanipot, les vidages PCAP étaient exportés tous les jours vers AWS, d'où nous les avions déjà importés vers la machine avec Moloch.

Enregistrement d'écran


Pour documenter les actions des crackers dans notre hanipot, nous avons écrit un script qui a pris des captures d'écran de la machine virtuelle à un intervalle donné et, en comparant avec la capture d'écran précédente, déterminé si quelque chose se passait là ou non. Lorsqu'une activité a été détectée, le script comprenait un enregistrement d'écran. Cette approche s'est avérée la plus efficace. Nous avons également essayé d'analyser le trafic VNC à partir du vidage PCAP afin de comprendre les changements survenus dans le système, mais au final, l'enregistrement d'écran que nous avons mis en place s'est avéré être plus simple et plus visuel.

Surveillance des sessions VNC


Pour cela, nous avons utilisé Chaosreader et VNCLogger. Les deux utilitaires extraient les séquences de touches du vidage PCAP, mais VNCLogger gère plus correctement les touches telles que Retour arrière, Entrée, Ctrl.

VNCLogger a deux inconvénients. Premièrement: il ne peut extraire des clés qu'en «écoutant» le trafic sur l'interface, nous avons donc dû simuler une session VNC pour celui-ci en utilisant tcpreplay. Le deuxième inconvénient de VNCLogger est commun avec Chaosreader: ils ne montrent pas tous les deux le contenu du presse-papiers. Pour ce faire, j'ai dû utiliser Wireshark.

Pirates de leurre


Nous avons créé un hanipot pour être attaqué. Pour y parvenir, nous avons organisé une fuite d'informations destinée à attirer l'attention des crackers potentiels. Les ports suivants ont été ouverts sur le hanipot:

image

Le port RDP a dû être fermé peu de temps après le début des travaux, car en raison de l'énorme quantité de trafic de numérisation dans notre réseau, il y avait des problèmes de performances.
Les terminaux VNC ont d'abord fonctionné en mode "affichage uniquement" sans mot de passe, puis nous les avons "par erreur" passés en mode d'accès complet.

Pour attirer les attaquants, nous avons publié deux messages contenant des informations divulguées sur le système industriel disponible sur PasteBin.

image
L'un des messages publiés sur PasteBin pour attirer les attaques. Source: Trend Micro

Attaques


Les Hanipot ont vécu en ligne pendant environ sept mois. La première attaque a eu lieu un mois après la publication en ligne de Hanipot.

Scanners

Il y avait beaucoup de trafic provenant de scanners d'entreprises bien connues - ip-ip, Rapid, Shadow Server, Shodan, ZoomEye et autres. Il y en avait tellement que nous devions exclure leurs adresses IP de l'analyse: 610 sur 9452 ou 6,45% de toutes les adresses IP uniques appartenaient à des scanners complètement légitimes.

Fraudeurs

L'un des plus grands risques auxquels nous avons été confrontés était l'utilisation de notre système à des fins criminelles: acheter des smartphones via un compte d'abonné, encaisser des miles aériens avec des cartes-cadeaux et d'autres types de fraude

Mineurs

L'un des premiers visiteurs de notre système s'est avéré être un mineur. Il y a téléchargé le logiciel d'exploitation Monero. Il n'aurait pas pu gagner beaucoup sur notre système spécifique en raison de sa faible productivité. Cependant, si nous combinons les efforts de plusieurs dizaines, voire centaines de tels systèmes, cela pourrait très bien aboutir.

Extorsionnistes

Pendant le fonctionnement du hanipot, nous avons rencontré à deux reprises de vrais virus rançongiciels. Dans le premier cas, c'était Crysis. Ses opérateurs se sont connectés au système via VNC, mais ont ensuite installé TeamViewer et ont déjà effectué d'autres actions avec lui. Après avoir attendu un message de ransomware demandant une rançon de 10 000 $ en BTC, nous avons entamé une correspondance avec les criminels, leur demandant de décrypter l'un des fichiers pour nous. Ils ont répondu à la demande et répété la demande de rançon. Nous avons réussi à négocier jusqu'à 6 000 dollars, après quoi nous avons simplement rechargé le système sur une machine virtuelle, car nous avons obtenu toutes les informations nécessaires.

Le deuxième ransomware était Phobos. Le pirate qui l'a installé pendant une heure a parcouru le système de fichiers du hanipot et a analysé le réseau, puis a encore installé le ransomware.
La troisième attaque de ransomware s'est avérée être fausse. Un "pirate informatique" inconnu a téléchargé le fichier haha.bat sur notre système, après quoi nous avons observé pendant un certain temps comment il essayait de le faire fonctionner. Une tentative a été de renommer haha.bat en haha.rnsmwr.

image
"Hacker" augmente la nocivité du fichier bat, en changeant son extension en .rnsmwr. Source: Trend Micro

Lorsque le fichier de commandes a finalement commencé à s'exécuter, le pirate l'a modifié, augmentant la rançon de 200 $ à 750 $. Après cela, il a «crypté» tous les fichiers, laissé un message de rançongiciel sur le bureau et disparu, changeant les mots de passe sur notre VNC.

Après quelques jours, le pirate est revenu et pour se rappeler, il a lancé un fichier batch, qui a ouvert de nombreuses fenêtres avec un site porno. Apparemment, de cette façon, il a essayé d'attirer l'attention sur sa demande.

Sommaire


Au cours de l'étude, il s'est avéré que dès que des informations sur la vulnérabilité ont été publiées, le hanipot a attiré l'attention et l'activité a augmenté de jour en jour. Pour que le piège attire l'attention, nous avons dû admettre de nombreuses failles de sécurité de notre société fictive. Malheureusement, cette situation est loin d'être rare parmi de nombreuses entreprises réelles qui ne disposent pas de personnel informatique et de sécurité de l'information à temps plein.

Dans le cas général, les organisations devraient utiliser le principe du moindre privilège, tandis que nous avons mis en place exactement le contraire pour attirer les intrus. Et plus nous observions les attaques, plus elles devenaient sophistiquées par rapport aux méthodes de test de pénétration standard.

Et surtout: toutes ces attaques échoueraient si des mesures de sécurité adéquates étaient mises en place lors de la configuration du réseau. Les organisations doivent s'assurer que leurs équipements et composants d'infrastructure industrielle ne sont pas accessibles depuis Internet, comme nous l'avons fait spécifiquement dans notre piège.

Bien que nous n'ayons enregistré aucune attaque sur le poste de travail de l'ingénieur, malgré l'utilisation du même mot de passe d'administrateur local sur tous les ordinateurs, nous devons éviter cette pratique afin de minimiser les risques d'intrusions. En effet, une sécurité médiocre constitue une invitation supplémentaire à attaquer des systèmes industriels qui intéressent depuis longtemps les cybercriminels.

All Articles