View
2.962
Download
0
Category
Preview:
Citation preview
Мария Гарнаева, Malware analyst, GReAT, Kaspersky Lab
30.05.2012/ Positive Hack Days
Методы вставки палок в колеса ботмастерам: ботнет Kelihos
Global Research & Analysis Team
О чем будет рассказано
• Типы Sinkhole
• История становления ботнета Kelihos/Hlux
• Реализация, протокол, функционал известных версий Kelihos/Hlux
• Kelihos.Sinkhole.A, Kelihos.Sinkhole.B
• Статистика
• ……………
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.
Sinkhole: определение
Sinkhole: определение
Sinkhole – элемент сети, на который перенаправляется вредоносный или подозрительный трафик, «как в дыру»
DNS Sinkhole type1
DNS Sinkhole type2
DNS Sinkhole example: Shiz
P2P Sinkhole
Case study: Kelihos/Hlux и товарищи
Waledac/Iksmas
Waledac/Iksmas и Kelihos/Hlux
• Похожий функционал
• Одна и та же архитектура
• Использование fast-flux сети на своих ботах
• Использование нескольких этапов преобразования сообщения (сжатие, криптование)
• Одна и та же тематика спам-писем для первоначального распространения
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 - -
Kelihos/Hlux: функционал
• Рассылка спама
• DDoS
• Кража конфигурационный файлов FTP клиентов
• Кража Bitcoin кошелька
• Bitcoin miner
• HTTP, SOCKS5 Proxy, HTTP Server
• Сниффер для перехвата паролей от электронной почты, FTP и HTTP сессий
• Кража адресов электронной почты
Kelihos/Hlux: архитектура
Kelihos/Hlux: Fast-flux сеть
Fall-back channel
Kelihos/Hlux: Fast-flux сеть
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
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
Kelihos/Hlux.A: протокол
Blowfish with KEY1
3DES with KEY2
Blowfish with KEY3
Zlib Unpack
Decrypt Encrypt
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
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
....
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)},
Kelihos/Hlux.A: Sinkhole
Kelihos/Hlux.A: Sinkhole
Start Sinkhole: 26.09.2011Total IP count from 26.09.2011 to 28.09.2011: 49 007
Kelihos/Hlux.A: Geolocation
Top: Thailand, Vietnam, India, Korea
Kelihos/Hlux.A: Securelist.com Poll
Kelihos/Hlux.B
• Начало Kelihos.A Sinkhole: 26 сентября 2011
• Публичное уведомление (блогпост): 28 сентября 2011
• Появление Kelihos.B: 28 сентября 2011
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
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
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
Kelihos/Hlux.B: Sinkhole
Top: Poland, USA, Turkey, Spain
Kelihos/Hlux.B: Sinkhole
Kelihos/Hlux.С
• Начало Kelihos.B Sinkhole: 21 марта 2012
• Публичное уведомление (блогпост): 28 марта 2012
• Появление Kelihos.C:
21 марта 2012
• Распространение замечено через Facebook
• В течение месяца устанавливал на боты ZeroAccess
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
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 стороннего отключения не было
Кто виноват и что делать?
Выводы
• В случае борьбы с P2P ботнетами необязательно привлекать правоохранительные органы
• Sinkhole A, Sinkhole B имел смысл (статистика заражения, вынуждение операторов на трату $$ за pay-per-install)
• С Sinkhole.C уже могут быть проблемы
• Без поимки преступников невозможно препятствовать созданию нового ботнета + всегда будет его окупаемость
Thank You
Мария Гарнаева, Malware analyst, GReAT, Kaspersky Lab
30.05.20112/ Positive Hack Days
Recommended