Przeglądając codziennie setki wiadomości rzadko natrafiamy na coś naprawdę nowego i jednocześnie ciekawego. Oba te warunki spełnia oryginalne złośliwe oprogramowanie opisane kilka dni temu, które ma za zadanie działać jedynie na serwerach AD.
Badacze z jednostki Della odpowiedzialnej za śledztwa komputerowe i reakcję na incydenty opisują nowy rodzaj złośliwego oprogramowania, który nazwali Skeleton Key (wytrych). Po zainstalowaniu na kontrolerze domeny pozwala ono atakującym na logowanie się na dowolne konto z użyciem wcześniej ustalonego uniwersalnego hasła.
Uniwersalny klucz do wszystkich zasobów
Program został odkryty na serwerze Active Directory jednego z klientów Della. Firma ta nie korzystała z dwuskładnikowego uwierzytelnienia. Dzięki niemu atakujący mógł logować się na usługi takie jak webmail czy VPN w imieniu dowolnego użytkownika, podając hasło zapisane na stałe w kodzie złośliwego programu czy też odblokowywać wygaszacze ekranu w przypadku dostępu fizycznego do maszyn połączonych z AD. Co ciekawe złośliwy program funkcjonował jedynie jako łata na odpowiedni proces w pamięci kontrolera domeny i nie zapewniał możliwości przetrwania w przypadku restartu serwera.
Oczywiście zainstalowanie złośliwego oprogramowania wymaga posiadania uprawnień administratora domeny. Atakujący uzyskiwali je analizując pamięć kluczowych serwerów, stacji roboczych używanych przez administratorów czy też kontrolerów domeny. W zaobserwowanym przypadku złośliwy program nazwany został ole64.dll, ole.dll lub msuta64.dll i miał rozmiar zaledwie 50kb.
Jak przebiega atak
Po zdobyciu dostępu do sieci ofiary atakujący umieszczają plik ze złośliwym programem na serwerze przechodnim. W kolejnym kroku próbują zalogować się na konto administratora domeny z użyciem wykradzionych haseł. Jeśli hasła już nie działają (zostały zmienione między ich przechwyceniem a próbą dostępu), to atakujący wracają do etapu ich ponownego pozyskania z pamięci serwerów lub stacji roboczych. Po uzyskaniu uprawnień plik jest wgrywany do kontrolera domeny do folderu C:\WINDOWS\system32\ a następnie uruchamiany za pomocą narzędzia PsExec i rundll32 oraz techniki pass the hash. Kiedy plik jest już załadowany do pamięci serwera, usuwana jest jego kopia z dysku oraz z serwera przechodniego.
Choć operacja jest trudna do wykrycia z punktu widzenia obrony systemu (program nie generuje żadnego ruchu sieciowego), to zostawia ślady w logach. Szukać należy Event ID 7045 lub 7036. Inną wskazówką mogą być problemy z replikacją AD – prawdopodobnie to własnie one pozwoliły na wykrycie pierwszej infekcji. Problemy ustępują oczywiście po restarcie, który usuwa złośliwe oprogramowanie z pamięci serwera.
Aby uniknąć podobnego zagrożenia wystarczy stosować w organizacji dwuskładnikowe uwierzytelnienie – obecna wersja złośliwego programu nie obsługuje takiego wariantu.
Komentarze
Skeleton key to nie wytrych, tylko klucz uniwersalny. Czepiam się tylko :)
Bardzo się czepiasz, bo akurat wytrych jest kluczem uniwersalnym z definicji.
Jedyna luka, którą zauważam w Twojej argumentacji, to fakt, że klucz służy do otwierania, zaś wytrych do włamu.
A co jesli wytrychem otwierasz zatrzaśnięte drzwi do swojego domu? Włamujesz się, czy otwierasz ?
Każdy niekonwencjonalny sposób otwarcia drzwi nazywa się włamaniem/wyłamaniem,
klucz służy do otwierania – wcześniej (jawny) ustalony sposób otwierania drzwi.
Nie chodzi o sam fakt otwarcia drzwi, autoryzowany lub nie, tylko o zyskanie dostępu do nieautoryzowanego obszaru – też się tylko czepiam ;).