Наш Jabber-сервер расположен по адресу fuckav.in. Добро пожаловать!!! |
|
Статьи Раздел с интересными статьями! |
Для того, чтобы ответить в теме, необходимо зарегистрироваться. |
|
Опции темы | Опции просмотра |
|
11-11-2009 | #1 |
|
Прячем Зло или Чистим АВ-сигнатуры
Прячем Зло или Чистим АВ-сигнатуры
Интро Надюсь, тебе известно, как в АВ-программах организован поиск зловредов: в антивирусе есть база данных, в которой собраны сигнатуры вирусов - уникальные куски кода/данных. Антивирус ищет в файле эти куски, и если находит - прощай свежий криптор или троян. В далекие времена, когда дети сидели за партами, а не писали вирусы, сигнатуры можно было выдрать из аверских баз, найти в малваре этот кусок, поменять - и опа, никто нас не видит. Но с тех пор, Евгений поумнел (или умных нанял), и начал хорошенько прятать сигнатуры. Доковыряться до них - задача не из легких, поэтому мы выберем путь полегче - найдем их самостоятельно, не копаясь в базах продуктов мозговой жизнедеятельности аверов. Суть такого поиска сигнатур - попробовать менять каждый байт вируса, и если после такого он станет чистым в глазах АВ - мы нашли ее! У такой методы есть большое количество минусов - скорость поиска, возможность вообще ничего стоящего не получить и т.п. Но пробовать все-равно стоит! "Сестра! Скальпель и кувалду!" Для примера, от настырных глаз АВ будем прятать EXE - контейнер джоинера SunS Joiner. Склеивать будем 2 маленькие свежескомпилированые мирные проги - обе создают по обычному окну. Они есть в архиве к статье (см. внизу). Софт, который будет использоваться: 1) Free Hex Editor ([Ссылки могут видеть только зарегистрированные пользователи.]) - простенький хекс-редактор. Можно использовать тот-же WinHex. 2) OllyDbg v1.10 ([Ссылки могут видеть только зарегистрированные пользователи.]) - отладчик, нужен для просмотра и редактирования нужной сигнатуры. 3) SunS Joiner v2.2.4 ([Ссылки могут видеть только зарегистрированные пользователи.]) - джоинер, которым будем клеить файлы. Жутко палится, но нам это и нужно. 4) [SD] SignDetect ([Ссылки могут видеть только зарегистрированные пользователи.]) - пропиарюсь немного :-) Этой тулзой будем искать сигнатуру. 5) KIS7 ([Ссылки могут видеть только зарегистрированные пользователи.]) - собственно, от него и будем прятать файл. 6) PEiD v0.95 ([Ссылки могут видеть только зарегистрированные пользователи.]) - для скана контейнера с целью сильно ускорить весь процесс очистки (см. ниже) "На старт! Внимание! Марш!" Открывай джоинер: Жми сразу "Без иконки". Для теста, лучше иконку не ставить, т.к. размер ЕХЕ на выходе будет меньше, соотвественно и сигнатуру искать быстрее будет. Добавляем наши тестовые файлы "poasm1k.exe" и "simple.exe". Нажимай на "Склеить" - сохраняй контейнер под любым именем, например "aaa.exe". Дальше клей нам не понадобится, поэтому закрывай его. Следующий инструмент в очереди - SignDetect. Немного о нем: суть его работы вот в чем - берет наш контейнер, и по очереди меняет 1 байт (опционально, можно увеличить) файла и сохраняет такой "мод" в отдельной папке. После окончания работы в этой папке будет большое количество таких вот "модов". На эту папку нужно натравить АВ, который чекнет и удалит все палящиеся файлы. Файлы, что останутся в ней после проверки - с очищенной сигнатурой. Запускай тулзу: Жми на "..." - выбирай контейнер "aaa.exe". Следующий шаг - определиться с настройками проги. Опция "Скан файла" предназначена для выбора диапазона байт в файле, которые мы будем менять. Если контейнер большой (более 100 КБ) - процесс записи тулзой файлов будет длится долго, точно как и скан АВером всех файлов и очистка их же. Поэтому, если есть желание, время и фри спэйс на харде, то выбирай "Весь файл". В нашем случае выбираем "Диапазон (HEX)". Нижняя и верхняя границы диапазона - левое и правое поля соответственно. Для удачного в плане скорости выбора следует правильно выбрать их. Нижнее поле - чаще всего надо использовать смещение начала первой секции контейнера. Для этого открываем PEiD, выбираем в нем наш контейнер, и жмем на кнопку просмотра секция файла: Откроется окно с аттрибутами секций файла. Нам нужно узнать смещение первой секции EXE. Вот оно: Т.е. нужно выбирать самое наименьшее значение столбца "R. Offset". В данном случае оно равно 400h. На этом PEiD нам отслужил - можно закрывать, больше не понадобится. Вводим 400 в левое поле [SD] - это было нижнее значение. Верхнее - это размер файла. Смотрим его в проводнике или TC (Не забудь - оно там в десятиричном виде, а в [SD] нужно вбивать в HEX. Сконвертируй в калькуляторе или в уме ;-) В нашем случае вышло "560C". Это - верхнее значение, вбивай его в правое поле. Следующая опция - "Количество байт для записи" - думаю назначение понятно. По умолчанию стоит "1". Если после окончания работы тулзы, все созданные файлы палятся - следует увеличить значение и повторить работу с тулзой. Перед началом работы тулзы, лучше вырубить защиту АВ, т.к. она начнет буйно реагировать на работу с зараженным файлом. Жмем кнопку "Старт!" и ожидаем окончания работы, о чем нам скажет сообщение - "Готово!". На этом работа с тулзой закончена - можно ее закрывать. Природный отбор После окончания работы с [SD], рядом с программой создастся папка "SIGN_DETECT", в которой будут измененные EXEшники нашего контейнера. Натравляем АВ на эту папку (Важно! В антивирусе нужно включить опцию - "удалять зараженные". С ней будет намного удобнее - те файлы, которые остались палевными удалятся, а нужные останутся в папке) и ждем конца проверки. После окончания видим такуюю картину: Всего файлов в папке - 21448, а зараженных - 20876. Т.е. очищенных - 572 файла! Это отличный результат. Теперь, чтобы эти файлы не искать, дадим антивирусу удалить грязные файлы. Опять ждем, пока удалится ~20к файлов. После этого в папке остались только нужные нам файлы. Сама чистка Закрываем АВ и заходим в папку "SIGN_DETECT". Выбираем любой файл, например "000035A0.exe". Название файла соответствует смещению, по которому изменился байт. Этот файл нам больше не нужен, т.к. все что нужно - смещение, мы узнали. Запускай Frhed и открывай в нем файл "aaa.exe" - наш контейнер. Топаем по адресу 000035A0 и видим такую картину: Запоминаем несколько байт по этому адресу, например 8 штук - (BF 68 66 40 00 33 С0 55). Чем больше байт, тем лучше - но в нашем случае восьми будет достаточно. Закрывай Frhed - он больше не понадобится. Последний инструмент, который будем использовать - OllyDbg. Запускай ее, и открывай в нем наш "aaa.exe". Откроется окно CPU с кодом программы. Нам нужно найти в этом коде ту последовательность байт, при изменении которой файл перестает палится. Для этого откываем окно "Binary Search" - Ctrl+B, вводи в нижнее поле последовательность байт BF 68 66 40 00 33 С0 55, чтобы это выглядело так: Жми "Enter" - поиск закончится и указатель в окне CPU станет на найденную инструкцию: Поиск остановился на адресе 004041A0, на строке "MOV EDI, 406668" - помещение в регистр EDI значения 406668h. Учитывая большое количество отсеяных файлов (572), скорее всего эта строка - только часть сигнатуры, т.е. если мы уберем/перенесем ее - АВ заткнется. Если ее просто изменить на случайное значение - ЕХЕ перестанет работать, поэтому нужно изменить байты так, чтобы код не потерял работоспособности. Самый простой способ - перенести эту команду в неиспользуемое место. Иллюстрация: Т.е. на место "MOV EDI, 406668" ставим прыжок на неиспользуемое пространство, там вставляем: "MOV EDI, 406668" и переход обратно. Чтобы это осуществить, нужно найти неиспользуемое место в коде. Листаем 2 экрана вниз в окне CPU и видим много нулей, начиная с адреса 404379. Чтобы было удобнее, возьмем круглый адрес - 404380. Ставим на него указатель, жмем пробел - откроется окно для ввода инструкции. Вводим "MOV EDI, 406668" (без кавычек) и жмем "Assemble". Сюда же вводим команду: "JMP 4041A5" - переход на адрес, по которому лежит инструкция, следующая за "MOV EDI, 406668" в оригинальном ЕХЕ - "aaa.exe". Последний штрих - по адресу 004041A0 вбиваем команду "JMP 404380". Сохраняем модифицированный ЕХЕ: в контекстном меню окна CPU выбираем "Copy to executable" -> "All modifications" -> "Copy all". В контекстном меню появившегося окна выбираем "Save file" и сохраняем под именем "aaa2.exe". Готово! Закрывай OllyDbg и запускай "aaa2.exe". Если все делалось правильно - должно появится 2 окна, а значит патч сработал и мы все сделали правильно. Проверка на вшивость Каспер удачно заткнулся - можешь проверить на своем. Но есть более интересный результат: Файл "aaa.exe", который мы не трогали, на VT: 35/41 [Ссылки могут видеть только зарегистрированные пользователи.] Файл "aaa2.exe", наша версия: 19/41 [Ссылки могут видеть только зарегистрированные пользователи.] Очень отчетливо видно, как заткнулись 16 антивирусов :-D Среди них и продукт ЛК. Аутро Вот так, имея в запасе 20 минут свободного времени можно забыть об АВ. Такой метод очень хорошо себя проявляет тогда, когда нужно протроянить определенную жертву, когда знаешь, какой у нее АВ - например друзья, родственники и т.д. ;-) Архив с подобытными кроликами и модифицированным файлом можно найти тут: [Ссылки могут видеть только зарегистрированные пользователи.] : vazonez Оригинал: [Ссылки могут видеть только зарегистрированные пользователи.] Видео-туториал можно скачать тут: [Ссылки могут видеть только зарегистрированные пользователи.] Последний раз редактировалось vazonez; 31-07-2010 в 17:20. |
11-11-2009 | #2 |
|
спс большое, буду разбираться
|
11-11-2009 | #3 |
|
Афигенно, написанно на 5 ++
__________________ Вы не те, за кого себя принимаете... (с) Deymos[Ссылки могут видеть только зарегистрированные пользователи.] Хочешь помочь развитию форума? (тыц) [Ссылки могут видеть только зарегистрированные пользователи.] - блог от создателя Fuckav.ru Модератор неправ? Срочно читай это!|История форума | Есть предложение? |
11-11-2009 | #4 |
|
возникла такая проблема, дошел до оллидбг и с толкнулся с нем что жму пробел пишу что надо а жму "Assemble" и в самом коде не меняется значение на то которое я ввел а остается прежним
|
11-11-2009 | #5 |
|
Указатель должен стоять на той команде, которую ты хочешь поменять. Возможно он у тебя где-то не там стоит.
Кинь скрин чтоле |
11-11-2009 | #6 | |
Windows v.2.03
Последняя активность:
18-01-2010 Регистрация: 17.10.2009
Сообщений: 17
Поблагодарили всего: 0
за это сообщение: 0 |
разжувал в рот поожил осталось только проглотить
спасибо, жаль что статья паблик вообщем имея эту статью, и немного времени можно сделать это от всех антивирусов как говорится было бы желание Последний раз редактировалось Arc; 11-11-2009 в 18:48. |
|
11-11-2009 | #7 |
|
проблема с [SD] SignDetect неоткрываетса страничка-([Ссылки могут видеть только зарегистрированные пользователи.])
|
11-11-2009 | #8 |
|
Хз, у меня работает. Зайди через прокси.
|
11-11-2009 | #9 |
|
спасибо все работает
|
11-11-2009 | #10 | |
Windows v.2.03
Последняя активность:
07-12-2013 Регистрация: 30.09.2009
Сообщений: 16
Поблагодарили всего: 0
за это сообщение: 0 |
Залейте пожалусто SunS Joiner v2.2.4, на другой обменник, а то с эти у мну проблемы=(
|
|
12-11-2009 | #11 |
|
Душевно за статью,будем разбераться....
перезалил SunS Joiner v2.2.4 [Ссылки могут видеть только зарегистрированные пользователи.] |
13-11-2009 | #12 |
|
странно но у меня не ищет BF 68 66 40 00 33 С0 55 только по одному ищет BF, это из твоего примера, в моем случает также
по всякому уже перепробовал, всеравно палится вроде нашел сигнатуру сделал как ты писал но нужные мне антиви его палят, но результат снизился с 18 до 15 аверов Последний раз редактировалось buket; 13-11-2009 в 18:30. |
12-11-2009 | #13 |
|
никак не проходит шаг с оллидбг, а скрин то зачем, показывать то нечего, ничего не меняется это первое и второе сохранение не идет, жму "Copy to executable" -> "All modifications" и ничего не происходит
p/s/ еще интересно как в PEID расчитываются значения Последний раз редактировалось buket; 12-11-2009 в 15:51. |
12-11-2009 | #14 | ||
|
Цитата:
Цитата:
|
||
12-11-2009 | #15 |
|
|
12-11-2009 | #16 |
|
Чаще всего детект идет или по коду, или по данным (строки etc) - все это вкладывается в вышеописанный диапазон. Все что до - структура PE EXE - по ней детект идет редко, исправить сигну там намного сложнее, поэтому ее лучше не трогать.
|
13-11-2009 | #17 |
|
vazonez помоги разобраться
Код:
00404BCA > /EB 16 JMP SHORT 00404BE2 00404BCC ^|EB FC JMP SHORT 00404BCA 00404BCE |CC INT3 00404BCF |CC INT3 00404BD0 $-|FF25 BC504000 JMP DWORD PTR DS:[<&MSVCRT._except_handl ; SE handling routine 00404BD6 $-|FF25 C0504000 JMP DWORD PTR DS:[<&MSVCRT.??2@YAPAXI@Z> 00404BDC >-|FF25 98504000 JMP DWORD PTR DS:[<&MSVCRT.__CxxFrameHan 00404BE2 > \50 PUSH EAX упс ошибся( не этот Последний раз редактировалось buket; 13-11-2009 в 13:33. |
13-11-2009 | #18 |
|
Залей сам бинарник куданить
|
13-11-2009 | #19 |
|
стаб вот [Ссылки могут видеть только зарегистрированные пользователи.]
а вот список файлов которые не задектили кспер и авира: Код:
000000E8.exe 000000E9.exe 000000EA.exe 000000EB.exe 000000EC.exe 000000ED.exe 000000EF.exe 000000FD.exe 00000001.exe 0000003C.exe 0000003D.exe 0000003E.exe 0000003F.exe 0000016A.exe 0000016B.exe 0000026A.exe 0000026B.exe 0000026D.exe 0000026E.exe 0000026F.exe 00000168.exe 00000169.exe 00000214.exe 00000215.exe 00000216.exe 00000217.exe 00000268.exe 00000269.exe |
13-11-2009 | #20 |
|
Дык пеид ясно пишет, первая секция начинается с 400h. Попробуй увеличить количество байт для записи и повтори процедуру.
Я чуть попозже поковыряю. |
13-11-2009 | #21 | |
|
Цитата:
я так понимаю 41F0 Последний раз редактировалось buket; 13-11-2009 в 14:19. |
|
13-11-2009 | #22 |
|
До конца - размер файла в щестнадцатеричном виде
|
13-11-2009 | #23 |
|
да кстати зачем вирус тоталюзаеш, вся чистка насмарку уйдет, юзай такие сервисы как [Ссылки могут видеть только зарегистрированные пользователи.] и [Ссылки могут видеть только зарегистрированные пользователи.] (тут галочку поставить надо)
|
13-11-2009 | #24 |
|
Баян. Все шлют, и эти тоже. А чистку чекал - все-равно для примера
|
13-11-2009 | #25 | |
Windows v.2.03
Последняя активность:
18-01-2010 Регистрация: 17.10.2009
Сообщений: 17
Поблагодарили всего: 0
за это сообщение: 0 |
vazonez, наверно пора отдельную ветку по обсуждению создавать, а то тут тема перерастет в хлам
|
|
14-11-2009 | #26 |
|
вопросик возник если говориш все шлют,как проверять?понятно что на своей системе можно но столько антивирей не поставиш.платные сервисы обман?
|
13-11-2009 | #27 |
|
Ща посмотрю твой бинарник.
|
14-11-2009 | #28 |
|
с чего вы взяли что шлют, проверено людьми новирусфенкс не шлет, приват крипторы продают сканенные там, пока ктолибо не затупит на вирустотал не зальет он не палится аверами
|
14-11-2009 | #29 |
|
А если подумать логически - за какие деньги они покупают лицензии? А насчет платных - им же выгоднее, сливать все аверам, пусть и не часто и не всё
|
14-11-2009 | #30 |
|
согласен.не кому нельзя доверять(сдают они и лаве рубят эт полюбак просто не всю инфу сливают в отличии от вирус тотала).как буду расширяться с серверами поставлю пакет антивирусов и буду сам у себя проверять,а выше сказанно что проверят на вирус тотале и запалиться))ну есть и другие спосабы например они так же посещают форумы качают софт и заносят в бд))вот так вот!вопросик еще есть я на дедик ставлю антивирус например каспера он падла там устанавливается и инет вырубает уже 2 дедика запарол кто что скажет?
Последний раз редактировалось travakur; 14-11-2009 в 11:19. |
Для того, чтобы ответить в теме, необходимо зарегистрироваться. |
Метки |
avast, backdoor, bifrose, drweb, dword, file, short, start, trojan, virez, ав-сигнатуры, геморой, прячем, чистим |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|