Как стать автором
Обновить

Облегчаем реверсинг Golang бинарников или зачем вообще писать скрипты в IDA

Время на прочтение4 мин
Количество просмотров18K
Golang — отличный язык. Строгая типизация, сборщик мусора, вызов си функций через cgo, reflect, chan — просто сказка! Очевидно что так считаю не только я, т.к. go популярен, а значит его использует много программистов, а значит есть высокая вероятность что когда-то кому-то понадобится реверсить его бинарники — этим мы сейчас и займемся.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии6

Пишем плагин отладки для SNES игр в IDA v7

Время на прочтение36 мин
Количество просмотров3.5K


Приветствую,


Моя очень старая мечта сбылась — я написал модуль-отладчик, с помощью которого можно отлаживать SNES (Super Nintendo) игры прямо в IDA! Если интересно узнать, как я это сделал, "прошу под кат" (как тут принято говорить).

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии5

Вскрытие покажет: Решаем лёгкий crackme и пишем генератор ключа

Время на прочтение3 мин
Количество просмотров18K
Доброго времени суток читающий. Мне хочется рассказать тебе про алгоритм решения одного лёгкого crackme и поделиться кодом генератора. Это был один из первых crackme, который я решил.

На просторах сети найден был наш подопытный. Это сrackme. Естественно, что необходимо изучить его. Для вскрытия нам понадобиться:

  • Немного языка Assembler
  • Логика вместе с отладчиком (IDA PRO)

Лекарство изготовим из яда австралийской змеи с помощью Python. Не будем терять времени.

image

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Еще одна стажировка, или сказ про реверс IP-камеры

Время на прочтение14 мин
Количество просмотров12K

Давайте представим, что вы студент старших курсов вуза по какому-нибудь околоИБшному направлению или специалист в смежной области, желающий сменить сферу деятельности на исследование защищенности аппаратного или программного обеспечения. Потенциальный работодатель почти всегда требует практический опыт, но как его получить?

Можно выбрать какое-нибудь устройство и самостоятельно ковырять его до победного конца (или полного разочарования в своих навыках). А можно делать подобное в рамках стажировки, где опытные наставники проведут по этому тернистому пути, поддерживая и направляя, если это необходимо.

Далее вас ждет история о том, что я делал на стажировке в НТЦ "Вулкан".

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии6

Интервью с Чуонгом — разрушителем рансомов

Время на прочтение5 мин
Количество просмотров3.3K
Интервью с Чуонгом — разрушителем рансомов.

image

Я. — Самый первый вопрос, который меня волнует — скажи пжста — кто ты по национальности?
Ч. — Я родился и вырос во Вьетнаме.
Читать дальше →
Всего голосов 6: ↑2 и ↓4-2
Комментарии34

«Не только реверс, но и воплощение знаний в коде, инструментах и плагинах»: как работается вирусным аналитиком в PT ESC

Время на прочтение8 мин
Количество просмотров3.3K

И снова привет, Хабр! Это Алексей Вишняков, руководитель отдела обнаружения вредоносного ПО экспертного центра безопасности Positive Technologies (PT Expert Security Center, PT ESC). Сегодня вас ждет нетипичный контент от нашего подразделения: без технических деталей о вредоносах и скриншотов из дизассемблера, не о перехватах на уровне гипервизора и даже не о том, чем отличается Process Doppelgänging от Process Herpaderping. В этом посте мы с коллегами раскроем то, что обычно остается за кадром публичного представления результатов нашей работы, и ответим на вопросы:

· чем занимаются вирусные аналитики, помимо реверс-инжиниринга;

· какие цели мы преследуем — и достигаем (что, кстати, гораздо важнее);

· почему наша работа — это работа мечты (без холивара у этой статьи нет будущего?).

Ранее мы уже приоткрывали дверь в наш мир и рассказывали, как и чем мы живем. Если интересно узнать о [не]технической стороне одного из отделов PT ESC, услышать больше про людей, а не про технологии — оставайтесь. Будем разбираться!

Под кат
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Добавление нового семейства процессоров в IDA pro

Время на прочтение8 мин
Количество просмотров15K
Пришлось не так давно потрошить прошивку от M16C (Mitsubishi/Renesas). С удивлением обнаружил, что оказывается IDA v6.1.xxx не «держит» данное семейство контроллеров, увы. Впрочем, SDK есть в наличии, значит, не страшно – будем исправлять ситуацию. Как показала практика, ничего сверх сложного в написании своего модуля нет (не rocket science, чай).
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии20

Rust'ерзание краба. Пробуем реверсить Rust удобно

Время на прочтение10 мин
Количество просмотров7.3K

Rust как язык программирования только набирает обороты и находит своих почитателей. Он не только предлагает множество надстроек для безопасности кода, но с недавнего времени еще и появился в ядре Linux.

В этой статье мы посмотрим на него с "обратной" стороны, а именно попробуем пореверсить программу, написанную на Rust, и выяснить, что можно сделать, чтобы сделать ее анализ проще. Рассмотрим утилиты, приложения и плагины, а также напишем свой плагин для IDA Pro, Cutter и rizin, чтобы автоматически создать сигнатуры для исполняемого файла без отладочных символов. Поговорим о FLIRT-сигнатурах, их преимуществах и недостатках и о том, можно ли автоматизировать их создание.

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии2

Модернизация IDA Pro. Debugger-плагин. Часть I. Теория

Время на прочтение4 мин
Количество просмотров29K

Всем привет. Я решил попробовать начать цикл статей по модернизации нашей с вами любимой IDA Pro.
В каждом из туториалов я попытаюсь раскрыть довольно таки сложную и мало изученную тему: написание различных модулей:
  • загрузчики;
  • плагины;
  • дебагер-плагины;
  • процессорные модули;
  • скрипты.

И, если процессорные модули, плагины и скрипты — тема все таки более менее раскрытая, то все остальное — практически полный мрак (в конце статьи я дам список литературы и проектов, где есть хоть что-то).

Итак, первая статья из цикла будет посвящена написанию плагина-отладчика, а точнее предварительной теории. В штатной поставке IDA SDK уже имеются исходники основных дебагеров (Windows, Linux, Mac). Но как быть, например, с Amiga, M68000?
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии13

Введение в эксплоитинг и реверсинг (уже не с нуля) с использованием IDA FREE и других бесплатных инструментов

Время на прочтение5 мин
Количество просмотров20K
Привет, Хабравчане.

Для тех кто не знает, совсем недавно Рикардо начал новый курс, который посвящен реверсингу и эксплоитингу. Это продолжение предыдущего оригинального авторского курса, который закончился на 67 главе. Я узнал про курс сразу, так как Рикардо подписал меня на свою рассылку КрэкЛатинос. После появления этой новости я сразу побежал искать папочку с английским переводом и очень обрадовался когда нашел его там. Над английским переводом постарался человек под ником Fare9, за что ему честь и хвала. Также я хочу передать привет и сказать спасибо Ильфаку Гильфанову за его прекрасный инструмент, которым пользуются в каждой стране. Перед ним я снимаю шляпу и делаю низкий поклон.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии30

Видеокурс «Введение в реверсинг с нуля, с использованием IDA PRO. Глава 1»

Время на прочтение1 мин
Количество просмотров12K
Привет, Хабравчане!

Хочу сообщить Вам приятную новость. Уже доступна первая видео-глава из цикла статей — «Введение в реверсинг с нуля, с использованием IDA PRO». Сам видеоролик доступен здесь. Очень красивый PDF файл здесь.

Также здесь можно увидеть какие комплектующие я приобрел в своё время:


А здесь можно посмотреть на компьютер в сборке:


Также, в видеоролике я рассказываю про 99 год, Журнал Хакер, в общем про то, что было и уже не будет. И я очень рад, что я попал в это время, время 90-х и пережил всё это.
Всего голосов 23: ↑21 и ↓2+19
Комментарии34

GHIDRA vs. IDA Pro

Время на прочтение12 мин
Количество просмотров51K


Приветствую,


Думаю, пришла пора. Наболело/накипело/есть мнение. С выходом Гидры ситуация с инструментарием для реверс-инженеров достаточно сильно изменилась. Если раньше выбора чем пользоваться особо не было (здесь не будут упоминаться Binary Ninja, Hopper, JEB или Radare2, потому как в известных мне ИБ-компаниях и комьюнити ими пользуется очень малое количество человек, либо же порог вхождения в некоторые (привет, Радар) очень высок, либо же покрытие архитектур ограничено лишь x86/x64/ARM/ARM64/MIPS), то теперь мы имеем очень мощного конкурента Hex-Rays в лице АНБ с их GHIDRA.

Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии36

IDA Pro и техники реверс-инжиниринга

Время на прочтение27 мин
Количество просмотров99K

0x00 start


; {EN} entry point, do nothing, just run _main {EN}


Статья для начинающих “воинов тьмы”, тех, кто хочет погрузиться в темную сторону силы: реверс-инжиниринг. На нашем “операционном столе” будет небольшой кустарный сервер, который работает по протоколу TCP/IP. Для анализа протокола обмена данными нам поможет стандарт де-факто в области реверса — IDA Pro.


Статей по реверс-инжинирингу и по IDA Pro уже написано немало (хотя и не столько, как по PHP), но поскольку процесс реверса — исследовательский, то мысли, как с "другого боку" подойти к задаче обратной разработки, полезны новичкам. По крайней мере, как автор, я руководствовался тем, чтобы изложить основные практики и техники, о которых говорю в первые дни всем стажерам и на первых парах курса по реверс-инжинирингу в университете.


Чего не будет в статье?

Поиска уязвимостей и разработки эксплоитов для Google Chrome или Apple iPhone… Поэтому если вы исследователь со стажем и с большим количеством CVE на счету, маловероятно, что вы найдете для себя что-то новое.



"Once you start down the dark path, forever will it dominate your destiny".

Читать дальше →
Всего голосов 19: ↑18 и ↓1+26
Комментарии32

Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 2

Время на прочтение12 мин
Количество просмотров11K

Представляем вашему вниманию вторую часть статьи о реверс-инжиниринге прошивки устройства «Мигающий носорог» по мотивам мастер-класса на конференции SMARTRHINO-2018.

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

Во второй части будет выполнен анализ оставшихся тасков прошивки.

Напомню, после анализа Bluetooth-таска в части управления светодиодами, было решено переключиться на LED-таск, так как исходная задача – создать приложение для управления светодиодами, а для этого необходимо детальное понимание работы прошивки.

Файл прошивки доступен для самостоятельного изучения.

Вся информация приводится исключительно в образовательных целях.

Под катом много мигающего носорога.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии0

Введение в эксплоитинг и реверсинг с использованием IDA FREE и других бесплатных инструментов. Глава 2

Время на прочтение15 мин
Количество просмотров9.2K
В первой части мы установили несколько инструментов, которые будут полезны для нас для прохождения этого курса. Их особенность в том, что они все бесплатны. Мы не будем использовать какой-либо платный инструмент, а из тех, у которых есть платная версия, таких как IDA или PYCHARM, мы будем использовать версию FREE или COMMUNITY.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+3
Комментарии0

Изучаем Bootmgr. Часть 1 — инструментарий и основные принципы отладки начальных этапов загрузки ОС Windows

Время на прочтение12 мин
Количество просмотров50K

Введение


Возможно некоторые читатели помнят мою самую первую статью на ресурсе, посвященную загрузке Windows с VHD-образа. Возможно я бы и не вернулся к этой теме, если бы не нашлись люди, попытавшиеся повторить данную технологию на своих домашних машинах. Естественно, с реализацией этого решения возникли проблемы, касающиеся в основном тех ошибок, которые выплевывает bootmgr в тех случаях, когда ему что либо не нравится. Попытки интерпретации ошибок загрузки вроде 0xc03a0003 путем гугления к особо ценным результатам не приводят, а документация Microsoft на этот счет хранит многозначительное молчание. Возникла идея изучить процесс обработки VHD-образов, получив информацию из первых рук, то есть от самого загрузчика.


Если обратится к уже имеющейся в сети информации, то существует замечательный блог "Записки эникейщика о Windows" на страницах которого (раз, два и три) размещены, на мой взгляд, самые ценные сведения, по вопросам устройства bootmgr. Автор подробно рассмотрел процесс загрузки, включая исследования кода MBR и PBR, остановившись на структуре bootmbr, кратко описав происходящие при его работе процессы.


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

Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии10

Введение в IDAPython

Время на прочтение13 мин
Количество просмотров21K


На русском языке (и на Хабре, в частности) не так много статей по работе с IDAPython, попытаемся восполнить этот пробел.


Для кого. Для тех, кто уже умеет работать в IDA Pro, но ни разу не писал скрипты на IDAPython. Если вы уже имеете опыт написания скриптов под IDAPython, то вряд ли найдёте здесь что-то новое.


Чего здесь не будет. Мы не будем учить программированию на Python и базовой работе в IDA Pro.

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии9

История одного вскрытия: как мы ревёрсили Hancitor

Время на прочтение7 мин
Количество просмотров7.1K


Для тех, кто уже наигрался с задачками crackme, мы подвезли свежего троянца. В дикой природе загрузчик Hancitor еще встречается в своей естественной среде обитания — спам-рассылках. В настоящее время он активно используется для прогрузки банковского трояна Panda, который является модификацией небезызвестного Zeus.

В один холодный летний вечер мы встретились с ним лицом к лицу, просматривая почтовый спам. Если любите смотреть, что там у вредоносов «под капотом», почитайте наш новый реверс-разбор.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии8

IDA Pro: каким не должен быть SDK

Время на прочтение5 мин
Количество просмотров13K

Приветствую,



Эта статья будет о том, как не нужно делать, когда разрабатываешь SDK для своего продукта. А примером, можно даже сказать, самым ярким, будет IDA Pro. Те, кто хоть раз что-то разрабатывал под неё и старался поддерживать, при чтении этих строк, наверняка, сейчас вздрогнули и покрылись холодным потом. Здесь я собрал опыт сопровождения проектов, начиная с IDA v6.5, и заканчивая последней на момент написания статьи версии — v7.5. В общем, погнали.

Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии11

Reverse engineering тестового crackme от Лаборатории Касперского

Время на прочтение2 мин
Количество просмотров29K
Приветствую сообщество! Давным давно, в 2013 году на Хабре был опубликован пост «Reverse engineering на собеседовании: как мы нанимаем на работу». В нём был предложен тестовый crackme для претендентов на позицию вирусного аналитика. Убедившись, что полного разбора тестового файла в интернете нет, я решил написать свой разбор. Итак, приступим. Crackme 64-разрядный. Запустим его в IDA Pro.

image

Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии23