Inleiding
KI-aangedrewe wanware het nou 'n taamlike tendens geword. Ons het nog altyd bespreek hoe bedreigingsakteurs aanvalle kan uitvoer deur KI-modelle te benut, en hier het ons 'n PoC wat presies dit demonstreer. Alhoewel dit nog nie in aktiewe aanvalle waargeneem is nie, wie weet of dit nie reeds deur bedreigingsakteurs as wapen gebruik word om organisasies te teiken nie?
Ons praat van PromptLock , gedeel deur ESET Research. PromptLock is die eerste bekende KI-aangedrewe ransomware. Dit gebruik Lua-skripte wat gegenereer word uit hardgekodeerde aanwysings om die plaaslike lêerstelsel te identifiseer, teikenlêers te inspekteer, geselekteerde data te verwyder en enkripsie uit te voer. Hierdie Lua-skripte is kruisplatform-versoenbaar en funksioneer op Windows, Linux en macOS . Vir lêerenkripsie gebruik PromptLock die SPECK 128-bis enkripsie-algoritme.
Losprysware self is reeds een van die gevaarlikste kategorieë van wanware. Wanneer dit met KI geskep word, word dit selfs meer kommerwekkend. PromptLock gebruik groot taalmodelle (LLM's) om dinamies kwaadwillige skrifte te genereer. Hierdie KI-gegenereerde Lua-skrifte dryf die kwaadwillige aktiwiteit aan, wat hulle buigsaam genoeg maak om oor Windows, Linux en macOS te werk.

Tegniese Oorsig:
Die wanware is in Go (Golang) geskryf en kommunikeer met 'n plaaslik gehuisveste LLM deur die Ollama API.

Wanneer ons hierdie wanware uitvoer, sal ons sien dat dit verbinding maak met die plaaslik gehuisveste LLM deur die Ollama API.

Dit identifiseer of die besmette masjien 'n persoonlike rekenaar, bediener of industriële beheerder is . Gebaseer op hierdie klassifikasie besluit PromptLock of data geëksfiltreer, enkripteer of vernietig moet word.
Dit is nie net 'n gesofistikeerde voorbeeld nie – volledige LLM-aanwysings is in die kode self. Dit gebruik die SPECK 128-bis-enkripsie-algoritme in ECB-modus.
Die enkripsiesleutel word in die sleutelveranderlike gestoor as vier 32-bis klein-endian woorde: plaaslike sleutel = {sleutel[1], sleutel[2], sleutel[3], sleutel[4]}. Dit word dinamies gegenereer soos in die figuur getoon:

Dit begin infeksie deur die slagoffer se lêerstelsel te skandeer en 'n inventaris van kandidaatlêers op te bou, en die resultate in scan.log te skryf.

Dit skandeer ook die gebruiker se tuisgids om lêers te identifiseer wat moontlik sensitiewe of kritieke inligting bevat (bv. PII). Die resultate word in target_file_list.log gestoor.

PromptLock skep waarskynlik eers scan.log om ontdekte lêers op te teken en vernou dit dan tot target.log, wat die stel definieer om te enkripteer. Voorbeelde genereer ook lêers soos payloads.txt vir metadata of staging. Sodra teikens gestel is, word elke lêer in 16-greep-stukke geïnkripteer met behulp van SPECK-128 in ECB-modus, wat die inhoud met gekisfereerde teks oorskryf.

Na enkripsie genereer dit dinamies losprysnotas. Hierdie notas kan spesifieke besonderhede insluit soos 'n Bitcoin-adres (1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa). Hierdie adres is die eerste bitcoin-adres wat ooit geskep is, en die losprysbedrag. Aangesien dit 'n POC is, is geen werklike data teenwoordig nie.
![]()
PromptLock se CLI en skripte maak staat op:
- model=gpt-oss:20b
- com/PeerDB-io/gluabit32
- com/yuin/gopher-lua
- com/gopher-lfs

Dit druk ook verskeie vereiste sleutels in kleinletters (geformateer as "sleutel: waarde"), insluitend:
- os
- Gebruikersnaam
- Webbladsy
- gasheernaam
- Temp
- September
- cwd
Implementeringsriglyne:
– omgewingsveranderlikes:
gebruikersnaam: os.getenv(“GEBRUIKERSNAAM”) of os.getenv(“GEBRUIKER”)
tuisblad: os.getenv(“GEBRUIKERSPROFIEL”) of os.getenv(“TUISBLAD”)
gasheernaam: os.getenv(“REKENAARNAAM”) of os.getenv(“GASHERNAAM”) of io.popen(“gasheernaam”):read(“*l”)
temp: os.getenv(“TMPDIR”) of os.getenv(“TEMP”) of os.getenv(“TMP”) of “/tmp”
sep: opspoor vanaf package.path (indien "\" bevat dan "\" anders "/"), verstekwaarde is "/"
– os: opspoor vanuit die omgewing en padskeier:
* as os.getenv(“OS”) == “Windows_NT” dan “windows”
* anders as sep == “\” dan “vensters”
* anders as os.getenv(“OSTYPE”) gebruik dan daardie valuevir
* anders “unix”
– cwd: gebruik io.popen(“pwd”):read(“*l”) of io.popen(“cd”):read(“*l”) afhangende van die bedryfstelsel
Gevolgtrekking:
Dit is hoog tyd dat die bedryf sulke wanware-gevalle begin oorweeg. As ons KI-aangedrewe wanware wil klop, sal ons KI-aangedrewe oplossings moet insluit. In die afgelope paar maande het ons 'n geweldige toename in sulke gevalle waargeneem, alhoewel PoC's goed genoeg is om gebruik te word om werklike aanvalle uit te voer. Dit dui duidelik daarop dat verdedigende strategieë teen dieselfde tempo as aanvallende innovasies moet ontwikkel.
Hoe gaan dit SEQRITE Beskerm sy kliënte?
- PromptLock
- PromptLock.49912.GC
IOCs:
- ed229f3442f2d45f6fdd4f3a4c552c1c
- 2fdffdf0b099cc195316a85636e9636d
- 1854a4427eef0f74d16ad555617775ff
- 806f552041f211a35e434112a0165568
- 74eb831b26a21d954261658c72145128
- ac377e26c24f50b4d9aaa933d788c18c
- F7cf07f2bf07cfc054ac909d8ae6223d
Skrywers:
Shrutirupa Banerjee
Rayapati Lakshmi Prasanna Sai
Pranav Pravin Hondrao
Subhajeet Singha
Kartikkumar Ishvarbhai Jivani
Aravind Raj
Rahul Kumar Mishra



