Figure 1. HIDDEN COBRA Communication Flow
FALLCHILL uses fake Transport Layer Security (TLS) communications, encoding the data with RC4 encryption with the following key: [0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 82]. FALLCHILL collects basic system information and beacons the following to the C2:
- operating system (OS) version information,
- processor information,
- system name,
- local IP address information,
- unique generated ID, and
- media access control (MAC) address.
FALLCHILL contains the following built-in functions for remote operations that provide various capabilities on a victim’s system:
- retrieve information about all installed disks, including the disk type and the amount of free space on the disk;
- create, start, and terminate a new process and its primary thread;
- search, read, write, move, and execute files;
- get and modify file or directory timestamps;
- change the current directory for a process or file; and
- delete malware and artifacts associated with the malware from the infected system.
Detection and Response
This alert’s IOC files provide HIDDEN COBRA indicators related to FALLCHILL. DHS and FBI recommend that network administrators review the information provided, identify whether any of the provided IP addresses fall within their organizations’ allocated IP address space, and — if found — take necessary measures to remove the malware.
When reviewing network perimeter logs for the IP addresses, organizations may find instances of these IP addresses attempting to connect to their systems. Upon reviewing the traffic from these IP addresses, system owners may find some traffic relates to malicious activity and some traffic relates to legitimate activity.
Network Signatures and Host-Based Rules
This section contains network signatures and host-based rules that can be used to detect malicious activity associated with HIDDEN COBRA actors. Although created using a comprehensive vetting process, the possibility of false positives always remains. These signatures and rules should be used to supplement analysis and should not be used as a sole source of attributing this activity to HIDDEN COBRA actors.
Network Signatures
alert
tcp any any -> any any (msg:"Malicious SSL 01 Detected";content:"|17
03 01 00 08|"; pcre:"/\x17\x03\x01\x00\x08.{4}\x04\x88\x4d\x76/";
rev:1; sid:2;)
___________________________________________________________________________________________
alert
tcp any any -> any any (msg:"Malicious SSL 02 Detected";content:"|17
03 01 00 08|"; pcre:"/\x17\x03\x01\x00\x08.{4}\x06\x88\x4d\x76/";
rev:1; sid:3;)
___________________________________________________________________________________________
alert
tcp any any -> any any (msg:"Malicious SSL 03 Detected";content:"|17
03 01 00 08|"; pcre:"/\x17\x03\x01\x00\x08.{4}\xb2\x63\x70\x7b/";
rev:1; sid:4;)
___________________________________________________________________________________________
alert
tcp any any -> any any (msg:"Malicious SSL 04 Detected";content:"|17
03 01 00 08|"; pcre:"/\x17\x03\x01\x00\x08.{4}\xb0\x63\x70\x7b/";
rev:1; sid:5;)
___________________________________________________________________________________________
YARA Rules
The following rules were provided to NCCIC by a trusted third party for the purpose of assisting in the identification of malware associated with this alert.
THIS DHS/NCCIC MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. These rules have been tested and determined to function effectively in a lab environment, but we have no way of knowing if they may function differently in a production network. Anyone using these rules are encouraged to test them using a data set representitive of their environment.
rule rc4_stack_key_fallchill
{
meta:
description = "rc4_stack_key"
strings:
$stack_key = { 0d 06 09 2a ?? ?? ?? ?? 86 48 86 f7 ?? ?? ?? ?? 0d 01
01 01 ?? ?? ?? ?? 05 00 03 82 41 8b c9 41 8b d1 49 8b 40 08 48 ff c2 88
4c 02 ff ff c1 81 f9 00 01 00 00 7c eb }
condition:
(uint16(0) == 0x5A4D and uint16(uint32(0x3c)) == 0x4550) and $stack_key
}
rule success_fail_codes_fallchill
{
meta:
description = "success_fail_codes"
strings:
$s0 = { 68 7a 34 12 00 }
$s1 = { ba 7a 34 12 00 }
$f0 = { 68 5c 34 12 00 }
$f1 = { ba 5c 34 12 00 }
condition:
(uint16(0) == 0x5A4D and uint16(uint32(0x3c)) == 0x4550) and (($s0 and $f0) or ($s1 and $f1))
}
___________________________________________________________________________________________
You must be logged in to post a comment.