Сейчас на форуме: tyns777, bezumchik (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Один из методов взлома по Крису Касперскому
. 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 16.6 (новичок), 1thx
Активность: 0.030.16
Статус: Участник

Создано: 06 сентября 2019 13:12
· Личное сообщение · #1

Здравствуйте, ув. Профессионалы! В общем понравился один прием взлома описанный Крисом Касперским.

Суть метода в следующем:
1. Прогнать трейсером программу с правильным паролем. Сохранить лог в файл_1
2. Прогнать трейсером программу с неправильным паролем. Сохранить лог в файл_2
3. Сравнить два лога и найти место, где программа отклонилась от исходного маршрута

про сам метод прочитать можно, например, здесь:
https://exelab.ru/F/action=vthread&forum=1&topic=4492


Теперь осталось проверить как это все работает на практике:
1. Подопытной зверюшкой взял cracme от CrueHead'а. В этом крэкми:
- если Логин будет содержать в себе цифры, то получите подряд два плохих сообщения
- иначе одно плохое сообщение

2. Делаю лог трассировки программы с правильным Логином (не содержащим цифр):
- открываю крэкми в OllyDbg 2.01 -> открываю окно run trace -> Ctrl + F11
- вызываю окно ввода рег. данных -> Ввожу правильный Логин (без цифр) и любой пароль (кнопку ОК еще не нажимаю)
- в окне run trace очищаю лог (чтобы не было ничего лишнего, когда нажму кнопку ОК) и даю команду на сохранение лога в txt-файл
- нажимаю кнопку ОК по форме с рег. данными -> появляется одно плохое сообщение -> OK (по сообщению) -> в окне run trace выбираю stop log
- 1-й лог готов

3. Проделываю аналогичные действия с неправильным Логином (содержащим цифры):
- появляется 1-е плохое сообщение -> ОК -> 2-е такое же сообщение -> OK
- и дальше как обычно: окно run trace -> ПКМ -> стоп лог
- 2-й лог готов

4. Далее при помощи плагина Compare в Notepad++ делаю их сравнение. Но оба лога на удивление полностью одинаковые!!!


Сама цель создания Темы:
- это разобраться в описанном методе и научиться находить отличия в алгоритме выполнения программы при помощи трассировки

Круто конечно, если кто-нибудь поможет разобраться с трассировкой в OllyDbg и данным крекми. Но в принципе я не зациклен только на одном инструменте. Если кто-то уже имел успешный опыт в описываемом способе, но при помощи др. инструментов, то буду рад, если поделитесь своим опытом.

Крекми и сделанные логи трассировки выкладываю здесь

f335_06.09.2019_EXELAB.rU.tgz - Crackme.rar




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 06 сентября 2019 14:37 · Поправил: difexacaw
· Личное сообщение · #2

rukop84

Уже было --> Link <--

Во первых оба лога у вас одинаковые не могут быть. Так как происходит обработка случайных событий гуя. Если они не включаются в лог, значит эти события скипаются.

-----
vx


| Сообщение посчитали полезным: rukop84

Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 06 сентября 2019 14:56
· Личное сообщение · #3

rukop84 3 раза перечитал, так и не понял, а трассировка стартует из одной и той-же точки, или вообще хз когда?

Добавлено спустя 22 минуты
MSG LOOP...откуда звезды, сударь, или это воинское звание?




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 06 сентября 2019 15:19
· Личное сообщение · #4

rukop84

Вот что должно быть на выходе. Так как пасс я хз, то это результат сравнения после ввода не верного пароля. Слева условные, справа безусловные ветвления.



bfc9_06.09.2019_EXELAB.rU.tgz - XM.7z

-----
vx




Ранг: 16.6 (новичок), 1thx
Активность: 0.030.16
Статус: Участник

Создано: 06 сентября 2019 17:00 · Поправил: rukop84
· Личное сообщение · #5

PEvgen пишет:
3 раза перечитал, так и не понял, а трассировка стартует из одной и той-же точки, или вообще хз когда?

трассировка стартует по нажатию клавиш Ctrl+F11, но в txt-лог в моем случае попадает с момента нажатия кнопки OK формы с регистрационными данными (так как перед нажатием кнопки я лог специально очищаю, чтобы не попало туда много ненужного, ну и имя файла с логом также задаю непосредственно перед нажатием этой кнопки OK)

Добавлено спустя 10 минут
difexacaw пишет:
Уже было

за ссылки спасибо, буду вникать, разбираться

difexacaw пишет:
Так как пасс я хз, то

а пароль в данном случае и не требуется знать (вводите любой). Главное, чтобы в 1-м случае логин содержал только буквы (например, 'difexacaw'), а во 2-м еще и цифры (например, 'difexacaw98')
И во 2-м случае будет два сообщения подряд, а в 1-м случае - только одно



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 06 сентября 2019 18:05
· Личное сообщение · #6

Тема про трассировку , хотите не хотите, все равно всплывает)) Помню как меня ругали тут много лет назад за данный подход к делу)))




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 06 сентября 2019 18:13
· Личное сообщение · #7

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

-----
2 оттенка серого




Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 06 сентября 2019 18:17
· Личное сообщение · #8

Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 06 сентября 2019 18:44
· Личное сообщение · #9

Да ладно Вам нашел) https://exelab.ru/f/action=vthread&forum=3&topic=20428&page=0#25



Ранг: 16.6 (новичок), 1thx
Активность: 0.030.16
Статус: Участник

Создано: 06 сентября 2019 20:15
· Личное сообщение · #10

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

А проверил я это очень просто:
- установил бряк на первый адрес, который был записан в трассе и нажал кнопку ОК. Бряк сработал аж после вылетов Плохих сообщений. !!!Но не перехватил их!!!

PEvgen, ваш последний ответ в сообщении вообще никак не относится к обсуждаемой Теме.
p.s.: Профессора Ядра difexacaw я поблагодарил за ссылку, завязанную на решении обсуждаемого вопроса!!!

Мастер Medsft и Учитель f13nd приветствую Вас!!!



Ранг: -1.9 (гость), 3thx
Активность: 0.160.1
Статус: Участник

Создано: 06 сентября 2019 20:42 · Поправил: PEvgen
· Личное сообщение · #11

rukop84 пишет:
вообще никак не относится к обсуждаемой Теме

совершенно верно, но откуда мне про это знать, ведь это не я выкладываю трассировку главного цикла обработки сообщений окна




Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 07 сентября 2019 01:04
· Личное сообщение · #12

PEvgen
Крис умел красиво "описать" даже г*вно на палочке, твоя трассировка застряла в оконном режиме с бесконечным жизненным циклом

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 07 сентября 2019 03:38
· Личное сообщение · #13

Крис был восторженным человеком и писал художественную литературу )




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 07 сентября 2019 06:37 · Поправил: difexacaw
· Личное сообщение · #14

f13nd

А как не явным" ?
Заменять CC на CMOV/jmp ?

Или может использовать VM, что бы блок повторялся - при этом будет виден проход по виртуализирующему коду.

С потоками никаких проблем нет.

Добавлено спустя 18 минут
rukop84

Если ввести с цифрами то из изменений одно ветвление CC 40138B:4013AC

-----
vx





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 07 сентября 2019 07:10 · Поправил: difexacaw
· Личное сообщение · #15

Medsft

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

rukop84

Отладчиком снимать трассу это изврат, используй визор --> Link <-- vx

IN xmc.g_on -> TRUE включает сравнение трасс, до установки флага строится карта исполнения, где помечается каждая инструкция.

OUT xmp.g_up/cp массивы ветвлений.

-----
vx


| Сообщение посчитали полезным: rukop84


Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 07 сентября 2019 09:51
· Личное сообщение · #16

Самый быстрый способ взломать прогу это запустить окно с регистрацией ввести рег данные и после появления сообщения поставить отладчик на паузу и в ольке смотреть Call stack...........

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 07 сентября 2019 10:23
· Личное сообщение · #17

ClockMan

Это если все процедуры связаны прямыми ссылками. Если адрес вычисляется, то место проверки так найти не получится. Например P = f(Key), if hash(P) = const: P().

-----
vx




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 07 сентября 2019 11:13
· Личное сообщение · #18

Способы разные есть...
Тут все зависит "на результат" работать, или получить полное понимание "дизассемблируя в уме"

Да и вообще этот топик порождение устаревших мануалов по устаревшим тулзам, вся более-менее актуальная инфа в инете конечно присутствует, но не зная "высший эльфийский" ее не найти, хорошо хоть по иде что-то свежее на великом и могучем доступно стараниями yashechka, иначе так бы дальше и ездили на BeaEngine ( хотя энтузиасты уже 5.0 колхозят )

| Сообщение посчитали полезным: rukop84


Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 07 сентября 2019 12:21
· Личное сообщение · #19

difexacaw пишет:
Отладчиком снимать трассу это изврат, используй визор

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


0b1c_07.09.2019_EXELAB.rU.tgz - yes_pass.rar

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: -26.7 (нарушитель), 7thx
Активность: 0.060.08
Статус: Участник

Создано: 07 сентября 2019 12:55
· Личное сообщение · #20

difexacaw пишет:
Отладчиком снимать трассу это изврат, используй визор


А как этот визор использовать? Или он только на телепатов расчитан? Я уже в консоли какие только варианты не запускал - результат ноль. На Windows 7 x64, если что. Хочу > отсюда < трассу искомой функции попробовать снять.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 07 сентября 2019 13:05
· Личное сообщение · #21

ClockMan

У Олли два способа трейса, это со входом в процедуры и с выходом из них. Если со входом то в лог сохраняется и нэйтив, из за чего получится переполнение по размеру на событиях гуя. Хотя может можно скипнуть опциями или плагинами не нужные адреса. Если трассировать с выходом из процедур, то в лог попадёт только оконный цикл. В общем же нужна не трасса, а карта исполнения.

Попробовать это отладчиком проделать.. интересно конечно посмотреть что получится
Из за тормозов, палева и глюков олли врядле что заведётся, только примитивные семплы, как этот крэкми. Тогда пропадает смысл метода, по этой причине и не используется.

-----
vx




Ранг: -26.7 (нарушитель), 7thx
Активность: 0.060.08
Статус: Участник

Создано: 07 сентября 2019 13:22
· Личное сообщение · #22

Ну, если я все правильно понял, секретых команд от визора - мне не видать, как собственных ушей.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 07 сентября 2019 13:27
· Личное сообщение · #23

sty

Калькулятор 7-ки, после нажатия about:



> Я уже в консоли какие только варианты не запускал - результат ноль. На Windows 7 x64

Во первых в 64 калькулятор 64, а инструмент 86. А во вторых знаешь способ как через консоль в памяти апп с переменными работать..

-----
vx




Ранг: -26.7 (нарушитель), 7thx
Активность: 0.060.08
Статус: Участник

Создано: 07 сентября 2019 13:44
· Личное сообщение · #24

difexacaw пишет:
Во первых в 64 калькулятор 64, а инструмент 86.


Если нужно, то я могу и на Windows XP или на Windows 7 x32 попробовать это запустить. Лишь бы знать с какими командами запускать и в какой последовательности.


difexacaw пишет:
А во вторых знаешь способ как через консоль в памяти апп с переменными работать..


Не знаю, поэтому и спрашиваю у знающих.



Ранг: 16.6 (новичок), 1thx
Активность: 0.030.16
Статус: Участник

Создано: 08 сентября 2019 19:45
· Личное сообщение · #25

Профессор ядра difexacaw, в общем изучил я тему с визором по ссылке. Инструмент интересный, хочется проверить и протестировать его в действии, но как им пользоваться - загадка.

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

Просьба сделать хоть какую-то понятную инструкцию по работе с инструментом




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 08 сентября 2019 20:08 · Поправил: difexacaw
· Личное сообщение · #26

rukop84

Тот семпл запустил - установил флаг, получил выхлоп, как на скрине у меня. Я что то не помню про видео, небыло его. Если речь про проход по ссылкам, то там ничего не найдёте, я как то удалил весь ядиск.. наверно не нужно это было делать..

Ты ведь и понятия не имел, что такое успешно используется, до того, как тему эту создал. Начали ведь с отладчика, думаю им и следует закончить. А инструменты типо этих предназначены для тех, кто отлично разбирается в механизмах ос. Потому что это нужно собирать - отлаживать - опять собирать, быстро это всё делать при этом понимая как всё устроено и работает. Наврядле вам нужны подробности, принципы работы данной тулзы. Если что то идёт не так, то можно неделю отлаживать разбирая косяк.)

-----
vx




Ранг: 54.0 (постоянный), 49thx
Активность: 0.721.1
Статус: Участник

Создано: 08 сентября 2019 21:34
· Личное сообщение · #27

rukop84 пишет:
Профессор ядра difexacaw

--> Link <--
записал фильм про визор и крекми.

| Сообщение посчитали полезным: rukop84

Ранг: 16.6 (новичок), 1thx
Активность: 0.030.16
Статус: Участник

Создано: 08 сентября 2019 21:37
· Личное сообщение · #28

difexacaw пишет:
Тот семпл запустил - установил флаг, получил выхлоп, как на скрине у меня

даже этого сделать не удается (программа 'Ij.exe' падает при запуске из командной строки)

По логике, если я все правильно понял. Алгоритм действий должен быть такой:
Шаг 1: win + R -> cmd -> C:\NX\Ij.exe (на этом шаге программа падает)
Шаг 2: set IN xmc.g_on = True



Ранг: 54.0 (постоянный), 49thx
Активность: 0.721.1
Статус: Участник

Создано: 08 сентября 2019 21:41
· Личное сообщение · #29

там просто нужно перенести мышкой на него
а так не хватает Гуя и 8-16-32 отладчиков уровня ядра
вот тогда был бы прям хороший инструмент зачем 8-16 например для контроллеров.
но это просто мысли и пожелания. rukop84 может и прикрутите



Ранг: 16.6 (новичок), 1thx
Активность: 0.030.16
Статус: Участник

Создано: 08 сентября 2019 22:21 · Поправил: rukop84
· Личное сообщение · #30

Да-а-а-а, чувствую, что если бы не обучающее видео, то пришлось бы разбираться в данном инструменте и переписываться с его создателем - ВЕКАМИ!!!

SDK, Спасибо Вам Большое


. 1 . 2 . 3 . >>
 eXeL@B —› Вопросы новичков —› Один из методов взлома по Крису Касперскому
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати