Thursday, November 14, 2013

Linux Covert Channel Explains Why NSM Matters

I just read a post by Symantec titled Linux Back Door Uses Covert Communication Protocol. It describes a new covert channel on Linux systems. A relevant excerpt follows:

[T]he attackers devised cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own stealthy Linux back door to camouflage itself within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Secure Shell (SSH) and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r server processes. This back door allowed an attacker to perform cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 usual functionality—such as executing remote commands—however, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 back door did not open a network socket or attempt to connect to a command-and-control server (C&C).

Racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 back door code was injected into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SSH process to monitor network traffic and look for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following sequence of characters: colon, exclamation mark, semi-colon, period (“:!;.”).

After seeing this pattern, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 back door would parse cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 traffic and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n extract commands which had been encrypted with Blowfish and Base64 encoded.

:!;.UKJP9NP2PAO4

Figure. Example of injected command

The attacker could cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n make normal connection requests through SSH or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r protocols and simply embed this secret sequence within some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise legitimate traffic to avoid detection. The commands would be executed and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 result sent back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker.

Symantec cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n recommends:

To identify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 presence of this back door on your network, look for traffic that contains cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 “:!;.” string (excluding quotes).

How are you supposed to do that? If you implement NSM operations, perhaps using Security Onion, you could do something like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following:

$ for i in `ls`; do echo $i && ngrep -q -I $i \:\!\;\.; done
If you run that command in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 directory where you store your full content data traffic (i.e., raw pcap files), Ngrep will search each packet for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 string of interest.

You might also want to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -O flag to dump matching packets to a pcap-formatted file.

Results look like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following:

input: snort.log.1384440248
match: :!;.

T 192.168.2.104:62696 -> 31.13.69.160:443 [AP]
  ....H{.n.......\,i3.gb....h%.....Cb'..._..H.....VO..Vr.....K7.N.`;O..@...<.
  ...A..h.8:..Jf.%5d.%.oO.|.=}0.8......z.w................'..)...t,.1^.:...4.
  P..............^.......$...4-..*.-.?^?.0......SI..3`....4i).C~H{.D.?SR..&4.
  ?...T.<...x&~...F.:.d..`.Vg/h.........rN.....a.......yq...q.f..N_m.D.F@C>v.
  .x......x.R.nz...U.B.]&...l{....m ..4.......`.f..Y.u...WQq.(...9........qq.
  }...)..VB.......(........Th.DY~.......J..........(......Q%].....Y....;`4...
  _p|dO..5g.IS~.E".L.w............p.X.WV....G+...M...........C....m9.oU*Qz).l
  .M....]o/.;.t3S...O......S....JB0.......0.#I.e.....Z.?"..n=Hq>....(...$*...
  0...SO./]........'...wa.....q&>..>.:!;.....FJ.)..s|.9x.U.<6......3`...[...K
 --- SNIP ---
This appears to be part of a SSL-encrypted session. Running through some of my lab traffic, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 :!;. string appears several times in encrypted traffic involving Windows computers.

This method doesn't provide prima facie evidence of compromise. For example, you might have to reference personal knowledge or an asset inventory to determine that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system in question is a Windows computer, not a Linux system. You are more likely to see a stream of commands involving this string and follow that trail to identify compromise. You could also cross-reference using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory-based indicators of compromise Symantec includes in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 post.

Regardless, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that you are already collecting as much full content data as your technical, legal, and political processes allow means you have a chance to perform retrospective security analysis, thanks to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 collection of pcap within an NSM operation.

Without taking an NSM approach, you would have to set up new signatures or data collection from this point forward and hope cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 adversary doesn't change his covert channel, now that Symantec has publicized it.

The point of this approach is to help you determine cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scope of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 compromise as efficiently and rapidly as possible, so that you can conduct effective remediation once cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scope is understood.

If you want to know how to set up a NSM operation, check out my Network Security Monitoring 101 class at Black Hat Seattle next month. The class outline is here. You may also like my latest book on NSM. Use code "NSM101" to save 30% off, and get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 digital edition free with a print copy.

Thank you to Symantec for sharing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir IOCs for this covert channel.

2 comments:

Seth Hall said...

Eek, not a great indicator. It hit all over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 place for me. Mostly Hulu traffic but also a bit of SSL.

The problem is that with having a 4 byte indicator you're only watching for a particular 32bit integer to pass over your network for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 indicator to trip. You have a 1 in ~4billion chance of hitting it with every 32 bit int, but streaming a video at 7Mbps is causing nearly 2 million 32bit ints per second so you have a hit pretty quickly (if I did my math right).

Anonymous said...

Emerging threats has an open signature for this:

alert tcp $EXTERNAL_NET any -> any 22 (msg:"ET TROJAN Possible SSH Linux.Fokirtor backchannel command"; flow:established,to_server; content:"|3a 21 3b 2e|"; pcre:"/^(?:[A-Za-z0-9\+\/]{4})*(?:[A-Za-z0-9\+\/]{2}==|[A-Za-z0-9\+\/]{3}=|[A-Za-z0-9\+\/]{4})/R"; reference:url,www.symantec.com/connect/blogs/linux-back-door-uses-covert-communication-protocol; classtype:trojan-activity; sid:2017727; rev:6;)

It looks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 special sequence followed by any length base64.

We put it out late last week. We don't have a POC so we are not positive it works. If anyone has a pcap or POC, we would appreciate a copy.