DCShadow to jedno z najnowszych zagrożeń w środowisku Active Directory wykorzystywane w ostatniej fazie KILLCHAIN. Pozwala atakującemu, który uzyskał już prawa administratora domeny, na wprowadzanie zmian w środowisku pozostając niezauważonym. Exploit ten jest podobny do DCSync, który omawialiśmy wcześniej. Wprowadzony został jako funkcja Mimikatz’a w styczniu 2018 roku. Jego mechanizm również opiera się na replikacji kontrolerów domen, jednak tutaj możliwości są dużo większe. Za pomocą DCSync można było poprosić legalny kontroler domeny o replikację danych dotyczących hasła konkretnego konta w domenie. DCShadow umożliwia atakującym podszycie się pod kontroler domeny, dokonanie dowolnej zmiany w AD i wysłanie tej zmiany na legalny kontroler. Wszystko to bez rejestrowania żadnych informacji w logach, co powoduje, że SIEMy w tym przypadku są komplenie bezradne. Całość procesu przeprowadzenia DCShadow wygląda następująco.

Niezbędnym narzędziem do wykonania ataku jest oczywiście Mimikatz. Pierwszą rzeczą, którą przygotować musi atakujący jest komenda opisująca zmianę w AD. Dla przykładu, wyrażenie do zmiany numeru telefonu użytkownika Administrator wygląda następująco:

lsadump::dcshadow /object:CN=Administrator,CN=Users,DC=APPEAL,DC=lab /attribute:telephoneNumber /value:000111222

Kolejnym krokiem jest uruchomienie Mimikatz’a w kontekście lokalnego konta SYSTEM. Działanie to jest niezbędne, ponieważ zmiana w AD musi być wykonana poprzez obiekt typu komputer, a nie użytkownik domenowy. Inaczej replikacja nie powiodła by się. Istnieje wiele metod uruchamiania procesów jako SYSTEM. Dla przykładu użycie PsExec:

Uruchomienie procesu jako konto SYSTEM przy użyciu PsExec

W uruchomionym na koncie SYSTEM Mimikatz’ie wpisujemy przygotowaną wcześniej komendę do wprowadzenia zmian w Active Directory:

Utworzenie zmiany atrybutu w AD: numeru telefonu konta Administrator

Ostatnią rzeczą jaką musi zrobić sprawca ataku będzie wywołanie replikacji. Do tego niezbędne są uprawnienia konta administratora domeny. Uruchamiając nowe okno Mimikatz’a jako admin domeny należy wprowadzić ostatnią komendę, a zmiana zostanie zatwierdzona przez prawdziwy kontroler. Przedstawiono to poniżej:

Wywołanie replikacji jako administrator domeny za pomocą komendy /push

Sprawdzając właściwości konta domenowego Administrator widzimy, że DCShadow spełnił swoje zadanie i numer telefonu został zmieniony. Oczywiste jest to, że w identyczny sposób atakujący są w stanie zmieniać członkostwo w grupach, uprawnienia i inne bardziej znaczące atrybuty.

Podsumowując w krótkich słowach przebieg ataku DCShadow. Osoba atakująca uzyskuje prawa administratora domeny i chce wprowadzić zmiany w środowisku, które nie pozostawią trwałego śladu. W tym celu rejestruje komputer na którym działa (np. stacje roboczą), jako kontroler domeny w usłudze Active Directory, wprowadzając zmiany w schemacie konfiguracji i wartości SPN stacji roboczej. AD uważa teraz, że ta stacja jest kontrolerem domeny i ma zaufanie do replikacji zmian. Atakujący dokonuje zmianę w AD na fałszywym kontrolerze. Stacja robocza udostępnia tę zmianę prawdziwym kontrolerom domeny poprzez replikacje. Replikacja jest wywoływana przez DCShadow, zmiana jest replikowana, a następnie zatwierdzana przez legalny kontroler domeny.


Jak się chronić?


Należy zwrócić uwagę na kilka istotnych rzeczy. Ponieważ, zmiany atakującego są zatwierdzane przez replikacje, to nie są rejestrowane w event logach kontrolera domeny. Zwykle, logi takich zmian przechowywane są w dziennikach zdarzeń kontrolera domeny na którym wykonana została ta zmiana. W tym przypadku taki DC nie istnieje! To właśnie sprawia, że takie działanie jest bardzo trudne do wykrycia i dalszej inwestygacji.

Można sobie więc wyobrazić, dlaczego atak ten jest tak przerażający dla większości pracowników cyberbezpieczeństwa. Funkcja DCShadow zapewnia możliwość wprowadzania krytycznych zmian w środowisku AD, a zmian tych nie można wykryć ani im zapobiec. DCShadow korzysta z natywnych funkcji Active Directory, więc nie jest luką w zabezpieczeniach którą można załatać. Utrudnia to naturalne zapobieganie temu zjawisku.