Inside the Storm: Protocols and Encryption of the Storm Botnet



Similar documents
Storm Worm & Botnet Analysis

Skype characteristics

ZeroAccess. James Wyke. SophosLabs UK

DDoS Vulnerability Analysis of Bittorrent Protocol

ENEE 757 CMSC 818V. Prof. Tudor Dumitraș Assistant Professor, ECE University of Maryland, College Park

Bit Chat: A Peer-to-Peer Instant Messenger

Agenda. Taxonomy of Botnet Threats. Background. Summary. Background. Taxonomy. Trend Micro Inc. Presented by Tushar Ranka

Detecting peer-to-peer botnets

Integrated Approach to Network Security. Lee Klarich Senior Vice President, Product Management March 2013

HIDING THE NETWORK BEHIND THE NETWORK. BOTNET PROXY BUSINESS MODEL Alexandru Maximciuc, Cristina Vatamanu & Razvan Benchea Bitdefender, Romania

CIT 480: Securing Computer Systems. Malware

Chinese Chicken: Multiplatform DDoS botnets

Computer System Management: Hosting Servers, Miscellaneous

Automating Linux Malware Analysis Using Limon Sandbox Monnappa K A monnappa22@gmail.com

Guidance Regarding Skype and Other P2P VoIP Solutions

Operation Liberpy : Keyloggers and information theft in Latin America

Networks and Security Lab. Network Forensics

Comprehensive Understanding of Malicious Overlay Networks

Communication Security for Applications

CS5008: Internet Computing

7.7 DDoS : Unknown Secrets and Botnet Counter-Attack. sionics & kaientt

IP Security. IPSec, PPTP, OpenVPN. Pawel Cieplinski, AkademiaWIFI.pl. MUM Wroclaw

2010 Carnegie Mellon University. Malware and Malicious Traffic

CS5490/6490: Network Security- Lecture Notes - November 9 th 2015

Melde- und Analysestelle Informationssicherung MELANI Torpig/Mebroot Reverse Code Engineering (RCE)

The Value of Physical Memory for Incident Response

Protocols. Packets. What's in an IP packet

This report is a detailed analysis of the dropper and the payload of the HIMAN malware.

Lecture 17 - Network Security

VISA SECURITY ALERT December 2015 KUHOOK POINT OF SALE MALWARE. Summary. Distribution and Installation

JK0 015 CompTIA E2C Security+ (2008 Edition) Exam

Outline. CSc 466/566. Computer Security. 18 : Network Security Introduction. Network Topology. Network Topology. Christian Collberg

Chapter 32 Internet Security

Network Security. Security. Security Services. Crytographic algorithms. privacy authenticity Message integrity. Public key (RSA) Message digest (MD5)

2014 ASE BIGDATA/SOCIALCOM/CYBERSECURITY Conference, Stanford University, May 27-31, 2014 ASE 2014 ISBN:

Alert (TA14-212A) Backoff Point-of-Sale Malware

How to Make the Client IP Address Available to the Back-end Server

Chapter 9. IP Secure

Security vulnerabilities in the Internet and possible solutions

Networking for Caribbean Development

3.2: Transport Layer: SSL/TLS Secure Socket Layer (SSL) Transport Layer Security (TLS) Protocol

Internet Protocol: IP packet headers. vendredi 18 octobre 13

WHY ATTACKER TOOLSETS DO WHAT THEY DO

Security of IPv6 and DNSSEC for penetration testers

Computer Networks - CS132/EECS148 - Spring

Multifaceted Approach to Understanding the Botnet Phenomenon

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

CSE 3482 Introduction to Computer Security. Denial of Service (DoS) Attacks

Comparison of SNMP. Versions 1, 2 and 3

Chapter 7 Transport-Level Security

Einführung in SSL mit Wireshark

UNMASKCONTENT: THE CASE STUDY

SSL/TLS. What Layer? History. SSL vs. IPsec. SSL Architecture. SSL Architecture. IT443 Network Security Administration Instructor: Bo Sheng

What I am going to talk about. NAT IPSec and NAT Proxy, Reverse proxy P2P Firewall

Introduction to Security and PIX Firewall

VIRUS TRACKER CHALLENGES OF RUNNING A LARGE SCALE SINKHOLE OPERATION

The HoneyNet Project Scan Of The Month Scan 27

Parasitics: The Next Generation. Vitaly Zaytsev Abhishek Karnik Joshua Phillips

Bypassing firewalls Another hole in the wall ;-) Présentation pour «La nuit du hack» le 13 Juin 2009

Botnets. Botnets and Spam. Joining the IRC Channel. Command and Control. Tadayoshi Kohno

RID-DoS: Real-time Inter-network Defense Against Denial of Service Attacks. Kathleen M. Moriarty. MIT Lincoln Laboratory.

Protocol Security Where?

G DATA SECURITYLABS CASE STUDY OPERATION TOOHASH HOW TARGETED ATTACKS WORK

Appendix A: Configuring Firewalls for a VPN Server Running Windows Server 2003

Protecting DNS Query Communication against DDoS Attacks

Analysis of Network Packets. C DAC Bangalore Electronics City

21.4 Network Address Translation (NAT) NAT concept

Chapter 17. Transport-Level Security

Seminar Computer Security

Networks: IP and TCP. Internet Protocol

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015

Flow Analysis Versus Packet Analysis. What Should You Choose?

Mobile P2PSIP. Peer-to-Peer SIP Communication in Mobile Communities

Overview. Common Internet Threats. Spear Phishing / Whaling. Phishing Sites. Virus: Pentagon Attack. Viruses & Worms

A Critical Investigation of Botnet

Intro to Firewalls. Summary

Exploiting P2P Systems for DDoS Attacks

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

FL EDI SECURE FTP CONNECTIVITY TROUBLESHOOTING GUIDE. SFTP (Secure File Transfer Protocol)

Monitoring Nginx Server

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

The Domain Name System from a security point of view

How To Stop A Ddos Attack On A Network From Tracing To Source From A Network To A Source Address

Description: Objective: Attending students will learn:

Covert Channels. Some instances of use: Hotels that block specific ports Countries that block some access

Application Note. Onsight Connect Network Requirements v6.3

From Georgia, with Love Win32/Georbot. Is someone trying to spy on Georgians?

THE BCS PROFESSIONAL EXAMINATIONS BCS Level 6 Professional Graduate Diploma in IT. April 2009 EXAMINERS' REPORT. Network Information Systems

Spam and All Things Salty: Spambot v2013

High Performance VPN Solutions Over Satellite Networks

Virtual Private Networks

Transcription:

Inside the Storm: Protocols and Encryption of the Storm Botnet Joe Stewart, GCIH Director of Malware Research, SecureWorks

To be covered in this talk: Quick-and-dirty unpacking of Storm Structure of the Storm botnet Introduction to the Overnet protocol Storm's use of Overnet Encryption algorithms within Storm Storm node activation Storm node communication Notes on enumerating the Storm botnet

Unpacking Storm (the easy way) Why do we need to unpack at all? Didn't you write Truman for behavioral analysis of stuff like this? Storm installation procedure Dropper EXE installs rootkit Rootkit injects userland bot code on load Userland code is simply XORed inside kernel driver binary Extraction: Run in sandnet, grab dropped.sys file Extract, XOR and run (no anti-vm/debugging checks!)

Locating the XORed EXE

Locating the XORed EXE

About Storm's polymorphism AV companies struggle to keep up with Storm variants The packing code changes every 10 minutes (controlled server-side) However, the last-stage payload (XORed code) changes much less frequently (on the order of months these days)

Storm Architecture

Storm Architecture Level 1: Apache C&C Level 2: Nginx 0.5.17 proxy Hides top-level Apache server somewhere in the world Level 3: Nginx 0.5.12 proxies (subcontrollers) Hide master Nginx host, listen in on Overnet traffic Level 4: Public nodes (supernodes) Act as reverse HTTP proxies to controller, fast-flux nameservers Level 5: Private nodes (subnodes) Send spam or DDoS packets

Storm encryption overview RSA is used for encoding controller list packet Other TCP communication: base64 and zlib compression For Overnet, Storm uses two different custom hash permutation algorithms Authentication: 4-byte challenge/response

Storm encryption overview 2 Simple checksum algorithm used throughout Storm code:

Overnet/Edonkey protocol overview Every file on Overnet is searched by its MD4 hash Basically it's a distributed hash table Storm uses Kademlia's DHT implementation Peers maintain a list of other peer hashes If a peer doesn't know the location of what you're searching for, it will give you a list of peers closest to your searched file's hash

Storm P2P search Uses partial Overnet protocol Not for communication, but location information Instead of sharing files, Storm encodes information into the hash itself the current date and a checksum value 32 possible hashes are generated for each day of the year (peers search + or 1 day also) Subcontrollers search for current date hashes Subnodes search for current date -1900 years

Generating a search hash set (part 1)

Generating a search hash set (part 2)

Publishing hashes Supernodes use Overnet publish packets to announce a location hash to peers More encoded data: IP address Storm control TCP port Other peers in the network cache location hashes and answer search queries Date hash in publish packet is state-dependent Unactivated: current_date Unactivated: current_date-1900 years

Decoding a Storm search result hash

Activation of supernodes Subcontrollers search for a published current date hash on the network (unactivated Supernode) Subcontroller sends encrypted activation packet (BoL) to IP/TCP port found in published hash Supernode decodes list of subcontroller hosts it can to relay traffic to it is now considered active Supernode begins to publish current_date-1900 years hash so subnodes can locate them and connect to the control port

Activation packet decryption

Storm's private overnet Overnet is filled with poison peers, nosy botnet researchers :) Storm's answer keep the protocol, but encrypt the packets Creates a new network only Storm nodes can talk to each other Encryption is simple XOR by embedded key Could be used to segment botnets in case Storm author feels like selling turn-key spam system

Encapsulated HTTP relay Supernode listens on port 80 for HTTP requests Supernode relays zlib-compressed traffic to subcontroller via base64-encoded HTTP postdata Request is encapsulated inside Storm command Host IP HTTP header is added Nginx server passes HTTP request to master Apache server Reply from master is base64-encoded zlib-compressed data Reply is decoded and sent back to requestor

HTTP relay flow

Command packet exchange Subnode connects to TCP port of supernode Zlib-compressed protocol relayed to controller via encapsulated HTTP requests as before

Decoded protocol exchange

Enumerating Storm Because overnet peers are constantly broadcasting their presence, one can walk all nodes in the network and get a count of the botnet size Brandon Enright at UCSD has done extensive work in mapping Storm nodes on both the public and private Overnet More information: http://noh.ucsd.edu/~bmenrigh/exposing_storm.ppt

Questions?

Thank You! And a special thanks to GW and Brandon Enright for their insights during the development of this presentation