
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Cyberprzestępcy coraz częściej łączą socjotechnikę z prostymi, ale bardzo skutecznymi technikami maskowania złośliwego oprogramowania. W opisywanej kampanii użytkownik trafiał na zasób wyglądający jak zwykły obraz JPEG, który w rzeczywistości stanowił element łańcucha infekcji prowadzącego do uruchomienia malware.
Kluczowym mechanizmem była zamiana pozornie nieszkodliwego pliku graficznego w archiwum ZIP zawierające dalsze komponenty. Całość była obsługiwana przez obfuskowany skrypt .cmd, którego zadaniem było przygotowanie środowiska, osłabienie ochrony systemu i uruchomienie właściwego ładunku.
W skrócie
Analizowany incydent opierał się na skróconym adresie URL prowadzącym do pobrania pliku udającego obraz. Po uruchomieniu złośliwy skrypt wsadowy wykonywał szereg działań przygotowujących system do infekcji i zapewniających trwałość działania malware.
- wymuszał podniesienie uprawnień z użyciem mechanizmu UAC,
- dodawał wyjątki w Microsoft Defender,
- pobierał payload zapisany jako plik .jpg,
- zmieniał rozszerzenie pliku na .zip i rozpakowywał zawartość,
- zmieniał nazwę pliku wykonywalnego tak, by przypominał legalny proces,
- tworzył zaplanowane zadanie dla persistence,
- usuwał artefakty pośrednie i inicjował restart systemu.
Kontekst / historia
Schemat polegający na podszywaniu się pod obraz lub dokument nie jest nowy, ale nadal pozostaje skuteczny. Atakujący wykorzystują fakt, że wielu użytkowników ocenia bezpieczeństwo pliku wyłącznie po nazwie i rozszerzeniu, bez weryfikacji jego rzeczywistej struktury.
W tej kampanii zastosowano zestaw dobrze znanych technik: skrócony link ukrywający faktyczny adres, wielowarstwową obfuskację kodu, zmianę rozszerzenia pobranego pliku, a także nadanie komponentom nazw przypominających legalne procesy systemowe. Taki model działania wpisuje się w typowy scenariusz downloadera lub droppera, którego zadaniem jest dostarczenie i uruchomienie właściwego malware dopiero na dalszym etapie.
Analiza techniczna
Rdzeniem łańcucha infekcji był plik .cmd z zaciemnioną zawartością. Po deobfuskacji można wyróżnić kilka następujących po sobie etapów, które wskazują na przemyślane obchodzenie lokalnych zabezpieczeń.
Najpierw skrypt sprawdzał, czy działa z uprawnieniami administratora. Jeżeli nie, uruchamiał samego siebie ponownie z parametrem RunAs, wywołując monit UAC. Był to istotny etap, ponieważ dalsze operacje wymagały możliwości modyfikacji ustawień ochrony systemu.
Następnie tworzony był katalog roboczy w profilu użytkownika. Lokalizacja ta została dobrana w taki sposób, aby nie rzucała się w oczy podczas ręcznego przeglądania systemu. Kolejnym krokiem było dodanie tego katalogu do wyjątków Microsoft Defender, co mogło ograniczyć skuteczność skanowania antywirusowego wobec plików zapisanych w tej lokalizacji.
Po przygotowaniu środowiska skrypt pobierał z internetu plik zapisany lokalnie jako obraz .jpg. W rzeczywistości nie był to prawidłowy plik graficzny. Skrypt sprawdzał także minimalny rozmiar pobranego pliku, aby uniknąć dalszego działania w przypadku nieudanego transferu lub pobrania błędnej odpowiedzi. Następnie plik był przemianowywany na .zip i rozpakowywany przy użyciu wbudowanego narzędzia tar.
W archiwum znajdowały się kolejne komponenty, w tym biblioteka DLL oraz plik wykonywalny. Główny plik EXE otrzymywał nazwę przypominającą legalny komponent systemowy, po czym także był dodawany do wyjątków Defendera. Taka sekwencja wskazuje na świadome użycie natywnych funkcji Windows do obejścia ochrony punktu końcowego.
Następnie malware generował plik XML definiujący zadanie harmonogramu i tworzył ukryte zadanie uruchamiane po zalogowaniu użytkownika, zwykle z niewielkim opóźnieniem. Nazwa zadania była dobrana tak, aby wyglądała wiarygodnie i nie wzbudzała podejrzeń podczas pobieżnej kontroli systemu. To klasyczna technika persistence.
Na końcu skrypt usuwał artefakty pośrednie, próbował wyczyścić wybrane pliki z katalogu pobrań, inicjował wymuszony restart systemu i kasował samego siebie. Taki zestaw działań utrudnia analizę powłamaniową i pomaga domknąć proces instalacji malware po ponownym uruchomieniu hosta.
Na szczególną uwagę zasługuje sam mechanizm wykorzystania pliku wyglądającego jak obraz, który po zmianie rozszerzenia okazuje się archiwum. To prosty, ale skuteczny sposób na zmylenie użytkownika i części mniej zaawansowanych procedur kontrolnych. Z perspektywy obrony oznacza to konieczność walidacji typu pliku na podstawie jego nagłówków i struktury, a nie samej nazwy.
Konsekwencje / ryzyko
Ryzyko wynikające z takiej infekcji jest wysokie, ponieważ atak nie kończy się na jednorazowym uruchomieniu skryptu. Przeprowadzony łańcuch działań wskazuje na próbę pełnego wdrożenia trwałego komponentu, który może służyć do dalszego pobierania modułów lub wykonywania poleceń na zainfekowanym systemie.
- przejęcie kontroli nad stacją roboczą użytkownika,
- osłabienie lub częściowe obejście ochrony Microsoft Defender,
- utrzymanie dostępu po restarcie i ponownym logowaniu,
- zmniejszenie widoczności części artefaktów dla narzędzi ochronnych,
- możliwość dostarczenia kolejnych ładunków, takich jak stealer, spyware, loader ransomware lub narzędzia do ruchu lateralnego.
Szczególnie niebezpieczne jest wykorzystanie legalnych narzędzi systemowych, takich jak PowerShell, curl, tar i Harmonogram zadań. Tego typu działania wpisują się w model living-off-the-land, który utrudnia wykrywanie oparte wyłącznie na prostych sygnaturach.
Rekomendacje
Organizacje powinny traktować podobne incydenty jako przykład kampanii łączącej socjotechnikę z nadużyciem natywnych mechanizmów systemu operacyjnego. Skuteczna obrona wymaga zarówno kontroli technicznych, jak i świadomości użytkowników.
- blokować lub ściśle monitorować uruchamianie skryptów .cmd, .bat i .ps1 pobieranych z internetu,
- włączyć rozbudowane logowanie PowerShell oraz ograniczać uruchamianie podejrzanych parametrów,
- monitorować modyfikacje wyjątków Microsoft Defender,
- weryfikować zgodność rozszerzenia pliku z jego rzeczywistym typem MIME i nagłówkiem binarnym,
- wykrywać tworzenie zaplanowanych zadań o nazwach podszywających się pod procesy systemowe,
- analizować ruch do skróconych adresów URL i domen pośredniczących,
- ograniczać lokalne uprawnienia użytkowników,
- wdrożyć reguły EDR/XDR wykrywające sekwencję: eskalacja uprawnień, dodanie wyjątków Defendera, pobranie pliku, rozpakowanie archiwum, utworzenie zadania i samousunięcie,
- szkolić użytkowników w zakresie rozpoznawania fałszywych obrazów i dokumentów,
- w razie podejrzenia infekcji izolować host, zabezpieczać artefakty, sprawdzać Harmonogram zadań, wyjątki Defendera oraz katalogi lokalne użytkownika, a także resetować poświadczenia.
Podsumowanie
Opisany przypadek pokazuje, że skuteczne malware nie musi wykorzystywać zaawansowanych exploitów, aby ominąć podstawowe zabezpieczenia. Wystarczy dobrze przygotowany łańcuch infekcji: skrócony link, plik udający obraz, obfuskowany skrypt wsadowy, wykorzystanie narzędzi wbudowanych w Windows i mechanizmy persistence.
Dla zespołów bezpieczeństwa to ważne przypomnienie, że analiza incydentów nie może kończyć się na identyfikacji końcowego pliku wykonywalnego. Kluczowe znaczenie ma zrozumienie całego przepływu ataku, od momentu dostarczenia przynęty po zmiany w konfiguracji ochrony systemu i utrzymywanie trwałości na hoście.
Źródła
- Security Affairs – Image or Malware? Read until the end and answer in comments 🙂
https://securityaffairs.com/190358/hacking/image-or-malware-read-until-the-end-and-answer-in-comments.html - Microsoft Learn – Add-MpPreference
https://learn.microsoft.com/en-us/powershell/module/defender/add-mppreference - Microsoft Learn – Schtasks commands
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks - MITRE ATT&CK – Scheduled Task/Job: Scheduled Task
https://attack.mitre.org/techniques/T1053/005/ - MITRE ATT&CK – Indicator Removal on Host: File Deletion
https://attack.mitre.org/techniques/T1070/004/