A new piece of malware referred to as Poweliks tries to evade detection and analysis by operating completely from your system registry without having files on the disk, security researchers alert.
The technique of “fileless” malware that only is present in the system’s memory isn’t new, but such threats are rare simply because they don’t live through system reboots, in the event the memory is cleared. That’s not the case for Poweliks, that takes a fairly new strategy to accomplish persistence while staying fileless, as outlined by malware researchers from G Data Software.
The Poweliks malware spreads via emails which includes a malicious Microsoft Word document. The document holds all the code required for the attack, encrypted and hidden, once executed the malicious code generates an encoded autostart registry key and to fly under the radar it keeps the registry key hidden.
Poweliks creates a registry entry that executes the legitimate rundll32.exe Windows file followed by some encoded JavaScript code. This triggers a process similar in concept to a Matryoshka Russian nesting doll, said Paul Rascagnères, senior threat researcher at G Data, in a blog post.
The JavaScript code checks whether or not Windows PowerShell, a command-line shell and scripting environment, exists on the system. When it isn’t, it downloads and installs it after which it decodes even more code that is really a PowerShell script.
After it’s successfully installed, Poweliks attempts to contact hardcoded IP addresses to receive further commands from the attacker.
- As the entry point, they exploit a vulnerability in Microsoft Word with the help of a crafted Word document they spread via email. The same approach would work with any other exploit.
- After that, they make sure that the malicious activities survive system re-boot by creating an encoded autostart registry key. To remain undetected, this key is disguised/hidden.
- Decoding this key shows two new aspects: Code which makes sure the affected system has Microsoft PowerShell installed and additional code.
- The additional code is a Base64-encoded PowerShell script, which calls and executes the shellcode (assembly).
- As a final step, this shellcode executes a Windows binary, the payload. In the case analyzed, the binary tried to connect to hard coded IP addresses to receive further commands, but the attackers could have triggered any other action at this point.
- All activities are stored in the registry. No file is ever created.
In addition, the actual startup registry key made by Poweliks is a non-ASCII character. This is a trick that stops regedit, the Registry editortool, and perhaps other programs from presenting the rogue start-up entry, rendering it hard for both users and malware experts to physically see the infection.
You can read Symantec’s write up of the malware, here.