ANALYSIS ON APT-TO-BE ATTACK THAT FOCUSING ON CHINA’S GOVERNMENT AGENCY
Analysis on APT-to-be Attack That Focusing on China’s Government Agency
First release time: 14:32, May 27, 2015
Updated time of this version: 14:32, May 27, 2015
Recently, ANTIY Labs detected an APT attack targeting some government agency in China. The Shellcode for communication is conducted depending on Beacon mode which is generated on the basis of automatic attack detection platform-Cobalt Strike. This kind of attack pattern disguising as non-malicious real file in the host of its target, it sending a network heartbeat package every 60 seconds, and it also send data information via the Cookie field, all these features of this attack pattern are designed to evade the detection of security software and the interception of firewall on the targeted host. Considering the relationship between this attack and Cobalt Strike platform, we name it as APT-TOCS (TOCS refers to Threat on Cobalt Strike.) for now.
The core step of APT-TOCS is downloading the script functionalities of Shellcode, which downloads a field of data into memory for operation by calling powershell.exe.The decrypted data is a field of executable Shellcode that is generated by Cobalt Strike (An automatic attack testing platform). After loading the script of Shellcode, the Analysis Group of ANTIY did a series of correlation analysis, then we found a PE program that maybe act as a guiding executable file in similar attacks. The loaded Shellcode script can be used to call command line to add a certain field of encrypted date into memory and run it. The decrypted date turns out to be executable Shellcode which is generated by Cobalt Strike. The related script can be loaded via the guiding PE program or vulnerability. This kind of attack pattern has several features which including running in memory, no hard disk writing operations, communicating via Beacon, multi-beacon communication is acceptable, and several Beacons can work simultaneously. Such attack can be launched without the support of vector file, in fact it depends on network projection and laterally move in the internal network as required conducting an attack. So, it will bring great difficulties to the forensic work. It is important to note that, all the Sandboxes we know are disabling to fight against this kind of attack.
It seems that the attack capability of APT-TOCS is close to that of APT-level. However, it relied on automatic attack testing platform instead of abilities of the attack team.
APT-TOCS used “powershell.exe” to execute Shellcode scripts to realize remote control on targeted system. The analysts of Antiy thought that the attacker might know several remote injection methods of script downloading privilege, such as directly making the scrip be executed on the host by using security vulnerabilities. Meanwhile, we found the following binary leading attack files (hereinafter referred to as Sample A) were used in similar attacks before:
The functionality code of the scripts embedded in this PE sample is completely the same with the one of Shellcode script Antiy has acquired, while the encryption data of them differs from each other. This PE sample was firstly uploaded to Virustotal on May 2, 2015:
The PE sample used WinExec to operate embedded malware:
Figure 2 Using function WinExec to call powershell.exe to download leading data
Therefore, we can see that the “leading file” can be regarded as the leading part of attack. However, the execution and control still can be made depending on system and application vulnerabilities without this leading file.
According to above information, we cannot make sure this leading sample has relationship with this APT incident.
The core part of APT-TOCS relies on the encrypted data scripts (hereinafter referred to as Sample B) downloaded by PowerShell. Figure 1 consists of various derivation relationships and major module functionalities:
Figure 3 Various derivation relationships and major module functionalities
The content (Here omitted the content of base64.) of Sample B is as follows:
Figure 4 Content of Sample B
The functionality of this part of script is: decrypting the encrypted content of base64, decompressing with Gzip, resulting in module 1 and using PowerShell to download and execute.
The content of script 1 is as follows:
Figure 5 Content of script 1
The functionality of this part is: decrypting data with base64 encryption and getting module 1, then writing to process powershell.exe, and executing and operating.
The functionality of this module is as follows: calling the function of wininet module, connecting the network, downloading operations of module 2; and executing by downloading to the memory.
Figure 6 Request of HTTP GET
Figure 6 shows that using request of HTTP GET to get file: http://184.108.40.206/hfYn.
Module 2 established and listed system process rundll32.exe:
Figure 7 Establishing and listing process rundll32.exe
Data that has been written into module 3:
Figure 8 Data that has been written into module 3
Though the data of module 3 started with “MZ”, it does not belong to PE files. Instead, it is the Shellcode with backdoor functionality.
Figure 9 Shellcode that started with MZ（4D 5A）
The module might connect the following 2 addresses with port 80:
dc.******69.info (146.0.***.***) (Romania)
Sending request data and receiving return data.
Figure 10 Sending request data
The decryption to above IP, domains and accessing addresses is “XOR 0x69”.
Judging from the module strings and the system functions, the module belongs to backdoor program that can send GET request to designated addresses and heartbeat packages by using Cookie fields with 60 seconds’ interval. The heartbeat package data includes: check code, process ID, system version, IP address, computer name, account, whether it is 64 bit process. Then it transmits by making use of both RSA and BASE64 encryption.
Figure 11 The original data of heartbeat package
As the process ID and check code are different, the transmitted heartbeat package data are different each time. The check code is calculated through using process ID and the millisecond process during system startup. The algorithm is as follows:
Figure 12 Algorithm of check code
The encrypted heartbeat package used Cookie field to transmit:
Figure 13 Content of the data package
The leading PE files, Sample_A and Sample B, associated by analysts of Antiy CERT used the exactly same method of PowerShell. However, we cannot eliminate the possibility that Sample_A has no positive connection with this attack due to the high standardization of relevant scripts. We still consider it as a series of attack incidents based on other comprehensive analysis. The attacker might exploit the following ways to control the target host, such as social engineering e-mails, file bundling, exploiting system and application vulneratbilities, lateral movement of intranet and so on.
We found “Beacon” strings when analyzing “Module 1”. According to existed experience, we doubted that Shellcode is closely related with automatic attack testing platform Cobalt Strike. Therefore, our analysts carried out comparison analysis on Beacon generated by Cobalt Strike, and authenticated the relationships between them.
Cobalt Strike is the GUI framework penetration tool based on metasploit. The business version of it integrates the following characteristics: service scan, automatic overflow, multi-mode port espionage, various Trojan generation, phishing attack, site clone, target information obtaining, automatic browser attack and so on.
We compared module 1 and the payload generated by using Beacon, and found only the following different data: the Head data, request file name and IP address.
Figure 14 Comparison of Module 1
The left is sample module 1, while the right is the module generated by Beacon. We can lead to the conclusion from the comparison: module 1 is generated by Beacon.
The screenshot of data package in request is as follows:
Figure 15 The data package comparison of module 1
Our analysts compared sample module 2 and relevant files of Beacon, and found that the disassembling commands between them are exactly the same with exception of functionality code, including XOR encryption at the entry, downloading system DLL, obtaining function address, function calling modes and so on. The following lists three points.
The following figure is the GET request comparison of the module generated by sample module 3 and Beacon. Here we can see both of them use Cookie to transmit information that has been encrypted, and send requests actively every 60 seconds. The data package is heartbeat.
Figure 16 Comparison of module 3 data package
Using Cobalt Strike attack can execute various operations in the targeted systems, such as downloading and uploading files, executing designated programs, injecting keyboard recorder, executing commands via PowerShell, importing PowerShell script, executing commands via CMD, accessing system passwords and so on.
Cobalt Strike has the following characteristics:
- Penetrating sandbox
- Avoiding whitelist mechanism and cloud detection
- Intranet penetration
- Persistent attacks
- Attacking various platforms
With an automated test platform Cobalt Strike, the attack penetration can penetrate firewall, the approach the attackers used to control targeted host is covert and undetectable; what’s more, it can attack various platforms, such as Windows, Linux, Mac etc.; it’s formidable adversary to Trusted Computing, Cloud Detection, Sandbox Detection and so on. According to the traces in the past, we believe that the threat has been active for 5 years; unfortunately, there isn’t any powerful detection production and methods to defeat the malicious attack till now.
The reason why the CERT Analysis Team of ANTIY classified APT-TOCS into APT incidents is that it’s a kind of targeted attack (one of the features of APT attack), it has anti-detection functions and also it can conceal itself. Compared with APT incidents in the past, the APT attack in this case doesn’t cost too much, and the attackers aren’t responsible for coding. With the application of commercial attack platform, the attackers saved the cost of an attack, also the vulnerability built joint function provided by relevant attack platform make the attackers easy to do injection. As a result, nations and organizations which without its own elite hacker groups and abundant capital can also launch some kind of APT attack via the attack pattern mentioned in this case. Meanwhile, it’s more difficult for us to tracing when facing such modeled attack.
One of the leaders in Information Security area-Bruce Schiner said, “when big events on information security happened, people tend to treat it as an example of cyber warfare. It’s ridiculous. From my point of view, what’s happening and going to happen is: more and more tactics in physical warfare are applied to cyber warfare. It’s important to note that, attack capabilities can be widely distributed if attackers take full advantages of certain technology, especially computer technology can make attack more powerful and automated.” Obviously, highly automated commercial platform realized a high speed of spread of this attack capability (exceeded our anticipation).
We have to remind all relevant parties that we are confronting with the risk of large scale diffusion of network armaments which is led by the low cost of the attack capability. The commercial penetration attack detecting platform has two sides, on one hand, it can check the network environment of systems effectively, on the other hand, for nations, organizations and industries which has limited budget, it costs too much. Given the situation, all related parties should conduct more communication with each other, additionally, there is no doubt that both offensive party and defensive party are supported by superpowers, these superpowers should prevent the attack technique from widely distributing.
The incident mentioned there has no difference with other cases we detected in the past, it shows that, on the way to realize national informatizaion, we must fight against serious security challenges as we confronting now; it’s also a good opportunity for our Chinese people and enterprises to demonstrate our faith and the efforts we made to conquer the challenge.
Cobalt Strike is the business version of Armitage which is the penetration testing software of Metasploit figure interface written by Java. Armitage can carry out automatic attacks by combining with known exploits of Metasploit. It integrates the free version of Armitage under bt5 and kali linx, and the most powerful functionality is adding the Payload of Beacon.
The first release time of Cobalt Strike is June, 2012.
Author of Cobalt Strike: Raphael Mudge
Raphael Mudge is the founder of Strategic Cyber LLC, a Washington, DC based company that creates software for red teams. He created Armitage for Metasploit, the Sleep programming language, and the IRC client jIRCii. Previously, Raphael worked as a security researcher for the US Air Force, a penetration tester, and he even invented a grammar checker that was sold to Automattic. His work has appeared in Hakin9, USENIX ;login:, Dr. Dobb’s Journal, on the cover of the Linux Journal, and the Fox sitcom Breaking In. Raphael regularly speaks on security topics and provides red team support to many cyber defense competitions.
Education background: Syracuse University, Michigan Technological University
Current position: Strategic Cyber LLC , Delaware Air National Guard
Skills: software development, information security, object-oriented design, distributed system, figure interface, computer network design, blog system, social engineering, security research and so on.
Collegiate Cyber Defense Competition (CCDC)
North East CCDC 2008-2015
Mid Atlantic CCDC 2011-2015
Pacific Rim CCDC 2012, 2014
South East CCDC – 2014
Western Regional CCDC – 2013
National CCDC 2012-2014
- Sleep Scripting Language
An extensible general purpose language with Perl inspired syntax for the Java platform. Sleep is open source, licensed under the LGPL.
Scriptable Internet Relay Chat client for Windows, MacOS X, and Linux. jIRCii is open source, licensed under the artistic license.
Live-fire Security Testing with Armitage and Metasploit
Get in through the backdoor: Post exploitation with Armitage
Tutorial: Hacking Linux with Armitage
The Design of a Proofreading Software Service
Agent-based Traffic Generation
Enterprise-level business cooperation
After the Deadline
Open source software
One Hand Army Man s
phPERL Same Game
Antiy Labs is a professional next-generation security-testing engine R&D enterprise. Antiy’s engines provide the ability to detect various viruses and malware for network security products and mobile devices, which are used by more than ten well known security vendors. Antiy’s engines are embedded in tens of thousands of firewalls and tens of millions of mobile phones all over the world. Antiy Labs is awarded the “Best Protection” prize by AV-TEST in 2013. Based on engines, sandboxes and background systems, Antiy Labs will continue to provide traffic-based anti-APT solutions for enterprises.
|More information about antivirus engine,||http://www.antiy.com (Chinese)|