PamStealer otežava analizu na macOS-u živim C2 dešifrovanjem

Jamf Threat Labs je identifikovao novu verziju macOS malvera PamStealer, koja glavni teret može da dešifruje samo uz saradnju komandno-kontrolnog servera. Kampanja koristi lažni servis kripto-novčanika Wavel, datoteku Wavel.dmg, JXA mehanizam za pokretanje i razmenu ključeva X25519, a zatim postavlja četiri redundantna načina opstanka na kompromitovanom sistemu.
Promena je važna zato što ranije zabeležene varijante PamStealera nisu koristile isti model zaštite drugog stepena. Materijal za ključ bio je ugrađen u JXA izvorni kod, dok nova varijanta preuzima namenski alat za dešifrovanje i sa serverom završava razmenu ključeva pre nego što raspakuje teret.
Lažni novčanik i izvršavanje preko zsh-a
Žrtva na lažnom sajtu bira dugme za preuzimanje za macOS i dobija DMG sliku sa kompajliranim AppleScript fajlom. Njegovim otvaranjem pokreće se Apple-ov Script Editor, uz instrukcije koje vode do izvršavanja JXA droppera.
U ranijim mamcima, koji su se predstavljali kao Maccy, Scoppr i Nancy Clipboard, JXA je obavljao RC4 dešifrovanje ugrađenog tereta i pripremu preuzimanja. U kampanji Wavel JXA služi kao prenosnik: dekodira base64 sadržaj i prosleđuje ga procesu /bin/zsh -s. JXA se potom gasi, dok zsh dropper nastavlja rad u pozadini.
Dekodirana skripta preuzima i pokreće uslužni program pkgunpack sa domena wavel.apple03cloudstore[.]com, obavlja razmenu X25519 ključeva, dešifruje i priprema paket tereta. Server zadržava privatni ključ potreban za završetak procesa, pa se ključ za šifrovanje podataka ne može dobiti bez aktivne C2 sesije. Kako se pri svakom izvršavanju stvara novi privremeni par ključeva, presretnuta vrednost ključa ne može se ponovo iskoristiti za otkrivanje sadržaja.
Višestruki mehanizmi opstanka i krađa podataka
Dropper potiskuje macOS obaveštenja o dodavanju pozadinske stavke za prijavu i instalira LaunchAgent, kao i popravnu zsh skriptu koja vraća teret i LaunchAgent ako nedostaju. Dodaje i okidač u ~/.zshrc, tako da se popravna skripta aktivira pri svakoj novoj interaktivnoj zsh sesiji.
Popravna skripta se kopira i u direktorijume post-checkout i pre-commit pod putanjom ~/Library/Application Support/System/.githooks/. Globalna Git postavka core.hooksPath zatim upućuje na taj direktorijum, zbog čega svaki Git checkout ili commit na kompromitovanom računaru može neprimetno aktivirati skriptu. Širi kontekst macOS tehnika izvršavanja i opstanka daje primere zloupotrebe legitimnih alata u napadima kroz primere zloupotrebe legitimnih alata u napadima.
Završni stealer je napisan u Swiftu, umesto u Rustu kao prethodnik. Prikuplja sistemsku lozinku lažnim dijalogom o padu aplikacije i proverava unos PAM metodom, izdvaja Keychain stavke, podatke iz Chromium i Firefox pregledača, profilne i sistemske metapodatke, istorije komandne ljuske, Git konfiguraciju, aktivne procese i instalirane aplikacije.
Praktičan zaključak za organizacije
Za poslovne timove prioritet je nadzor nad neuobičajenim LaunchAgent stavkama, izmenama ~/.zshrc i globalnog Git core.hooksPath, kao i kontrola pokretanja AppleScript i zsh sadržaja iz nepouzdanih DMG fajlova. Pošto statička analiza ne može da otkrije drugi stepen bez saradnje C2 servera, odbrana treba da se oslanja i na ponašajne tragove tokom preuzimanja, pokretanja i uspostavljanja opstanka.

