Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/forrest-orr/doublestar
Escalation di PrivilegiExploitShellcodeSfruttamento di Applicazioni WebRed TeamingSviluppo PayloadBinary Exploitation
GitHubforrest-orr/doublestar

DoubleStar

Una ricreazione personalizzata/migliorata della catena di exploit "Double Star" dell'APT Darkhotel, incentrata su Windows 8.1 e combinata con alcune mie tecniche personali.

Vedi Repository
147274 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

________ . . _________ __ _____ \ ____ __ _ | | | ____ / // | _____ _______ | | \ / _ \ | | | __ \ | | / __ \ _ \ \ \ \ _ __
| ` ( <_> )| | /| _\ | |
\ / / \ | | / __ _| | / /____ / _/ |/ | /|/ ___ > /___ / || (____ /|| / / / / / Catena di exploit Windows 8.1 IE/Firefox RCE -> Evasione dalla sandbox -> EoP a SYSTEM

root@kitploit:~
                        ______________
                        | Remote PAC | 
                        |____________|  
                               ^
                               | HTTPS

_______________ RPC/ALPC _______________ RPC/ALPC _______________ | firefox.exe | ----------> | svchost.exe | -----------> | spoolsv.exe | || || <----------- || | RPC/Pipe | _______________ | | malware.exe | <---| Execute impersonating NT AUTHORY\SYSTEM ||

~

Utilizzo

Per eseguire questa catena di exploit, scarica la struttura completa della release/cartella su una macchina Windows 8.1 x64 non aggiornata e carica uno di questi due file .html mentre sei connesso a Internet:

  • CVE-2019-17026\Forrest_Orr_CVE-2019-17026_64-bit.html - tramite Firefox v65-69 64-bit.
  • CVE-2020-0674\Forrest_Orr_CVE-2020-0674_64-bit.html - tramite Internet Explorer 11 64-bit (Modalità protetta avanzata abilitata).

L'RCE iniziale può essere eseguito tramite IE o FF e comporterà l' esecuzione di un processo cmd.exe nella tua sessione utente con privilegi NT AUTHORY\SYSTEM.

I singoli exploit sono stati testati con successo nel seguente contesto:

  • CVE-2020-0674 - IE8 64-bit e WPAD su Windows 7 x64, IE11 64-bit e WPAD su Windows 8.1 x64.
  • CVE-2019-17026 - Firefox 65-69 (64-bit) su Windows 7, 8.1 e 10 x64.

Nota: mentre i singoli exploit stessi possono funzionare su più versioni di Windows, l'intera catena funzionerà solo su Windows 8.1.

~

Panoramica

Sebbene questa catena di exploit utilizzi due exploit 0day (ora corretti), contiene anche una tecnica di evasione dalla sandbox e di EoP che al 5/4/2021 non è ancora stata corretta e resta oggi fattibile per l'integrazione in future catene di attacco.

Si ritiene che il gruppo APT Darkhotel (originario della Corea del Sud) abbia lanciato una campagna contro dirigenti d'azienda e funzionari governativi cinesi e giapponesi attraverso una combinazione di spear phishing e hacking di reti di hotel di lusso all'inizio del 2020. Gli exploit che hanno utilizzato (CVE-2020-0674 e CVE-2019-17026, insieme soprannominati "Double Star") erano lievi variazioni 0day di vecchi/esistenti exploit del 2019: in particolare bug UAF nel motore JavaScript legacy (jscript.dll) e bug di aliasing nel motore IonMonkey di Firefox.

Ciò che rendeva interessante l'uso di questi 0day andava oltre la loro capacità di ottenere RCE tramite i browser Internet Explorer e Firefox: CVE-2020-0674 in particolare (un UAF nel motore legacy jscript.dll) è sfruttabile in qualsiasi processo in cui sia possibile eseguire codice JS legacy tramite jscript.dll. A fine 2017, Google Project Zero ha pubblicato un post dal titolo "aPAColypse now: Exploiting Windows 10 in a Local Network with WPAD/PAC and JScript" [1].

Questa ricerca ha portato alla luce un vettore d'attacco molto interessante che (all'epoca) interessava tutte le versioni di Windows dalla 7 in poi: il servizio WPAD (o "WinHTTP Web Proxy Auto-Discovery Service") contiene una funzionalità antica per l'aggiornamento delle configurazioni proxy tramite un file "PAC". Qualsiasi utente in grado di comunicare con il servizio WPAD (in esecuzione all'interno di un processo svchost.exe come LOCAL SERVICE) via RPC può costringerlo a scaricare un file PAC da un URL remoto contenente codice JS responsabile dell'impostazione della corretta configurazione proxy per un URL fornito dall'utente. In particolare, il motore legacy jscript.dll viene utilizzato per analizzare questi file PAC. Ciò ha aperto un vettore d'attacco in cui qualsiasi processo (indipendentemente da privilegi utente limitati o persino dal sandboxing) poteva connettersi al servizio WPAD locale tramite ALPC e costringerlo a scaricare un file PAC malevolo contenente un exploit jscript.dll da un URL remoto. Ciò avrebbe comportato l'esecuzione di codice nel contesto di LOCAL SERVICE.

Darkhotel ha preso questo concetto e lo ha usato come evasione dalla sandbox dopo aver ottenuto RCE tramite Firefox o Internet Explorer. Il passaggio successivo della loro catena d'attacco non è chiaro: sembra che abbiano in qualche modo elevato i propri privilegi da LOCAL SERVICE a SYSTEM e abbiano proceduto a eseguire il loro malware da questo contesto. In tutta l'analisi della catena d'attacco Darkhotel Double Star, non sono riuscito a trovare una spiegazione dettagliata di come abbiano fatto, tuttavia è sicuro supporre che la loro tecnica non dovesse necessariamente essere un exploit 0day. I processi avviati dall'account LOCAL SERVICE dispongono del privilegio SeImpersonate per impostazione predefinita e quindi possono elevare il proprio contesto di sicurezza nel caso riescano a forzare una connessione privilegiata verso se stessi tramite named pipe o ALPC.

È probabile che il gruppo APT Darkhotel abbia usato Rotten Potato per la loro EoP da LOCAL SERVICE, poiché era la tecnica più semplice e comune ampiamente utilizzata diversi anni fa (oltre alla tecnica usata nella ricerca di Google Project Zero "aPAColypse now", tuttavia ho optato per una tecnica più solida/moderna invece: l'impersonazione tramite named pipe di una connessione RPC forzata dal Print Spooler [2]. Questa tecnica combinava una vecchia interfaccia RPC popolare tra i Red Teamers per la raccolta di TGT in ambienti con delega non vincolata abilitata (nota anche come "Printer Bug") con un attacco in stile impersonation/Rotten Potato adattato per l'escalation dei privilegi locale.

Inoltre, invece di prendere di mira Windows 7, ho deciso di concentrarmi su Windows 8.1 a causa della sfida rappresentata dalle sue mitigazioni di sicurezza potenziate come LFH non deterministico, ASLR ad alta entropia e Control Flow Guard (CFG).

~

CVE-2020-0674

File PAC malevolo contenente l'exploit UAF CVE-2020-0674 - scaricato nel servizio WPAD svchost.exe (LOCAL SERVICE) tramite trigger RPC. Contiene shellcode di terzo stadio (Spool Potato EoP). Questo exploit può avere un duplice scopo anche come vettore d'attacco RCE iniziale tramite IE11 64-bit.

_______________ RPC _______________ CVE-2020-0674 ________________ | firefox.exe | -----> | svchost.exe | ---------------> | Spool Potato | || || | shellcode | |______________|

~

CVE-2019-17026

RCE Firefox 64-bit IonMonkey JIT/Type Confusion. Rappresenta il vettore d'attacco iniziale quando un utente visita una pagina web infetta con una versione vulnerabile di Firefox. Questo componente contiene uno shellcode di primo stadio (egg hunter) e uno di secondo stadio (evasione dalla sandbox WPAD), quest'ultimo efficace solo su Windows 8.1 a causa dei dettagli dell'interfaccia IDL RPC hardcoded per WPAD.

_______________ JIT spray ______________ DEP bypass _______________________ | firefox.exe | -----------> | Egg hunter | ------------> | WPAD sandbox escape | |___________| | shellcode | | shellcode (heap) | |________| |___________________|

~

Payload

Questa catena di exploit ha tre payload shellcode, presenti in questo repository sotto Payloads\Compiled\JS nella loro forma di shellcode codificato in JavaScript:

  • Primo stadio: shellcode egg hunter (ASM).
  • Secondo stadio: shellcode di evasione dalla sandbox WPAD (C DLL, sRDI in shellcode).
  • Terzo stadio: shellcode di escalation dei privilegi Spool Potato (C DLL, sRDI in shellcode).

Quando IE viene usato come vettore d'attacco RCE iniziale, sono necessari solo gli shellcode di secondo e terzo stadio. Quando FF viene usato come vettore d'attacco RCE iniziale, vengono usati tutti e tre.

Ho incluso anche diversi shellcode aggiuntivi a scopo di test (uno shellcode MessageBoxA e uno WinExec). Nota: quando li usi, nel caso di Firefox CVE-2019-17026, lo shellcode deve essere rappresentato come un Uint8Array prefissato dal seguente egg QWORD: 0x8877665544332211. Nel caso di CVE-2020-0674, lo shellcode deve essere rappresentato come un array DWORD.

Nota anche che quando usi un payload WinExec o MessageBoxA insieme a Firefox CVE-2019-17026, devi prima abbassare a 2 il livello di contenuto della sandbox in "about:config".

~

Crediti

maxpl0it - per aver scritto l'analisi iniziale e la PoC per CVE-2019-17026 con particolare attenzione al sistema operativo Linux, e per aver scritto l'analisi iniziale e la PoC per CVE-2020-0674 con particolare attenzione a IE8/11 su Windows 7 x64.

0vercl0k - per aver documentato gli internals di IonMonkey in relazione all'aliasing e alla GVN.

HackSys Team - per i suggerimenti sul servizio WPAD e sul debug JS di basso livello.

itm4n - per la ricerca originale sulla combinazione del bug RPC della stampante con l'impersonazione tramite named pipe.

~

Link

[1] https://googleprojectzero.blogspot.com/2017/12/apacolypse-now-exploiting-windows-10-in_18.html [2] https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/

Scarica lo strumento