Menu dostępności

Wykonanie kodu i załadowanie złośliwej biblioteki DLL do procesu Lsass.exe przy użyciu apletu Panelu Sterowania

Wykonanie złośliwego kodu na Microsoft Windows 10 lub na wersjach systemów serwerowych Windows 2016/2019 nie należy do łatwych zadań, w szczególności, gdy posiadamy włączoną ochronę antywirusową (np. Windows Defender) i blokowane jest uruchomienie przez użytkownika niedozwolonych aplikacji (stosowana jest funkcja AppLocker). W tym artykule dowiesz się, jak za pomocą przygotowanego przez nas pliku panelu sterowana (apletu z rozszerzeniem *cpl) będzie można wywołać dowolny kod i wszczepić go do procesu w pamięci komputera (np. lsass.exe).


Aplet panelu sterowania

Panel sterowania to komponent, który zagościł w Windows już od pierwszej jego wersji, czyli 1.0. Z pewnością bardzo dobrze jest Ci znany, ponieważ za jego pomocą użytkownicy najczęściej konfigurują system. Od wersji 3.1 otrzymał interfejs graficzny, a wszystkie zadania konfiguracyjne wykonują się w nim za pomocą oddzielnych modułów o rozszerzeniu CPL zwanych apletami. Standardowe aplety umieszczone są na dysku w katalogu systemowym Windows. Dla ambitnych osób (w szczególności dla firm trzecich) Microsoft stworzył możliwość dodawania do Panelu sterowania własnych apletów, za których pomocą mogą udostępniać użytkownikom możliwość konfiguracji ustawień własnych komponentów systemowych. Nic nie dzieje się bez przyczyny, dlatego możliwość tworzenia apletów zainteresowała również cyberprzestępców, którzy za ich pomocą próbują omijać zabezpieczenia Windows i wykonywać w nich złośliwy kod. Postanowiliśmy stworzyć taki plik na cele dzisiejszego artykułu i sprawdzić na najnowszym Windows 10, czy uda nam się wykonać złośliwy kod w postaci własnej biblioteki dll.


Biblioteka DLL w C++ jako kod apletu

W celu utworzenia pliku o *.cpl stworzyliśmy kod w bibliotece DLL reprezentujący element Panelu Sterowania. Warunkiem jaki musi spełniać taki plik, aby system Windows mógł go rozpoznać jako element Panelu sterowania, to implementacja funkcji CplApplet(). Poniżej zamieściliśmy kawałek kodu naszej biblioteki apletu „Panel.dll”, która w swoim wywołaniu ładuje zewnętrzną bibliotekę „kapitanhack.dll” (opisaną w artykule tutaj) umieszczoną na dysku lokalnym w katalogu „C:\temp\”. Dzięki załadowanej do pamięci bibliotece „kapitanhack.dll”, będziemy mogli wyciągać hasła użytkowników logujących się do komputera.

Po skompilowaniu powyższej biblioteki do pliku „Panel.dll” i zmianie jej nazwy na „*.CPL” możemy ją dwukrotnie kliknąć w zwykły plik wykonywalny systemu Windows.


Inne metody uruchomienia apletu

W systemie Windows istnieją 2 metody na uruchomienie pliku apletu poprzez użycie wbudowanego w Windows programu:

  • Control.exe Uruchomienie w postaci: – Control.exe Panel.cpl
  • Rundll32.exe Uruchomienie w postaci: – rundll32 shell32, Control_RunDLL C:\Temp\Panel.cpl

Poniżej prezentujemy wynik wywołania z linii komend apletu „Panel.cpl” za pomocą programu „Control.exe”.

Poniżej prezentujemy wynik wywołania z linii komend apletu „Panel.cpl” za pomocą programu „Rundll32.exe”.

Demo całego scenariusza możesz obejrzeć na poniższym filmie:


Podsumowanie

O metodach obejścia blokad Windows pisaliśmy wcześniej na Kapitanie Hack’u tutaj. Metoda opisywana powyżej, czyli ładowania apletu cpl przy użyciu wbudowanej w Windows komendy (control.exe lub rundll32.exe) nie należy do najnowszych odkryć w dziedzinie cyberbezpieczeństwa, ale nowy jest sposób jej adaptacji. Na zabezpieczonym komputerze z Windows 10 udało nam się ja wykonać i dodatkowo załadować z niej do pamięci złośliwy kod – drugą bibliotekę „kapitanhack.dll”. Możemy chronić się przed tego typu sytuacją, ale pamiętajmy, że na blokadę zawsze znajdzie się jakiejś obejście.

Popularne

Ważna zmiana w OWASP Top 10

Ważna zmiana w OWASP Top 10

OWASP, czyli Open Worldwide Application Security Project, zaproponowało nowe wydanie swojej klasycznej listy Top 10 ryzyk aplikacyjnych. Wersja z 2025 roku wprowadza kluczowe rozszerzenia dotyczące b...
Jak modele LLM automatyzują cyberprzestępczość

Jak modele LLM automatyzują cyberprzestępczość

Każdy Czytelnik Kapitana Hacka wie, że złośliwe LLM-y ułatwiają mniej doświadczonym cyberprzestępcom przeprowadzanie ataków. Potwierdzają to badacze z Palo Alto Networks, którzy przeanalizowali dwa niedaw...
Jak błąd w 7-Zip (CVE-2025-11001) daje hakerom dostęp do systemu Windows. Jest exploit

Jak błąd w 7-Zip (CVE-2025-11001) daje hakerom dostęp do systemu Windows. Jest exploit

Odkryto niezwykle niebezpieczną dla użytkowników systemów Windows podatność. Błąd o numerze CVE‑2025‑11001 jest już częściowo wykorzystywany, a dotyczy popularnego programu 7-Zip. Polega na niewłaściwe...
Wizualizacja ścieżek ataku na Active Directory za pomocą narzędzia BloodHound

Wizualizacja ścieżek ataku na Active Directory za pomocą narzędzia BloodHound

Krótko o narzędziu Bloodhound to narzędzie służące do wizualizacji i analizy powiązań w Active Directory. Dla atakującego jest niezastąpioną pomocą do znajdowania ścieżki ataku na najbardziej c...
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...