Pracownicy firm, które korzystają z usługi katalogowej Active Directory mogą odetchnąć z ulgą. Od teraz nie będą oni ograniczani przez reguły bezpieczeństwa z powodu egzekwowania surowych polityk (długość, historii, złożoności) w przypadku tworzenia lub zmiany hasła na nowe. Oznacza to tyle, że będą oni mogli powrócić do swoich ulubionych haseł w stylu: „wiosna2019”, „Monika19” albo jak, kto woli „Legia” lub inne, których użycie jest obecnie niedopuszczalne.
Osoby zajmujące się bezpieczeństwem IT robią teraz wielkie oczy i czytają tą informację z niedowierzaniem, jednocześnie zadają sobie pytanie – czy to możliwe?
Otóż tak, wykorzystując nową podatność w Windows i specjalistyczne narzędzie, o którym napiszemy poniżej. Jeśli jesteś administratorem Active Directory oraz osobą zajmująca się bezpieczeństwem IT z pewnością powinieneś przeczytać ten artykuł.


Zmiana „silnego hasła” na „hasło banalne”?


Benjamin Delpy – francuski twórca narzędzia hackerskiego mimikatz nie próżnuje i co jakiś czas zaskakuje nas coraz to nowymi pomysłami. Implementuje w swoim narzędziu funkcje łamiące zabezpieczenia najnowszych systemów operacyjnych Microsoft Windows. Delpy potrafi spędzić sen z powiek wielu osobom, którzy zajmują się bezpieczeństwem IT, a przede wszystkim denerwuje takiego giganta, jak Microsoft.
(O możliwościach narzędzia mimikatz pisaliśmy w kampanii KILLCHAIN)

15 kwietnia 2019 Delpy opublikował kod źródłowy nowej wersji mimikatz’a 2.2, która umożliwia zwykłemu użytkownikowi zmianę swojego obecnego hasła na bardzo proste, nawet takie, które nie spełnia wymogów podstawowej polityki haseł stosowanej na ogół w przedsiębiorstwach używających Active Directory.
Twórca mimikatz zaimplementował w nim 2 funkcje – „changentlm” i „setntlm”, pozwalające zwykłemu użytkownikowi domeny Active Directory pracującemu na podstawowych uprawnieniach na komputerze Windows zmienić swoje „silne hasło” na „banalne”.
Wspomniana podatność omija zabezpieczenia sprawdzania złożoności hasła Microsoft-u implementowane w domenie Active Directory. Idąc dalej, co ciekawe w narzędziu mimikatz możemy zmienić hasło na nowe nie znając starego hasła użytkownika!!! Wystarczy, że znamy jego skrót hasła (ntlm hash) i po sprawie. Dla nieuważnych przypominamy, że skróty haseł użytkowników z Active Directory możemy pozyskać używając metod opisywanych i pokazywanych w naszej kampanii KILLCHAIN.

Poniżej dwa przykłady z naszego środowiska, w którym przetestowaliśmy najnowszą wersję mimikatz 2.2. i wszystkie zabezpieczenia Windows 10 (kompilacja 1809).


Scenariusz 1


Spróbujmy zmienić hasło na nowe (jednoznakowe) wykorzystując natywną funkcję Windows i podstawową/domyślną politykę bezpieczeństwa haseł zaimplementowaną w AD. Do przykładu wykorzystaliśmy nazwę użytkownika „hacker” i wpisywaliśmy dla niego stare oraz dwa razy nowe (jednoznakowe) hasło.

System Windows nie pozwolił nam na zmianę hasła na nowe, ponieważ nie spełniało reguł polityki bezpieczeństwa.

No dobrze, skoro Windows nie pozwala nam na zmianę naszego hasła na nowe (jednoznakowe), to spróbujemy odpalić narzędzie mimikatz 2.2 i w nim wpisać następującą linijkę kodu:

lsadump::changentlm /server:dc-appeal.appeal.lab /user:hacker /oldpassword:Kapitan2019 /newpassword:x

W poleceniu podaliśmy w tym celu nazwę kontrolera domeny, nazwę użytkownika oraz wartość starego i nowego hasła.
Widzimy udaną zmianę hasła na nowe (jednoznakowe). W tym scenariuszu znaliśmy stare hasło (przełącznik „oldpassword”).

Zmiana hasła w Mimikatz za pomocą polecenia “changentlm”

Od teraz mamy na użytkowniku „hacker” nowe, jednoznakowe hasło „x”, którym bez problemów możemy logować się do systemów i aplikacji.


Scenariusz 2


Nowa wersja mimikatz umożliwia także zmianę hasła bez znajomości starego. Potrzebujemy do tego jedynie skrótu (hash ntlm) starego hasła. Ponieważ mimikatz wyświetlił je nam przy zmianie w poprzednim przykładzie (wartość pola „NEW NTLM”) możemy wykorzystać jego wartość do zmiany hasła na nowe, inne.
Nasza linijka kodu będzie wyglądała w tym przypadku tak:

lsadump::changentlm /server:dc-appeal.appeal.lab /user:hacker /oldntlm:a9f0dd57e1edab5bb55a9ac0a99c15ec /newpassword:y

Tak jak w przypadku pierwszym, tak i tutaj otrzymaliśmy dar od twórcy mimikatz – utworzenie jednoznakowego hasła do systemu. W tym przypadku hasła o wartości „y”.

Zmiana hasła w Mimikatz bez konieczności posiadania starego hasła

Co to oznacza dla firm?


Po pierwsze, jeśli jakiś użytkownik w firmie będzie mógł swobodnie uruchomić mimikatz na komputerze z Windows, wówczas będzie mógł utworzyć nowe, niezabezpieczone hasło – na ogół mimikatz jest wykrywany przez większość oprogramowania antywirusowego, w tym Windows Defender. Zawsze jednak istnieje prawdopodobieństwo, że na komputerze użytkownika nie będzie uruchomione żadne oprogramowanie antywirusowe lub będzie wyłączona usługa Windows Defender.

Drugie zagrożenie niesie ryzyko zarażenia komputera złośliwym oprogramowaniem, które posiada zaimplementowane funkcje mimikatz. Oznaczałoby to tyle, że jeśli cyberprzestępca zdobędzie hash hasła zwykłego użytkownika, to na jego koncie będzie mógł bez problemu zmienić aktualne hasło na dowolne inne, wykonać szereg aktywności i z powrotem przywrócić je na stare – bez jakichkolwiek notyfikacji o tym w systemie.

Ponieważ twórca mimikatz publicznie udostępnia w Internecie kod źródłowy tego narzędzia istnieje wysokie prawdopodobieństwo, że cyberprzestępcy mogą to wykorzystać, skompilować kod w taki sposób, żeby nie był wykrywany przez specjalistyczne oprogramowanie antywirusowe. Może powstać nowy groźny wirus/malware wykorzystujący opisywaną powyżej podatność. Powinniśmy się na takie zagrożenie przygotować.


Jak sobie radzić z problemem?


Przede wszystkim powinniśmy jak najszybciej zabezpieczyć nasze systemy logowania wykorzystujące poświadczenia kont z Active Directory i wykrywać wszelkiego typu anomalie związane z zachowaniu użytkowników. Dobry system do audytu i monitorowania będzie tutaj z pewnością pomocny.

Także zastosowanie rozwiązań do wieloetapowego uwierzytelniania lub w oparciu o smartcard z pewnością utrudnią w tym przypadku możliwość przejęcia konta i zalogowania się nie do systemów/aplikacji. Pisaliśmy o tym w artykule o Yubikey.

Warto też na bieżąco analizować stan aktualnym haseł użytkowników w Active Directory – pisaliśmy o tym w artykule słabe hasła.