Информационная безопасность

индекс
289,89

Zeus trojan. part I

Привет, хабраюзеры!
Как и обещал :) расскажу теперь о самом трояне Zeus.

Опять напомню:
Вся информация в этой статье предоставлена чисто для ознакомления и рассчитана прежде всего указать на ошибки в системах безопасности.


Zeus… how it was...


Начну пожалуй с того что расскажем «историю» зевса, на чем написан, ченжлог версий и тп.

в статье присутствуют выдержки из ридми к трояну


ZeuS — программное обеспечение для кражи личных данных пользователей с удаленных систем Windows. На
простом языке «Троян», «Бэкдор», «Вирус». Но автор не любит эти слова, поэтому далее в документации
он будет называть это программное обеспечение «Бот».

Бот разрабатывается на Visual C++ версии 9.0+, при этом не используются дополнительные библиотеки типа msvcrt, ATL, MFC, QT и т.д. Код бота пишется со следующими приоритетами (в порядке уменьшения):
  1. стабильность (старательно проверяются все результаты вызова функций и т.д.),
  2. размер (избегаются повторы алгоритмов, повторы вызовов функций и т.д.),
  3. скорость (нет инструкций типа 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. Билдер
  2. Конфиг**
  3. Инжекты**
  4. С версии 1.3.х.х ключ лицензии

Это все позволяет сделать билд бота.

Web часть
  1. Админ панель
  2. Гейт
  3. Требования к веб серверу:
    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 раз.

Про выдержки из ридми и ченжлоги....

Я написал в статье что часть информации взята из ридми… полное описание от автора троя думаю лучше чем обрывки разной инфы.

Про «плохой, плохой юзер!»....

Статья написана не с целью рекламы, не с целью предложения «скачай и пользуйся», не с целью показать «вот смотрите какая штука крутая».
+36
18 марта 2010, 00:52
34

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

0
posthuman #
Можешь переносить. Надеюсь в следующей части будет больше кода/алгоритма.
0
Bzzz #
перенес… спасибо за карму )

В сл. части будет про процесс билда троя и реверс… картинки и код будет!
0
posthuman #
Ну тогда остается ждать.
–7
kibizoidus #
Что-то уж больно похоже на «Мужики!!! Пиво и шлюхи будут!»
0
vilgeforce #
Если раскопали нафига там ему mersenne twister — скажите плиз :-) Мне было лень и задача другая совершенно была.
+6
LMaster #
Реквестую исследование ядерного руткита.
+12
lashtal #
Не могу найти ссылку на дистрибутив…
+11
ozware #
видимо на ifolder'e лежал)))
НЛО прилетело и опубликовало эту надпись здесь
+2
kibizoidus #
А вам зачем?
НЛО прилетело и опубликовало эту надпись здесь
0
CRL #
>2. Антивирусы ловят?

Крипт решает эту проблему.
0
DarkTwin #
К стати про упаковщик.
www.xakep.ru/post/51472/default.asp
Последние два предложения.
0
Wott #
Хм, я так понимаю что куки и формы он грабит только из ИЕ?
сниф логинов не работает при SSL. Он не умеет сканить ftp клиенты ? Вижу что умеет сканить данные некторых ftp клиентов.
Как он ловиться антивирусами и имеет ли всякие примочки против них?
0
pgrishin #
>сниф логинов не работает при SSL.
+3
pgrishin #
я бы не был столь категоричен
–2
Bzzz #
SSL снифает и инжектит.
0
Wott #
[сарказм]Ну то есть если у меня виндовозная тачка под игры заражена Зевсом, то весь ssh/sftp траффик с соседнего линуксового рабочего сервера будет прослушан и пароли покрадены? [/сарказм]

Я так понимаю что вирус успешно хукает dll-ки. И снимает все что работает через них. По хорошему нужен список хукованных dll и по возможности какие клиенты их используют.
0
pgrishin #
ssl неустойчив к man in middle. зевсу, конечно, проще хукать dll, но можно и без этого.
–7
Grawl #
Первая же мысль после прочтения статьи: «да вы охуели?»
Имхо, описывать этот троян надо было с вражеским к нему отношением. Используя слова «супостат» и т.д.
А информация полезная, я бы плюсанул.
+24
andoriyu #
Ага, такое ощущение, что читаю статью из блога «Я пиарюсь» :)
+1
arxont #
С позиции пользователя и сисадминам с вами согласен. С позиции программера, малварь очень интересная. Да и для того, чтобы противостоять надо знать принципы на которых работает вирусня ИМХО
+4
Grawl #
Да я не против информации. Я же написал: информация полезная.
Но в какой манере подано!
«Предлагаем Вашему вниманию новейшую гено-модифицирующую разработку Himera X3! Попадает в тело любого млекопитающего воздушно-капельным путём. Попадая в тело, начинает активно мутировать и замещать собой особо важные клетки организма. Всего через 30 секунд активности Himera X3 в теле возникают неповторимые мутации; могут перестать работать органы слуха, зрения; может частично отказать нервная система – отупение, потеря осязания, потеря координация. Особенность данной разработки в том, что сознание ни в коем случае не трогается – человек или животное, впитавшее в себя Himera X3, находится в здравом рассудке и трезвой памяти, и понимает, что с ним происходит. Спешите приобрести! Подшутите над соседом или родными, ведь хаотичные мутации – это так весело!»
–19
egorinsk #
Да ладно, нефиг юзать винду с админского акка и пользваоться антивирусами. И вообще, нефиг юзать незащищенную нормально систему, которую пишут индусы и в которой куса кода 10-летней давности. в которой постоянно находят переполнения буфера (ага, про которые 30 лет уже все в курсе).

Так что зараженные  —сами себе Буратины.
0
baxtep2 #
нуну учитывая что новый билд невозможно отловить по сигнатуре, я посмотрю на вас когда словите эту заразу.
Сам давно уже ни чего не ловил. Сижу на НАТ с Антивирусом и через правильный браузер. И в последнее время все чаще с МАК ОС.
+1
Wott #
А флеш и жаба есть? ;)
0
baxtep2 #
не понял вопроса
0
Wott #
К перечислению
baxtep2 : Сижу на НАТ с Антивирусом и через правильный браузер.
последнее время нужно добавлять «не пользуюсь флешем и жабой совсем.»
0
moderator #
и PDF вьюерами, ага
+1
int80h #
я посмотрю на вас когда словите эту заразу.

Лучше посмотреть на этого человека, когда он вернувшись домой обнаружит что его замки были взломаны за несколько минут профессиональным домушником, и тут даже не помогла охранная система на которую он понадеялся. А потом нужно будет прочитать ему лекцию про то, что нефига пользоваться замками дешевле чем оклад за полгода и не сейфовыми дверями, ну а помимо сигнализации внутри квартиры нужно было бы еще оставить пару живых охранников.
0
egorinsk #
> Лучше посмотреть на этого человека, когда он вернувшись домой обнаружит что его замки были взломаны за несколько минут профессиональным домушником

Интересная аналогия. Обычные замки профессиональным домушником как раз за несколько минут и взламываются. Но если бы они взламывались с такой же частотой, как люди ловят вирусы, мне кажется, люди бы начали что-то предпринимать.

Но, в отличие от замков, с компьютерами все проще, разработка ОС приносит огромные деньги, на которые вполне можно нанять лучших специалистов по архитектуре и сделать ПО изначально безопасным. Нужно просто это иметь в уме при проектировании, а то та же винда делалась для использвоания в корпоративных сетях, отгороженная от сети за надежным Unix-шлюзом и работающая под присмотром админа и строгих политик.

Естественно у обычного домашнего пользвоателя нет ни шлюза, ни админа. Вот цена, которой мы расплачиваемся за то, что вместо разработки отдельного продукта, МС просто пририсовала «Home» к логотипу.

Кроме того, такие вещи, как например, использование только пароля для доступа к интернет-банку, я считаю, недопустимы. Пароли — это бесплатный, но слишком ненадежный способ защиты.

> А потом нужно будет прочитать ему лекцию про то, что нефига пользоваться замками дешевле чем оклад за полгода и не сейфовыми дверями,

Ну бриллианты и крупные суммы денег дома хранить небезопасно, да, это так. Не стоит также наверно покупать очень дорогие вещи, которые жалко будет потерять.
0
AmirL #
Правильный браузер? А правильный — это какой? ))
Сижу под хромом с антивирусом, словил локер :(. Часов через 5 антивирь про него знал. До этого не видел в упор.
+1
egorinsk #
А так вам (нам) всем и надо. Я всегда говорил, что ориентироваться при разработке ПО на низкоквалифицированную рабочую силу неправильно, что нужно грамотно подходить к вопросам безопасности, что нельзя использовать кучу кода 10-летней давности, да и наверно не только я, но большие деньги затмили глаза майкрософту, вот они 10 лет подряд и выпускали кое-как слепленные ОС. А мы все сейчас за это расплачиваемся.

Как может быть ошибка переполнения буфера, о которой все знают уже 30 лет, в современной программе? за что вообще платят деньги программистам? Кого они туда берут? Если у разработчика есть хоть капля совести, он такого не допустит. Только те, кто работает, как индус, написал, получил деньги и свалил могут такое допускать.

И Адоб с флешем кстати из той же серии, у них многое ПО некачественно, по моим субъективным ощущениям, пишется, такое ощущение, что индусы там работают.

У меня есть тайная надежда, что когда-нибудь индустрия вирусописательства настолько расширит масштабы, что у большиснтва людей компьютеры окажутся зараженными, и тогда, может, мы начнем пользоваться нормально сделанным ПО. А индусы пойдут работать на плантации.

И то, что люди блин! на Хабре пишут, мол, осторожно, по ссылке вирус — ну как можно такие браузер делать. через которые можно установить вирус? С какой такой стати я не могу открывать любые сайты без опаски?
+1
Chumicheff #
Вы видимо плохо знаете технологию и принцип работы windows-руткита…
0
Lamo #
Толстый-жирный.жпг
+1
pgrishin #
Публиковать информацию — это обычная практика при противодействии проблемы.
–2
Grawl #
Вы не читаете мои сообщения. Вы видите первую фразу и кладёте минус к минусу, не поняв, о чём был комментарий – «ну а чо, если 4 минуса стоит, то я пятый поставлю».
А я написал о подаче текста.
–2
pgrishin #
Не минусовал. Комментарий у вас написан так, что я понимаю за что его минусуют.
0
upir #
Прочитал текст и не нашел ни капли полезности для себя как от этого защититься, только больше ужаса нагнало.
–1
charon #
мне тоже так показалось. И я бы назвал не «бот», а «зловред».
+5
gorl #
ты еще напиши где купить и сколько стоит.
слов нет
–5
kalpsik #
на эти вопросы гугл вам ответит=)
кстати в паблике есть несколько версий, и они даже чистые.
+1
skobkin #
Наверное, вами и протроянен билдер :)
+2
DarkTwin #
«Кто предупрежден, тот вооружен»
Если знаете что может троян, то Вы можете и противодействовать ему.
+3
Bublik #
А зачем здесь приведен кусок из readme и changelog, без какого-либо добавления со стороны автора?
Т.е. тупой copy-paste, который на Хабре запрещен, кстати.
–3
Oligarh #
copy-paste не запрещен, а не приветствуется.
0
Bublik #
В правилах он как-раз запрещен.
+2
ahtox74 #
А каким образом иструкция типа while(1){..} может повлиять на скорость?
+18
MegafonUral #
дожили, реклама трояна на хабре…
–2
4udak #
И не говорите. Причем описано с таким доскональным знанием предмета что все сомнения насчет авторства «бота» отпадают моментально )))
+1
Bublik #
Нет, просто автор считает, что сейчас леминги могут ломануться к нему с вопросом «Хочу купить. Сколько стоит?»
А все, что написано выше — копипаст из readme и changelog
0
kalpsik #
досконального знания предмета я не наблюдаю…
почитайте тот же ачат, не менее грамотно пишут.
+4
Joka #
> Начну пожалуй с того что расскажем «историю» зевса, на чем написал, ченжлог версий и тп.
Простите, это опечатка в слове «написал» или зевса действительно Вы написали?

–1
4udak #
Да какая опечатка… Я конечно полагаю что возможности реверс-инжиниринга неограничены, но чтоб настолько… ))
НЛО прилетело и опубликовало эту надпись здесь
+1
timoor #
если в виде авторана — то вряд-ли это зевс, зевса в основном через инжекты пускают, с зараженных сайтов, специфичный довольно софт, и очень интересный =)
–1
Isis #
Хабр не торт, я хз
+6
kalpsik #
ИМХО, пост о5 ни о чем. копипаст чендж-лога, общее описание функционала… на секлабе новости гораздо интереснее читать…
+4
4udak #
Согласен. Вот если бы кто-то взял интервью у автора трояна и порасспрашивал о перспективах развития современного трояностроения, было бы на много познавательнее ))
0
nZeus #
Прикольное имя у вируса :)
Автор молдец ;)
+1
vvk #
Это уже не вирус, это бизнес.
+2
kalpsik #
сейчас любой хороший malware — это бизнес.
0
akochurov #
Ваша статья напомнила мне книгу Евгения Касперского о вирусах, которая попала мне в руки в 1995 году и произвела тогда сильное впечатление. Спасибо за статью, было интересно
0
charon #
лучше бы написали статью и противодействии трояну со стороны специальной организации, созданной специально для борьбы именно с этим трояном.
0
Bzzz #
это в сл. статье будет реверсинг и методы борьбы с зловредом
–1
navion #
Похоже, у Пинча появился качественный приемник, к сожалению…
0
Quasar_ru #
А мне интересно, статистика по браузерам и софту, для текущей версии. Каким браузерам оно может подсунуть фэйк, у каких спереть данные форм ну и т.п.?
0
Ronin #
«На простом языке «Троян», «Бэкдор», «Вирус».» — вообще-то это три разные вещи…
0
M4estro #
Ты бы еще ссылку на билдер дал и руководство как писать инжекты выложил. Может после этого в мире мошенников стало бы меньше )
+5
infi #
Я против подобных статей, нужно было начинать сразу с разбора и анализа, а не с привода changelog'а из хелпа трояна.
Вы уж извините, но на статью это не тянет, немного строк с «общим описанием», немного строк про то чем он отличается от других, и все, дальше одна копипаста.
+4
filippoff #
>Продолжение следует.
я думаю продолжения не надо)) этого достаточно, Спасибо :)
0
Kapustos #
Начну пожалуй с того что расскажем «историю» зевса, на чем написал, ...

У автора топика/трояна раздвоение личности, что-ли?
–1
Bzzz #
очепятка :) исправил
0
gorl #
Ооо, ура! Нас в следующих статьях научат пользоваться билдером и рисовать конфиг!
Это же бред.
Может хватит?
+1
khorost #
>> Статья написана не с целью рекламы, не с целью предложения «скачай и пользуйся», не с целью показать «вот смотрите какая штука крутая».

А в чем собственно цель статьи? Как делать делать самораспространяющиеся программы? Как противодействовать таким программам? Пока я вижу только рекламу «закрытого» продукта, который видимо можно купить (с версии 1.3.х.х ключ лицензии упоминается) и использовать в научных целях?
–1
Bzzz #
думаю пост вида «вот вам урл на описание в вики и вот вам антивирус вылечиться от трояна… » не очень интересный.

Про рекламу и ключ лицензии…

насколько мне известно лицензию ввели с целью привязки билдера к ПК чтоб билдеры не были доступны в паблике.
+1
upir #
А тем временем на фрилансе со взломанных аккаунтов работодателей флудят троянами прикрепленными к мнимому ТЗ.

Начитаются школьники таких статей, а патом мнят себя хакерами… Ничего полезного как противостоять этому боту я для себя из статьи не вынес, не понимаю кто это плюсует.
0
Sicness #
Может плюсуют те, кто думает иначе.
Многие увлекающиеся как раз и начинали с установки таких троянов, ибо им некоторый опыт даёт.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.