LokiBot & NanoCore being distributed via ISO disk image files

Netskope

Netskope Threat Research Labs has been tracking multiple similar malspam campaigns that began in  April 2019. The spam campaign contains an ISO image file as an attachment containing the next level payload. This blog post details both the campaign and the payload.

MalSpam Campaign

The malspam campaign began in April 2019, with a generic message about an invoice and an ISO disk image file attachment. The generic message indicates that the spam campaigns are not targeted toward any particular individuals or enterprises. Figure 1 below shows an example snapshot of a malspam email containing an ISO file as an attachment.

Figure 1: Malspam containing ISO file as an attachment.

We first noticed these malspam campaigns when our outbreak detection system alerted us to an unusual filetype showing up in multiple detections — the ISO disk image format. The samples were detected due to the samples of LokiBot and NanoCore that they contained. To date, we have uncovered 10 variants of this campaign, using different ISO images and emails.

Targeting such uncommon file formats gives an advantage to the malware authors as ISO files are usually whitelisted from scanning in various email security solutions to improve efficiency. Also, major operating systems now have default software which automatically detects and mount the ISO image once the user clicks on it. This again makes it a preferred target for the scammers. The observed ISO files were in the size range of 1MB to 2MB which is an unusual file size for image files; usually, their sizes are in the upwards of 100MB. The image contains only one executable file embedded in it which is the actual malware payload. Instances of similar spam campaigns have been reported in the past where keyloggers and other information stealing payloads were being dropped onto the infected machines. The cases encountered during our analysis were mainly related to LokiBot and NanoCore remote administrative tools. Netskope’s advanced threat protection suit detects these files as Trojan.GenericKD.41227940 and Trojan.GenericKD.40782328.

Payload Analysis

LokiBot

There is a growing trend in using LokiBot as the delivery payload across a wide range of spam campaigns, the most recent one being reported here. The current version of Loki is similar to its previous versions, with only slight modifications in the anti-reversing techniques implemented in the bot. The sample analyzed, in this case, used the IsDebuggerPresent() function to determine if it is loaded inside a debugger. It also implemented a common anti-VM technique, measuring the computational time difference between CloseHandle() and GetProcessHeap() to detect if it is running inside a VM (the time difference will be large in case of a VM). Figure 2 shows how this looks in the disassembled code.

Figure 2: Anti-debugger check implemented in LokiBot

Once the codes for anti-reversing are patched, the malware sample unpacks it in the memory, as shown in Figure 3. The unpacked binary is an executable program coded in Visual Basic.

Figure 3: Memory section containing the unpacked binary code

Once the malware infects the system it performs the following operations:

  • Query system GUID information
  • Perform process hollowing and launch a child process.
  • Delete the parent process, leaving the child orphaned and in running state.

Once the infection process is complete, the sample then launches its stealer functions which have the capability to:

  • Probe more than 25 different web browsers to steal various browsing information.
  • Check for the presence of web or email servers running on the machine.
  • Locate credentials for 15 different email and file transfer clients.
  • Check for the presence for popular remote admin tools like SSH, VNC, and RDP.

Figure 4 below depicts a summary of malware’s behavior captured by our Advanced Heuristic analysis engine.

Figure 4: Malware behavior captured by Netskope’s Advance Heuristic Analysis.

NanoCore RAT

We have previously blogged about NanoCore RAT in a completely different campaign where cloud storage services were used to host malicious PDF documents dropping a variant of this RAT. Netskope’s advanced threat protection suit detected these files as Trojan.GenericKD.40782328. Like our previous analysis, this version of NanoCore was also built using AutoIT as a top-level wrapper for the main .NET compiled binary.

Figure 5: AutoIT code sections identified in malware sample

The decompiled AutoIT script is heavily obfuscated and constructs the actual .NET binary of the NanoCore RAT as shown in Figure 6 below.

Figure 6: AutoIT function constructing actual binary payload

The actual binary begins infecting the system by performing the following actions:

  • Tries to detect the presence of a debugger.
  • Creates mutex and performing process injection.
  • Creates persistence through registry modifications.

Once the malware gets a foothold of the machine, it begins capturing information like:

  • Captures clipboard data and monitoring keystrokes.
  • Collects information about document files on the system.
  • Connects to FTP server to upload stolen data from the system.

Figure 7 below shows the detailed analysis of the remote administrative tool captured by Netskope’s cloud sandbox. It also shows the process execution graph depicting the creation and flow of various processes associated with the sample.

Figure 7: NanoCore RAT’s analysis in Netskope’s Cloud Sandbox

Conclusion

Malspam campaign continues to mix and match various new and old techniques to stay relevant. Choosing an image file as an attachment indicates that they are intending to defeat email filters and scanners who generally whitelist such file types. Use of commercially available malware payloads shows that the use of such tools has not slowed down despite crackdowns by law enforcement on individuals responsible for creating them.