
Prova di concetto per CVE-2020-0665, noto anche come SID Filter Bypass.
Proof of Concept per CVE-2020-0665, che permette di bypassare il filtraggio SID nelle foreste di Active Directory (Attacco Cross Forest).
SYSTEM).Trust Transitivo Bidirezionale stabilita con la foresta fiduciaria.python2.7 installato nel DC compromesso, insieme alla libreria frida (pip2 install frida) nella foresta fiduciaria del DC compromesso. P.S.: Non l'ho testato con python3, forse funziona lo stesso?contoso.local abbiamo bisogno di un dominio figlio child.contoso.local.test.local (che ha un Trust Transitivo Bidirezionale con il nostro dominio compromesso contoso.local), abbiamo bisogno di una workstation come SQL.test.local, DEV.test.local, MSSQL01.test.local, ecc. Se usiamo DC come workstation l'attacco non funzionerà.lsass.exe.NetLogon NetrGetForestTrustInformation. Questo accade ogni 24 ore, quindi abbi pazienza.Passa il child SID e il local SID (workstation) allo script. Utilizza parte dello script frida_intercept.py per intercettare e hookare un processo tramite nome o PID. Ricorda che questo script è stato testato con python2.7, ma potrebbe funzionare anche con python3 (entrambi richiedono che la libreria frida sia installata nel rispettivo software):
In una shell come nt authority/system in un Domain Controller compromesso, esegui:
python .\CVE-2020-0665.py --process <process to hook> --child-sid <Child SID> --local-sid <local SID>
Ad esempio:
python .\CVE-2020-0665.py --child-sid S-1-5-21-3878752286-62540090-653003637 --local-sid S-1-5-21-2327345182-1863223493-3435513819 -p lsass.exe -v
Questo cambierà il SID target della Workstation (S-1-5-21-2327345182-1863223493-3435513819) con un SID di un dominio figlio nella nostra foresta Active Directory attuale sotto il nostro controllo (S-1-5-21-3878752286-62540090-653003637).
[!WARNING] Questo cambierà il SID della Workstation vittima. Prova a salvare tutti i valori SID prima di eseguire questo attacco per ripristinarli in seguito.
Per maggiori informazioni su questo attacco, dai un'occhiata a questo blog che spiega come proseguire con l'attacco (forgiare un Golden Ticket tramite un ExtraSid Attack, per esempio).
Per scopi etici. Sii sempre etico (: