Victoire aux PHDays 9. Nous partageons les hacks de vie en trois parties. Partie 1

Bonjour à tous! Je m'appelle Vitaliy Malkin. Je suis le chef du département d'analyse de sécurité chez Informzashchita et capitaine à temps partiel de l'équipe True0xA3. Avec cet article, nous entamons un cycle de 3 matériaux dédiés à notre performance au PHDays IX Standoff. Dans cet article, nous expliquerons pourquoi une préparation compétente est la moitié du succès, pourquoi il est si important de ramasser des «fruits» à temps, et comment vous pouvez organiser l'interaction de l'équipe pentest en un seul projet.

L'article de TL; DR contient un grand nombre d'anglismes et de termes techniques complexes, pour lesquels je m'excuse séparément.

I. Entrée


Nous avions 16 pentesters sélectionnés, 4 stagiaires, 6 serveurs, notre propre station CUDA et une grande envie de gagner.

Nous avons commencé la phase de préparation active 8 jours avant le début de StandOff. C'était notre 3ème tentative en tant qu'attaquant, et beaucoup d'entre nous avaient déjà suffisamment d'expérience pour comprendre quoi chercher cette année. Nous avons vu 5 domaines prioritaires d'élaboration:

  1. Coordination efficace;
  2. Collection de fruits suspendus bas;
  3. Exploitation des vulnérabilités des technologies atypiques (pour nous) (ACS TP, IoT, GSM);
  4. Préparation des infrastructures et équipements externes;
  5. Développement ajouter. méthodes de persistance et de durcissement.

Essayons d'analyser ces éléments dans l'ordre.

1. Coordination efficace


Il est plus facile pour moi de parler de ce point, car la décision générale dont j'étais responsable de sa mise en œuvre. Pendant StandOff, le problème le plus courant pour les débutants, à mon avis, est une mauvaise coordination. Les membres de l'équipe résolvent les mêmes tâches, il n'y a pas de compréhension claire de ce qui a déjà été regardé et de ce qui ne l'est pas. Les informations reçues sur la tâche ne sont pas transmises les unes aux autres, par conséquent, l'efficacité du travail diminue considérablement. Et plus il y a de participants, plus l'efficacité diminue. De plus, il est très utile d'avoir une personne qui comprend bien l'image générale de l'infrastructure et qui peut relier les vulnérabilités individuelles en un vecteur d'attaque à part entière.

Cette année, la plateforme Discord a été choisie pour l'interaction en équipe. En général, il est très similaire au bon vieux chat IRC avec des fonctionnalités supplémentaires comme le téléchargement de fichiers et la communication vocale. Nous avons pris une description de tous les objets des concours Agend et créé un canal pour chacun d'eux, dans lequel des informations ont été publiées. Ainsi, toute personne connectée à la tâche pouvait voir tout ce qui lui arrivait, y compris les résultats du lancement de divers outils et des recherches manuelles. Sur tous les canaux d'information, une limite d'un message par minute a été fixée pour éviter les inondations. Et toute la discussion a été menée dans des chats séparés, qui ont également été créés pour chaque objet.



Un certain nombre de décisions organisationnelles ont également été prises pour améliorer la coordination. En général, il n'est pas habituel pour nous de définir des tâches avec le libellé «NÉCESSAIRE» dans notre équipe. Nous essayons de discuter des raisons pour lesquelles telle ou telle tâche est définie, à quoi sa mise en œuvre conduira, et aussi comment l'accomplir plus efficacement. Mais dans le cadre de StandOff, un tel modèle peut conduire à des querelles inutiles, nous avons donc décidé de confier au coordinateur une autorité complète sur le processus. Dans les 28 heures suivant la compétition, ses décisions n'ont pratiquement pas été discutées, ce qui nous a certainement fait gagner beaucoup de temps. Bien que cela puisse avoir affecté la qualité des communications. En plus de cela, nous avons décidé de délimiter très clairement les domaines de responsabilité: malgré le fait que certains membres de l'équipe n'aient pas eu les tâches les plus excitantes.

2. Collection de fruits suspendus bas


À mon avis, le secret principal de notre succès était: une énorme expérience quotidienne des projets et la bonne priorisation des tâches. L'année dernière, nous avons pu capturer un bureau entier et le conserver pendant tout le jeu simplement en raison de vulnérabilités simples et rapidement piratées. Cette année, nous avons abordé le problème de manière centralisée et compilé une liste de ces vulnérabilités.

ms17-010; ms08-67; SMBCRY LibSSH RCE; HP DATA Protectoer; HP iLo; ipmi Installation intelligente de Cisco Java RMI JDWP; JBOSS; drupalgeddon2; weblogic saigner shellshock; ibm websphere iis-webdav; rservices; vnc; ftp-anon; NFS smb-null; Tomcat

Ensuite, deux services de vérification et de pénétration ont été écrits, qui, en mode automatisé, à l'aide d'exploits publics et de métasploit, ont d'abord vérifié les vulnérabilités, puis ont essayé de les exploiter. L'utilitaire a reçu un rapport nmap à l'entrée, ce qui a finalement accéléré le processus.

3. Exploitation des vulnérabilités des technologies atypiques (pour nous) (ACS TP, IoT, GSM)


Nous réalisons le plus souvent des projets pour des banques et d'autres organisations financières. Les systèmes SCADA, s'ils le font, sont plus susceptibles dans le style: «Si vous pouviez obtenir un accès réseau au scada, corrigez cela et comptez cela comme l'un des critères de réussite du projet.» Par conséquent, nous n'avons pas une bonne expérience appliquée dans l'analyse de la sécurité des systèmes de contrôle de processus. Cela a conduit à son tour au fait qu'une semaine avant StandOff, nous nous sommes assis d'urgence pour étudier les vulnérabilités typiques. Avec l'IoT et le GSM, la situation est encore pire: si l'IoT est parfois trouvé dans des projets, alors nous n'avons vu le GSM que lors des StandOffs précédents.

Ainsi, lors de la préparation, nous avons identifié deux personnes distinctes sur le système de contrôle de processus automatisé, et deux autres sur GSM et IoT. Au cours de la semaine préparatoire, le 1er groupe a rédigé des approches typiques de l’essentiel des systèmes SCADA et a étudié en détail une vidéo sur l’infrastructure ICS de l’année dernière. Les gars ont également pompé environ 200 Go de divers IHM, pilotes et autres logiciels directement liés aux contrôleurs. En ce qui concerne le GSM et l'IoT, nous avons préparé ici plusieurs morceaux de fer, lu tous les articles disponibles sur le GSM et espéré que cela suffirait. (SPOILER: Pas vraiment!)

4. Préparation des infrastructures et équipements externes


Comprenant que notre équipe sera suffisamment grande cette année, nous avons immédiatement décidé que nous avions besoin d'équipements supplémentaires. Ce qui suit est une liste de suggestions que nous avons recueillies au sein de l'équipe, le signe «+» indique que nous avons finalement pris:

- une machine à café;
+ - CUDA-server (ils ne l'ont pas pris avec eux, mais ils l'ont utilisé);
+ ordinateur portable de rechange;
+ Routeur WIFI;
+ commutateur géré;
+ câbles réseau de différentes longueurs (20 pièces);
+ pilote (3 pièces);
+ Wi-fi Alfa (3 pièces);
+ canard en caoutchouc (2 pièces);
- proxmark;
- une caméra.

Quant à l'infrastructure, c'est une chanson distincte. L'année dernière, nous avons réalisé à quel point il est utile d'utiliser une station CUDA, rompant plusieurs poignées de main, il n'y avait donc aucun doute sur la nécessité de l'utiliser. Il est important que cette année, comme par le passé, tous les attaquants soient derrière le NATth, qui a généralement rejeté la possibilité de connexions inverses de la DMZ. Mais absolument tous les hôtes doivent avoir accès à Internet, à l'exception des nœuds ICS. À cet égard, nous avons décidé d'élever trois serveurs d'écoute, accessibles depuis Internet. De plus, pour simplifier le pivotement et la consolidation, nous avons utilisé notre propre serveur OpenVpn avec le mode client à client activé. Malheureusement, il est impossible d'automatiser le processus de connexion d'une passerelle, donc pendant environ 12 heures sur 28, l'un des membres de l'équipe a travaillé avec des passerelles.

5. Développement d'add. méthodes de persistance et de durcissement


Notre expérience passée avec StandOff a montré très clairement qu'il ne suffit pas de pirater un serveur avec succès: il est important de ne pas laisser d'autres y prendre pied. Par conséquent, une attention suffisante a été accordée à RAT avec de nouvelles signatures et de nouveaux scripts pour renforcer la protection de Windows. Nous avons utilisé notre RAT standard, modifiant légèrement les méthodes d'obfuscation. Les règles étaient un peu plus compliquées. En général, nous avons déterminé pour nous-mêmes l'ensemble de scripts suivant:

  • fermeture de SMB et RPC;
  • porter RDP sur un port non standard;
  • Désactivation du chiffrement réversible, des comptes invités et d'autres paramètres à partir de la ligne de base de sécurité.

Pour Linux, un script d'initialisation spécial a été développé qui ferme tous les ports, ouvre SSH sur un port non standard et enregistre les clés publiques de la commande pour accéder à SSH.

II. Briefing


Le 17 mai, 5 jours avant StandOff, un briefing a été organisé pour les assaillants. Au cours de celui-ci, de nombreuses informations sont apparues qui ont influencé notre formation.

Premièrement, les organisateurs ont publié une carte du réseau, ce qui est devenu une grande aide pour nous. Nous avons pu diviser les domaines de responsabilité à l'avance, mettre à jour les segments du réseau et, surtout, comprendre ce qu'est le réseau. À mon avis, la déclaration la plus importante faite lors de la réunion d'information était la phrase selon laquelle le réseau ICS sera accessible à partir d'un seul segment, et ce segment ne sera pas protégé. De plus, le plus de points seront attribués pour les SCI et les bureaux sécurisés, et les organisateurs encouragent directement la lutte pour les réseaux entre les pirates.

Nous avons pris cette information comme ceci: "Celui qui capture le bigbrogroup est susceptible de gagner le match." Le fait est que notre expérience nous a dit: quelle que soit la sanction infligée par les organisateurs pour un service simple, les défenseurs abandonneraient les services vulnérables s'ils ne pouvaient pas les réparer. Après tout, c'est bien pire quand ils annoncent depuis la scène de la plus grande conférence sur la sécurité de l'information que vous avez gâté des pirates que s'ils vous enlèvent des points de jeu. Notre théorie a été confirmée, mais nous en parlerons en détail dans le 2ème article.

En conséquence, nous avons décidé de diviser toute l'équipe en 4 parties:

1. Bigbrogroup. C'est la tâche à laquelle nous avons attribué la plus haute priorité. L'équipe a impliqué les personnes qui ont le plus d'expérience à pénétrer l'infrastructure interne de différents clients. Au total, cette mini-équipe était composée de 5 personnes. Leur objectif était de prendre pied dans le domaine le plus rapidement possible et d'empêcher les autres équipes d'accéder à l'ICS.

2. Réseau sans fil. L'équipe chargée de surveiller le Wi-Fi, a suivi de nouveaux points, intercepté des poignées de main et les a brutalisées. Le GSM est également entré dans leurs tâches, mais il a d'abord fallu capturer le Wi-Fi et en couper d'autres commandes.

3. Réseaux non protégés. L'équipe qui, pendant les quatre premières heures, a choisi tous les réseaux non protégés pour détecter les vulnérabilités. Nous avons compris que pendant ces quatre heures, rien de super important ne se produira dans les segments protégés, et si c'est le cas, les défenseurs le feront reculer. Par conséquent, ils se sont concentrés sur ce qui aurait pu changer de façon irréversible. Il s'est avéré - pas en vain. Quatre heures plus tard, le même groupe a commencé à analyser des segments protégés.

4. Groupe de scanners. Les organisateurs ont directement déclaré que les réseaux vont changer, nous avons donc eu deux personnes qui ont continuellement analysé le réseau pour les changements. L'automatisation n'était pas si facile, car sous différents réseaux, différents paramètres étaient nécessaires à différents moments. Par exemple, dans la première heure sur le réseau fe.phd, nmap a bien fonctionné pour nous en mode T3, et après 12 heures, il a à peine fonctionné en T1.

Un autre vecteur important pour nous a été la liste des logiciels et technologies publiés par les organisateurs. Pour chaque technologie, nous avons essayé de créer notre propre centre de compétences, qui pourrait très rapidement aider et voir les vulnérabilités typiques.

Pour certains services, nous avons trouvé des vulnérabilités très intéressantes, mais il n'y a eu aucun exploit public. Il en a été ainsi, par exemple, avec Redis Post-exploitation RCE. Nous étions sûrs que cette vulnérabilité apparaîtrait dans l'infrastructure de jeu, nous avons donc décidé d'écrire notre propre exploit d'une journée. Il n'était pas possible d'écrire 1 jour spécifiquement pour cette vulnérabilité, mais dans l'ensemble, nous avions environ cinq exploits non publics à portée de main que nous étions prêts à utiliser.



Malheureusement, nous n'avons pas réussi à partager toutes les technologies, mais ce n'était pas si effrayant. Nous avons couvert l'ensemble principal, et c'était suffisant. Il y avait également une liste de contrôleurs de processus, que nous avons également triés et essayés de préparer.

En préparation de la bataille, nous avons préparé plusieurs outils pour une connexion transparente au réseau physique ICS. Par exemple, nous avons implémenté un analogue bon marché de Pineapple-a à l'aide de framboise. Le module était connecté via Ethernet au réseau industriel et via GSM au service de gestion. Ensuite, nous pourrions configurer à distance la connexion Ethernet et la distribuer sur place à l'aide du module Wi-Fi intégré. Malheureusement, lors du briefing, les organisateurs ont clairement indiqué que vous ne pouvez pas vous connecter physiquement à l'ICS, nous avons donc quitté ce module jusqu'à des temps meilleurs.

Beaucoup d'informations portaient sur la banque, la banque offshore et le travail de la lutte contre la fraude. Mais ayant appris qu'il n'y avait pas beaucoup d'argent dedans, nous avons décidé de ne pas nous y préparer à l'avance, mais de trouver quelque chose en cours de route.

En résumé, nous avons effectué un travail assez important en préparation. Il est important de noter qu'en plus des avantages évidents sous la forme d'une performance réussie à StandOff, il n'y en avait pas non plus.

  • Une telle préparation est un excellent moyen de se laisser distraire et de faire quelque chose que j'ai longtemps voulu essayer et explorer, et il n'y avait tout simplement pas de temps dans le cadre de l'activité du projet.
  • Nous n'avons pas de projets qui impliquent toute l'équipe dans le cadre d'une tâche, nous avons donc eu un bon esprit d'équipe, poursuivant des objectifs spécifiques.
  • Une grande partie de ce que nous avons fait peut être utilisée dans de vrais projets, donc en plus d'étendre nos compétences, nous avons également des outils prêts à l'emploi.

Maintenant, après avoir décrit tout cela dans le texte, je comprends que nous n’avons rien accompli de si grandiose qu’auparavant. D'une manière générale, il me semble que l'étape de préparation correctement organisée est devenue la raison principale de la victoire de notre équipe. Et ce qui s'est passé directement pendant StandOff lui-même - je le dirai dans le deuxième article du cycle.

Source: https://habr.com/ru/post/fr453834/


All Articles