Ennemi à l'intérieur: comment je suis entré dans le délit d'initié



J'ai eu tous les avantages. J'étais déjà à l'intérieur du réseau. J'étais au-delà de tout soupçon. Mais ils ont découvert mon hack, expulsé du réseau ... et physiquement traqué.

De nombreux tests de pénétration commencent à l'extérieur pour vérifier comment le périmètre peut être surmonté. Cette fois, le client voulait voir jusqu'où pouvait aller un attaquant qui avait déjà réussi à se retrouver dans l'organisation. Comment pourraient-ils m'arrêter si j'étais déjà en ligne?

Alors, ils m'ont secrètement conduit dans le bureau, déguisé en nouvel employé. Ils m'ont donné un ordinateur en état de marche, un badge, un compte dans le système ... bon sang, j'avais même mon propre stand avec un nom fictif dessus. La seule personne qui savait qui j'étais vraiment était leur directeur de la sécurité de l'information. Tout le monde pensait que j'étais Jeremy du Marketing.

Intelligence


La majeure partie de la matinée du premier jour, j'ai été occupée par les procédures pour postuler à un emploi, faire la connaissance de collègues et faire du sale boulot. Mais je devais agir rapidement. Pour tout sur tout, je n'avais qu'une semaine, et je devais avoir le temps de tout pirater sans susciter de soupçons. Je me suis donc mis au travail.

Pour vous faire comprendre: la plupart des tests de pénétration sont assez simples. La chose la plus difficile est de pénétrer le réseau. Mais une fois à l'intérieur, vous obtenez un large éventail d'objectifs: anciens ordinateurs, mots de passe par défaut, tout le monde est sous les administrateurs locaux ... Habituellement, j'obtiens un compte d'administrateur de domaine dans un jour ou deux, et peu après, l'administrateur de l'organisation. Le reste du temps est consacré à couvrir les voies et à recueillir des preuves des conséquences possibles de l'attaque. Mais cette fois, c'était différent. Il est temps d'être surpris.

Assis devant l'ordinateur, j'ai fait semblant de travailler. J'allais utiliser mon ordinateur de bureau pour faire des recherches, étudier les paramètres des autres postes de travail, mais je n'attaquerais pas directement de celui-ci, pour ne pas laisser de traces pointant vers moi. Au lieu de cela, j'ai apporté un appareil distinct pour le piratage: un ordinateur portable personnel avec Linux et un tas d'outils de piratage. Je l'ai connecté au réseau et j'ai obtenu l'adresse IP. Leur NAC ne couvrait pas l'ensemble du réseau: toute connexion depuis la cabine de travail était fiable.

J'ai commencé comme d'habitude. Interception et analyse du trafic réseau de Wireshark, modification de l'adresse MAC et du nom de mon ordinateur portable afin qu'il se perde dans leur infrastructure et ressemble à un équipement ordinaire. Ensuite - en utilisant le Répondeur dans votre sous-réseau pour attraper les hachages et casser les mots de passe. Assez rapidement, j'ai réussi à collecter une poignée de hachages. J'étais sur un sous-réseau régulier pour les travailleurs, donc il y avait beaucoup de comptes connectés avec des navigateurs ouverts dispersant des données d'authentification.

Premières surprises


J'ai commencé une recherche de hachages trouvés sur ma ferme de 8 cartes vidéo, mais ... quelque chose s'est mal passé. Assez rapidement, toutes les combinaisons de 8 caractères de lettres majuscules et minuscules, de chiffres et de caractères spéciaux (NetNTLMv2) ont été vérifiées. Les mots de passe les plus courants (un mot, première lettre majuscule se terminant par un chiffre ou un symbole) je pirate instantanément. Mais pas ici.

Je pouvais exécuter des comptes nets sur mon poste de travail pour voir la politique de mot de passe directement dans AD, mais j'ai d'abord décidé de chercher ailleurs. Je ne voulais pas laisser de traces supplémentaires. Après avoir fouillé dans un réseau, j'ai réussi à trouver les exigences de sécurité. Il s'est avéré que la longueur minimale du mot de passe, qui était censée inclure les lettres majuscules et minuscules, les caractères spéciaux et les chiffres, était de 12 caractères. Et ils ont déjà commencé la transition vers des phrases de mot de passe ... J'ai changé mon ensemble de règles pour la force brute pour utiliser des mots plus longs, des majuscules et des terminaisons à partir de chiffres et de caractères spéciaux. Cela m'a apporté des mots de passe!

Cool! C'est parti! J'ai immédiatement essayé de me connecter à distance à l'ordinateur de l'utilisateur à l'aide de son mot de passe ... et j'ai été bloqué. Quoi ...? Cela a toujours fonctionné. Le mot de passe est correct. Mais l'accès est fermé. Je me suis revérifié. Commencez par les bases. Faites-le bien. Il a fallu un certain temps pour rechercher un contrôleur de domaine. Sur les téléphones VoIP, il y avait des configurations de pages Web où son adresse était enregistrée. J'ai retiré les propriétés de stratégie de groupe du contrôleur via LDAP pour afficher les privilèges. Après de longues fouilles dans le tas de paramètres, j'ai réalisé que l'accès à distance n'est autorisé qu'à une petite partie des informaticiens, pas même à l'ensemble du service informatique. Et je n'ai déchiffré aucun de leurs mots de passe. Ils ont mis en place le modèle du moindre privilège ... Qui fait ça?

D'accord, allez en enfer. Je vais gérer sans accès aux ordinateurs. Je vais entrer dans leur correspondance! Alors je l'ai fait. J'ai cherché des mots de passe dans le courrier, les chats Skype, vérifié les notes et les brouillons dans Outlook. J'ai obtenu un tas de mots de passe personnels de n'importe quoi ... Mais pas un seul du compte de service. Mais j'ai trouvé une lettre du département de la sécurité de l'information, qui disait qu'ils prévoyaient d'introduire une authentification à deux facteurs pour le courrier d'ici une semaine. On dirait que j'ai encore de la chance.

Le point le plus faible de tout système


Ensuite, je suis allé sur le portail SSO . Toutes les applications internes en un seul endroit. Le rêve du pirate! J'ai cliqué sur l'une des applications. Il nécessitait une authentification à deux facteurs. Le prochain aussi. Et ce qui suit. Quel genre d'Alcatraz est-ce?! Cauchemar de pirate!

J'ai vu qu'ils utilisent Citrix. Il est derrière l'authentification à deux facteurs, eh bien, et ne s'en soucie pas. Je vais le découvrir. Citrix me donnera accès au serveur interne. Je devais me rendre à l'hôte interne afin de retirer mon ordinateur portable pirate et commencer à avancer sur le réseau. J'ai commencé Citrix avec une demande de code PIN à 6 chiffres. Il y a un bouton qui dit "Cliquez pour recevoir un jeton" et un numéro de téléphone légèrement modifié: (xxx) xxx-5309. Après avoir recherché «5309» dans le courrier, j'ai trouvé la signature de l'utilisateur dans laquelle ce numéro de téléphone était complètement indiqué. Je l'ai appelé.

Répondit la femme. «Bonjour, Pam. Je m'appelle Josh. Nous migrons votre profil Citrix vers le nouveau serveur. Je vais maintenant vous envoyer un numéro à 6 chiffres. J'ai besoin que tu me le lises. Au cas où, je vous le rappelle, nous ne vous demandons jamais votre mot de passe. » J'avais déjà son mot de passe. Elle a hésité: "Goodooo ..." J'ai appuyé sur un bouton pour envoyer un jeton d'authentification et j'ai dit: "Terminé. Je vous ai envoyé un numéro, lisez-le-moi, s'il vous plaît, quand vous le recevrez. » Elle a répondu: «Ummm ... Oui, je l'ai fait. 9-0-5-2-1-2 ". «Merci! Veuillez ne pas exécuter Citrix pendant quelques heures! » Une minuterie a fonctionné à l'écran pendant 60 secondes. J'ai tapé les chiffres dans une fenêtre d'authentification à deux facteurs et j'ai cliqué sur «OK». Connecté. Allez moignon, authentification à deux facteurs! Une fois à l'intérieur, je n'ai vu ... rien. RIEN! Cet utilisateur n'avait pas besoin de Citrix, il n'y avait donc RIEN attaché. J'ai piraté l'arrière-boutique.

Alors C'est fou. Je peux récupérer un mot de passe long, mais seulement si j'ai la chance de saisir le bon hachage. Même avec un mot de passe piraté, quelqu'un d'un petit groupe de personnes devra contourner l'authentification à deux facteurs. Chaque tentative, en particulier avec quelqu'un de ce groupe protégé, augmente le risque de détection. Bon sang ...

J'ai tout essayé. J'ai lancé des analyses de plus en plus agressives, essayant toujours de rester en dessous du radar. J'ai ressenti tout le réseau et tous les services que j'ai pu trouver, avec toutes les attaques que je connaissais. Et bien qu'ici et là j'ai trouvé quelques petites choses, ce n'était pas suffisant pour prendre pied quelque part. J'ai commencé à tomber dans le désespoir. Déjà la fin du deuxième jour. Habituellement, à ce moment-là, j'ai déjà vidé les bases de données, lu le courrier du PDG et tiré sur des webcams sur des personnes. Merde. Il est temps de pénétrer dans l'antre des informaticiens. Je vais voler des ordinateurs portables.

Raid de nuit


Je me suis attardé après le travail. Des collègues ont déclaré qu'il était nécessaire de suivre un cours sur la sécurité d'emploi. Ils acquiescèrent et se jetèrent. Puis les nettoyeurs sont venus. Quand ils ont fini, je suis resté seul. Je suis allé au bureau des informaticiens. J'ai trouvé la porte. En regardant autour, j'ai attrapé la poignée ...

Avant cela, j'avais déjà essayé différentes choses avec mon ordinateur portable de bureau, mais je n'étais pas un administrateur local et le disque était complètement crypté. Mon objectif était de trouver un ancien ordinateur portable non chiffré avec un hachage de mot de passe de l'administrateur local.

J'ai vérifié le hall pour que personne ne soit là. J'ai scanné le plafond à la recherche de caméras de sécurité. J'ai ouvert la bouche et incliné la tête pour entendre que quelqu'un venait du coin. Rien. J'étais prêt à agir. Je me suis préparée à fouiller dans une serrure mécanique, à gérer les systèmes de contrôle d'accès électronique ou à retirer la porte des charnières, mais j'ai trouvé que la porte était entrouverte. Heureusement. Il y avait une serrure électronique et une serrure mécanique sur la porte. Même boucles protégées. Mais quelqu'un l'a laissée découverte cette nuit-là. J'ai ouvert la porte et regardé à l'intérieur, m'attendant à tomber sur quelqu'un à l'intérieur. Personne. Allez. Juste une poussière. Je suis rentré.

Je n'ai aucune idée de la raison pour laquelle la porte était ouverte, mais 80% de mon travail est des erreurs utilisateur, 56% est des compétences, 63% est l'adaptabilité, 90% utilise des fonctionnalités et 80% est de la chance. Et seulement 1% environ sont liés aux mathématiques ...

Bref. Je ne savais pas si quelqu'un reviendrait ici d'une minute à l'autre, alors je me mis au travail. Dans le coin, des piles d'ordinateurs portables d'âges, de fabricants et de modèles différents. Après avoir pesé les risques d'être pris dans le bureau des informaticiens ou avec un tas d'ordinateurs portables sur mon bureau, j'ai choisi mon bureau. Et maintenant, je traîne déjà des brassées de vieux ordinateurs portables du trou informatique dans mon stand, repliant la tour penchée de Pise sous mon bureau. Ensuite, j'ai commencé méthodiquement à essayer de démarrer chaque ordinateur portable à partir d'un lecteur flash à la recherche d'un Saint Graal non crypté.

J'ai un lecteur flash amorçable avec Kali et l'utilitaire samdump2. Je le connecte à l'un des ordinateurs portables, le charge et essaie de monter le disque dur. Chaque fois que je rencontre le cryptage, je suis de plus en plus contrarié. Enfin, après 30 ordinateurs portables testés, je trouve trois demi-morts avec des disques non chiffrés. Avec samdump2, je retire les hachages NTLM locaux de SAM et les compare. Ainsi, il est possible de trouver un compte non standard de "ladm" d'administrateur local sur les trois machines. Match de hachage. Gloire à Éris , ils n'utilisent pas de LAPS . Le compte de l'administrateur local est le même sur tous les ordinateurs. J'ai craqué ce hachage assez facilement. Le mot de passe était <Nom de la société> <Année>, et cette année s'est écoulée il y a quelques années. Erreur dans la gestion des actifs. Je l'adore.

J'ai essayé de me connecter à distance sous le nouveau compte et j'ai eu la même erreur qu'auparavant. Même l'administrateur local s'est vu refuser l'accès à distance ... J'ai essayé de me connecter localement à mon propre ordinateur portable de bureau, et j'ai réussi! Ce compte a contourné le cryptage complet! Clé principale! Alors ... soooo! Vous pouvez en profiter! Mais j'ai remarqué une chose étrange ... Je n'avais pas de droits d'accès aux données utilisateur. Quoi? Ils ont restreint l'accès, MÊME POUR LES ADMINISTRATEURS LOCAUX?! L'enfer Il était nécessaire d'augmenter les privilèges du système.

J'ai essayé toutes les astuces qui me venaient à l'esprit. En fin de compte, j'ai recherché les vulnérabilités du chemin de service non cité et en ai trouvé quelques-unes! Mais la conclusion était que mon administrateur local n'avait pas la permission d'écrire dans les dossiers souhaités. Oui, laisse tomber! À ce moment-là, j'étais déjà épuisé et brisé. Mon quart de 17 heures se terminait. Le cerveau ne fonctionnait plus. C'était une autre impasse. Une autre série de combats acharnés et de hacks réussis pour un autre échec. Il a dû rentrer chez lui et dormir un peu pour recommencer le lendemain.

Appeler un ami


Le lendemain, j'ai tout vérifié à nouveau pour m'assurer de ne rien manquer. J'ai vérifié tout ce que je pouvais vérifier, scanné tout ce que je pouvais scanner, fait tout ce qui me venait à l'esprit. Partout de petites pistes, mais rien de valable. J'ai appelé un collègue de Dallas Hackers . Après lui avoir parlé de mes épreuves, je me suis retrouvé avec des espoirs en ruine pour la vulnérabilité Unquoted Service Path, lorsque la conclusion m'a montré le manque de privilèges nécessaires. Il a demandé: "Mais vous avez quand même essayé de l'exploiter malgré cela?" J'ai gelé. Je n'ai pas essayé. Dans cet état, j'ai cru la conclusion et je ne l'ai pas vérifiée moi-même. Bon. J'ai essayé d'écrire des données dans un répertoire. Le même pour lequel, selon Windows, je n'avais pas accès à l'écriture. Et je l'ai fait. Merde Windows. J'ai été de nouveau trompé. Mais d'accord. C'est mort. Nouvel indice.

Un collègue m'a rapidement lancé un chargeur de démarrage en C, qui a lancé la charge sur Powershell. Je me suis aventuré à vérifier le paquet sur mon propre ordinateur, et tout semblait bien fonctionner. C'était une attaque perverse. Mais c’est tout ce que j’avais. J'allais:

  1. Exécuter l'auditeur sur mon ordinateur portable pirate
  2. Obtenez un accès physique à un ordinateur portable au bureau
  3. Connectez-vous en tant qu'administrateur local
  4. Téléchargez votre bouquet Malvari sur Unquoted Service Path
  5. Sortez
  6. Attendez la connexion de l'utilisateur et le démarrage du chargement

La pause déjeuner approchait. J'ai répondu avec un sourire aux invitations de mes collègues à aller prendre une collation et je me suis attardé un peu. Au début, j'avais prévu de rendre visite aux informaticiens et d'accéder à l'un de leurs ordinateurs pendant qu'ils déjeunaient. Mais quand je suis allé dans leur bureau, j'ai vu qu'ils étaient tous en place! Mangez votre déjeuner devant des ordinateurs! Ils ne savent pas à quel point c'est dangereux?! Comment un manque de séparation du travail et du repos et l'absence de pauses peuvent-ils conduire au stress?! Pourquoi ne dînent-ils pas comme des gens normaux?!

Oui tu y vas. Je vais pirater un ordinateur. N'importe quel ordinateur. J'ai fait le tour du bureau et j'ai trouvé un bureau où il n'y avait personne. Financiers. Ok, piratez les finances. J'ai répondu quelque chose à une jolie petite vieille qui est revenue chercher son portefeuille. Faites-lui savoir que je suis un technicien informatique qui met à jour des ordinateurs. Elle hocha la tête et, souriant doucement, partit. Irrité, avec un visage rempli de haine et de jubilation, je me suis tourné vers l'un des ordinateurs de ses collègues et l'ai piraté.

Cela a pris moins de 30 secondes. J'ai rendu la chaise et la souris à l'état dans lequel elles se trouvaient avant mon arrivée. Une fois de plus, je jetai un rapide coup d'œil autour de moi, m'assurant que tout semblait normal. Et il est retourné sur son lieu de travail. Asseyez-vous à regarder votre auditeur. À un moment donné, le déjeuner était terminé. Je ne voulais même pas parler. Déjà en train de perdre espoir, j'ai vu:
> Meterpreter session 1 opened
Et puis ...
> Meterpreter session 2 opened
> Meterpreter session 3 opened
...
> Meterpreter session 7 opened

Votre gauche! J'ai exécuté GETUID et j'ai vu NT AUTHORITY \ SYSTEM. III ha!

Bon! Super! Alors! Hum ... allons-y! Oui! Après avoir corrigé le système, j'ai vidé la mémoire et commencé à creuser dans le système de fichiers. Une sorte d'information financière. Quelques mots de passe en clair. Des informations sensibles, mais rien de sérieux. Mais bon. Ce n'est que le début. Bridgehead. Et puis ...
> Meterpreter session 1 closed

J'essaie de m'accrocher aux sessions, mais elles sont toutes fermées. Je ping le système ne répond pas. Je vais scanner le port 445. Rien. Le système n'est pas disponible. Ça. Oh! Trop. Je me lève et me dirige directement vers le service des finances. Qu'est-il arrivé à mes obus?!

Au détour d'un virage, je vois qu'une jolie vieille femme parle à l'informatique la plus lourde et la plus féroce. Je fais rapidement "Oh, yo ..." et je me retourne quand la vieille femme regarde dans ma direction, pointe un doigt directement sur moi et crie: "C'est ça! Il jouait avec nos ordinateurs! » J'émets un cri déchirant et me précipite vers la course. Ayant tourné le dos au féroce informaticien, je cours dans la direction opposée et tombe sur deux agents de sécurité. Ils ont l'air très hostiles et indiquent clairement que je me suis aventuré dans la mauvaise zone. Je me suis réveillé dans le sang, attaché à une chaise de bureau ergonomique avec des attaches de câble, dont ils tirent ensemble les câbles dans la salle des serveurs. La tête du DFIR se tient devant moi, ses phalanges renversées. Derrière elle, une petite équipe d'analystes du groupe de détection d'intrusion sourit. J'exprime un mot ... J'ai besoin de savoir ... "Comment ...?" Elle se penche sur mon oreille et murmure: «Personne dans le département des finances ne démarre jamais Powershell ...»

D'accord ... J'ai ajouté un petit drame à la fin. Mais l'histoire de ma rencontre avec une vieille femme qui m'a confiée à des informaticiens est bien réelle. Ils m'ont détenu juste là. Ils ont pris mon ordinateur portable et ont fait rapport à la direction à mon sujet. Le directeur de la sécurité de l'information est venu et a confirmé ma présence. Et la façon dont ils m'ont compris est réelle aussi. Ils ont été informés que Powershell fonctionnait sur un système qui n'appartenait pas à un petit groupe d'informaticiens et de développeurs qui ont démarré Powershell dans des conditions normales. Une méthode simple et fiable pour détecter les anomalies.

Conclusions


Équipe bleue


  • Modèle de moindre privilège
  • Authentification multifacteur
  • Des règles simples pour détecter les anomalies
  • Défense profonde

Équipe rouge


  • Continuez d'essayer
  • Ne présumez pas
  • Cherchez de l'aide
  • Chanceux préparé
  • Adaptation et dépassement

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


All Articles