unix and linux operating commands

Another "Cat and Mouse fight" or... Tracking down a botnet

 
Thread Tools Search this Thread
# 1  
Old 10-30-2009
Another "Cat and Mouse fight" or... Tracking down a botnet

A while ago the company I work for was hired for a Telecom company to secure their data centers.

During the initial gap analysis phase, the backbone was hit by a DDos attack and of course we were assigned to try to help.

The interesting about this case is that we act on a "happening now" scenario instead of the regular "post mortem" case.

The Evidence: This is a botnet!!!

Just to baseline everyone

Whats is a botnet?

From Wikipedia:
Botnet is a jargon term for a collection of software robots, or bots, that run autonomously and automatically. The term is often associated with malicious software but it can also refer to the network of computers using distributed computing software. While botnets are often named after their malicious software name, there are typically multiple botnets in operation using the same malicious software families, but operated by different criminal entities.

While the term "botnet" can be used to refer to any group of bots, such as IRC bots, this word is generally used to refer to a collection of compromised computers (called Zombie computers) running software, usually installed via drive-by downloads exploiting Web browser vulnerabilities, worms, Trojan horses, or backdoors, under a common command-and-control infrastructure.

Continuing...

We deployed a traffic analysis tool to Monitor all traffic at one BRAS aggregation; we could see hundreds of requests going to  http://www.cvsr.ru .

We checked the DNS server responses (A records) and we saw several different DNS servers answering the requests. We checked some of those and we realized they were all non updated BIND servers and all of them were poisoned.

Checking the website www.cvsr.ru using a Virtual Machine, we verified that a javascript redirects the user to  http://kodj.ru/cgi-bin/index.cgi?add were finally a client-side exploit was executed.

Then, we saw that the now zombie machine started to send UDP traffic (port 3074) to different servers (round robin) with a specific payload and finally when a response was issued the infected machine started to send http traffic to a website in Europe. We saw (I repeat) thousands of requests of this type on the backbone only at one aggregation point so if we estrapolate this data and imagine a entire backbone with millions of subscribers connect...How may of them were zombies? And in the entire world....?

"This tought really scared me..."

Conclusion

With this information we could be able to deploy apropriated ACL's in their distribution/border routers to block the UDP traffic and also to block the botnet master servers network. This action reduced a lot the amount of malicious traffic on the backbone.

Finally we coded a signature to be deployed on their IPS to block the server-zombie payload to at least avoid this botnet to continue spreading itself on this network.

We also recomended the purchase of a specific Denial of Service Detection/Mitigation solution that can help a lot administrators in this tough task.

I'll talk further about DDOS Mitigation Devices on a future post

Best Regards




 

Image
Image

More...
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

2. Shell Programming and Scripting

Bash script: "mkdir -p" doesn't work with var(cat x)

Hello, :) I've an issue with the creation of a directory, All work without it :mad: So, below, my scripts with the debug output : #!/bin/bash # PATHS HOME_BACKUP="/home/backup" HOME_SCRIPT="/home/scripts/test/backup_server" TARGET="/var/www" # DATE DATE_Ymd=$(date +%Y-%m-%d) #... (1 Reply)
Discussion started by: Arnaudh78
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Shell Programming and Scripting

Cat Command on File not printing "Blank" Lines?

Hello All, I have a bash script and in it at some point I call an Expect Script that does some stuff and saves its output in a ".txt" file. Example "/path/to/my/file/Expect_Output.txt" file: notice the 2nd line is empty in the file... Data for Host-1 (192.168.1.110) Checking the... (2 Replies)
Discussion started by: mrm5102
2 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

7. Shell Programming and Scripting

cat/delete per line any word "192.168.1.12"

Hi All Can u help me.. My problem is delete word per line sample: cat /tmp/file.txt monitor 192.168.1.11 Copying files in current directory 1 monitor 192.168.1.1 Copying files in current directory 2 monitor 192.168.1.12 Copying files in current directory 3 monitor 192.168.1.14... (1 Reply)
Discussion started by: carnegiex
1 Replies

8. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question