Do zbioru „magicznych plików” Windows sklasyfikowanych w świecie cybersecurity jako LOLBIN możemy śmiało dodać kolejny, umożliwiający nienadzorowane pobieranie dowolnych innych plików na komputer. Wystarczy wykonać konkretną sztuczkę i nasz pożądany plik znajdzie się na dysku.
O plikach binarnych wbudowanych w Windows ułatwiających cyberprzestępcom oraz złośliwemu oprogramowaniu pobieranie, wysyłanie lub wykonywanie komend w systemie operacyjnym pisaliśmy już na Kapitanie Hacku dużo – artykuły te znajdziesz w sekcji LOLBIN.
Nowo odkryty plik tego typu nosi nazwę „Ldifde.exe”. Jest on domyślnie dostępny na kontrolerach domeny oraz wersjach serwerowych Windows (zainstalowany pakiet Remote Server Administration Tools – skrót RSAT).
O pliku pisze nasz rodak, badacz bezpieczeństwa Grzegorz Tworek. Na swoim profilu na Twitterze opublikował informację, jak za pomocą tego pliku można pobrać dowolny (inny) plik z Internetu lub sieci na dysk komputera. Ciekawostką jest, że nie potrzebujemy do wykonania tej czynności żadnych uprzywilejowanych uprawnień!
Co to jest plik Ldifde?
Ldifde.exe jest plikiem binarnym pozwalającym administratorom IT tworzyć, modyfikować i usuwać obiekty katalogu Active Directory. Za pomocą ldifde można również rozszerzyć schemat, wyeksportować informacje o użytkownikach i grupach usługi Active Directory do innych aplikacji lub usług oraz zapełniać usługi domenowe w Active Directory (AD DS) danymi z innych usług katalogowych.
Jego użycie możliwe jest z wiersza poleceń wbudowanego w system Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2003 z dodatkiem SP1, a także Windows 8.
Zgodnie z tym, co pisze Microsoft, jest ono dostępne, jeśli zainstalowano rolę serwera AD DS lub Active Directory Lightweight Directory Services (AD LDS) lub jeśli na serwerze Windows zainstalowany jest pakiet RSAT.
Użycie LDIFDE do pobrania pliku na dysk
Na swoim profilu Grzegorz opisuje, co należy zrobić, aby można było pobrać na dysk dowolny plik. Kroki te są następujące:
1. Utworzenie pliku tekstowego z odpowiednią składnią, zawierającą wywołanie http
2. Import pliku tekstowego w wierszu linii komend za pomocą narzędzia „ldifde.exe” Uruchomienie komendy spowoduje pobranie pliku „test.txt” (adres źródłowy podany w pliku „ldif1.txt”) na dysk. Ldifde -i -f ldif1.txt
Od tego momentu możemy sprawdzić żądanie wysłane do serwera webowego (w tym przypadku Microsoft IIS).
Pobrany plik na dysku komputera, znajdujący się w profilu użytkownika, z którego uruchomiliśmy komendę w katalogu „AppData\…” (ścieżka na ekranie poniżej):
Jaka sztuczka została tutaj zastosowana?
Jak widać na podstawie budowy pliku tekstowego z kroku 1 użytego w „ldifde.exe”, pobranie dowolnego pliku nastąpiło w parametrze „thrubnailphoto”. Jego wartość pobierana jest ze źródła (adresu URL) zawierającego nasz docelowy plik (test.txt).
„ThrubnailPhoto” to nic innego jak atrybut użytkownika w Active Directory, umożliwiający przechowywanie fotografii. Zastosowana sztuczka umożliwia wskazanie wartości tego atrybutu, aby plik był pobierany z zewnętrznego źródła – w tym przypadku adresu http.
W konsekwencji docelowy plik zostanie pobrany na dysk do tymczasowej lokalizacji w profilu użytkownika (c:\Users\”nazwa_uzytkownika”\Appdata|local\Microsoft\Windows\InetChache\IE\…), z którego zostanie uruchomiona komenda „ldifde.exe”.
Czy to oznacza, że po wykonaniu polecenia ikona użytkownika będzie zawierała wartość pobranego pliku? Nie. Nie ma potrzeby importowania czegokolwiek do AD. Nawet jeśli wystąpią błędy w ldifde, plik zostanie pobrany.
Podejrzenia budzi także fakt, że jeśli wykonywane jest żądanie do zewnętrznego adresu URL o docelowy plik, to wraz z nim może zostać wysłany skrót hasła (NTLM hash) użytkownika do serwerów cyberprzestępców.
Podsumowanie
Powyższe odkrycie stwarza nowe możliwości w próbach atakowania środowisk z wdrożonym Active Directory do pobierania z zewnątrz złośliwego oprogramowania oraz wykradania z nich poświadczeń.
Z perspektywy monitorowania bezpieczeństwa na pewno warto zwrócić uwagę na użycie tego pliku w środowisku informatycznym z AD. Można do tego użyć darmowego narzędzia SYSMON lub innych firm. Wszelkie próby modyfikacji atrybutu „thrubnailPhoto” użytkownika mogą też dać nam wskazówkę, że w środowisku AD dzieje się coś podejrzanego.
Grzegorzowi Tworkowi gratulujemy kolejnego odkrycia i trzymamy kciuki za następne.