Botnets CAP6135: Malware and Software Vulnerability Analysis Cliff Zou

advertisement
CAP6135: Malware and Software
Vulnerability Analysis
Botnets
Cliff Zou
Spring 2010
Acknowledgement

This lecture uses some contents from the lecture notes
from:



Dr. Dawn Song: CS161: computer security
Richard Wang – SophosLabs: The Development of Botnets
Randy Marchany - VA Tech IT Security Lab: Botnets
2
Botnets

Collection of compromised hosts





Spread like worms and viruses
Once installed, respond to remote commands
A network of ‘bots’
robot :
an automatic machine that can be
programmed to perform specific tasks.
Also known as ‘zombies’
3

Platform for many attacks





Spam forwarding (70% of all spam?)
Click fraud
Keystroke logging
Distributed denial of service attacks
Serious problem


Top concern of banks, online merchants
Vint Cerf: ¼ of hosts connected to Internet
4
What are botnets used for?
5
IRC (Internet Relay Chat) based Control
6
IRC (Internet Relay Chat) based Control
7
Why IRC?

IRC servers are:





freely available
easy to manage
easy to subvert
Attackers have experience with IRC
IRC bots usually have a way to remotely
upgrade victims with new payloads to
stay ahead of security efforts
8
How bad is the problem?


Symantec identified a 400K node botnet
Netadmin in the Netherlands discovered
1-2M unique IPs associated with Phatbot
infections.


Phatbot harvests MyDoom and Bagel infected
machines.
Researchers in Gtech monitored
thousands of botnets
9
Spreading Problem

Spreading mechanism is a leading cause
of background noise


Port 445, 135, 139, 137 accounted for 80%
of traffic captured by German Honeynet
Project
Other ports




2745
3127
3410
5000
–
–
–
–
bagle backdoor
MyDoom backdoor
Optix trojan backdoor
upnp vulnerability
10
Most commonly used Bot families

Agobot

SDBot

SpyBot

GT Bot
Agobot









Most sophisticated
20,000 lines C/C++ code
IRC based command/control
Large collection of target exploits
Capable of many DoS attack types
Shell encoding/polymorphic obfuscation
Traffic sniffers/key logging
Defend/fortify compromised system
Ability to frustrate dissassembly
SDBot




Simpler than Agobot, 2,000 lines C code
Non-malicious at base
Utilize IRC-based command/control
Easily extended for malicious purposes
 Scanning
 DoS Attacks
 Sniffers
 Information harvesting
 Encryption
SpyBot


<3,000 lines C code
Possibly evolved from SDBot
 Similar command/control engine
 No attempts to hide malicious purposes
GT Bot


Functions based on mIRC scripting
capabilities
HideWindow program hides bot on local
system


Basic rootkit function
Port scanning, DoS attacks, exploits for
RPC and NetBIOS


Variance in codebase size, structure, complexity,
implementation
Convergence in set of functions



Possibility for defense systems effective across bot
families
Bot families extensible
Agobot likely to become dominant
Control

All of the above use IRC for command/control

Disrupt IRC, disable bots
Sniff IRC traffic for commands
Shutdown channels used for Botnets

But a botnet could use its own IRC server





IRC operators play central role in stopping botnet
traffic
Automated traffic identification required
Future botnets may move away from IRC


Move to P2P communication
Traffic fingerprinting still useful for identification
Host control



Fortify system against other malicious attacks
Disable anti-virus software
Harvest sensitive information




PayPal, software keys, etc.
Economic incentives for botnets
Stresses need to patch/protect systems prior to
attack
Stronger protection boundaries required across
applications in OSes
Example Botnet Commands

Connection





Pass hierarchy info


CLIENT: PASS <password>
HOST : (if error, disconnect)
CLIENT: NICK <nick>
HOST : NICKERROR | CONNECTED
BOTINFO <nick> <connected_to> <priority>
BOTQUIT <nick>
19
Example Botnet Commands

IRC Commands






CHANJOIN <tag> <channel>
CHANPART <tag> <channel>
CHANOP <tag> <channel>
CHANKICK <tag> <channel>
CHANBANNED <tag> <channel>
CHANPRIORITY <ircnet> <channel>
<LOW/NORMAL/HIGH>
20
Example Botnet Commands

pstore


bot.execute


Run executable on remote system
bot.open


Display all usernames/passwords stored in
browsers of infected systems
Reads file on remote computer
bot.command

Runs command with system()
21
Example Botnet Commands

http.execute







Download and execute file through http
ftp.execute
ddos.udpflood
ddos.synflod
ddos.phaticmp
redirect.http
redirect.socks
22
Current Botnet Control Architecture
botmaster
C&C
C&C
bot
bot
bot
•More than one C&C server
•Spread all around the world
23
Botnet Monitor: Gatech KarstNet
A lot bots use DynDNS name to find C&C




C&C
C&C
cc1.com
KarstNet informs DNS
provider of cc1.com

attacker
Detect cc1.com by its abnormal DNS
queries
bot
DNS provider maps
cc1.com to Gatech sinkhole
(DNS hijack)
bot
bot
KarstNet sinkhole
All/most bots attempt to
connect the sinkhole
24
The Future Generation of Botnets

Peer-to-Peer C&C

Polymorphism

Anti-honeypot

Rootkit techniques
25
Download