Targeted attacks are moving away from traditional malware to stealthier techniques that involve abusing standard system tools and protocols, some of which are not always monitored.
The latest example is an attack dubbed DNSMessenger, which was analyzed by researchers from Cisco Systems’ Talos team. The attack starts with a malicious Microsoft Word document distributed through an email phishing campaign.
When opened, the file masquerades as a “protected document” secured by McAfee, an antivirus brand now owned by Intel Security. The user is asked to click on the enable content button in order to view the document’s content, but doing so will actually execute malicious scripting embedded within.
The script is written in Powershell, a powerful scripting language built into Windows that allows for the automation of system administration tasks. What’s interesting is that until this point, everything is done in memory, without writing any malicious files to disk.
The second stage is also done in Powershell and involves checking for several parameters of the envrionment, like the privileges of the logged-in user and the version of Powershell installed on the system. This information is used to determine how to proceed to the next step and how to achieve persistence.
Depending on the result of the stage-two checks, yet another Powershell script will either be stored in an Alternate Data Stream (ADS) in the NTFS file system or directly inside the registry. The third stage Powershell script contains an additional obfuscated script that establishes a fairly sophisticated two-way communications channel over the Domain Name System (DNS).
DNS is normally used to look up the Internet Protocol addresses associated with domain names, but it has support for different types of records. The TXT record in particular allows a DNS server to attach unformatted text to a response.
“All C2 [command-and-control] communications associated with this malware are performed using DNS TXT queries and responses,” the Cisco Talos researchers said in a blog post.
This covert communication channel allows attackers to send commands to be executed on the system and to receive the output of those commands.
Organizations typically go to great lengths to filter HTTP and HTTPS traffic that goes in and out of their networks, but not many of them monitor DNS. Attackers know this and are encapsulating other protocols inside DNS to remain undetected.
The use of system tools like Powershell and code that’s executed directly in memory are also increasingly common techniques that makes the detection of compromises much harder.
“This malware sample is a great example of the length attackers are willing to go to stay undetected while operating within the environments that they are targeting,” the Cisco Talos researchers said. “It also illustrates the importance that in addition to inspecting and filtering network protocols such as HTTP/HTTPS, SMTP/POP3, etc. DNS traffic within corporate networks should also be considered a channel that an attacker can use to implement a fully functional, bidirectional C2 infrastructure.”