Menu dostępności

Jak można uruchomić malware wykorzystując backdoor w Panelu Sterowania Windows?

W tym artykule pokażemy jedną z ciekawszych metod uruchamiania złośliwego kodu na systemie Windows polegającą na jego ukryciu w rozszerzeniach Panelu Sterowania Windows. Opiszemy, jak stworzyć własny komponent panelu sterowania i podpiąć go do „fabrycznych” komponentów, używając jedynie zwykłego konta użytkownika. Na końcu będziemy mogli uruchomić dowolną komendę w systemie.


Zaszycie się hakera w systemie


Metod na ukrycie i automatyczne uruchamianie złośliwego kodu w Windows jest kilka. Zazwyczaj hakerzy, aby trwałe mogli „zaszyć” się w systemie operacyjnym ofiary używają różnych sposobów pozwalających na ponownie uruchomienie złośliwego kodu w sytuacji, kiedy np. użytkownik zrestartuje swój komputer. Wśród tych metod możemy wymienić te, które zapisują ustawienia w rejestrze systemowym Windows takie jak np. Run, RunOnce lub NotificationPackages , tworzą zadania (taski) w menadżerze zadań (Task Scheduler) oraz uruchamiają nowe usługi lub podpinają się pod bieżące i działające usługi w Windows.

Opisywana przez nas metoda należy do tych pierwszych, ale jest związana z konkretnym narzędziem Windows – Panelem Sterowania. Pozwala też na ominięcie blokad związanych z funkcją AppLocker w Windows.


Panel Sterowania


O panelu sterowania nie musimy zbytnio się rozpisywać, ponieważ każdy kto używa Windows doskonale wie, do czego służy. Istotne dla nas jest to, że w momencie, gdy użytkownik otwiera panel sterowania w systemie Windows, ładowanych jest kilka plików „CPL.” Lista tych plików CPL jest pobierana z rejestru.

Poniższe dwie lokalizacji rejestru Windows zawierają wpisy, które uruchamiają CPL:

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\CPLs
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Control Panel\CPLs


Domyślnie po „suchej” instalacji Windows 10 lista ta jest pusta

Problem polega na tym, że w drugiej lokalizacji rejestru (HKCU\..) normalni użytkownicy mają dostęp w niej do zapisu, więc możliwe jest zapisanie klucza do rejestru, który załaduje i wykona złośliwy kod po uruchomieniu panelu sterowania. Stanowi to doskonałą furtkę (backdoor) dla hakerów, którzy mogą z niej skorzystać.


Utworzenie własnej biblioteki CPL


Cały proces uruchomienia złośliwego kodu zaczniemy najpierw od utworzenia własnej biblioteki CPL. W naszym przypadku będzie to prosty komunikat na pulpicie użytkownika. Ciekawostką jest to, że można zmusić proces „explorer.exe” do załadowania biblioteki DLL skompilowanej jako element panelu sterowania i zarejestrowanej jako dodatek do Panelu sterowania. Warunek jaki musi być spełniony przy tworzeniu takiej biblioteki DLL to, że musi zawierać eksportowaną funkcję Cplapplet.

Poniżej zamieściliśmy przykładowy kod w C++ pozwalający utworzyć taką bibliotekę pełniąca funkcję apletu do Panelu Sterowania. Plik po kompilacji nazwaliśmy „KapitanHackCPL.dll” i umieścimy go w katalogu „C:\Temp”.

Dla wtajemniczonych dodamy, że Metasploit Msfvenom może utworzyć taką niestandardową bibliotekę DLL z osadzonym w środku ładunkiem.


Dodanie wpisu do rejestru


Jeśli mamy przygotowaną bibliotekę „KapitanHackCPL.dll” musimy ją teraz skopiować na komputer ofiary i podpiąć pod CPL’ki panelu sterowania. Poniższe polecenie utworzy klucz rejestru, który będzie zawierał ścieżkę, zawierającą nasz plik CPL (plik DLL). Domyślnie standardowi użytkownicy mają uprawnienia do zapisu w tej gałęzi rejestru.

reg add „HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls” /v KapitanHackCPL /t REG_SZ /d „C:\Temp\KapitanHackCPL.dll

Wynik w postaci dodanego klucza do rejestru z biblioteką CPL możemy zaobserwować w edytorze rejestru na poniższym zrzucie ekranu.

Gdyby z jakichś powodów komendy takie jak „reg.exe” lub graficzny Edytor Rejestru (regedit.exe) były zablokowane w firmie do użycia przez użytkownika na Windows, poniżej przedstawiamy opcję dodania wymaganych wpisów w postaci skryptów VBScript lub JScript:

VBScript:

const HKEY_CURRENT_USER = &H80000001

strComputer = „.”

Set objReg=GetObject( „winmgmts:{impersonationLevel=impersonate}!\\” & strComputer & „\root\default:StdRegProv”)
strKeyPath = „Software\Microsoft\Windows\CurrentVersion\Control Panel\CPLs”
objReg.CreateKey HKEY_CURRENT_USER,strKeyPath
strValueName = „KapitanHackCPL”
strValue = „C:\Temp\KapitanHackCPL.dll ”
objReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue


JScript:

var obj = WScript.CreateObject(„WScript.Shell”);
obj.RegWrite(„HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Control Panel\\CPLs”, „Top level key”);
obj.RegWrite(„HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Control Panel\\CPLs\\KapitanHackCPL”, „C:\\Temp\\KapitanHackCPL.dll”,”REG_SZ”);


Uruchomienie backdoora


Uruchamianie panelu sterowania przez użytkownika jest dozwolone w większości środowisk. Wystarczy w Menu Start wpisać Panel Sterowania (lub Control Panel). Lecz jeśli jednak zabezpieczenia w firmie zabraniają jego uruchamiania, to możemy spróbować użyć kilku obejść, aby można było go odpalić z linii komend „cmd.exe”, pola Uruchom (Run) w Menu Start lub Eksploratorze Windows. Poniżej prezentujemy wyniki uruchamiania panelu sterowania za pomocą różnych metod wykonanych na najnowszym Windows 10 (build 2004):

1) Bezpośrednie uruchomienie programu:
„C:\Windows\system32\control.exe”

2) Uruchomienie linku umieszczonego w ścieżce użytkownika:
“C:\Users\KapitanHack.pl\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools\Control Panel.lnk”

3) Użycie tzw trybu „GodMode” i odwołania się do odpowiedniego obiektu z identyfikatora CLSID:
Explorer.exe shell:::{ED7BA470-8E54-465E-825C-99712043E01C}

Uwaga! Powyższe komendy mogą zostać użyte przez cyberprzestępcę, w celu ominięcia blokad i uruchomienia backdoora w systemie. Warto je monitorować.


Jak sobie radzić z problemem?


Przede wszystkim powinniśmy monitorować zmiany we wskazanych gałęziach rejestru systemowego:

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\CPLs
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Control Panel\CPLs

Możemy też spróbować odebrać uprawnienia do zapisu dla użytkowników do powyższego klucza HKCU. Warto też zwrócić uwagę na procesy, które uruchamiają pliki DLL z niezabezpieczonych lokalizacji i je blokować. W przypadku obejścia uruchomienia panelu sterowania powinniśmy monitorować uruchomienie komend zawierających skrót .LNK oraz CLSID {ED7BA470-8E54-465E-825C-99712043E01C}


Podsumowanie


Powyższy przykład pokazuje, że można utworzyć backdoor’a na najnowszym Windows 10 (build 2004), który może posłużyć przestępcom do niekontrolowanego przez zabezpieczenia Windowsa uruchomienia złośliwego kodu. Wszystkie komendy wykonaliśmy na zwykłym koncie użytkownika i mogliśmy ominąć nimi wbudowane zabezpieczenia Windows, nawet gdy jest blokowane uruchamianie wbudowanych poleceń.

Polecamy też sprawdzenie środowiska, być może w podanych wyżej ścieżkach znajduje się „zaszyty backdor”.

Popularne

Grupa ransomware zyskuje pełną kontrolę nad platformą Azure! Analiza ataku

Grupa ransomware zyskuje pełną kontrolę nad platformą Azure! Analiza ataku

Ciekawe informacje przynoszą badacze Microsoft. Opisali oni, w jaki sposób często omawiane przez nas ataki na AD mogą posłużyć do przejęcia całego środowiska chmurowego. Jako przykład służy Storm-0501 ...
PromptLock – pierwszy ransomware oparty na sztucznej inteligencji!

PromptLock – pierwszy ransomware oparty na sztucznej inteligencji!

MalwareAI, czyli złośliwe oprogramowanie oparte na sztucznej inteligencji, jest bliżej, niż oczekiwano. Odkryto pierwszą rodzinę ransomware wykorzystującą systemy sztucznej inteligencji do operacji lokalny...
Popularne oszustwa na WhatsAppie i jak ich uniknąć

Popularne oszustwa na WhatsAppie i jak ich uniknąć

Z ponad dwoma miliardami użytkowników WhatsApp oferuje ogromną pulę potencjalnych celów dla scamerów. Aby jeszcze bardziej skomplikować sprawę, oszuści cały czas zdobywają nowe wyrafinowane umiejętno...
Cyberprzestępcy sięgają po formularze „Contact Us” – nowy atak phishingowy na firmy produkcyjne

Cyberprzestępcy sięgają po formularze „Contact Us” – nowy atak phishingowy na firmy produkcyjne

Najnowsza kampania phishingowa, ujawniona przez badaczy z Check Point, koncentruje się na firmach z sektora produkcyjnego oraz innych kluczowych elementach łańcuchów dostaw. Jej szczególna złośliwość polega n...
Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...