ładunek
| Po angielsku | payload |
|---|---|
| Którą formą pisać | obie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski. |
| Inne formy | właściwy ładunek · finalny ładunek · złośliwy ładunek |
| Kategoria | Złośliwe oprogramowanie |
Ładunek (payload) to ta część kodu ataku, która realizuje jego właściwy cel: szyfruje pliki, kradnie dane, otwiera powłokę albo instaluje kolejne narzędzia. Odróżnia się go od mechanizmów, które ładunek dostarczają i uruchamiają, takich jak exploit, dropper czy loader. W dokumentacji Metasploita ładunek wybiera się dopiero po wybraniu exploita [1], co dobrze oddaje ten podział: exploit otwiera drzwi, ładunek określa, co stanie się po ich otwarciu. W polskich analizach CERT Polska termin angielski bywa używany wprost, na przykład „dodany został jako payload do bardzo aktywnego exploit-kita Rig” [5].
Jak działa
Ładunek rzadko trafia do celu w jednym kawałku. Dokumentacja Metasploita rozróżnia ładunki pojedyncze, działające na zasadzie „wystrzel i zapomnij”, oraz etapowe, złożone z małego programu ładującego i końcowego etapu, który program ładujący pobiera od atakującego [1]. Ten sam schemat występuje w prawdziwym złośliwym oprogramowaniu (malware): pierwszy etap jest mały i mało podejrzany, a właściwy ładunek przychodzi później z serwera C2 (command and control). MITRE ATT&CK opisuje przenoszenie narzędzi i plików z systemu atakującego do przejętego środowiska jako osobną technikę, realizowaną przez kanał dowodzenia albo protokoły takie jak FTP [3].
Ładunek jest zwykle ukryty. MITRE zauważa, że ładunki bywają skompresowane, spakowane albo zaszyfrowane, żeby uniknąć wykrycia, a czasem podzielone na kilka pozornie nieszkodliwych plików, które ujawniają działanie dopiero po złożeniu [2]. Sekurak ujmuje to tak, że złośliwy ładunek nie musi być groźny w tranzycie: może stać się zagrożeniem dopiero wtedy, gdy przetworzy go system ofiary [6]. Opisana przez Sekurak technika polegała na celowym uszkodzeniu pliku Office tak, by skaner antywirusowy nie potrafił go przeanalizować; dopiero automatyczna naprawa pliku w programie Office odtwarzała złośliwą zawartość [6]. MITRE dodaje, że do rozpakowania ładunku może być potrzebne działanie użytkownika, na przykład wpisanie hasła do zaszyfrowanego archiwum [2]. Stąd znaczenie zaciemniania kodu i narzędzi typu packer.
Rodzaje
| Rodzaj ładunku | Co robi |
|---|---|
| powłoka zwrotna (reverse shell) | daje atakującemu dostęp do wiersza poleceń [1] |
| download-exec | pobiera i uruchamia dowolny program [1] |
| RAT (remote access trojan) | zdalne sterowanie komputerem [7] |
| trojan bankowy | kradzież danych bankowych [4] |
| moduły bota | kradzież haseł, VNC, proxy [5] |
| shellcode | krótki kod wstrzyknięty w podatny proces |
Według dokumentacji Metasploita ładunek typu download-exec pozwala zainstalować na celu cokolwiek, na przykład keylogger, rootkit albo trwałą powłokę [1]. Ładunek bywa więc tylko kolejnym przekaźnikiem.
W WordPressie
Na stronie WordPress ładunkiem jest zwykle kod PHP albo JavaScript, który wykonuje zadanie atakującego po włamaniu. Najprostszy przykład to webshell: CERT Polska pokazuje w logu serwera żądanie GET /shell.php?cmd=whoami, czyli polecenie przekazane w parametrze do skryptu, oraz wskazuje funkcje system(), exec() i eval(), na których taki skrypt się opiera [8]. Wektorem bywa wgranie dowolnego pliku (arbitrary file upload) albo zdalne wykonanie kodu (RCE), a ładunkiem to, co zostaje na serwerze.
Ładunek na stronie może też celować w odwiedzających. CERT Polska wymienia wśród skutków przejęcia skrypty ładowane z obcych domen, fałszywą weryfikację CAPTCHA, która nakłania użytkownika do skopiowania i uruchomienia złośliwego kodu, oraz przekierowania na strony atakujących [8]. W takim przypadku strona WordPress jest tylko etapem dostarczenia, a właściwy ładunek trafia na komputer czytelnika.
Pojęcie ładunku pojawia się też przy podatnościach aplikacji. Przy XSS (Cross-Site Scripting) ładunkiem nazywa się wstrzyknięty skrypt, a przy SQL injection fragment zapytania. Wtedy ładunek nie jest złośliwym oprogramowaniem, tylko danymi wejściowymi, które uruchamiają błąd.
Zagrożenia i skutki
Skutek ataku zależy od ładunku, a nie od exploita. Ta sama podatność może posłużyć do zainstalowania koparki kryptowalut, programu szyfrującego albo narzędzia do kradzieży haseł. Przykładem różnorodności jest LatentBot: CERT Polska opisał w 2016 roku próbkę z ośmioma zaszyfrowanymi modułami, między innymi do kradzieży haseł, przechwytywania formularzy, zdalnego pulpitu i wysyłania raportów [5].
Jak się bronić
- Łatać podatności, które dają wektor wejścia; bez exploita ładunek nie ma jak się uruchomić.
- Ograniczać możliwość wykonania ładunku: blokada PHP w katalogach z plikami przesyłanymi i zasada najmniejszych uprawnień.
- Wykrywać zachowanie, nie tylko sygnatury, bo ładunek bywa zaszyfrowany aż do chwili uruchomienia [2] [6]; zob. wykrywanie sygnaturowe i heurystyczne.
- Blokować połączenia wychodzące do nieznanych serwerów, przez które pobierane są kolejne etapy [3].
Historia i przykłady
CERT Polska opisał 1 czerwca 2018 roku dropper Ostap, zakodowany skrypt JScript rozsyłany jako rzekoma faktura. Służył do dostarczania dwóch rodzin złośliwego oprogramowania bankowego, Nymaim i Backswap [4]. W grudniu 2016 roku ta sama instytucja opisała LatentBota, który trafił jako payload do exploit kitu Rig [5]; zob. exploit kit. Sekurak 26 czerwca 2026 roku opisał kampanię, w której łańcuch prowadził od załącznika HTML przez skrypty JavaScript i PowerShell oraz loader .NET do końcowego ładunku, trojana DesckVB RAT [7]. Według tego opisu ładunek wyłączał ochronę antywirusową, nawiązywał łączność z C2, pobierał dodatkowe komponenty i utrwalał się przez wpisy w rejestrze i zadania harmonogramu [7]. Do uruchomienia używał ładowania refleksyjnego w pamięci, bez zapisu pliku na dysk [7], co opisuje hasło złośliwe oprogramowanie bezplikowe.
Przypisy
8- [1] Working with Payloads — Metasploit Documentation · Rapid7
- [2] Obfuscated Files or Information (T1027) · MITRE ATT&CK
- [3] Ingress Tool Transfer (T1105) · MITRE ATT&CK
- [4] Analiza złośliwego oprogramowania Ostap (Backswap dropper) · CERT Polska
- [5] LatentBot — modularny i silnie zaciemniony bot · CERT Polska
- [6] Antywirusy w formie - czyli jak przestępcy unikają detekcji · Sekurak
- [7] Czy da się wykorzystać legalny serwis Googla do dystrybucji złośliwego oprogramowania? Cyberprzestępcy znaleźli sposób - szczegóły kampanii DesckVB RAT · Sekurak
- [8] Przejęta strona internetowa — ścieżka postępowania · CERT Polska
Hasła w tym artykule
20- exploit
- dropper
- loader
- złośliwe oprogramowanie
- C2 (command and control)
- zaciemnianie kodu
- packer
- RAT (remote access trojan)
- shellcode
- keylogger
- rootkit
- webshell
- wgranie dowolnego pliku (arbitrary file upload)
- zdalne wykonanie kodu (RCE)
- XSS (Cross-Site Scripting)
- SQL injection
- zasada najmniejszych uprawnień
- wykrywanie sygnaturowe i heurystyczne
- exploit kit
- złośliwe oprogramowanie bezplikowe