Paket Python threadfluent, yang ditemukan di PyPI, telah diidentifikasi sebagai jahat, yang berisi malware infostealer konvensional. Namun, ciri khasnya adalah penggunaan teknik pengaburan kode tingkat lanjut yang menyamarkan muatannya, sehingga analisis menjadi sangat sulit. Malware ini menggunakan tiga lapisan pengaburan secara berulang di sepanjang rantai serangannya, menciptakan hambatan signifikan untuk dekonstruksi manual.
Tim Peringatan Dini Malware kami melaporkan paket tersebut ke tim keamanan PyPI, yang dengan cepat menghapusnya. Dalam artikel ini, kami menjelaskan tahapan-tahapannya. threadfluentSerangan dan metode yang digunakannya untuk menyembunyikan tujuannya, dengan fokus pada bagaimana malware infostealer dan pengaburan kode bekerja bersama.
Lembar Panduan Singkat: Perangkat Lunak Pencuri Informasi dan Pengaburan Kode
Apa itu Malware Infostealer?
Malware infostealer bertindak seperti pencuri licik di dunia digital Anda. Ia diam-diam mengambil informasi sensitif, seperti kata sandi, nomor kartu kredit, atau detail pribadi Anda, tanpa Anda sadari. Program-program ini merekam apa yang Anda ketik (keylogging), membajak browser Anda, atau memindai file di perangkat Anda untuk mengumpulkan data berharga. Bagian yang paling menakutkan? Mereka sangat pandai bersembunyi.
Apa itu Pengaburan Kode?
Pengaburan kode pada dasarnya adalah seni menyembunyikan sesuatu di tempat yang terlihat jelas, sering digunakan oleh peretas untuk membuat kode berbahaya mereka lebih sulit ditemukan atau dipahami. Bayangkan seseorang menulis kode dengan cara yang sengaja membingungkan, mengenkripsi sebagiannya, atau mengacak tampilannya untuk mengelabui alat antivirus atau peneliti. Ini adalah taktik yang cerdas tetapi membuat frustrasi yang membantu malware tetap aktif lebih lama dan menghindari deteksi.
Lapisan Obfuscation pada Malware ThreadFluent Infostealer
1. Enkripsi Tiga Lapis
Proses pengaburan dimulai dengan muatan terenkripsi yang sangat kuat yang disematkan di dalamnya. fluent.py berkas. Proses pengkodean dan dekripsi awal dapat diringkas sebagai berikut:
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)) ) Proses pengaburan ini melibatkan:
- Kompresi: Menggunakan gzip dan bzip.
- Enkripsi simetrisEnkripsi berantai dengan ChaCha20, Blowfish, dan AES.
- Enkripsi asimetrisRSA digunakan untuk mengenkripsi kunci simetris.
Hasilnya dikodekan dalam Base64 dan dimasukkan sebagai data_terenkodeSetiap iterasi dibangun di atas iterasi sebelumnya, menciptakan struktur enkripsi bertingkat yang membuatnya sangat sulit untuk mengungkap muatan sebenarnya tanpa rekayasa balik.
2. Dekompresi Gzip
Pada banyak tahapan perantara, malware ini menggunakan metode pengaburan yang sederhana namun efektif: kompresi Gzip yang dikombinasikan dengan pengkodean Base64.
import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) Teknik ini memastikan muatan yang disamarkan tetap tersembunyi di seluruh tahapan.
3. Penggabungan Kode dan Kompilasi Dinamis
Lapisan terakhir melibatkan pemisahan muatan yang disamarkan ke dalam beberapa variabel, yang secara dinamis digabungkan dan didekode selama eksekusi:
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')) Tahap ini sangat sulit untuk direkayasa balik secara manual, karena setiap variabel harus diuraikan dan digabungkan kembali untuk mengungkap muatan berikutnya.
Dengan menggabungkan teknik-teknik pengaburan ini, maka malware infostealer in threadfluent menghindari deteksi, menunjukkan peran penting dari Pengaburan Kode dalam serangan siber modern.
Rantai Serangan Bertahap ThreadFluent
The threadfluent malware infostealer terdiri dari empat tahapan berbeda, masing-masing memperkenalkan lapisan tambahan dari Pengaburan KodeTahapan-tahapan ini berfungsi tidak hanya untuk mengirimkan muatan tetapi juga untuk melindunginya dari deteksi dan analisis.

Tahap 0: Eksekusi Kode Awal
Titik masuknya adalah __init__.py berkas, yang memulai eksekusi muatan yang disamarkan di fluent.pyFile ini menggunakan pengaburan berlapis-lapis (seperti yang dijelaskan pada langkah 1–3) untuk menghasilkan dropper Tahap 1:
import os,threading def main(): if os.name == 'nt': from . import fluent fluent.main() thread = threading.Thread(target=main , daemon=True) thread.start() Tahap 1: Tetesan Awal
Dropper pertama, setelah dideobfuscat, mengunduh dan menyematkan kode berbahaya tambahan, puts.py, dari repositori GitHub Red-haired-shanks-1337/repuests (peringatan: berpotensi mengandung kode berbahaya).
Pipet tersebut tertanam puts.py ke dalam instalasi lokal yang populer permintaan perpustakaan, memodifikasinya __init__.py berkas untuk menjalankan deobfuscation dan mengeksekusi tahap selanjutnya. Deobfuscation ini terdiri dari pembalikan banyak aplikasi lapisan obfuscation 1 … 3.
Tahap 2: Dropper Kedua
Dropper kedua, setelah dideobfusifikasi menggunakan proses yang sama, mengunduh muatan (payload) lain lagi, ssl.py dari repositori GitHub, mengganti namanya menjadi udp.py, dan menghasilkan file pengunci untuk memastikan bahwa malware tidak menginstal ulang berulang kali. Kemudian dijalankan untuk mendekripsi file tersebut, yang menghasilkan eksekusi muatan infostealer akhir.
Tahap 3: Pencuri Informasi Terakhir
Tahap terakhir adalah infostealer yang berfungsi penuh dan menggunakan teknik penghindaran tingkat lanjut:
- Fitur anti-analisis:
- Mendeteksi perangkat lunak anti-malware dan menghentikan proses jika terdeteksi adanya proses, IP, nama host, atau lingkungan virtual yang masuk daftar hitam.
- Exfiltrasi data:
- Merekam informasi lengkap. Mulai dari IP, alamat MAC, data VPN, cookie/riwayat browser, data kartu kredit, dan kredensial dompet kripto, termasuk tangkapan layar.
- Mengirimkan data curian (terenkripsi) melalui saluran Telegram, menggunakan templat yang ditunjukkan di sini:

Strategi Deobfusifikasi
Untuk menganalisis paket serupa, para peneliti harus secara sistematis membalikkan lapisan pengaburannya:
- Meniru Langkah-langkah Obfuscation: Tulis skrip untuk mensimulasikan transformasi (misalnya, dekripsi, dekompresi) tanpa mengeksekusi muatan data.
- Lapisan Enkripsi Terbalik: Ekstrak dan dekripsi muatan menggunakan kunci dan algoritma yang tertanam.
- Analisis Iteratif: Proses setiap tahap perantara secara iteratif untuk merekonstruksi muatan akhir.
Alat otomatis dan lingkungan terisolasi (sandbox) sangat penting untuk menyederhanakan analisis ini.
Ingin mempelajari lebih lanjut tentang cara mengantisipasi ancaman secara real-time?
Unduh whitepaper kami, 'Peringatan Dini: Deteksi dan Prioritisasi Ancaman Secara Real-Time,' dan temukan cara untuk melindungi rantai pasokan perangkat lunak Anda.
Pelaku Ancaman
Ternyata paket tersebut diterbitkan dari dua akun PyPI, ABIRHOSSAIN10 ke anomilano785, saat ini telah dihapus.
Terdapat akun GitHub (yang saat ini aktif) bernama ABIRHOSSAIN10, yang mungkin terkait dengan kampanye tersebut. Itu Kaki berambut merah-1337 Pengguna GitHub yang memiliki repositori yang digunakan untuk mengunduh payload tahap 2 dan 3 juga sedang dalam penyelidikan.
Meskipun penentuan pelaku selalu rumit dan kemungkinan menjadi bagian dari tim merah tetap ada, jenis dan volume informasi yang dieksfiltrasi mengindikasikan adanya pelaku jahat.
Kesimpulan: Peran Obfuscation Kode dalam Evolusi Malware
The threadfluent Paket ini merupakan contoh nyata dari pengaburan malware modern dalam pengirimannya yang bertahap. Ditambah dengan teknik penghindaran yang digunakan, paket ini menunjukkan upaya yang jelas untuk menghindari deteksi dan menolak analisis.
Analisis ini menggarisbawahi pentingnya upaya kolaboratif dan alat otomatis dalam memerangi ancaman tersebut. Dengan menganalisis dan memahami metode-metode ini, para profesional keamanan dapat mengembangkan pertahanan yang lebih baik terhadap malware serupa di masa mendatang.
Bagaimana Sistem MEW Xygeni Mencegah Paket Berbahaya threadfluent Mencapai Tahap Produksi
Xygeni's Peringatan Dini Malware (MEW) sistem tersebut berperan penting dalam menghentikan threadfluent Paket Python, dependensi berbahaya yang berisi fitur canggih. kebingungan kode dan multi-tahap malware infostealer, sebelum hal itu dapat membahayakan lingkungan produksi. Begini caranya:
- Deteksi Melalui Analisis Statis
MEW terlihat threadfluentkode tersembunyi, menemukan tanda-tanda mencurigakan seperti enkripsi berlapis dan aktivitas ketergantungan yang tidak biasa. - Penilaian Ketersediaan Waktu Eksekusi
Sistem tersebut menemukan bahwa kode paket tersebut dapat berjalan saat digunakan, dan menandainya sebagai ancaman serius tanpa benar-benar menjalankannya. - CI/CD Pipeline Proteksi
MEW diblokir threadfluent Secara real-time, sistem ini mencegahnya untuk dimasukkan ke dalam build dan mencapai tahap produksi. Sistem ini mengirimkan peringatan yang dapat ditindaklanjuti kepada pengembang, sehingga menghemat waktu yang berharga. - Berbagi Intelijen Ancaman
Xygeni dengan cepat melaporkan paket tersebut ke PyPI dan membagikan temuannya kepada jaringan keamanan globalnya, sehingga mencegahnya menyebar lebih luas.
Dengan menangkap threadfluent Pada awalnya, sistem MEW Xygeni memastikan bahwa kode berbahaya tersebut tidak membahayakan rantai pasokan perangkat lunak atau CI/CD alur kerja.
Lindungi milik Anda CI/CD Pipelines Gratis
Mencegah ancaman seperti threadfluent dengan sistem Peringatan Dini Malware Xygeni. Mulai sistem Anda. percobaan gratis hari ini dan amankan rantai pasokan perangkat lunak Anda.
Luis Rodriguez
Luis Rodriguez adalah seorang fisioterapis.cist + ahli matematika dan CISSP. Saat ini menjabat sebagai salah satu pendiri dan CTO di Xygeni Security. Beliau memiliki pengalaman lebih dari 20 tahun di bidang keamanan perangkat lunak dan telah berpartisipasi dalam berbagai proyek seperti... SAST ke SCASaat ini ia fokus pada... software supply chain security.
Daniel Martin
Daniel Martín adalah pakar keamanan siber dan anggota tim riset keamanan Xygeni, yang berspesialisasi dalam SDLC mitigasi kerentanan keamanan dan aplikasi.






