Projekty
PowerShell modul DSInternals
PowerShell modul DSInternals sprístupňuje viaceré nedokumentované funkcie Active Directory a Azure Active Directory. Patria medzi ne auditovanie FIDO2 a NGC kľúčov, offline manipulácia so súborom ntds.dit, audit hesiel, obnova DC z IFM zálohy, and počítanie odtlačkov hesiel.
Asi najobľúbenejšou funkciou modulu DSInternals je príkaz Test-PasswordQuality, ktorý vie skontrolovať heslá v Active Directory voči zoznamu uniknutých hesiel publikovanom na stránke Have I Been Pwned (HIBP):
Viac informácií o tomto module:
PowerShell modul DSInternals bol údajne použitý aj pri útokoch v rámci tzv. SoloriGate, podľa správy Symantecu o malvéri Raindrop:
VAROVANIE: Funkcionalita modulu DSInternals nie je podporovaná firmou Microsoft a preto nie je určený pre produkčné nasadenie. Jeho nesprávne použitie môže spôsobiť nevratné poškodenie doménového kontroléru alebo negatívne ovplyvniť bezpečosť domény.
.NET knižnice DSInternals
Funkcionalitu PowerShell modulu je možné integrovať do iných aplikácií pomocou NuGet balíčkov pre .NET.
Projekt DSInternals momentálne využívajú minimálne tieto produkty:
- Semperis Active Directory Forest Recovery
- Lithnet Password Protection for Active Directory
- Delinea Weak Password Finder
PowerShell modul DSInternals.Passkeys
PowerShell modul DSInternals.Passkeys umožňuje správcom Entra ID registrovať Passkey (bezpečnostné kľúčenky štandardu FIDO2 či aplikáciu Microsoft Authenticator) pre iných používateľov, bez nutnosti im nastavovať heslo:
Aby som mohol jednoducho demonštrovať možnosti Win32 API WebAuthn, vytvoril som ako súčasť tohoto projektu aj desktopovú aplikáciu FIDO2 UI:
Vývojári .NET aplikácií môžu tiež jednoducho využiť túto funkcionalitu pomocou mojich NuGet balíčkov.
Delinea Weak Password Finder
Pre spoločnosť Thycotic (dnes Delinea) som kedysi vytvoril prvú verziu programu Weak Password Finder for Active Directory.
ADMX šablóna pre YubiKey Smart Card Minidriver
Pred časom som vytvoril ADMX šablónu, ktorá môže správcom uľahčiť centrálnu konfiguráciu YubiKey Smart Card Minidriver cez Active Directory Group Policy.
Bezpečnostný výskum Active Directory a Entra ID
CVE-2024-20692: Zraniteľnosť v Microsoft Local Security Authority Subsystem Service (LSASS)
Počas analýzy sieťovej komunikácie Windows služby Local Security Authority Subsystem Service (LSASS) som objavil zraniteľnosť CVE-2024-20692. Útočníkovi, ktorý je schopný pasívneho odposluchu sieťovej komunikácie, umožňuje získať citlivé dáta, ktoré je možné zneužiť pri ďalších útokoch na podnikovú sieť.
Elevácia oprávnení cez Windows Hello for Business
V roku 2019 som objavil niekoľko nových vektorov útoku voči implementácii Windows Hello for Business v Active Directory. Výsledky môjho výskumu som prezentoval na konferencii Black Hat Europe, pričom záznam prednášky aj slajdy sú verejné dostupné.
V rámci koordinovaného zverejnenia zraniteľnosti publikoval Microsoft bezpečnostné doporučenie ADV190026 nazvané Microsoft Guidance for cleaning up orphaned keys generated on vulnerable TPMs and used for Windows Hello for Business a vydal PowerShell modul WHfBTools v predvečer mojej prednášky na konferenci Black Hat.
Útok Shadow Credentials voči Active Directory
Počas skúmania Windows Hello for Business som vyvinul aj nástroj na pridávanie nových NGC kľúčov do AD atribútu msDS-KeyCredentialLink
. Táto technika bola neskôr spopularizovaná Eladom Shamirom zo spoločnosti SpecterOps, ktorý pre ňu vymyslel názov Shadow Credentials (tieňové prihlasovacie údaje). Úprava atribútu msDS-KeyCredentialLink
sa medzičasom stala dobre známou a obľúbenou technikou nielen medzi penetračnými testermi, ale aj medzi hackermi.
Ak vie útočník upraviť tento atribút na nejakom účte, môže sa ako tento účet prihlásiť do AD cez protokol Kerberos PKINIT. To môže viesť buď k elevácii oprávnení, alebo k perzistencii. Vedľajším dôsledkom je, že je možné voči napadnutému účtu vykonať útok UnPAC-the-Hash a dostať sa tak k NT hashu používateľského hesla. Tento útok tak môžeme považovať za zacielený DCSync.
Moje pôvodné zdrojové kódy si svojim životom žijú aj v týchto hackerských nástrojoch:
Bezpečnostná zraniteľnosť v Azure AD Graph API
V roku 2020 som náhodou zistil, že prostredníctvom Azure AD Graph API sú nedopatrením sprístupnené šifrovacie kľúče DPAPI všekých používateľov ostatným používateľom daného AAD tenantu cez atribút searchableDeviceKey
. Túto zraniteľnosť som nahlásil Microsoftu, ktorý ju následne ošetril.
Útok Silver Ticket voči Azure Active Directory
V roku 2017 som ako prvý verejne poukázal na možnosť vykonania silver ticket útoku voči Azure Active Directory, zneužitím funkcie Seamless Single Sign-on, ktorá v tom čase pritom ešte ani nebola všeobecne dostupná. Tento útok môže byť využitý k vydávaniu sa za ľubovoľného používateľa voči Office 365, Azure, alebo inej službe napojenej na Azure Active Directory.
Microsoft následne implementoval možnosť zmeniť heslo účtu AZUREADSSOACC$
a odporúča tak učiniť každých 30 dní.
Reverzné inžinierstvo Azure AD Connect
Dávno pred tým, než existovala oficiálna dokumentácia k funkcii synchronizácie hesiel v programe Azure Active Directory Connect, podarilo sa mi pomocou reverzného inžinierstva odhaliť použitý kryptografický algoritmus.
V reakcii na moju spätnú väzbu zvýšil Microsoft počet iterácií SHA256 zo 100 na 1000. A už deň po vydaní môjho článku bol do programu hashcat
, populárneho nástroja na lámanie hesiel, pridaný hash mode 12800 (MS-AzureSync PBKDF2-HMAC-SHA256).