SlideShare a Scribd company logo
1 of 29
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
…
Формат:                             13%
Mach-O                              Fakealert
Objective-C, REALbasic, Java
Цель:
наблюдение и контроль
APT
(Advanced Persistent Threat)

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

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

Формат:                         13%
Java                            Fakealert
Microsoft Word
Цель:
запуск полезной нагрузки
Other
Включая:
Merin/DevilRobber
                                     15%
                                     RAT
RSPlug/DnsChange
OpinionSpy
Inqtana
                    39%
                    Flashback
Iservice
Codecm
Firesheep                            19%
Jnana                    13%         Other
Lamzev                   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
                                                3. Самозашита
               Method Swizzling
 (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
0x180 Url
                                    /tmp/launchch-%d     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
спасибо

More Related Content

Similar to Mac OS X malware overview

Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Vadim Kruchkov
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
Alexey Kachayev
 
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf Conference
 
Анализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторийАнализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторий
Positive Hack Days
 
Компьютерные вирусы
Компьютерные вирусыКомпьютерные вирусы
Компьютерные вирусы
Boris Kizko
 
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Dmitry Evteev
 

Similar to Mac OS X malware overview (20)

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
 
Введение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийВведение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложений
 
Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...Jenkins в docker in mesos in ...
Jenkins в docker in mesos in ...
 
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...
 
Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)Воюем за ресурсы (ZFConf2011)
Воюем за ресурсы (ZFConf2011)
 
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
ZFConf 2011: Воюем за ресурсы: Повышение производительности Zend Framework пр...
 
Анализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторийАнализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторий
 
Компьютерные вирусы
Компьютерные вирусыКомпьютерные вирусы
Компьютерные вирусы
 
Особенности использования машинного обучения при защите от DDoS-атак
Особенности использования машинного обучения при защите от DDoS-атакОсобенности использования машинного обучения при защите от DDoS-атак
Особенности использования машинного обучения при защите от DDoS-атак
 
Троянские программы.
Троянские программы.Троянские программы.
Троянские программы.
 
Trojans, worms
Trojans, wormsTrojans, worms
Trojans, worms
 
Headless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и ReactHeadless Drupal на примере Drupal 8 и React
Headless Drupal на примере Drupal 8 и React
 
Mykonos лучший способ защитить ваш web сайт и web-приложение от атак
Mykonos лучший способ защитить ваш web сайт и web-приложение от атакMykonos лучший способ защитить ваш web сайт и web-приложение от атак
Mykonos лучший способ защитить ваш web сайт и web-приложение от атак
 
Процесс разработки и тестирования с Docker + gitlab ci
Процесс разработки и тестирования с  Docker + gitlab ciПроцесс разработки и тестирования с  Docker + gitlab ci
Процесс разработки и тестирования с Docker + gitlab ci
 
Методы защиты Java-приложений и их обход
Методы защиты Java-приложений и их обходМетоды защиты Java-приложений и их обход
Методы защиты Java-приложений и их обход
 
Программы-вымогатели: все, что нужно знать об этом виде угроз
Программы-вымогатели: все, что нужно знать об этом виде угрозПрограммы-вымогатели: все, что нужно знать об этом виде угроз
Программы-вымогатели: все, что нужно знать об этом виде угроз
 
Введение в Docker
Введение в DockerВведение в Docker
Введение в Docker
 
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
Современные методы борьбы с ботнетами
Современные методы борьбы с ботнетамиСовременные методы борьбы с ботнетами
Современные методы борьбы с ботнетами
 

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 … Формат: 13% Mach-O Fakealert Objective-C, REALbasic, Java Цель: наблюдение и контроль
  • 6. APT (Advanced Persistent Threat) Включая: Muxler/Revir/Imuler 15% RAT Olyx Lamadai Macontrol 39% Flashback Sabpub DaVinci Формат: 13% Mach-O 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 … Формат: 13% Java Fakealert Microsoft Word Цель: запуск полезной нагрузки
  • 8. Other Включая: Merin/DevilRobber 15% RAT RSPlug/DnsChange OpinionSpy Inqtana 39% Flashback Iservice Codecm Firesheep 19% Jnana 13% Other Lamzev 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 3. Самозашита Method Swizzling (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 0x180 Url /tmp/launchch-%d 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