Pengantar
Malware bertenaga AI kini telah menjadi tren. Kita selalu membahas bagaimana aktor ancaman dapat melakukan serangan dengan memanfaatkan model AI, dan kini kita memiliki PoC yang menunjukkan hal tersebut. Meskipun belum ditemukan dalam serangan aktif, siapa tahu jika malware ini sudah digunakan oleh aktor ancaman untuk menargetkan organisasi?
Kita sedang membahas PromptLock , yang dibagikan oleh ESET Research. PromptLock adalah ransomware bertenaga AI pertama yang diketahui. Ia memanfaatkan skrip Lua yang dihasilkan dari perintah yang telah ditentukan untuk menghitung sistem file lokal, memeriksa file target, mengekstrak data yang dipilih, dan melakukan enkripsi. Skrip Lua ini kompatibel lintas platform, berfungsi di Windows, Linux, dan macOS . Untuk enkripsi file, PromptLock menggunakan algoritma enkripsi SPECK 128-bit.
Ransomware sendiri sudah merupakan salah satu kategori malware yang paling berbahaya. Ketika dibuat menggunakan AI, hal itu menjadi lebih mengkhawatirkan. PromptLock memanfaatkan model bahasa besar (LLM) untuk secara dinamis menghasilkan skrip berbahaya. Skrip Lua yang dihasilkan AI ini mendorong aktivitas jahatnya, membuatnya cukup fleksibel untuk bekerja di Windows, Linux, dan macOS.

Ikhtisar Teknis:
Malware ini ditulis dalam bahasa Go (Golang) dan berkomunikasi dengan LLM yang dihosting secara lokal melalui API Ollama.

Saat menjalankan malware ini, kita akan mengamati bahwa malware tersebut membuat koneksi ke LLM yang dihosting secara lokal melalui API Ollama.

Program ini mengidentifikasi apakah mesin yang terinfeksi adalah komputer pribadi, server, atau pengontrol industri . Berdasarkan klasifikasi ini, PromptLock memutuskan apakah akan mengekstrak, mengenkripsi, atau menghancurkan data.
Ini bukan sekadar contoh yang canggih – seluruh perintah LLM ada di dalam kode itu sendiri. Ini menggunakan algoritma enkripsi SPECK 128-bit dalam mode ECB.
Kunci enkripsi disimpan dalam variabel kunci sebagai empat kata little-endian 32-bit: kunci lokal = {kunci[1], kunci[2], kunci[3], kunci[4]}. Ini dihasilkan secara dinamis seperti yang ditunjukkan pada gambar:

Virus ini memulai infeksi dengan memindai sistem file korban dan membuat inventaris file yang berpotensi terinfeksi, kemudian menulis hasilnya ke dalam file scan.log.

Selain itu, program ini juga memindai direktori home pengguna untuk mengidentifikasi file yang berpotensi berisi informasi sensitif atau penting (misalnya, PII). Hasilnya disimpan dalam target_file_list.log.

Kemungkinan, PromptLock pertama-tama membuat scan.log untuk merekam berkas yang ditemukan, lalu mempersempitnya menjadi target.log, yang menentukan kumpulan berkas yang akan dienkripsi. Sampel juga menghasilkan berkas seperti payloads.txt untuk metadata atau staging. Setelah target ditetapkan, setiap berkas dienkripsi dalam potongan 16-byte menggunakan SPECK-128 dalam mode ECB, yang menimpa isinya dengan ciphertext.

Setelah dienkripsi, sistem ini menghasilkan catatan tebusan secara dinamis. Catatan ini mungkin mencakup detail spesifik seperti alamat Bitcoin (1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa) – alamat ini adalah alamat Bitcoin pertama yang pernah dibuat – dan jumlah tebusan. Karena ini masih berupa bukti konsep (POC), tidak ada data nyata yang tersedia.
![]()
CLI dan skrip PromptLock bergantung pada:
- model=gpt-oss:20b
- com/PeerDB-io/gluabit32
- com/yuin/gopher-lua
- com/gopher-lfs

Ia juga mencetak beberapa kunci yang diperlukan dalam huruf kecil (diformat sebagai “kunci: nilai”), termasuk:
- os
- nama pengguna
- Beranda
- hostname
- Temp
- September
- cwd
Panduan implementasi:
– variabel lingkungan:
nama pengguna: os.getenv(“USERNAME”) atau os.getenv(“USER”)
beranda: os.getenv(“USERPROFILE”) atau os.getenv(“HOME”)
nama host: os.getenv(“NAMA KOMPUTER”) atau os.getenv(“NAMA HOST”) atau io.popen(“nama host”):baca(“*l”)
temp: os.getenv(“TMPDIR”) atau os.getenv(“TEMP”) atau os.getenv(“TMP”) atau “/tmp”
sep: deteksi dari package.path (jika berisi “\” maka “\” jika tidak “/”), default ke “/”
– os: deteksi dari lingkungan dan pemisah jalur:
* jika os.getenv(“OS”) == “Windows_NT” maka “windows”
* elseif sep == “\” maka “windows”
* elseif os.getenv(“OSTYPE”) maka gunakan nilai ituvir
* jika tidak “unix”
– cwd: gunakan io.popen(“pwd”):read(“*l”) atau io.popen(“cd”):read(“*l”) tergantung pada OS
Kesimpulan:
Sudah saatnya industri mulai mempertimbangkan kasus-kasus malware semacam itu. Jika kita ingin mengalahkan malware bertenaga AI, kita harus menggabungkan solusi bertenaga AI. Dalam beberapa bulan terakhir, kita telah mengamati peningkatan yang luar biasa dalam kasus-kasus semacam itu, meskipun PoC cukup baik untuk dimanfaatkan untuk melakukan serangan yang sebenarnya. Ini jelas menandakan bahwa strategi defensif harus berkembang dengan kecepatan yang sama dengan inovasi ofensif.
Bagaimana SEQRITE Melindungi Pelanggannya?
- PromptLock
- PromptLock.49912.GC
IOC:
- ed229f3442f2d45f6fdd4f3a4c552c1c
- 2fdffdf0b099cc195316a85636e9636d
- 1854a4427eef0f74d16ad555617775ff
- 806f552041f211a35e434112a0165568
- 74eb831b26a21d954261658c72145128
- ac377e26c24f50b4d9aaa933d788c18c
- F7cf07f2bf07cfc054ac909d8ae6223d
Penulis:
Shrutirupa Banerjee
Rayapati Lakshmi Prasanna Sai
Pranav Pravin Hondrao
Subhajeet Singha
Kartikkumar Ishvarbhai Jivani
Aravind Raj
Rahul Kumar Mishra



