Threat Analysis

Secrets of the Comfoo Masters

  • Author: Joe Stewart and Don Jackson, Dell SecureWorks Counter Threat Unit(TM) Threat Intelligence
  • Date: 31 July 2013

Introduction

The details of organized cyber-espionage campaigns are becoming more public. So-called "Advanced Persistent Threat" (APT) attacks are common news as individuals and corporations discover the data on their hard drives is part of a country or competitor's "shopping list." The actors behind these attacks are generally well-equipped in terms of training, finances, and access to resources. The missions of APT threat actors are usually of strategic importance, and the actors exercise virtually unlimited patience in penetrating and persisting inside their specific target's network until they accomplish their goals.

One of the universal aspects of APT attacks is the use of malicious software tools that grant unauthorized backdoor access to computer systems inside the targeted network. Because maintaining a beachhead inside the network is often critical to mission success, threat actors must adapt to various network configurations and changes in defenses by choosing and deploying backdoors with specific functionality and features. It is difficult to be persistent without at least one backdoor. Threat actors often possess and use an arsenal of remote access trojans (RATs) to siphon data from their targets. Persistence requires malware, and the top cyber-espionage actors have hundreds of RATs at their disposal at any given time. Understanding the choice and usage of tools can be the keys to identifying and tracking APTs.

Dell SecureWorks researchers have identified and classified more than 200 distinct malware families used by various APT groups. Some malware is specially configured off-the-shelf software, and some malware is customized source code of an existing RAT. However, most malware families are proprietary, developed by the APT groups as weapons to be deployed against a variety of targets. Accurate identification and classification of this malware by antivirus (AV) companies is sparse. Shared code, the use of common tools, co-infections, and a history of generic or incorrect classification by multiple names make the automated tracking of these tools by AV companies difficult. This inaccuracy can be detrimental when designing defenses based on specific threat indicators. Tracking APTs requires a dedicated malware intelligence effort. One way applied malware intelligence is used to discover new APT trojans is a recursive investigative method: Malware -> Infrastructure Touchpoints -> New Malware -> and so on.

Cyber-espionage actors often cycle through different RATs over a period of years. The Dell SecureWorks Counter Threat Unit™ (CTU) research team has tracked a RAT known as "Comfoo" that has been in continuous development since at least 2006. This RAT has maintained a fairly low profile, even though it was used as part of the RSA breach in 2010, when its code was first analyzed. Antivirus firm Trend Micro briefly mentioned its use in a 2012 paper titled "Luckycat Redux — Inside an APT Campaign with Multiple Targets in India and Japan." However, the disclosure of this trojan and some of its command and control (C2) infrastructure did not discourage its continued use by the threat actors responsible for it.

Comfoo characteristics

To maintain persistence on the system, Comfoo usually replaces the path to the DLL of an existing unused service rather than installing a new service. A new service is more likely to be noticed by system audits. Sometimes Comfoo is delivered with a rootkit that hides Comfoo's files on disk. Additionally, Comfoo starts the existing "ipnat" system service. This action causes remote inbound connections to the infected system to fail, blocking remote maintenance by the network administrator.

Network behavior

Comfoo's network traffic is encrypted and encapsulated in HTTP requests and responses, although some variants skip the encapsulation step. Payloads are encrypted by a 10-byte static XOR key that is hard-coded inside the Comfoo binary. Initial login data from the infected system (MAC address, internal IP address, campaign tag, and version data) is passed in the request URI and is additionally encrypted by a dynamic key, as shown in Figure 1.


Figure 1. Comfoo URL decryption algorithm example. (Source: Dell SecureWorks)

Capabilities

The Comfoo RAT has the following features:

  • System/network information gathering
  • Keystroke logging
  • Screenshots
  • File upload/download/execute
  • Command shell

Comfoo trojan C2 software discovery

By studying the network traffic of infected systems, CTU researchers determined that the server side of the Comfoo malware sends an HTTP server header identifying the server version as "Apache 2.0.50 (Unix)". However, the rest of the HTTP headers do not match the order or the formatting used by this version of Apache. This anomaly suggests that the C2 software was a standalone application instead of a series of scripts running under Apache. Searching for the specific server version string in the CTU malware repository produced a sample of the Comfoo server software, identified by the MD5 hash 2b29f0224b632fdd00d0a30527b795b7.

Analysis

The Comfoo C2 server turns out to be a rendezvous-type traffic relay program. This small binary can be deployed on rented or hacked Windows systems, where it passes traffic between Comfoo victims and the Comfoo master console operated by the threat actors (see Figure 2).


Figure 2. Organization of rendezvous-type traffic relay program. (Source: Dell SecureWorks)

Unlike "dumb" traffic relay servers such as HTran, the Comfoo relay server does not know the location of the master console. Instead, the master console program connects to the relay server on-demand, and any incoming victim data is passed to the master console connection. HTran is sometimes used to add an additional layer of untraceability to the victim connection. Likewise, the administrator can add other layers of proxies or VPN connections to the console connection side of the communication.

The Comfoo relay server listens on up to three TCP ports at a time. The first port acts as a control and typically listens on port 1688. It performs the following tasks:

  • Enables/disables the other ports
  • Accepts new relay port configuration (stored in rlycfg.dll)
  • Notifies master console that a new victim connection is available

The second port is the admin relay port, which typically listens on port 1689. It accepts connections from the master console to send commands to and receive data from victims' systems. The third port is the victim relay port, which listens on a configurable port number, usually port 80 or port 443. This port accepts connections from victims' systems to send data to and receive commands from the Comfoo administrator encapsulated in HTTP requests and responses. If there is no current connection between the victim and the Comfoo administrator, Comfoo logs the victim's connection and sends an idle response to the victim.

DNS resolution tactics

In addition to using rendezvous protocols and HTran forwarding servers, Comfoo operators create and maintain another layer of obfuscation to thwart analysis of their infrastructure. Like many other APT malware families, Comfoo reaches out to its masters based on DNS lookups of certain hostnames. The Comfoo operators commonly use dynamic DNS providers to micromanage the IP addresses to which Comfoo hostnames resolve. While Comfoo sleeps, its operators often set those IP addresses to common or bogus entries. When not being used to actively control Comfoo, the C2 domain name might resolve to the address of a popular search engine or a local loopback (127.0.0.1), private (10.1.1.1), or other special use (0.0.0.0) IP address. Domain names used in Comfoo operations only point to actual control infrastructure during very short time windows. Only during these time windows do alerts from a DNS monitoring tool inform researchers when it might be possible to locate an actual Comfoo server. Figure 3 maps IP addresses used in Comfoo campaigns.


Figure 3. Geolocation plot of all public routable IP addresses resolved from a set of Comfoo C2 hostnames, including bogus distractors. (Source: Dell SecureWorks)

The map in Figure 4 shows only the IP addresses that actually speak Comfoo's protocol, illustrating how DNS tactics such as the distractor IP addresses can mask actual control infrastructure.


Figure 4. Geolocation plot of actual IP addresses used for Comfoo C2 servers. (Source: Dell SecureWorks)

Taking control

The unauthenticated nature of the Comfoo relay server's administrative connections makes it possible to take control of the C2 server and all victims' systems, armed only with knowledge of the protocol, the encryption method, and the static encryption key hard-coded into every Comfoo binary. Researchers can passively monitor victims' logins to the relay servers (sending no commands) by connecting to the correct port on the correct IP address at the right time. This technique is analogous to viewing webserver log data stored in a publicly accessible directory on a C2 server.

To help identify and notify victims of Comfoo-based espionage, CTU researchers set up a passive monitoring system for dozens of active Comfoo C2 relays and have been running this system since January 2012. Connections from the monitoring system are periodic, so not all victim logins are observed. Only the initial connection data is logged, and it is not possible to see data being exfiltrated from victims' networks using this method.

Passive monitoring results

While monitoring Comfoo, CTU researchers detected more than 200 variants of the trojan and 64 different campaign tags used by the threat actors to organize their campaigns. Numerous government entities and private companies based in the United States, Europe, and Asia Pacific had Comfoo-infected computers phoning home to the Comfoo C2 infrastructure (see Figure 5).


Figure 5. Geographic location of Comfoo victim organizations. (Source: Dell SecureWorks)

Much of the traffic emanated from multiple Japanese and Indian government ministries. CTU researchers outlined the Japanese attack campaign in a previous analysis entitled Chasing APT. The following industries were also targeted:

  • Education
  • Energy
  • Mineral exploration
  • News media
  • Semiconductors
  • Steel manufacturing
  • Think tanks
  • Telecommunications
  • Trade organizations
  • Audio and videoconferencing products

The targeting of audio and videoconferencing products is unusual. CTU researchers speculate that the threat actors might be looking for intellectual property relating to audio and videoconferencing. Another possibility is that it could be a clever and stealthy way of listening and watching activities of both commercial and government organizations.

Detecting Comfoo in the enterprise

The presence of Comfoo on a network or computer can be detected in a variety of ways, even if AV engines lack detection for the latest variants. Analysts can search for known Comfoo threat indicators in network traffic, on hard drives, in memory, or in the Windows registry.

Network detection

A typical Comfoo HTTP phone-home request looks like the following:

GET /CWoNaJLBo/VTNeWw11212/12664/12VTNfNmM1aQ/UTWOqVQ132/ HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*Accept-Language: en-enUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1)Host: smtp.dynamiclink.ddns.usConnection: Keep-AliveCache-Control: no-cache

An active C2 server responds with headers similar to the following:

HTTP/1.1 200 OKDate: Mon, 29 Jul 2013 19:26:15 GMTServer: Apache/2.0.50 (Unix)Content-Length: 10Keep-Alive: timeout=15, max=90

Disk/memory/registry detection

The unique string T1Y943jIhk can be found in the Comfoo binary. Offline forensic analysis may be required to search for this string if a rootkit is in play.

These additional strings can be searched but are not guaranteed to be unique to Comfoo:

  • CPUSpeed:%d.%dGHz
  • CPUNameString:%s
  • CPUVendorIdentifier:%s
  • CPUIdentifier:%s
  • No %d CPU Information:
  • SystemCurrent Time:
  • systemBoot Time:
  • IE BHO Name:%s
  • 11. IE BHO Information!
  • 10. IE Version Information!
  • 9. InstallApp Information!
  • 8. NETBIOS Information!
  • 7. Protocol Information!
  • 6. NET Information!
  • 5. Disk Information!
  • 4. Account Information!
  • 3. System Time!
  • 2. CPU Type!
  • Can not get this information, error code is %d.
  • Windows Version Information!

Additionally, Comfoo uses the SetEvent Windows API and registers an event that frequently contains the word "GAME". The following are example Comfoo event names:

  • exclusiveinstance12
  • THIS324NEWGAME
  • MYGAMEHAVESTART
  • MYGAMEHAVEstarted
  • MYGAMEHAVESTARTEd
  • MYGAMEHAVESTARTED
  • thisisanewfirstrun
  • THISISASUPERNEWGAMENOWBEGIN
  • thisisnewtrofor024

To persist without adding new registry entries, Comfoo edits an unused system service configuration, replacing the DLL path and setting it to auto-start on boot. For example, a system service registry key entry changed by Comfoo might resemble the following:

system\CurrentControlSet\Services\Netman\Parameters

  • Original: "ServiceDll" => "%SystemRoot%\System32\netman.dll"
  • Modified: "ServiceDll" => "C:\WINDOWS\system32\tabcteng.dll"

system\CurrentControlSet\Services\Netman

  • Original: "Start" => "3"
  • Modified: "Start" => "2"

Comfoo hijacks service settings for some legitimate service DLLs:

  • netman.dll
  • rasauto.dll
  • sens.dll

The following are DLL names commonly used by Comfoo:

  • cmmos.dll
  • jacpet.dll
  • javadb.dll
  • mszlobm.dll
  • netfram.dll
  • netman.dll
  • ntdapie.dll
  • ntdelu.dll
  • ntobm.dll
  • odbm.dll
  • senss.dll
  • suddec.dll
  • tabcteng.dll
  • vmmreg32.dll
  • wininete.dll

If Comfoo successfully connects to the relay server and receives commands from the master console, then it creates a file named "mstemp.temp" on the infected system to store the output of the last shell command.

Conclusion

Comfoo is the tip of an iceberg. The CTU research team notified many Comfoo victims, either directly or through the computer security incident response teams (CSIRTs) in their respective country. Analysis was also shared with law enforcement. Based on the number of campaign tags observed in malware samples versus those seen in live monitoring by the CTU research team, there are likely hundreds more unidentified victims.

Most businesses will never see a Comfoo infection. However, evaluating whether an organization is a potential target of cyber-espionage is important in any risk evaluation. Chief information security officers should maintain awareness of any reported cyber-espionage threats in their business sector. If one player in an industry is targeted, it is likely all major players (or newcomers with interesting technology) in that industry will be targets at some point.

Organizations compromised by Comfoo (or most types of APT malware) likely face a major forensic and eradication effort. This effort should be followed by a major investment in security measures to keep cyber-espionage actors out of the network. Many in-house security teams do not have the APT expertise to respond to a persistent threat that requires a persistent, active, and layered defense model spanning the entire attack surface of an organization. As a result, the organization might need outside expertise to effectively mitigate these types of threats.

Appendix: Comfoo hostnames for blacklisting consideration

accounts . ddns . info
active . googleupdate . hk
active . nifty-user . com
addr . googleupdate . hk
ahn06 . myfw . us
allroot80 . 4pu . com
apf . googleupdate . hk
aptlkxqm . 25u . com
back . agfire . com
back . winsupdate . com
bbs . dynssl . com
bbs . gladallinone . com
bigdog . winself . com
billgates . itsaol . com
bjllgvtms . effers . com
blizzcon . sexidude . com
blizzcon . sexxxy . biz
buffet80 . bigmoney . biz
buffet80 . itsaol . com
buffet . bbsindex . com
bxpudqx . otzo . com
cart . itsaol . com
catawarm . gicp . net
cell . missingthegirl . com
cmart . iownyour . org
config . microupdata . com
copyright . imwork . net
cpt . csinfos . net
crsky . systemsupdata . com
database . googleupdate . hk
davidcat . yick . lflink . com
daviddog . gicp . net
db . themmdance . com
ddns . yourturbe . org
deminich . gicp . net
deminich . jungleheart . com
demi . yick . lflink . com
dgoil . 3322 . org
dns . google-login . com
do . centr-info . com
dolaamen . xicp . net
domain . centr-info . com
domain . nifty-user . com
download . yourturbe . org
dunya . 8800 . org
et . stoneqwer . com
eudge . 3322 . org
eudge . redirect . hm
european . pass . as
eurowizard . byinter . net
facebook . nifty-japan . com
fact . winsupdate . com
fbook . google-login . com
fish . windwarp . uicp . net
football . deminich . jungleheart . com
football . dynamiclink . ddns . us
foxpart . oicp . net
free3w . lflinkup . org
fr . washbart . com
ftp . alvinton . jetos . com
ftp . lucky . ddns . ms
ftpserver . 3-a . net
ftp . superaround . ns02 . biz
ftp . y3 . 3-a . net
funew . noorno . com
fun . marktie . com
funnygamea . vicp . net
games . jeepworker . com
games . noorno . com
googlemail . servehttp . com
googleupdate2009 . kmip . net
graymmy . longmusic . com
gws01 . microupdata . com
gws12 . microupdata . com
hanoihcm . phdns01 . com
havefuns . rkntils . 10dig . net
henryclub . 25u . com
hfwwpofuyer . 4pu . com
homehost . 3322 . org
https . port25 . biz
hyphen . dyndns . biz
hzg002 . mooo . com
image . google-login . com
image . qpoe . com
info . kembletech . com
info . rumorse . com
info . whandjg . net
insert . 51vip . biz
office-sevice . com
intrusion . post-horse . net
it . buglan . com
it . davyhop . com
it . pudnet . net
johnnees . rkntils . 10dig . net
kapa2000 . 3322 . org
kimomail . 3-a . net
korea001 . tribeman . com
korea1 . mooo . com
kx . davyhop . com
lanama . jkub . com
lcyma . jetos . com
li . noorno . com
livedoor . microupdata . com
login . yahoo-user . com
lovehill . 3d-game . com
lovehill . dyndns-blog . com
lovehill . xxuz . com
lsass . google-login . com
luck201202 . oicp . net
mail911 . nifty-login . com
mail911 . nifty-user . com
mail91 . nifty-login . com
mail91 . nifty-user . com
mail . carsystm . net
mail . lthreebox . com
mail . mariofreegame . net
mail . mgtfcayman . com
mail . mofa . zyns . com
mailsrv . mariofreegame . net
mail . systemsupdata . com
mail . xygong . com
manpower . 3322 . org
marhone . vicp . net
mdb . clawsnare . com
mf . tpznet . com
microsoft . redirect . hm
mil . winsupdate . com
msnsupport . servehttp . com
my . amazingrm . com
my . officebeautyclub . com
myweb . wwwcrazy . com
nevruz . mrface . com
news . mcesign . com
news . rumorse . com
news . win . dnset . com
news . wintersunshine . net
night . mefound . com
nikimen . etowns . net
nslsa . microupdata . com
nsser . systemsupdata . com
nsservic . googleupdate . hk
nunok . ninth . biz
oct . clawsnare . com
offer . eosboxster . com
okkou . 9966 . org
park006 . myfw . us
pazar . vicp . net
pcnews . rr . nu
pcpc . helpngr . net
pcuser . ikwb . com
podding . newsinsky . com
poft . yahoo-user . com
pofuyer . 4pu . com
polly . jwt . ourhobby . com
polly . slyip . com
poly . jwt . ourhobby . com
pop3 . freemail . mrface . com
pop . microupdata . com
pop . peroillion . com
prc . deminich . jungleheart . com
prc . dynamiclink . ddns . us
pure . mypop3 . org
record . yick . lflink . com
rember . clawsnare . com
reserve . trickip . net
rouji . king . proxydns . com
s0ft . noorno . com
sapudy . dns2 . us
server . epac . to
server . nifty-login . com
server . universityexp . com
services . google-config . com
shift . 8866 . org
sinagame . 2288 . org
singes . organiccrap . com
singngh . gicp . net
slll . pbfsnet . com
smell . gotgeek . com
smtp . deminich . jungleheart . com
smtp . travelexpolorer . com
soft . yahoo-user . com
sollysly . servegame . com
sonam . goodnews007 . com
sports . wintersunshine . net
srv911 . yahoo-user . com
srv91 . googleupdate . hk
srv91 . yahoo-user . com
sscdtt . phmail . us
stone . king . proxydns . com
superaround . ns02 . biz
tech . bommow . com
terrys . rr . nu
test1 . dns1 . us
test1 . windwarp . uicp . net
thec . csinfos . net
timeout . myvnc . com
trans . helpngr . net
tttt . sundaynews . us
tw . pudnet . net
uncrisis . findhere . org
update . yourturbe . org
usstream . coyo . eu
venus . gr8domain . biz
vstar-2006 . vicp . net
wakawaka . servehttp . com
webdata . helpngr . net
web . nifty-login . com
web . nifty-user . com
web . yahoo-user . com
wetboy . vicp . hk
winhelp . yahoo-config . com
winserver . 3-a . net
wogawoga . sytes . net
worldwide . servehttp . com
wt . pudnet . net
wwmrus . gicp . net
www12 . sexidude . com
www . a1yac . net
www . avau . info
www . ayfd . info
www . butr . info
www . catholicstory . info
www . config . sendsmtp . com
www . drsc . in
www . firehorse . changeip . name
www . fsdr . info
www . google-login . com
www . greenhawthorn . com
www . grtk . info
www . hgtw . info
www . jeepworker . com
www . kkle . info
www . lconstruct . com
www . linejudge . net
www . microsoft . yourtrap . com
www . missingthegirl . com
www . nifty-japan . com
www . noorno . com
www . post-horse . net
www . search . wwwhost . biz
www . setinfor . proxydns . com
www . smtp2010 . googleupdate . hk
www . solarisc . com
www . superpowereye . com
www . swf . zyns . com
www . test1 . dns1 . us
www . tomdavid . dns04 . com
www . windows . dynamicdns . org . uk
www . wsdv . info
xmahone . 51vip . biz
xmahone . gicp . net
xmahone . suroot . com
yftpost . flnet . org
ynet . nifty-login . com
ynet . nifty-user . com
zp . amazingrm . com
zp . tpznet . com
Back to more Threat Analyses and Advisories

GET THE LATEST SECURITY UPDATES

Thank you for your submission.

Talk with an Expert

Thank you for submitting the form! We have received your request. A Secureworks team member will contact you within one business day.