Zeus trojan. part I
Привет, хабраюзеры!
Как и обещал :) расскажу теперь о самом трояне Zeus.
Опять напомню:
Начну пожалуй с того что расскажем «историю» зевса, на чем написан, ченжлог версий и тп.
ZeuS — программное обеспечение для кражи личных данных пользователей с удаленных систем Windows. На
простом языке «Троян», «Бэкдор», «Вирус». Но автор не любит эти слова, поэтому далее в документации
он будет называть это программное обеспечение «Бот».
Бот разрабатывается на Visual C++ версии 9.0+, при этом не используются дополнительные библиотеки типа msvcrt, ATL, MFC, QT и т.д. Код бота пишется со следующими приоритетами (в порядке уменьшения):
Бот полностью основан на перехвате WinAPI в UserMode (Ring3), это значит, что бот не использует
каких-либо драйверов и обращений в Ring0. Эта особенность дает возможность запускаться боту даже из
Гостевых учетных записей Windows. Плюс это гарантирует повышенную стабильность, и адаптивность
к последующим версиям Windows.
a.b.c.d
a — полное изменение в устройстве бота.
b — крупные изменения, которые вызывают полную или частичную несовместимость с предыдущими версиями.
c — исправления ошибок, доработки, добавление возможностей.
d — номер чистки от антивирусов для текущей версии a.b.c.
для примера актуальная версия на данный момент 1.3.3.х
«Бот» часть:
Это все позволяет сделать билд бота.
Web часть
Что умеет Zeus:
** — Будет еще две статьи. По боту, где будет рассказано что за инжекты, как устроен конфиг и что в нем находится, как происходит процесс билда бота и тп.
И про админку и гейт. Получение логов, поиск по ним, отправка команд ботнету и тд.
Буду благодарен за карму, чтоб перенести в информационную безопасность.
UPD: совсем забыл… Буду рад ответить на ваши вопросы и пожелания про что еще написать из темы малвари :)
чтоб не отвечать на одни и теже комментарии по 100 раз.
Про выдержки из ридми и ченжлоги....
Я написал в статье что часть информации взята из ридми… полное описание от автора троя думаю лучше чем обрывки разной инфы.
Про «плохой, плохой юзер!»....
Статья написана не с целью рекламы, не с целью предложения «скачай и пользуйся», не с целью показать «вот смотрите какая штука крутая».
Как и обещал :) расскажу теперь о самом трояне Zeus.
Опять напомню:
Вся информация в этой статье предоставлена чисто для ознакомления и рассчитана прежде всего указать на ошибки в системах безопасности.
Zeus… how it was...
Начну пожалуй с того что расскажем «историю» зевса, на чем написан, ченжлог версий и тп.
в статье присутствуют выдержки из ридми к трояну
ZeuS — программное обеспечение для кражи личных данных пользователей с удаленных систем Windows. На
простом языке «Троян», «Бэкдор», «Вирус». Но автор не любит эти слова, поэтому далее в документации
он будет называть это программное обеспечение «Бот».
Бот разрабатывается на Visual C++ версии 9.0+, при этом не используются дополнительные библиотеки типа msvcrt, ATL, MFC, QT и т.д. Код бота пишется со следующими приоритетами (в порядке уменьшения):
- стабильность (старательно проверяются все результаты вызова функций и т.д.),
- размер (избегаются повторы алгоритмов, повторы вызовов функций и т.д.),
- скорость (нет инструкций типа while(1){..}, for(int i = 0; i < strlen(str); i++){..}).
Бот полностью основан на перехвате WinAPI в UserMode (Ring3), это значит, что бот не использует
каких-либо драйверов и обращений в Ring0. Эта особенность дает возможность запускаться боту даже из
Гостевых учетных записей Windows. Плюс это гарантирует повышенную стабильность, и адаптивность
к последующим версиям Windows.
Версии
a.b.c.d
a — полное изменение в устройстве бота.
b — крупные изменения, которые вызывают полную или частичную несовместимость с предыдущими версиями.
c — исправления ошибок, доработки, добавление возможностей.
d — номер чистки от антивирусов для текущей версии a.b.c.
для примера актуальная версия на данный момент 1.3.3.х
История версий
Условные метки:
[*] — изменение.
[-] — исправление.
[+] — добавление.
[Версия 1.2.0.0, 20.12.2008]
Общее:
[*] Более не будет документации в chm-файле, все будет писаться в этот файл.
[+] Теперь бот способен получать команды не только при отправки статуса, но и при отправки
файлов/логов.
[+] Локальные данные, запросы к серверу, и файл конфигурации шифруются RC4 с ключом на
ваш выбор.
[*] Полностью обновлен протокол бот <-> сервер. Возможно, понизится нагрузка на сервер.
Бот:
[-] Устранена ошибка, блокирующая бота на лимитированных ученых записях Windows.
[*] Написан новый PE-криптор, теперь PE-файл получается очень аккуратным и максимально
имитирует результат работы MS Linker 9.0.
[*] Обновлен процесс сборки бота в билдере.
[*] Оптимизировано сжатие файла конфигурации.
[*] Новый формат бинарного файла конфигурации.
[*] Переписан процесс сборки бинарного файла конфигурации.
[*] Socks и LC теперь работают на одном порту.
Панель управления:
[*] Статус панели управления переведен в BETA.
[*] Изменены все таблицы MySQL.
[*] Начет постепенный перевод Панели Управления на UTF-8 (возможны временные проблемы с
отображением символов).
[*] Обновлена геобаза.
[Версия 1.2.1.0, 30.12.2008]
Бот:
[*] BOFA Answers теперь отсылается как BLT_GRABBED_HTTP (было BLT_HTTPS_REQUEST).
[-] Мелкая ошибка при отправке отчетов.
[-] Размер отчета не мог превышать ~550 символов.
[-] Ошибка существующая с начала существования бота: низкий таймаут для отсылки POST-запросов,
в результате чего блокировалась отсылка длинных (более ~1 Мб) отчетов на медленных
соединениях (не стабильных), как теоретическое последствие — бот вообще переставал слать
отчеты.
Общее:
[+] В случаи записи отчета типа BLT_HTTP_REQUEST и BLT_HTTPS_REQUEST в поле SBCID_PATH_SOURCE
(в таблице будет path_source) добавляется путь URL.
Панель управления:
[*] Обновлен redir.php.
[Версия 1.2.2.0, 11.03.2009]
Бот:
[-] Устранена ошибка в HTTP-инжектах существующая на протяжении ВСЕХ версий бота. При
использовании в программе асинхронного режима wininet.dll, был упущен момент
синхронизации потоков создаваемых wininet.dll, в результате чего, при некоторых условиях
происходило исключение.
[+] При срабатывании HTTP-инжекта, теперь также изменяются файлы в локальном кэше.
Отсутствие этой доработки, позволяло не всегда срабатывать HTTP-инжектам.
[+] Уменьшен размер PE-файла.
[Версия 1.2.3.0, 28.03.2009]
Бот:
[-] Мелкие ошибки в крипторе, спасибо доблестным говноаналитикам из Avira.
Общее:
[*] Изменен протокол раздачи команд ботам.
Панель управления:
[*] Полностью переписана панель управления.
[*] Дизайн переписан на XHTML 1.0 Strict (под IE не работает).
[*] Бот теперь опять способен получать команды только при отправке отчета об онлайн-статусе
(слишком высокая нагрузка).
[*] Обновлена геобаза.
[Версия 1.2.4.0, 02.04.2009]
Бот:
[+] При работе с HTTP, заголовок User-Agent теперь читается от Internet Explorer, а не
является константой как раньше. Теоретически из-за постоянного User-Agent'а, запросы
могли блокироваться провайдерами, или попадать под подозрение.
Панель управления:
[-] Исправлена ошибка отображения отчетов, содержащих символы 0-31 и 127-159.
[Версия 1.2.5.0, 27.05.2009]
Бот:
[+] Незначительная оптимизация кода.
Панель управления:
[-] Устранена уязвимость в gate.php, позволяющая записывать файлы в родительские директории.
[+] Добавлены запрещенные расширения в массив $bad_exts.
[+] В модуле botnet_bots, при изменение фильтра сохраняется текущая сортировка.
[Версия 1.2.6.0, 04.06.2009]
Бот:
[+] Перехват библиотеки nspr4.dll.
[Версия 1.2.7.0, 22.06.2009]
Общее:
[+] В отчеты добавляется имя пользователя, которому принадлежит процесс.
Бот:
[+] Отключение фишинг-фильтра в IE7, IE8.
[Версия 1.2.8.0, 05.10.2009]
Bot:
[+] С добавлением функции TCP_NODELAY, увеличена скорость Socks и других встроенных проктоколов. Будет особенно заметно для протоколов использующих маленькие TCP пакеты.
[+] При соединении с сервером через Wininet не добавляется в HTTP-header «Connection: close», где это нужно. Потому что Wininet может создать ненужную нагрузку сервера (вероятней всего).
Панель управления:
[*] Обновлена геобаза.
[Версия 1.2.9.0, 10.10.2009]
Bot:
[+] Добавлен граббер паролей для FTP клиентов: FlashFXP, Total Commander, WS_FTP, FileZilla, FAR Manager, WinSCP, FTP Commander, Core FTP, SmartFTP.
[Версия 1.2.10.0, 17.10.2009]
Panel:
[+] Полная интеграция «Jabber notifier».
Версия 1.3.0.0, 22.11.2009]
Бот:
[*] Перехват WinAPI методом сплайсинга.
[+] Полноценная работа в Windows Vista/7.
[*] Временно отключено скрытие файлов бота.
[*] Убран TAN-граббер.
[-] Исправлена ошибка дублирования отчетов в nspr4.dll.
[*] Сграбленные сертификаты теперь пишутся с именем grabbed_dd_mm_yyyy.pfx, и паролем в UTF-8.
[*] Команда getcerts, получается сертификаты только из MY-хранилища, а не из всех. Т.к.
получение сертификатов из всех хранилищ не имеет смысла.
[*] Изменено поведение граббера сертификатов.
[*] Переписан FTP/POP3 снифер, улучшено обнаружение логинов, сделана поддержка IPv6-адресов.
[*] Переписан перехват ввода клавиатуры, исправлен метод работы с интернациональными символами.
[-] Исправлена ошибка в HTTP-фейках, которая могла привести к deadlock.
[*] Изменен способ генерации BotID.
[Версия 1.3.1.0, 29.11.2009]
Бот:
[-] Устранена серьезная ошибка, которая могла возникнуть при работе с файлом конфигурации.
[Версия 1.3.2.0, 11.01.2010]
Бот:
[-] Устранена серьезная ошибка, которая могла привести к deadlock в любом процессе
(актуально только для билдов с поддержкой nspr4.dll).
Комплектация
«Бот» часть:
- Билдер
- Конфиг**
- Инжекты**
- С версии 1.3.х.х ключ лицензии
Это все позволяет сделать билд бота.
Web часть
- Админ панель
- Гейт
- Требования к веб серверу:
Apache 2.2 и старше или IIS 6.0 и страше
PHP 5.2.6 и старше
MySQL 5.1.30 и старше
Run It!
Что умеет Zeus:
- Снифер трафика для протокола TCP
Перехват POP3 логинов на любом порту.
Перехват FTP логинов на любом порту.
Перехват любых данных из трафика (под заказ).
- Перехват HTTP/HTTPS запросов для wininet.dll, т.е. всех программ работающих с этой
библиотекой. Сюда входят Internet Explorer (любая версия), Maxton, и т.д.
Система инжектов ** - Socks4/4a/5
- Бэкконект для любого сервиса(RDP, Socks, FTP, и.т.д.) на зараженной машине. Вы можете
получить доступ к компьютеру, который находится за NAT, или, например, к которому
запрещены подключения из интернета. - Получение скриншота экрана в реальном времени.
- «Скармливает» пользователям зараженного ПК страницы фейков
- Поиск и удаление или закачка файлов на удаленный сервер
- Грабит куки и данные сохраненных форм
- Граббер сертификатов и sol
- Может меняться функционал с выходом новых версий (см. ченжлог)
Продолжение следует.
** — Будет еще две статьи. По боту, где будет рассказано что за инжекты, как устроен конфиг и что в нем находится, как происходит процесс билда бота и тп.
И про админку и гейт. Получение логов, поиск по ним, отправка команд ботнету и тд.
Буду благодарен за карму, чтоб перенести в информационную безопасность.
UPD: совсем забыл… Буду рад ответить на ваши вопросы и пожелания про что еще написать из темы малвари :)
про крики в комментариях
чтоб не отвечать на одни и теже комментарии по 100 раз.
Про выдержки из ридми и ченжлоги....
Я написал в статье что часть информации взята из ридми… полное описание от автора троя думаю лучше чем обрывки разной инфы.
Про «плохой, плохой юзер!»....
Статья написана не с целью рекламы, не с целью предложения «скачай и пользуйся», не с целью показать «вот смотрите какая штука крутая».



комментарии (78)