Наш Jabber-сервер расположен по адресу fuckav.in. Добро пожаловать!!! |
|
Статьи Раздел с интересными статьями! |
Для того, чтобы ответить в теме, необходимо зарегистрироваться. |
|
Опции темы | Опции просмотра |
|
19-05-2014 | #1 | ||||||
Windows v.3.0
Последняя активность:
2 дн. назад Регистрация: 11.12.2012
Сообщений: 35
Поблагодарили всего: 253
за это сообщение: 5 |
Что скрывает Bitdefender или тестируем morphico
Статья писалась несколько лет назад, но я ее немного доработал и решил повторно запостить, тем более что такая инфа всегда актуальна.
Когда-то давно был сделан релиз криптора Krypton (тупо слитого в паблик самим же автором в блэке), стоимостью этого криптора X000$ и было даже обсуждение (которое кануло влету) этого криптора... Цитата:
Цитата:
Цитата:
Здесь можно скачать: /showthread.php?t=15457 Я хочу рассказать о результатах теста здесь. Как-то мне дали файл закриптовать и к нему прилагалась иконка, которую нужно было установить в качестве основной. Я обычно делаю тесты криптора в начале дня для того чтобы проверить не палится ли криптор на VT. Все было как обычно нормально. Я закриптовал этот файл, что мне дали и начал делать проверку на установленных локально антивирусах на виртуальных машинах без доступа в сеть. Такие проверки я делаю для того чтобы избежать случайных срабатываний так как данные получаются рандомные в закриптованном файле и могут сгенерироваться случайным образом так, что могут вызвать случайный детект. И вдруг неожиданно Bitdefender заругался Gen:Trojan.Heur.eqW@vrU6Gbbix, я перекриптовал заново и сделал повторно Bitdefender'ом проверку и опять получил детект, но так как у меня криптор создает большую часть рандомных данных, то детект уже получился немного другой Gen:Trojan.Heur.eqW@vbW!c!fix Мне предстояло сделать чистку... В процессе исследования Bitdefender'а я выяснил, что ругается он именно на иконку и как оказалось там, в базах Bitdefender'а находится хэш-суммы более 1000 иконок, и если хоть одна из них будет присутствовать в закриптованном файле - будет срабатывать детект. Мне удалось найти две иконки из этой базы, - одна которую мне дали, а вторую я нашел сам методом "тыка". _http://savepic.ru/4324450.gif Вот эти иконки и будут выступать в качестве проверки морфера иконок. Заморфив эти две иконки я получил в результате одну иконку (зеленую, ее можно вытащить из C:\WINDOWS\system32\napstat.exe) 48x48x16 и вторую (красную) На выходе получил 48x48x256 - значит, морфер не может морфить иконки, которые содержат в себе разные форматы, и выбирает для морфа только одну ту, которая находится первой... - это первый недостаток. Место первой иконки можно менять, к примеру, в AWicons Pro, но лучше сразу вытащить нужные форматы иконок, по которым детектит Bitdefender, заморфить их проверить будет ли детектить Bitdefender после морфа. Наверное, стоит пояснить, что Bitdefender не осуществляет детект по всем форматам иконок находящимся в иконке, а только лишь по одному из тех, что находятся в иконке при этом форматы эти разные для каждой иконки свой формат. Для зеленой иконки детект будет срабатывать по формату иконки 32x32x32bit С помощью AWicons Pro я вытащил нужный формат иконки и сохранил в отдельный файл. Потом заморфил эту иконку. Стало интересно, а что же там такое вообще морфится? Для того чтобы узнать что же конкретно морфится в иконке я воспользовался 010 Editor'ом, о котором я писал в прошлой статье. У него есть специальный шаблон (файл ICOTemplate.bt, его можно скачать с сайта 010 Editor'а), который создает в структуру удобную для просмотра. (см. рисунок ниже) Также 010 Editor позволяет сравнивать два файла и сравнить сделанные изменения. Далее мы сравним эти две иконки в 010 Editor для того чтобы увидеть разницу, для этого идем в меню Tools->Compare Files... В появившемся окне выбираем фалы для сравнения из выпадающих списков (там находятся открытые файлы в 010 Editor) и установим галочку для синхронизации скроллинга Enable Synchronized Scrolling и жмем Compare Таким образом, мы увидим разницу этих двух иконок и убедимся, что они отличаются. _http://savepic.ru/4313186.gif На рисунке видно, что морфер не смог сморфить иконку формата 32x32x32bit, а создал из нее 32x32x24bit, что естественно визуально видно. Это уже второй недостаток, который мы видим. Ну и третий недостаток. (на мой взгляд, самый важный) Морфер делает незначительные изменения в пикселях цвета, что не может повлиять визуально на ее вид, но сделает иконку другой. Цвет #3A3A3A он преобразует в #3D3C3B или цвет #292929 он преобразует в #2B2A2C, то есть прибавляет к цвету от 1 до 4, что является незначительным изменением и визуально глазом не будет заметно. В реале же это бесполезно, так как Bitdefender преобразует иконку в монохромную маску (где цвет - это 1, а прозрачное место - это 0) и тем самым эти незначительные сделанные изменения становятся бессмысленными, так как в моно-маске сделанные изменения в иконке этим морфером будут всегда как цвет, то есть 1. Но этим все еще не заканчивается, Bitdefender по этой маске высчитывает mod-CRC32 и сравнивает в диапазоне от и до. Стоит также подметить то, что если просто добавить иконку в обычный HelloWorld.exe, то деткта не будет, так как Bitdefender делает проверку иконок по базам при определенных нюансах, которые зависят от закриптованного файла. Итог всего этого: Этот морфер можно применить против примитивных антивирусов (типа антивирусной утилиты AVZ, у которого действительно детект осуществляется в частности по MD5), но все же будут смотреть, что показал Bitdefender и его компания! Наверное, можно использовать этот морфер иконок совместно с AWicons Pro и 010 Editor (на халяву и уксус сладкий); вполне возможно, что кому-то этот морфер и поможет сбить детект, но вот платить ли за это деньги - каждый решает для себя уже сам. Дополнение к статье. Я сделал рип кода (который детектит по иконкам) из Bitdefender'а и создал на его основе мини программу, и с помощью нее сделал брут в папке WINDOWS\system32, и оказалось что многие иконки из этой папки в базах Bitdefender'а. Иконка калькулятора вообще всех форматов, а также много стандартных иконок типа папок... и есть даже форматы полностью прозрачных иконок. Грубо говоря, если троян пытается косить (к примеру, на флэшке) под папку и в нем присутствует иконка папки, то с большей доли вероятности такой троян будет спален по этой иконке. Хотелось бы посоветовать: если у вас нет мощного морфера иконок, то лучше не юзайте иконки из папки system32 (да и вообще из системы), так как существует большая вероятность, что спалят вас именно по этой иконке. Старайтесь использовать уникальные иконки. Еще хотел дополнить одной любопытной инфой, у меня в крипторе есть простенький генератор рандомных иконок - нужен он для тестов на VT, но вот в один прекрасный момент начала полить меня Avira, при этом если убрать из-за криптованного файла иконку, то детект пропадал. Сделав реверс авиры, я выяснил, что детект был настолько примитивный, что даже слов найти невозможно. Принцип детекта был следующий: авира проверяет в конце файла (последний DWORD) наличие нулевого значения и если оно ноль, то все хорошо, но вот если это значение отличается от нуля, то начинаются дополнительные проверки. У меня в крипторе иконка добавляется при помощи BeginUpdateResource, UpdateResource, EndUpdateResource - так вот у такого способа есть один недостаток, при добавлении иконки в конец файла добавляется и так называемый эффект PADDINGX, из-за чего последний DWORD всегда не является нулем и из-за этого включалась дополнительная проверка. А дополнительная проверка заключалась в том, что по смещению от конца файла (перепрыгнув через область ресурсов GROUP_ICON) проверялись еще два DWORD'а на наличие не нулевого значения, а так как у меня в рандомных иконках всегда в конце нули, то и происходил детект. Советую всегда в конце закриптованного файла затирать нулями этот эффект PADDINGX, чтобы избегать случайных детектов. немного не в тему, но имеет отношение к Krypton Цитата:
Оказалось что это немного измененный код исходника Morphine v3.5 написанного на Delphi. Просто, если посмотреть на экспортируемую функцию GenerateRubbishCode и посмотреть на то, что пишет автор Morphine Код:
procedure GenerateRubbishCode(AMem:Pointer;ASize,AVirtAddr:Cardinal); stdcall; //generates a buffer of instructions that does nothing //don't forget that flags are usually changed here //and don't use nops Так что можно считать что "pmorph.dll" опенсорсный, я думаю, что эти плагины сделаны из паблик исходников и чтобы не позорится он не стал добавлять исходники в архив, прямое свидетельство того что он не соблюдает авторских прав. Хотя о чем это я, это же недешевый коммерческий проект, о какой честности здесь можно рассуждать... И это по своей сути не морфер вообще, а генератор мусора. Просто называть замену NOP'ов - морфированием, не совсем этично. Морфер - это все же более сложный движок, чем просто банальная замена. Хотя помню, когда я исследовал Панду... Помню, натыкался в ней на проверку, принцип которой заключался в следующем, если на OEP идет подряд не более ~40 одинаковых байт (кроме NOP'ов), то это при определенных условиях может убрать детект Suspicious file (эвристик) Вполне возможно, что если этот генератор мусора "pmorph.dll" применить на OEP, то возможно, что это уберет детект каких-то антивирусов, в любом случае это все надо тестировать и проверять... Итог всего этого: Я думаю, что он собрал по сусекам интернета исходники, чего-то там написал свое Цитата:
Радует, что жизнь расставила все точки над "Ы" и мы это увидели в паблике и рассказали немного правды. |
||||||
|
Для того, чтобы ответить в теме, необходимо зарегистрироваться. |
Метки |
bitdefender, morphico, скрывает, тестируем |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Tor скрывает ваш IP | savior | Софт | 6 | 16-04-2011 14:44 |