infostealer-malware-threadfluent-code-obfuscation

Ko'p bosqichli Infostealer zararli dastur paketini tahlil qilish

Python paketi oqim oqimi, PyPI da topilgan, deb aniqlangan zararli, an'anaviy ma'lumot o'g'irlovchi zararli dasturni o'z ichiga oladi. Biroq, uning asosiy xususiyati uning foydali yukini yashiradigan ilg'or kodni o'g'irlash texnikasidan foydalanishdir, bu esa tahlilni ayniqsa qiyinlashtiradi. Ushbu zararli dastur hujum zanjiri bo'ylab uch qatlamli o'g'irlashdan takroriy ravishda foydalanadi va qo'lda dekonstruksiya qilish uchun jiddiy to'siqlar yaratadi.

Bizning zararli dasturlar haqida erta ogohlantirish guruhimiz paket haqida PyPI xavfsizlik guruhiga xabar berdi, ular esa uni tezda olib tashlashdi. Ushbu maqolada biz bosqichlarni tushuntiramiz oqim oqimining hujumi va uning maqsadini yashirish uchun foydalanadigan usullari, infostealer zararli dasturi va kodni chalkashtirish qanday birgalikda ishlashiga e'tibor qaratadi.

Cheat Sheet: Infostealer zararli dasturi va kodni buzib ko'rsatish

Infostealer zararli dasturi nima?

Infostealer zararli dasturi raqamli dunyongizda hiyla-nayrangli o'g'ri kabi ishlaydi. U sizning parollaringiz, kredit karta raqamlaringiz yoki shaxsiy ma'lumotlaringiz kabi maxfiy ma'lumotlarni siz sezmagan holda jimgina egallab oladi. Ushbu dasturlar siz yozgan narsalarni yozib oladi (klaviatura yozuvlarini yozib oladi), brauzeringizni o'g'irlaydi yoki qimmatli ma'lumotlarni to'plash uchun qurilmangizdagi fayllarni skanerlaydi. Eng qo'rqinchli tomoni? Ular radardan chetda qolishda juda yaxshi.

ThreadFluent Infostealer zararli dasturining obfuskatsiya qatlamlari

1. Uch karra shifrlash

Obfuskatsiya jarayoni ichiga kuchli shifrlangan foydali yuklama o'rnatilgan holda boshlanadi. erkin.py fayl. Dastlabki kodlash va shifrni ochish jarayoni quyidagicha umumlashtirilishi mumkin:

encoded_data = base64_module.b64decode("... BASE-6 with encrypted payload, IV and RSA-encrypted keys…”); # … Sequential decryption: ChaCha20, Blowfish and AES … encrypted_payload = AES_Cipher.new(aes_key, AES_Cipher.MODE_CBC, iv=aes_iv).decrypt(encrypted_payload[16:]) final_payload = unpad_function(encrypted_payload, AES_Cipher.block_size) exec( zlib_module.decompress(bz2_module.decompress(final_payload)) ) 

Ushbu obfuskatsiya jarayoni quyidagilarni o'z ichiga oladi:

  • Siquvgzip va bzip dan foydalanish.
  • Nosimmetrik shifrlashChaCha20, Blowfish va AES bilan zanjirli shifrlash.
  • Asimmetrik shifrlashSimmetrik kalitlarni shifrlash uchun RSA ishlatiladi.

Natija Base64 da kodlanadi va quyidagicha kiritiladi kodlangan_ma'lumotlarHar bir iteratsiya avvalgisiga asoslanadi va teskari muhandisliksiz haqiqiy yukni aniqlashni juda qiyinlashtiradigan ichki shifrlash tuzilmasini yaratadi.

 

2. Gzip dekompressiyasi

Ko'pgina oraliq bosqichlarda zararli dastur oddiy, ammo samarali obfuskatsiya usulidan foydalanadi: Gzip siqish va Base64 kodlash. 

import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) 

Ushbu usul chalkashtirilgan yukning bosqichlar davomida yashirin qolishini ta'minlaydi.

3. Kodni birlashtirish va dinamik kompilyatsiya

Yakuniy qatlam chalkashtirilgan yukni bir nechta o'zgaruvchilarga bo'lishni o'z ichiga oladi, ular bajarilish paytida dinamik ravishda birlashtiriladi va dekodlanadi:

import base64, zlib  FEQXCBDOZKHVIhT = '...' # ....(111 other variables with base-64 encoded values) ...  zZytWuvuEdBXSrO =   eval(<FEQXCBDOZKHVIhT' encoded with '\x>) +   eval(<next variable, encoded>) +   eval( ' zlib.decompress(base64.b64decode(<VAR>)).decode('utf-8') ') + ...  eval(compile(base64.b64decode(eval(zZytWuvuEdBXSrO)).decode('utf-8'), ‘<app>', 'exec')) 

Bu bosqichni qo'lda teskari muhandislik qilish ayniqsa noqulay, chunki keyingi foydali yukni ko'rsatish uchun har bir o'zgaruvchi dekodlanishi va qayta birlashtirilishi kerak.

Ushbu obfuskatsiya texnikalarini birlashtirish orqali, infostealer zararli dasturi in oqim oqimi aniqlashdan qochadi, bu esa muhim rolni namoyish etadi Kodni xiralashtirish zamonaviy kiberhujumlarda.

ThreadFluentning ko'p bosqichli hujum zanjiri

The oqim oqimi infostealer zararli dasturi to'rtta alohida bosqichdan iborat bo'lib, ularning har biri qo'shimcha qatlamlarni o'z ichiga oladi Kodni xiralashtirishBu bosqichlar nafaqat foydali yukni yetkazib berishga, balki uni aniqlash va tahlil qilishdan himoya qilishga ham xizmat qiladi.

infostealer-malware-code-obfuscation-threadfluent

0-bosqich: Dastlabki kodni bajarish

Kirish nuqtasi bu __init__.py fayl, bu esa chalkashtirilgan yuklamani bajarishni boshlaydi erkin.pyUshbu fayl 1-bosqich tomchisini ishlab chiqarish uchun ko'p qatlamli obfuskatsiyadan foydalanadi (1-3 bosqichlarda tasvirlanganidek):

import os,threading def main():     if os.name == 'nt':         from . import fluent         fluent.main()          thread = threading.Thread(target=main , daemon=True) thread.start() 

1-bosqich: Dastlabki tomchi

Birinchi dropper, deobfuscated qilingandan so'ng, qo'shimcha zararli kodni yuklab oladi va joylashtiradi, puts.py, GitHub omboridan Qizil sochli-shanks-1337/qaytarilganlar (ogohlantirish: bu yerda zararli kod bo'lishi mumkin). 

Tomchilagich joylashadi puts.py mashhur mahalliy o'rnatishga Talablar kutubxona, uni o'zgartirish __init__.py deobfuscation ni ishga tushirish va keyingi bosqichni bajarish uchun fayl. Ushbu deobfuscation obfuscation qatlamlarining 1 … 3 ko'plab ilovalarini teskari yo'naltirishdan iborat.

2-bosqich: Ikkinchi tomchi

Ikkinchi tomchilatgich, xuddi shu jarayondan so'ng deobfuskatsiya qilingandan so'ng, yana bir foydali yukni yuklab oladi, ssl.py GitHub omboridan, uni quyidagicha qayta nomlaydi udp.py, va zararli dastur qayta-qayta qayta o'rnatilmasligini ta'minlash uchun qulflash faylini yaratadi. Keyin uni deobfuscate qilish uchun ishga tushiriladi, natijada yakuniy infostealer yuklamasi bajariladi.

3-bosqich: Yakuniy ma'lumot o'g'risi

Yakuniy bosqich - bu ilg'or qochish usullaridan foydalanadigan to'liq ishlaydigan ma'lumot o'g'irlagich:

  • Anti-tahlil xususiyatlari:
    • Antivirus vositalarini aniqlaydi va qora ro'yxatga kiritilgan jarayonlar, IP-manzillar, xost nomlari yoki virtual muhitlar aniqlangan taqdirda ularni tugatadi.
  • Ma'lumotlarni eksfiltratsiya qilish:
    • Batafsil ma'lumotlarni to'playdi. IP, Mac manzili, VPN ma'lumotlari, brauzer cookie-fayllari/tarixi, kredit karta ma'lumotlari va kripto hamyon ma'lumotlari, jumladan, skrinshot kabi ma'lumotlarni o'z ichiga oladi.
    • O'g'irlangan ma'lumotlarni (shifrlangan) Telegram kanali orqali, bu yerda ko'rsatilgan shablondan foydalanib yuboradi: 
infostealer-malware-code-obfuscation-threadfluent

Deobfuskatsiya strategiyasi

Shunga o'xshash paketlarni tahlil qilish uchun tadqiqotchilar uning obfuskatsiya qatlamlarini muntazam ravishda o'zgartirishlari kerak:

  • Obfuskatsiya bosqichlarini taqlid qilish: Yuklamani bajarmasdan transformatsiyalarni (masalan, shifrni ochish, dekompressiya) simulyatsiya qilish uchun skriptlar yozing.
  • Teskari shifrlash qatlamlari: O'rnatilgan kalitlar va algoritmlar yordamida foydali yukni ajratib oling va shifrini oching.
  • Iterativ tahlil: Yakuniy foydali yukni qayta tiklash uchun har bir oraliq bosqichni iterativ ravishda qayta ishlang.

Ushbu tahlilni soddalashtirish uchun avtomatlashtirilgan vositalar va sinov muhitlari juda muhimdir.

 

Haqiqiy vaqtda tahdidlardan oldinda bo'lish haqida ko'proq bilmoqchimisiz?

Bizning "Erta ogohlantirish: real vaqt rejimida tahdidlarni aniqlash va ustuvorlashtirish" nomli oq qog'ozimizni yuklab oling va dasturiy ta'minot ta'minot zanjiringizni qanday himoya qilishni bilib oling.

Tahdid aktyori

Ko'rinishidan, paket ikkita PyPI hisobidan chop etilgan, ABIRHOSSAIN10 va anomilano785, hozirda olib tashlandi. 

Nomli (hozirda faol) GitHub hisobi mavjud ABIRHOSSAIN10, bu kampaniya bilan bog'liq bo'lishi mumkin. The Qizil sochli-shanks-1337 2 va 3-bosqich yuklamalarini yuklab olish uchun ishlatiladigan omborga egalik qiluvchi GitHub foydalanuvchisi ham tahlil qilinmoqda.

Garchi mualliflikni aniqlash har doim murakkab bo'lsa-da va qizil jamoaga a'zo bo'lish ehtimoli bo'lsa-da, chiqarilgan ma'lumotlarning turi va hajmi yovuz niyatli shaxsga ishora qiladi.

Xulosa: Zararli dasturlar evolyutsiyasida kodni obro'sizlantirishning roli

The oqim oqimi Ushbu paket ko'p bosqichli yetkazib berishda zamonaviy zararli dasturlarning chalkashtirilishini misol qilib keltiradi. Qo'llaniladigan qochish usullari bilan bir qatorda, ushbu paket aniqlashdan qochish va tahlilga qarshi turish uchun aniq harakatlarni namoyish etadi.

Ushbu tahlil bunday tahdidlarga qarshi kurashishda hamkorlikdagi sa'y-harakatlar va avtomatlashtirilgan vositalarning muhimligini ta'kidlaydi. Ushbu usullarni tahlil qilish va tushunish orqali xavfsizlik mutaxassislari kelajakda shunga o'xshash zararli dasturlarga qarshi yaxshiroq himoya vositalarini ishlab chiqishlari mumkin.

Xygeni'ning MEW tizimi zararli oqimli paketning ishlab chiqarishga yetib borishini qanday oldini oldi

Xygeni's Zararli dasturlar haqida erta ogohlantirish (MEW) tizim to'xtatishda muhim rol o'ynadi oqim oqimi Python paketi, ilg'or o'z ichiga olgan zararli qaramlik kodni buzib ko'rsatish va ko'p bosqichli infostealer zararli dasturi, ishlab chiqarish muhitini xavf ostiga qo'yishdan oldin. Mana qanday qilish kerak:

  • Statik tahlil orqali aniqlash
    MEW aniqlandi oqim oqimining yashirin kodi, qatlamli shifrlash va noodatiy qaramlik faolligi kabi shubhali belgilarni topadi.
  • Ish vaqtiga erishishni baholash
     Tizim paket kodi foydalanish paytida ishlashi mumkinligini aniqladi va uni ishga tushirmasdan turib jiddiy tahdid sifatida belgiladi.
  • CI/CD Pipeline himoya
    MEW bloklandi oqim oqimi real vaqt rejimida, uning yig'ilishlarga kiritilishini to'xtatdi va ishlab chiqarishga chiqishiga to'sqinlik qildi. Bu ishlab chiquvchilarga amaliy ogohlantirishlar yubordi va qimmatli vaqtni tejadi.
  • Tahdidlar haqida ma'lumot almashish
    Xygeni tezda posilka haqida PyPI ga xabar berdi va topilmalarini global xavfsizlik tarmog'i bilan baham ko'rdi, bu uning yanada tarqalishining oldini oldi.

Tutib olish orqali oqim oqimi Dastlab, Xygeni'ning MEW tizimi zararli kod dasturiy ta'minot ta'minot zanjirlariga zarar yetkazmasligiga ishonch hosil qildi yoki CI/CD Ish oqimlari.

O'zingizni himoya qiling CI/CD Pipelines bepul

kabi tahdidlarning oldini olish oqim oqimi Xygeni'ning zararli dasturlarni erta ogohlantirish tizimi bilan. Boshlang bepul sinov bugun va dasturiy ta'minot ta'minot zanjiringizni xavfsiz qiling.

Luis Rodrigesning surati

Lui Rodriges

Luis Rodriges fizikcist + matematik va CISSP. Hozirda Xygeni Security kompaniyasining asoschilaridan biri va texnik direktori. U dasturiy ta'minot xavfsizligi sohasida 20 yildan ortiq tajribaga ega va shunga o'xshash loyihalarda ishtirok etgan. SAST va SCAU hozirda diqqatini jamlaydi software supply chain security.

Daniel Martinning surati

Daniel Martin

Daniel Martin kiberxavfsizlik bo'yicha mutaxassis va Xygeni tadqiqot xavfsizligi guruhining a'zosi bo'lib, ixtisoslashgan SDLC xavfsizlik va ilovalarning zaifliklarini kamaytirish.

sca-vositalari-dasturiy ta'minot-kompozitsiya-tahlil-vositalari
Dasturiy ta'minot xavflaringizni ustuvorlashtiring, bartaraf eting va himoya qiling
Bepul hisobingizni oling.
Kredit karta talab qilinmaydi.

Dasturiy ta'minotingizni ishlab chiqish va yetkazib berishni ta'minlang

Xygeni mahsulot to'plami bilan