# BlackEnergy

BlackEnergy Malware was first reported in 2007 as an HTTP-based toolkit that generated bots to execute distributed denial of service attacks. It was created by Russian hacker Dmyrtro Oleksiuk around 2007. Oleksiuk also utilized the alias Cr4sh. In 2010, BlackEnergy 2 emerged with capabilities beyond DDoS. In 2014, BlackEnergy 3 came equipped with a variety of plug-ins. A Russian-based group known as Sandworm (aka Voodoo Bear) is attributed with using BlackEnergy targeted attacks. The attack is distributed via a Word document or PowerPoint attachment in an email, luring victims into clicking the seemingly legitimate file.

## BlackEnergy 1 (BE1)

BlackEnergy's code facilitates different attack types to infect target machines. It is also equipped with server-side scripts which the perpetrators can develop in the command and control (C&C) server. Cybercriminals use the BlackEnergy bot builder toolkit to generate customized bot client executable files that are then distributed to targets via email spam and phishing e-mail campaigns. BE1 lacks the exploit functionalities and relies on external tools to load the bot. BlackEnergy can be detected using the YARA signatures provided by the United States Department of Homeland Security (DHS).

### Key features

* Can target more than one IP address per hostname
* Has a runtime encrypter to evade detection by antivirus software
* Hides its processes in a system driver (syssrv.sys)

### Command types

* DDoS attack commands (e.g. ICMP flood, TCP SYN flood, UDP flood, HTTP get flood, DNS flood, etc.)
* Download commands to retrieve and launch new or updated executables from its server
* Control commands (e.g. stop, wait, or die)

## BlackEnergy 2 (BE2)

BlackEnergy 2 uses sophisticated rootkit/process-injection techniques, robust encryption, and a modular architecture known as a "dropper". This decrypts and decompresses the rootkit driver binary and installs it on the victim machine as a server with a randomly generated name. As an update on BlackEnergy 1, it combines older rootkit source code with new functions for unpacking and injecting modules into user processes. Packed content is compressed using the LZ77 algorithm and encrypted using a modified version of the RC4 cipher. A hard-coded 128-bit key decrypts embedded content. For decrypting network traffic, the cipher uses the bot's unique identification string as the key. A second variation of the encryption/compression scheme adds an initialization vector to the modified RC4 cipher for additional protection in the dropper and rootkit unpacking stub, but is not used in the inner rootkit nor in the userspace modules. The primary modification in the RC4 implementation in BlackEnergy 2 lies in the key-scheduling algorithm.

### Capabilities

* Can execute local files
* Can download and execute remote files
* Updates itself and its plugins with command and control servers
* Can execute die or destroy commands

## BlackEnergy 3 (BE3)

The latest full version of BlackEnergy emerged in 2014. The changes simplified the malware code: this version installer drops the main dynamically linked library (DLL) component directly to the local application data folder. This variant of the malware was involved in the December 2015 Ukraine power grid cyberattack.

### Plug-ins

* fs.dll — File system operations
* si.dll — System information, “BlackEnergy Lite”
* jn.dll — Parasitic infector
* ki.dll — Keystroke Logging
* ps.dll — Password stealer
* ss.dll — Screenshots
* vs.dll — Network discovery, remote execution
* tv.dll — Team viewer
* rd.dll — Simple pseudo “remote desktop”
* up.dll — Update malware
* dc.dll — List Windows accounts
* bs.dll — Query system hardware, BIOS, and Windows info
* dstr.dll — Destroy system
* scan.dll — Network scan