Методы вставки палок в колеса ботмастерам: ботнет...

40
Мария Гарнаева, Malware analyst, GReAT, Kaspersky Lab 30.05.2012/ Positive Hack Days Методы вставки палок в колеса ботмастерам: ботнет Kelihos

Upload: positive-hack-days

Post on 22-May-2015

2.961 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Мария Гарнаева, Malware analyst, GReAT, Kaspersky Lab

30.05.2012/ Positive Hack Days

Методы вставки палок в колеса ботмастерам: ботнет Kelihos

Page 2: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Global Research & Analysis Team

Page 3: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

О чем будет рассказано

• Типы Sinkhole

• История становления ботнета Kelihos/Hlux

• Реализация, протокол, функционал известных версий Kelihos/Hlux

• Kelihos.Sinkhole.A, Kelihos.Sinkhole.B

• Статистика

• ……………

Page 4: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Centralized vs. P2P

Botmaster

C&C

BotBotBot

Bot

Bot

Bot

BotBot

Bot

Bot

C&C

C&C

Bot

BotBot

Bot

BotBot

Bot

Bot

Bot

Botmaster

VS.

Page 5: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Sinkhole: определение

Page 6: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Sinkhole: определение

Sinkhole – элемент сети, на который перенаправляется вредоносный или подозрительный трафик, «как в дыру»

Page 7: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

DNS Sinkhole type1

Page 8: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

DNS Sinkhole type2

Page 9: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

DNS Sinkhole example: Shiz

Page 10: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

P2P Sinkhole

Page 11: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Case study: Kelihos/Hlux и товарищи

Page 12: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Waledac/Iksmas

Page 13: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Waledac/Iksmas и Kelihos/Hlux

• Похожий функционал

• Одна и та же архитектура

• Использование fast-flux сети на своих ботах

• Использование нескольких этапов преобразования сообщения (сжатие, криптование)

• Одна и та же тематика спам-писем для первоначального распространения

Page 14: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Waledac/Iksmas и Kelihos/Hlux

Start End Disruption

Waledac Dec 2008 Feb 2010 Operation b49(Microsoft, Shadowserver, VeriSign)

Kelihos.A Dec 2010 Sept 2011 Operation b79(Microsoft, KL, SurfNet, Kyrus Tech Inc.)

Kelihos.B Sept 2011 March 2012 KL, CrowdStrike, HoneyNet Project, Dell SecureWorks

Kelihos.C March 2012 - -

Page 15: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux: функционал

• Рассылка спама

• DDoS

• Кража конфигурационный файлов FTP клиентов

• Кража Bitcoin кошелька

• Bitcoin miner

• HTTP, SOCKS5 Proxy, HTTP Server

• Сниффер для перехвата паролей от электронной почты, FTP и HTTP сессий

• Кража адресов электронной почты

Page 16: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux: архитектура

Page 17: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux: Fast-flux сеть

Fall-back channel

Page 18: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux: Fast-flux сеть

Page 19: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: протокол

8 байт 8 байт 4 байт 4 байт

Signature f1(Timestamp) f2(DataSize, Timestamp, Signature)

f3(f2, DataType, TimeStamp, Signature)

4 байт 4 байт 4 байт

f4(Payload_offset, datasize)

0 Random(time)

Packet header

Page 20: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: протокол

Message Type Description

1000 Bootstrap + peer exchange

1001 Push encrypted signed data

1002 Get job task + Encrypted signed tasks + send reports

1003 Ping

1004 Request peers

1005 Get job task + send reports

Page 21: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: протокол

Blowfish with KEY1

3DES with KEY2

Blowfish with KEY3

Zlib Unpack

Decrypt Encrypt

Page 22: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: протокол

{'33': int8_t(1), '48': '', 'll': '', 'si': int32_t(982259673), 'u': {'34': {'r': int8_t(224), 'y': int64_t(10)}, '65': {'b': int32_t(3600), 'h': int64_t(1294351260)}, 'b3': {'65': {'7': [{'d': ['Werken met betalingen', 'Werken voor een grote luchtvaartmaatschappij', 'Manager Klantenservice', 'Manager-beheerder','bewindvoerder', 'beheerder', 'Rekening Beheerder',

Serialized Tree

Types: tree, array of trees, blob, array of blobs, String, primitive

Page 23: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: протокол

1000_request { 1 => m_client_id 3 => m_current_time 4 => m_live_time 5 => m_bootstrap_list y => m_ip s => m_listenning_port v => m_real_target_ip vf => m_external_info_packed jj => m_version }1000_response { 5 => m_success y => m_current_time r => m_live_time h => m_real_initiator_ip f => m_bootstrap_list v => m_external_info_packed }

job_server { 2 => m_ip 6 => m_listening_port }

....

m_clients_list { b => m_ip d => m_listening_port g => m_last_active_time p => m_client_id x => m_live_time }

Router list

Controller list

....

Page 24: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: протокол

'e5f5620ea0d61400': {'dfa5849a875d3000': [{'27ba884f7079f440': int32_t(74853806), '840a175501af5c00': int64_t(0), '9e1851866c2e0000': int64_t(0), 'd76722b4e3469800': int32_t(80), 'f74fb6b49e16a900': {00000000-0000-0000-0000-000000000000}},

'5': {'a': int32_t(1241740), 'j': [{'b': int32_t(59383998), 'd': int32_t(80), 'g': int64_t(0), 'p': {00000000-0000-0000-0000-000000000000}, 'x': int64_t(0)},

Page 25: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: Sinkhole

Page 26: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: Sinkhole

Start Sinkhole: 26.09.2011Total IP count from 26.09.2011 to 28.09.2011: 49 007

Page 27: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: Geolocation

Top: Thailand, Vietnam, India, Korea

Page 28: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.A: Securelist.com Poll

Page 29: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.B

• Начало Kelihos.A Sinkhole: 26 сентября 2011

• Публичное уведомление (блогпост): 28 сентября 2011

• Появление Kelihos.B: 28 сентября 2011

Page 30: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.B: протокол

Blowfish with KEY1

3DES with KEY2

Blowfish with KEY3

Zlib Unpack

Blowfish with new KEY1

Zlib Unpack

3DES with new KEY2

Blowfish with new KEY3

Kelihos.A Kelihos.B

Controllers’ IPRSA Key 1 New RSA Key 1

Update/Exec urls1 RSA Key 1 New RSA Key 1

Update/Exec urls1 RSA Key 2 New RSA Key 2

Page 31: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.B: Sinkhole

m_external_info_packed { d => m_external_data_blob h => m_external_data_signature g => m_external_info_id(uint64) timestamp }

m_external_info_id=0xffffffffffffffff

m_external_info { 2 => []m_job_servers 7 => m_list_id (uint64) timestamp}

m_list_id=0xffffffffffffffff

Page 32: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.B: Sinkhole

Start Sinkhole: 21.03.2012Total GUID count to 27.03.2012: 116 570Total IP count to 27.03.2012: 352 685

Total GUID count to 16.05.2012: 181 579Total IP count to 16.05.2012: 2 042 116

Page 33: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.B: Sinkhole

Top: Poland, USA, Turkey, Spain

Page 34: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.B: Sinkhole

Page 35: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.С

• Начало Kelihos.B Sinkhole: 21 марта 2012

• Публичное уведомление (блогпост): 28 марта 2012

• Появление Kelihos.C:

21 марта 2012

• Распространение замечено через Facebook

• В течение месяца устанавливал на боты ZeroAccess

Page 36: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.C: протокол

Kelihos.B Kelihos.C

Controllers’ IPRSA Key1 New RSA Key1

Update/Exec urls1 RSA Key1 New RSA Key1

Update/Exec urls1 RSA Key2 New RSA Key2

Packet decryption Blowfish Key3 New Blowfish Key3

Packet decryption Blowfish Key4 New Blowfish Key4

Packet decryption 3DES Key5 New 3DES Key5

Page 37: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Kelihos/Hlux.: fast-flux домены

Waledac Kelihos.A Kelihos.B Kelihos.C

.com .com.eu.in

.com

.ru.com

• В Waledac и Kelihos.A fast-flux домены были отключены Microsoft

• В Kelihos.B стороннего отключения не было

Page 38: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Кто виноват и что делать?

Page 39: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Выводы

• В случае борьбы с P2P ботнетами необязательно привлекать правоохранительные органы

• Sinkhole A, Sinkhole B имел смысл (статистика заражения, вынуждение операторов на трату $$ за pay-per-install)

• С Sinkhole.C уже могут быть проблемы

• Без поимки преступников невозможно препятствовать созданию нового ботнета + всегда будет его окупаемость

Page 40: Методы вставки палок  в колеса ботмастерам:  ботнет Kelihos

Thank You

Мария Гарнаева, Malware analyst, GReAT, Kaspersky Lab

30.05.20112/ Positive Hack Days