Pull to refresh

Comments 49

vilgeforce, вами уже наверняка заинтересовались хакеры, антивирусные компании ну или как минимум — спецслужбы)
DrWeb мною заинтересовался месяца этак 4 назад, в итоге я у них работаю. Спецслужбами я и сам интересуюсь немного. А хакеры... Посмотрим :-)
> Передача по 80-му порту, похоже, вносит некоторые изменения в траффик: если в передаваемых данных встречается строка "gzip,", то она будет заменена на 5 байт с кодом 0x6E ("n"). Зачем? Не знаю...

Если браузер поддерживает сжатие трафика, он шлет заголовок Accept-Encoding: gzip или что-то в таком духе. Значит троян хочет, чтобы трафик передавался незапакованным.
О! Спасибо!!!
Экая хитрая зараза, оказывается :-)
Дык это, прием с SetWindowsHookEx стар как говно мамонта: ставится system-wide хук, если не ошибаюсь, на оконные сообщения. Чтобы можно было вызвать процедуру-хук, винда грузит указанную библиотечку во все процессы, которые посылают эти сообщения, таким образом ваша дллка оказывается загружена везде где нужно, и при загрузке WriteProcessMemory патчит нужные адреса для текущего процесса.
Хм, вот оно как. Спасибо, буду теперь знать :-)
помоему пора тематический блог создавать
Дык есть он, оказывается. ЭВирусы и антивирусы" или как-то так. Это просто я по дурости да с непривычки в персональный пишу.
так Вы можете перенести без проблем
Хм... Как переносить, вроде, нашел... Перенесенные посты будут и в моем личном блоге?
Нет. Либо там, либо там. Но если очень хочется можно задублировать. В любом случае они будут отображаться в разделе "Моё"
я бы упразднил функции типа WriteProcessMemory %)
любое их использование надо считать подозрительным..
Ну в общем да, WriteProcessMemory, особенно не в себя - за это надо убивать процесс. Но есть способы и без них сделать то же самое, да и легальный софт иногда инжектится.
Кхм. И нелегальные антивирусы и файрволлы =)
UFO landed and left these words here
Хм... Интересная мысль! Надо будет попробовать :-)
Поиском прошелся по системному каталогу винды - очень немного файлов содерджат название этой функции.
Read/WriteProcessMemory это Debugging API и требует определённых привелегий. Если работать под обычным пользователем (не членом групп Administrators и Debuggers), то Read/WriteProcessMemory для произвольных процессов не будут срабатывать.
С другой стороны, в данном случае запись идет в самого себя (хэндл везде -1)... Прокатит не из под админа?
В себя покатит, также как и в процессы, собой запущенные.
Хм, ничего про привилегии для SetWindowsHookEx в MSDN нет :-D
UFO landed and left these words here
Продолжение будет обязательно. Возможно, про это семейство троянов, но скорее всего про ложные "антивирусы". И не раньше чем через пару дней :-)
Я понимаю что это - круто.И что сам бы хотел в этом разбираться. Но это так долеко до моих представлениях о жизни.
Боже, ассемблер, пора его изучить... :-)
Что ж сразу "Боже"? Язык как язык. К сожалению, исходники заразы попадаются крайне редко (но была пара случаев), а интерпретируемые вирусы обычно не заслуживают такого внимания.
А зря Вы не даёте имя мьютекса, так как на его основе можно быстренько написать лечилку (хотя, если правила компании этого не позволяют, то вопросов, конечно, нет).
Относитльно Вашего третьего вопроса: я думаю, что троян распознают все комплексы, имеющие контроль над установкой хука, либо контролирующие запись в память процесса (имеющие свой хук на WriteProcessMemory).
P.S. Чтож, этот вирус - яркий пример, что большинство старых протоколов, где информация передаётся открытым текстом устарели. Правда смерть этим протоколам обещали ещё во времена появления первых снифферов и кейлоггеров, однако они живы... Поживём увидим.
Правила, насколько я знаю, не запрещают. Но лечилка не получится - проверка наличия мьютекса производится только при старте трояна. Убить существующий не выйдет, разве что препятствовать запуску новых экземпляров. Для "родителя" условия завершения я расписал, так что все ОК. Да и не препятствует тваринка своей остановке.
упакован UPX, поэтому в Linux (я дома в линухе) распаковывается за 5 секунд

Да и под Виндовс не медленнее, upx везде одинаковый.
а чего так долго 7кб распаковываются? *_*

и чтобы пять минут не ждать:
>Эта тваринка, кстати, куда как интереснее подавляющего большинства >троянов. Хотя бы тем, что ворует информацию не с диска, а прямо из >сетевого траффика.
Подавляющее большинство троянов именно трафик слушают, отправляя введенные в формы данные злоумышленникам.
Они не так работают ;-) Перехват сообщений, перехват ввода - это да. А вот перехват функций WS - не частая штука.
Прочитал оба поста от автора. Очень понравилось! Надеюсь в будущем хоть на половину также разбиратся в программах.
Перехват send() и recv() на локальном компьютере – еще цветочки. Есть интересный троянец, который с помощью arp-spoofing перехватывает трафик в локальной сети между остальными компьютерами и основным шлюзом – Trojan-Spy.Win32.FtpSend.a. Теоретически возможен перехват нешифрованных паролей или man-in-the-middle атака на шифрованные соединения. Встречается в виде связки: Trojan-Spy.Win32.FtpSend.a, Virus.Win32.Alman.b, много разных версий Trojan-PSW.Win32.OnlineGames.a*** и Trojan.Win32.Agent.rcp – что указывает на любовь к паролям от онлайн игр ;-).
Если буде интересно – могу выслать семпл.
Интересно, конечно. Но времени на все не хватит, это точно :-)
Спасибо за пост!
Вспомнил времена когда ковырялся идой в защищенных прогах наприедмет написания крака just for fun так сказать. Потом наоборот писал защиту под линуха ;) Задумался, может вирусами заняться ;)
Вопрос, а почему ollyDbg ? SoftIce нынче не рулит ?
Да я уже привык к Олли - на работе она. Для юзермоды ее хватает. И сайс у меня что-то не ставится или не работает - очень я об этом жалею :-(
Ясно, надо будет поковырять этот olly
Советую сразу к нему ставить CommandBar и OllyDump. Про этот отлачик на wasm.ru был цикл статей.
Владимир, очередное вам спасибо за интересный (и непонятный :-) материал.
интересно было бы увидеть комментарии авторов кода: точно ли вы угадали поведение вируса, сколько они писали его и думали что никто сломает и, тем более, полное разоблачение их творения не всплывёт на хабре ну так далее.
Комментарии авторы дали в рекламном проспекте к своему творению, которое гуглится с пол-пинка. А вот остальные вопросы мне тоже интересны. Но не думаю, что когда-нибудь на них будут получены ответы.
Спасибо за пост, а антивирус ДрВеб я так понимаю?
А то кормить у себя этого карманника фтп-паролей не хочется :( много сайтов на подхвате...
интересно было читать

>4) Откуда столько людей узнают про мой пост? Меня читает, насколько я знаю, меньше 10 человек :-D
твой блог прорекламировали на одном серьезном форуме ;)
Увы, получился он куда как менее читаемым, нежели в IDA
э.. коллега (как бы:) - попробуйте File - Produce file - Create html file. Вставляет на ура.
Не знал :-) Век живи - век учись! Спасибо.
1) WriteProcessMemory использует в качестве хэндла -1. Почему сомневаюсь, что перехвачены будут вызовы для всех приложений.
2) Зачем применяется SetWindowsHookEx?



Это на самом деле один вопрос, разбитый на две части.
2 - МСДН: SetWindowsHookEx can be used to inject a DLL into another process. Собственно, это самый распространенный и простой вариант инъекции. Хорошая новость тут в том, что это работает только на активный десктоп. Плохая новость - в винде обычно используют один десктоп (

1 - Раз после вызова SetWindowsHookEx дллка у нас находится во всех нужных процессах, то надо значть только хэндл текущего процесса, -1.

Где-то так.
Only those users with full accounts are able to leave comments. Log in, please.