Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Обман анализатора

Обсудить статью на форуме

Массу крэкерских инструментов, видеоуроков и статей вы сможете найти на видеокурсе от нашего сайта. Подробнее здесь.

Автор: Flashback <Flashback@mail15.com>

Цель: Подменить одну сигнатуру на другую сигнатуру
Сложность: 2/10(легко)
Инструменты: FBA(www.team-x.ru/Flashback) для анализа, CFF Explorer, OllyDBG
Подопытная прога: FaNt0m's CrackMe #1
Предисловие:
Я не видел статей про ручную подмену сигнатур по этому написал, и подменивать мы будем сигнатуру FASM на UPX 0.50 - 0.70 в FaNt0m's CrackMe #1

Менять одну сигнатуру на другую мы будем в несколко шагов:
1) Добавление секции и изменение EP(EntryPoint)
2) Вставка нужной нам сигнатуры при помощи OllyDBG
3) Rebuild Pe

Добавление секции и изменение EP(EntryPoint):
Если мы посмотрим в FBA CRACKME1.EXE, то он определит что откомпелировано FASM, EP section = .text, и скажет, что EP = 1000. Щас мы добавим новую секцию и поменяем EP на ее начало.

Откроем CRACKME1.EXE в CFF Explorer. Зайдем в Section Headers, нажмем правой кнопкой мыши по по правой части окна -> Add section(Empty spice), введем нужный нам размер секции(я ввел 100). Теперь появилась 5-ая секция, но она без имени (я назвал ее UPX1). Все, секция добавлена. Ее Virtual Adress = 5000. Щас мы будем менять EP на ее начало.

Зайдем в Optional Header. AdressOfEntryPoint=1000, поменяем его на 5000. Все, мы сменили EP.
File -> Save, чтобы сохранить изменения.

Вставка нужной нам сигнатуры при помощи OllyDBG:
Если мы сейчас запустим CRACKME1.EXE, но щас мы все поправим.
Откроем CRACKME1.EXE в OllyDBG. Вот такую картину мы видим:

00405000 0000 ADD [BYTE DS:EAX],AL
00405002 0000 ADD [BYTE DS:EAX],AL
00405004 0000 ADD [BYTE DS:EAX],AL
00405006 0000 ADD [BYTE DS:EAX],AL
00405008 0000 ADD [BYTE DS:EAX],AL
0040500A 0000 ADD [BYTE DS:EAX],AL
0040500C 0000 ADD [BYTE DS:EAX],AL
0040500E 0000 ADD [BYTE DS:EAX],AL
00405010 0000 ADD [BYTE DS:EAX],AL
00405012 0000 ADD [BYTE DS:EAX],AL ; и так до конца

Щас нам нужно засунуть сигнатуру UPX 0.50 - 0.70 = 60 E8 00 00 00 00 58 83 E8 3D 50 8D B8 ?? ?? ?? FF 57 8D B0 E8 (скопируйте это в буфер). Для этого выберем n-ое число строк в нашем случае хватет до 00405012 (но можно больше, роли не играет) и нажмем Ctrl+E.
Вставьте скопированную нами в буфер сигнатуру, нажав правую кнопку мыши -> Paste или shift+insert. Нажмите ОК.

Вот что мы получили:
00405000 60                 PUSHAD
00405001 E8 00000000        CALL CRACKME1.00405006
00405006 58                 POP EAX
00405007 83E8 3D            SUB EAX,3D
0040500A 50                 PUSH EAX
0040500B 8DB8 000000FF      LEA EDI,[DWORD DS:EAX+FF000000]
00405011 57                 PUSH EDI
00405012 8DB0 00000000      LEA ESI,[DWORD DS:EAX]

Сигнатура вставлена, осталось добавить прыжок на старый EP=1000 (точнее, Virtual EP=1000(EP)+400000(ImageBase)), а то прога работать не будет.
Выберем строку ниже, т.е. 00405018, нажмем пробел, вводим JMP 401000 нажимаем enter (хотя, на старый ep можно прыгнуть более изощреными способами, например:

00405018 B8 00052000 MOV EAX,00401000
00405022 50          PUSH EAX
00405023 C3          RETN

Нажимаем правую кнопку мыши (F10) -> Copy to executable -> All modification -> Copy All -> Save file, вводим новое имя (например, CRACKME1_FakeSign) и сохраняем.
Мы добавили сигнатуру, но некоторые скажут, что когда мы добавляли новую секцию то выбрали более большой размер, щас мы исправим это.

Rebuild Pe:
Ща размер CRACKME1_FakeSign.EXE равен 8192 байт.
Откроем прогу в FBA. Plugins -> PEiD plugins user -> RebuildPe, жмем Rebuild.
Теперь размер равен 7714 байта. Мы уменьшили размер на 478 байта, мелочь, а приятно.


Заключение:
Ну, вот и все. Мы смогли обмануть гадкие анализаторы, хотя, если бы мы упаковали прогу UPX, а затем сменили бы сигну на Delphi, то не все бы анализторы нам поверили на 100%.

Site: www.team-x.ru/Flashback
GreetZ 2 aLL
[13.o4.2oo8 22:22]



Обсуждение статьи: Обман анализатора >>>


Комментарии к статье: Обман анализатора

Talula 18.05.2008 08:28:10
тоже никогда не видел статей про подмену сигнатур. автору - пятёрку с плюсом! =)
"если бы мы упаковали прогу UPX, а затем сменили бы сигну на Delphi, то не все бы анализторы нам поверили на 100%" - вот теперь давай статью про подобную подмену и как сделать так, чтобы поверили если не все, то хотя бы большая часть анализаторов...
---
Stack 18.05.2008 19:22:17
Забавно но если анализатор анализит не только по сигне?
---
bad_boy 21.05.2008 14:43:29
>>Мы смогли обмануть гадкие анализаторы
В статье проверялся только PeID

>>Talula:тоже никогда не видел статей про подмену сигнатур
А я видел. Напрмер на dotfix.net
"обмануть PEiD :) - FEUERRADER"
Она так же и тут лежит: http://cracklab.ru/art/?action=view&id=198
"Обман PeiD или скрываем сигнатуру MEW11 v1.2SE - CrystalDragon"
"Скрытие реальных сигнатур в программах, написанных на ассемблере - SLV"

>>Автор:Я не видел статей про ручную подмену сигнатур по этому написал
По глазам вижу что врёшь. Ты просто свой анализатор рекламируешь. О вышеуказанных статьях тебе известно, но возможно ты их не стал открывать просто.

Статья - УГ.
Имхо конечно.
---
SLV 21.05.2008 18:27:21
название жжот (бектрип)
---
SecurAdmin 22.05.2008 21:47:08
Где то я уже встречал подобные извороты...только не помню где...по-моему КК описывал, как обмануть аверы подменой ОЕП и сигнатур, причем описывались практически те же шаги с подменой. С другой стороны существуют же программы для изменения сигнатур на фейковые ;) так что кому не хочется шаманить вручную, могут пойти и по пути наименьшего сопротивления =)

---
AlexKlm 27.05.2008 10:19:41
Человеку лет десять назад изучавшему потроха виндовс 95 понять о чем речь - нелегко. Прочитал несколько строчек. Не понятно очем речь, какая такая там особая сигнатура? Ну обычный наверное PE выполняемый файл, и сигнатура там - наверное одно поле. И что, если его изменить - то работать будет по другому? Короче, Склифосовкий.
---
Flashback/TMX 29.05.2008 15:48:54
Talula, спасибо, но, чтобы новый UPX(1.х ) не палился всякими там супер методами, надо либо затереть загрузчик UPX(после чего прога не будет работать), либо закриптовать, а затем уже подставлять свою сигнатуру.
Stack, врятли чистый асм будет как-то детектиться(если бы у нас была прога на делпфи, то да).
bad_boy, иди подрочи на плэйбой, и помни: "Скрыть и обмануть - разные вещи"
SecurAdmin, да, есть, и работают они лучше, но некоторые детектятс
2all, в пример я поставил свой анализатор, потому что потому, не более. А если бы Hellspawn написал точно такую статью, то он бы использовал бы для примера PEiD, наврятли.
---
ARCHANGEL 03.06.2008 19:17:12
Тому, кто опубликовал это ..., должно быть стыдно
---
Guru_eXe 17.06.2008 12:26:57
@bad_boy
"Обман PeiD или скрываем сигнатуру MEW11 v1.2SE"
http://dotfix.net/module.php?module=@6e786b366c7a676e6171656862
автор: g-l-u-k

@Flashback/TMX
А на кой черт скрывать сигну у того, что не паковано вовсе? тогда куда быстрее и проще не лазить в отладчик, а взять сигну из какого-нить аналиатора и забить этот байткод в оеп. Далеко ходить не будет, вот сигна PEtite v1.4 - "?? ?? ?? ?? ?? 66 9C 60 50 8B D8 03 00 68 54 BC 00 00 6A 00 FF 50 14 8B CC". В первые 5 байт, все уже догадались, ставим джамп на уже настоящий и рабочий код. Гоним это порево в пеид и видим "PEtite v1.4 *". Очень просто и ессесно быстро разгадыватеся.
---
Flashback/TMX 17.06.2008 16:27:02
Да, совсем зыбыл, Фантом крякмисы:
http://www.cracklab.ru/crackme/Fantom/
---

Материалы находятся на сайте https://exelab.ru



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS