reversing and decrypting the communications of apt malware (etumbot)

34
Reversing and Decrypting the Communications of APT Malware Monnappa KA – Info Security Investigator

Upload: securityxploded

Post on 18-Nov-2014

292 views

Category:

Technology


2 download

DESCRIPTION

Presented by Monnappa in our quarterly Cyber security meet. visit: http://www.securitytrainings.net for more information.

TRANSCRIPT

Page 1: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing and Decrypting the Communications of APT Malware

Monnappa KA – Info Security Investigator

Page 2: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Disclaimer

The Content, Demonstration, Source Code and Programs

presented here is "AS IS" without any warranty or conditions

of any kind. Also the views/ideas/knowledge expressed here are

solely of the mine and nothing to do with the company or the

organization in which I am currently working.

However in no circumstances neither I or SecurityXploded is

responsible for any damage or loss caused due to use or misuse

of the information presented here

Page 3: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Who AM I

Monnappa KA Member of SecurityXploded Info Security Investigator @ Cisco Focus on Threat Intelligence Reverse Engineering, Malware Analysis, Memory Forensics Email: [email protected] Twitter: @monnappa22 Linkedin: http://in.linkedin.com/pub/monnappa-ka-grem-ceh/42/45a/1b8

Page 4: Reversing and Decrypting the Communications of APT Malware (Etumbot)

APT Malware - Etumbot

Etumbot Cyber Espionage Campaign

Demo 1 – Sandbox Analysis of Etumbot dropper

Demo 2 – Reverse Engineering the Communications of Etumbot Backdoor

Demo 3 – Decrypting the Communications of Etumbot Backdoor

References

Contents

Page 5: Reversing and Decrypting the Communications of APT Malware (Etumbot)

APT Malware - Etumbot

Used in APT/Cyber espionage/targeted attacks Associated with Chinese cyber espionage group (Numbered Panda, APT12, Calc team) Sent to targets via spear phishing email Targeted government organizations in Taiwan and Japan Drops decoy documents of interest to Taiwanese and Japanese population Also referred to as Exploz, Specfix and RIPTIDE Ref link1: http://www.arbornetworks.com/asert/2014/06/illuminating-the-etumbot-apt-backdoor/ Ref link2:

http://www.fireeye.com/blog/technical/botnet-activities-research/2014/09/darwins-favorite-apt-group-2.html

Page 6: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Etumbot Cyber Espionage Campaign

Page 7: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Demo 1

Sandbox Analysis of Etumbot dropper(5340.exe)

Page 8: Reversing and Decrypting the Communications of APT Malware (Etumbot)

File system and Registry activityEtumbot dropper (5340.exe) drops another file winlogdate.exe (which is Etumbot backdoor). The malware also adds a registry entry so that Etumbot backdoor can persist on the system

Page 9: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Network ActivityEtumbot Backdoor (winlogdate.exe) connects to the C2 server with two communication patterns

Page 10: Reversing and Decrypting the Communications of APT Malware (Etumbot)

First Communication Pattern

In the first communication pattern the malware receives response from the C2 server. The response looks like an encoded string

Page 11: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Second Communication PatternIn the second communication pattern the malware sends a request, which looks like a request to download an image file (.jpg), but the string before .jpg looks like an encrypted string. In order understand these communication patterns, lets reverse engineer the Etumbot backdoor

Page 12: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Demo 2

Reverse Engineering the Communications ofEtumbot Backdoor (winlogdate.exe)

Page 13: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing First Communication patternEtumbot Backdoor calls the below function. This function implements the First Communication pattern, this function calls multiple functions as shown in the call graph below

Page 14: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing First Communication pattern (contd)

The malware uses below API call to open an http session with the C2 Server (wwap.publiclol.com)

Page 15: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing First Communication pattern (contd)

Etumbot Backdoor uses below API call to create an http handle and the below screenshot shows the object the malware is going to request in the http request.

Page 16: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing First Communication pattern (contd)Etumbot Backdoor uses below API call to send the request and the C2 server sends an encoded response to the backdoor.

Page 17: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing First Communication pattern (contd)Etumbot backdoor receives the encoded response from the C2 using the below API

Page 18: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing First Communication pattern (contd)Etumbot backdoor passes the received content to the custom base64 algorithm which decodes the received content and extracts the RC4 key starting at offset 8. This RC4 key is used to encrypt subsequent communications. It can be deduced that the first communication pattern is used by the malware to receive the RC4 key from the attackers.

Page 19: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing Second Communication patternEtumbot Backdoor calls the below function. This function implements the Second Communication pattern, this function calls multiple functions as shown in the call graph below

Page 20: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing Second Communication pattern (contd)Etumbot Backdoor collects the system information (hostname, username, ip and proxy details) and passes it to the RC4 function (with the RC4 key retrieved from the first communication).

Page 21: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing Second Communication pattern (contd)The collected system information is encrypted with RC4 key which was retrieved from the first communication. Below screenshot shows the RC4 encrypted system information

Page 22: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing Second Communication pattern (contd)The RC4 encrypted system information is then passed to the custom base64 encoding function as shown below

Page 23: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing Second Communication pattern (contd)The RC4 encrypted system information is then encoded with custom base64 encoding algorithm as shown below.

Page 24: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing Second Communication pattern (contd)The base64 encoded string is then concatenated with /image/ and .jpg to form a final string as shown below

Page 25: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing Second Communication pattern (contd)

The malware connects to the C2 server (wwap.publiclol.com) using the concatenated string as the http request pattern.

Page 26: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Reversing Second Communication pattern (contd)Malware sends the http request as shown below. As you can see from packet capture the encrypted system information is sent to the attackers this way. Now we know how malware decodes the RC4 key from first communication and how that RC4 key is used to encrypt subsequent communications. We can write decryptors to extract the RC4 key and to decrypt the communications.

Page 27: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Demo 3

Decrypting the communications ofEtumbot Backdoor (winlogdate.exe)

Page 28: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Python script – To extract RC4 key

Below screenshot shows the python script (get_key.py) which takes encoded response from C2 server as input, then decodes it and extracts the RC4 key

Page 29: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Extracting RC4 key from C2 ResponseBelow screenshot shows the encoded response from C2 server. This encoded response is given to the script which decoded and extracted the RC4 key

Page 30: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Python script – to decrypt communications

Below screenshot shows the script to decrypt subsequent communications using the RC4 key obtained from first communication

Page 31: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Python script – to decrypt communications

Below screenshot shows the encrypted string. The script takes the encrypted string and decrypts it. The decrypted output is the information (hostname, username, ip, proxy details) collected from the system, where the malware was run (in this case sandbox machine)

Page 32: Reversing and Decrypting the Communications of APT Malware (Etumbot)

a) ARBOR Networks Report on Etumbot

http://www.arbornetworks.com/asert/2014/06/illuminating-the-etumbot-apt-backdoor/

b) FireEye’s Blog post

http://www.fireeye.com/blog/technical/botnet-activities-research/2014/09/darwins-favorite-apt-group-2.h

tml

References

Page 33: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Question & Answer

Page 34: Reversing and Decrypting the Communications of APT Malware (Etumbot)

Thank you