Piratage de mots de passe cachés avec Smbexec

Piratage de mots de passe cachés avec Smbexec

Nous écrivons régulièrement sur la façon dont les pirates informatiques s'appuient souvent sur l'exploitation méthodes de piratage sans code malveillantpour éviter d'être détecté. Ils littéralement "survivre au pâturage", en utilisant les outils Windows standard, contournant ainsi les antivirus et autres utilitaires de détection des activités malveillantes. En tant que défenseurs, nous sommes désormais contraints de faire face aux conséquences malheureuses de techniques de piratage aussi intelligentes : un employé bien placé peut utiliser la même approche pour voler secrètement des données (propriété intellectuelle de l'entreprise, numéros de carte de crédit). Et s'il ne se précipite pas, mais travaille lentement et tranquillement, cela sera extrêmement difficile - mais toujours possible s'il utilise la bonne approche et la bonne approche. Outils, — pour identifier une telle activité.

D’un autre côté, je ne voudrais pas diaboliser les employés car personne ne veut travailler dans un environnement d’entreprise tout droit sorti du 1984 d’Orwell. Heureusement, il existe un certain nombre de mesures pratiques et d’astuces qui peuvent rendre la vie beaucoup plus difficile aux initiés. Nous considérerons méthodes d'attaque secrètes, utilisé par les pirates informatiques par des employés ayant une certaine expérience technique. Et un peu plus loin, nous discuterons des options pour réduire ces risques - nous étudierons les options techniques et organisationnelles.

Quel est le problème avec PsExec ?

Edward Snowden, à tort ou à raison, est devenu synonyme de vol de données privilégiées. Au fait, n'oubliez pas de jeter un oeil à cette note sur d'autres initiés qui méritent également un certain statut de renommée. Un point important à souligner concernant les méthodes utilisées par Snowden est que, à notre connaissance, il je n'ai pas installé pas de logiciel malveillant externe !

Au lieu de cela, Snowden a eu recours à un peu d'ingénierie sociale et a utilisé sa position d'administrateur système pour collecter des mots de passe et créer des informations d'identification. Rien de compliqué - aucun mimikatz, attaques -middle man-in le- ou métasploit.

Les employés des organisations ne se trouvent pas toujours dans la position unique de Snowden, mais il y a un certain nombre de leçons à tirer du concept de « survie par le pâturage » dont il faut être conscient – ​​ne pas s'engager dans une activité malveillante pouvant être détectée et être particulièrement vigilant. soyez prudent avec l'utilisation des informations d'identification. Souvenez-vous de cette pensée.

Psexec et sa cousine crackmapexec ont impressionné d’innombrables pentesters, hackers et blogueurs en cybersécurité. Et lorsqu'il est combiné avec mimikatz, psexec permet aux attaquants de se déplacer au sein d'un réseau sans avoir besoin de connaître le mot de passe en clair.

Mimikatz intercepte le hachage NTLM du processus LSASS, puis transmet le jeton ou les informations d'identification - ce qu'on appelle. Attaque "passer le hachage" – dans psexec, permettant à un attaquant de se connecter à un autre serveur en tant que un autre utilisateur. Et à chaque déplacement ultérieur vers un nouveau serveur, l'attaquant collecte des informations d'identification supplémentaires, élargissant ainsi l'éventail de ses capacités de recherche de contenu disponible.

Quand j'ai commencé à travailler avec psexec, cela m'a semblé magique - merci Mark Russinovitch, le brillant développeur de psexec - mais je connais aussi son bruyant Composants. Il n'est jamais secret !

Le premier fait intéressant à propos de psexec est qu’il utilise des Protocole de fichiers réseau SMB de Microsoft. En utilisant SMB, psexec transfère de petits binaire fichiers sur le système cible, en les plaçant dans le dossier C:Windows.

Ensuite, psexec crée un service Windows en utilisant le binaire copié et l'exécute sous le nom extrêmement « inattendu » PSEXECSVC. En même temps, vous pouvez réellement voir tout cela, comme moi, en regardant une machine distante (voir ci-dessous).

Piratage de mots de passe cachés avec Smbexec

La carte de visite de Psexec : service "PSEXECSVC". Il exécute un fichier binaire placé via SMB dans le dossier C:Windows.

Comme dernière étape, le fichier binaire copié s'ouvre Connexion RPC au serveur cible, puis accepte les commandes de contrôle (via le shell cmd Windows par défaut), les lance et redirige les entrées et les sorties vers la machine domestique de l'attaquant. Dans ce cas, l'attaquant voit la ligne de commande de base, comme s'il était connecté directement.

Beaucoup de composants et un processus très bruyant !

Les composants internes complexes de psexec expliquent le message qui m'a intrigué lors de mes premiers tests il y a plusieurs années : « Démarrage de PSEXECSVC... » suivi d'une pause avant l'apparition de l'invite de commande.

Piratage de mots de passe cachés avec Smbexec

Le Psexec d'Impacket montre en fait ce qui se passe sous le capot.

Pas surprenant : psexec a fait énormément de travail en coulisse. Si vous êtes intéressé par une explication plus détaillée, consultez ici ces magnifique description.

Évidemment, lorsqu'il est utilisé comme outil d'administration système, ce qui était objectif initial psexec, il n'y a rien de mal au « bourdonnement » de tous ces mécanismes Windows. Cependant, pour un attaquant, psexec créerait des complications, et pour un initié prudent et rusé comme Snowden, psexec ou un utilitaire similaire représenterait trop de risques.

Et puis vient Smbexec

SMB est un moyen intelligent et secret de transférer des fichiers entre serveurs, et les pirates informatiques infiltrent directement SMB depuis des siècles. Je pense que tout le monde sait déjà que ça n'en vaut pas la peine ouvrir Ports SMB 445 et 139 vers Internet, n'est-ce pas ?

À Defcon 2013, Eric Millman (brav0hax) présenté smbexec, afin que les pentesters puissent essayer le piratage furtif des PME. Je ne connais pas toute l'histoire, mais Impacket a ensuite affiné smbexec. En fait, pour mes tests, j'ai téléchargé les scripts d'Impacket en Python depuis Github.

Contrairement à psexec, smbexec évite transférer un fichier binaire potentiellement détecté vers la machine cible. Au lieu de cela, l'utilitaire vit entièrement du pâturage jusqu'au lancement local Ligne de commande Windows.

Voici ce qu'il fait : il transmet une commande de la machine attaquante via SMB à un fichier d'entrée spécial, puis crée et exécute une ligne de commande complexe (comme un service Windows) qui semblera familière aux utilisateurs de Linux. En bref : il lance un shell cmd Windows natif, redirige la sortie vers un autre fichier, puis la renvoie via SMB à la machine de l'attaquant.

La meilleure façon de comprendre cela est de regarder la ligne de commande, sur laquelle j'ai pu mettre la main à partir du journal des événements (voir ci-dessous).

Piratage de mots de passe cachés avec Smbexec

N'est-ce pas le meilleur moyen de rediriger les E/S ? À propos, la création de service porte l'ID d'événement 7045.

Comme psexec, il crée également un service qui fait tout le travail, mais le service suivant supprimé – il n’est utilisé qu’une seule fois pour exécuter la commande puis disparaît ! Un responsable de la sécurité de l'information surveillant la machine d'une victime ne sera pas en mesure de détecter évident Indicateurs d'attaque : aucun fichier malveillant n'est lancé, aucun service persistant n'est installé et il n'y a aucune preuve de l'utilisation de RPC puisque SMB est le seul moyen de transfert de données. Brillant!

Du côté de l’attaquant, un « pseudo-shell » est disponible avec des délais entre l’envoi de la commande et la réception de la réponse. Mais cela suffit largement pour qu'un attaquant - qu'il soit interne ou externe, déjà implanté - commence à rechercher du contenu intéressant.

Piratage de mots de passe cachés avec Smbexec

Pour renvoyer les données de la machine cible vers la machine de l'attaquant, il est utilisé client. Oui, c'est le même Samba utilité, mais uniquement converti en script Python par Impacket. En fait, smbclient vous permet d'héberger secrètement des transferts FTP via SMB.

Prenons du recul et réfléchissons à ce que cela peut apporter au salarié. Dans mon scénario fictif, disons qu'un blogueur, un analyste financier ou un consultant en sécurité hautement rémunéré est autorisé à utiliser un ordinateur portable personnel pour son travail. À la suite d’un processus magique, elle s’offusque de l’entreprise et « va tout mal ». Selon le système d'exploitation de l'ordinateur portable, il utilise soit la version Python d'Impact, soit la version Windows de smbexec ou smbclient sous forme de fichier .exe.

Comme Snowden, elle découvre le mot de passe d'un autre utilisateur soit en regardant par-dessus son épaule, soit elle a de la chance et tombe sur un fichier texte contenant le mot de passe. Et avec l’aide de ces informations d’identification, elle commence à fouiller dans le système à un nouveau niveau de privilèges.

Hacking DCC : nous n'avons pas besoin d'un Mimikatz "stupide"

Dans mes précédents articles sur le pentesting, j’utilisais très souvent mimikatz. Il s'agit d'un excellent outil pour intercepter les informations d'identification - les hachages NTLM et même les mots de passe en texte clair cachés dans les ordinateurs portables, n'attendant que d'être utilisés.
Les temps ont changé. Les outils de surveillance se sont améliorés pour détecter et bloquer les mimikatz. Les administrateurs de la sécurité des informations disposent également désormais de davantage d’options pour réduire les risques associés aux attaques par hachage (PtH).
Alors, que doit faire un employé intelligent pour collecter des informations d’identification supplémentaires sans utiliser mimikatz ?

Le kit d'Impacket comprend un utilitaire appelé secretsdump, qui récupère les informations d'identification du Domain Credential Cache, ou DCC en abrégé. Je crois comprendre que si un utilisateur de domaine se connecte au serveur mais que le contrôleur de domaine n'est pas disponible, DCC permet au serveur d'authentifier l'utilisateur. Quoi qu'il en soit, secretsdump vous permet de vider tous ces hachages s'ils sont disponibles.

Les hachages DCC sont pas de hachages NTML et leur ne peut pas être utilisé pour une attaque PtH.

Eh bien, vous pouvez essayer de les pirater pour obtenir le mot de passe d'origine. Cependant, Microsoft est devenu plus intelligent avec DCC et les hachages DCC sont devenus extrêmement difficiles à déchiffrer. Oui j'ai hashcat, "le devineur de mot de passe le plus rapide au monde", mais il nécessite un GPU pour fonctionner efficacement.

Essayons plutôt de penser comme Snowden. Un employé peut procéder à une ingénierie sociale en face à face et éventuellement obtenir des informations sur la personne dont il souhaite déchiffrer le mot de passe. Par exemple, découvrez si le compte en ligne de la personne a déjà été piraté et examinez son mot de passe en clair pour trouver des indices.

Et c’est le scénario que j’ai décidé de suivre. Supposons qu'un initié apprenne que son patron, Cruella, a été piraté à plusieurs reprises sur différentes ressources web. Après avoir analysé plusieurs de ces mots de passe, il se rend compte que Cruella préfère utiliser le format du nom de l'équipe de baseball « Yankees » suivi de l'année en cours – « Yankees2015 ».

Si vous essayez maintenant de reproduire ceci chez vous, vous pouvez télécharger un petit "C" code, qui implémente l'algorithme de hachage DCC, et le compile. John the Ripper, en passant, a ajouté la prise en charge de DCC, il peut donc également être utilisé. Supposons qu'un initié ne veuille pas se soucier d'apprendre John l'Éventreur et aime exécuter "gcc" sur du code C existant.

Feignant le rôle d'un initié, j'ai essayé plusieurs combinaisons différentes et j'ai finalement pu découvrir que le mot de passe de Cruella était "Yankees2019" (voir ci-dessous). Mission accomplie!

Piratage de mots de passe cachés avec Smbexec

Un peu d'ingénierie sociale, un soupçon de divination et une pincée de Maltego et vous êtes sur la bonne voie pour déchiffrer le hachage DCC.

Je suggère que nous finissions ici. Nous reviendrons sur ce sujet dans d'autres articles et examinerons des méthodes d'attaque encore plus lentes et furtives, en continuant à nous appuyer sur l'excellent ensemble d'utilitaires d'Impacket.

Source: habr.com

Ajouter un commentaire