Back in 2009, I started writing a series of articles called "Killing the Beast." These articles were primarily focused on the command and control (CnC) coordinates of popular spam botnets. These articles not only provided readers greater visibility into these spam botnets, but also served as the basis for two botnet takedowns. So far, four articles under this series have been published. After a long time, I have decided to write the fifth one.
For a refresher, older posts can be accessed using the links shown below:
In recent years, we have seen the fall of many spam botnets including Srizbi, Rustock, Mega-D, Pushdo.A, Storm, and Waledac. But one botnet that has kept itself well under the radar is the Grum botnet. When I look into my Botnet Lab logs, I can see traces of Grum's earlier versions recorded around February 2008. That means that, as of today, this botnet is more than four years old. Readers who have been following the evolution of different botnets would agree that keeping a botnet active and alive for this many years is an achievement in itself.
Based on the latest statistics from M86Security, Grum is currently responsible for 17.4% of worldwide spam traffic, making it the world's third most active spam botnet after Cutwail and Lethic. Interestingly, Grum, which was once the world's number one spam botnet around January 2012 (at that time, Grum was responsible for 33.3% of worldwide spam), is already on its decline after losing its position to the Cutwail botnet.
For a successful takedown attempt, we need to clearly identify Grum's command and control coordinates. We also need to find out what would happen if the master CnC servers become unavailable during a takedown attempt. If Grum has a fallback mechanism, then we need to disrupt the secondary CnC structure as well and so on. The most important of all is the geo location of active command and control servers. Historically, it has been relatively easy to shutdown CnC servers located inside of the U.S. as compared to countries like Ukraine, Russia, and China.
Let's discuss Grum's main characteristics one by one:
- Grum has two different types of CnC servers
- CnCs that are responsible for serving configuration files and initial registration. I would refer to them as master CnCs.
- CnCs that serve spam related activities. I would refer to them as secondary CnCs.
- Grum uses hard-code IP addresses instead of domain names.
- Grum is divided into small segments i.e., different malware builds talk to their own assigned set of CnCs.
- There is no fallback mechanism once the main and secondary CnCs are down. That particular segment will be without a master.
Grum does a variety of requests to its secondary CnC servers. All of these requests accomplish different types of spam-related tasks. For instance, a normal status message to a secondary server looks like this:
Based on the data collected during the last 45 days, we have observed five secondary and three master CnCs used by Grum botnet. However, not all of these servers are active as of today, July 6, 2012.
Here are the details:
|IP Address||Type||Geo Locations||Status (as of July 6 2012)|
|18.104.22.168 22.214.171.124||Master Master||PANAMA PANAMA||Active Active|
|126.96.36.199 188.8.131.52||Master Master||PANAMA PANAMA||Suspended or abandoned Suspended or abandoned|
|184.108.40.206 220.127.116.11||Master Master||RUSSIAN FEDERATION RUSSIAN FEDERATION||Active Active|
|18.104.22.168 22.214.171.124||Secondary Secondary||NETHERLANDS NETHERLANDS||Active Active|
|126.96.36.199 188.8.131.52||Secondary Secondary||NETHERLANDS NETHERLANDS||Active Active|
|184.108.40.206 220.127.116.11||Secondary Secondary||NETHERLANDS NETHERLANDS||Suspended or abandoned Suspended or abandoned|
|18.104.22.168 22.214.171.124||Secondary Secondary||NETHERLANDS NETHERLANDS||Suspended or abandoned Suspended or abandoned|
|126.96.36.199 188.8.131.52||Secondary Secondary||NETHERLANDS NETHERLANDS||Suspended or abandoned Suspended or abandoned|
Keeping all of this information in mind, I am getting mixed feelings. I can see a few factors that can go in favor of the Grum botnet. At the same time, Grum has some obvious architecture-level weaknesses.
Grum's weak points are as follows:
- Grum has no fallback mechanism. Once the master CnCs are dead, no new connection can be made to the secondary servers. That said, bots already connected to secondary servers will be unaffected until the infected machine gets rebooted.
- There is just a handful of master IPs hard-coded inside Grum binaries.
- The Grum CnC mechanism depends upon the hard-coded IP addresses so we just have to deal with the data centers hosting these servers.
- The botnet is divided into small segments so even if some CnCs are not taken down, a portion of this botnet can still be dead.
- Since January of this year, we have seen a decline in the number of CnCs being used by this botnet. Grum is relatively weak due to its own reasons and this can go in our favor.
Grum has some strong points as well:
- The CnC servers are located in countries like Russia, Panama, and the Netherlands where authorities historically have been reluctant when dealing with abuse notifications.
- The number of servers are scattered across multiple data centers so one would have to deal with multiple parties.
- The botnet is divided into small segments. This is both a good and a bad sign. The bad part is that, unless all the involved CnCs are dead, this botnet cannot be officially declared as dead.
No doubt global spam volume is at a record low, thanks to the research community’s efforts against spammers. But the research community needs to maintain this pressure until we reach a point where the bad guys start thinking that becoming a spammer is not worth the risk. If I were to rank Grum's takedown difficulty level from one to five where five is the most difficult, I would give Grum a two.
Can we dream of a junk-free mailbox? Guess what—it's just a few takedowns away. In my opinion, taking down the top three spam botnets—Lethic, Cutwail, and Grum—is enough for a rapid and permanent decline in worldwide spam level. We still have to deal with small players, but I am sure that, after seeing the big players being knocked down, they will retreat as well.