Все потоки
Поиск
Написать публикацию
Обновить
178.74

Реверс-инжиниринг *

Расковырять и понять как работает

Сначала показывать
Порог рейтинга
Уровень сложности

Сколько, реально, lossless треков в Яндекс Музыке

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров112K

Хабр, привет!

Я Беслан, IT-шник по любви, искренне увлеченный этим всем.

Люблю ковыряться в коде, писать код, прошивать всё что можно, поднимать инфру на линуксах, собирать роботов, datascience, нейронки, LLM-ки, и много ещё всего такого, вы поняли.

Помимо всего этого, я очень люблю хороший звук.
Не могу назвать себя прям аудиофилом, ибо провода никогда не прогревал, и усилок на пирамидки не ставил.
Но всё равно люблю хороший звук:

Читать далее

На что способен инженер, загнанный в угол (или как устроен Display Port у Aspeed AST2600)

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров10K

Дано:
Серверная плата с самым свежим чипом от Aspeed. На плате распаяны два видео-разъема, идущих напрямую с чипа: VGA и DisplayPort. Видео через древний аналоговый VGA-разъём воспроизводится замечательно, а вот современный быстрый и цифровой DP работать не хочет. Не то чтобы совсем не хочет... так, редкие нестабильные промаргивания картинки.

Задача:
1. Починить выводимое на Display Port изображение.
2. Вчера

Вы спросите, зачем нам понадобился именно DP? Все сервера испокон веков работали через VGA, и никто от этого не страдал.

Ответ простой: Мы просто решили сделать лучше и удобнее. VGA древний и его уже ставят по причине "всегда ставили, куда без него"? Мы же делаем НОВУЮ серверную платформу на годы вперед. Нужно сказать, что мы пока не отказались полностью от VGA и технически он всё ещё остается доступен одновременно с DP (как VGA использовать, расскажем в другой раз). Но монитор без разъема VGA попадается всё чаше, а в будущем все мониторы останутся без VGA. DP поддерживает hot-plug. DP поддерживает высокие разрешения и frame-rate. И в конце концов, DP поддерживается чипом ASPEED. А раз железо позволяет, то "А почему бы и ДА!?". В конце концов, для олдов остаются доступны переходники DP-VGA. Главное, не увлекаться и не получить такое:

Читать далее

Просто о сложном: как я написал книгу по реверс-инжинирингу встраиваемых систем

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров7.7K

Большую часть своей карьеры я руководил какими-то коллективами: брал себе стажеров, кого-то курировал, больше 10 лет преподавал в Бауманке. Мне всегда хотелось делиться своими знаниями. И в какой-то момент я понял, что у меня нет источника информации, который я могу дать человеку со словами: «На, прочитай, и на многие вопросы, которые тебя сейчас, в самом начале пути, мучают, ты получишь ответы — кратко, сжато и в доступном виде».

И тогда я подумал, что было бы неплохо написать книгу...

Читать далее

Анализ виртуальной машины на примере VMProtect. Часть 2

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.3K

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

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

Анализировать!

Как хакеры ломают облачную инфраструктуру хостинг-провайдера: кейс Standoff

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.6K

В марте мы рассказывали, как хакеры ломают банки (за 48 часов!) и какие ИБ-продукты их защищают. Standoff 13 принес нам новые кейсы. Начнем с разбора взлома облачной инфраструктуры хостинг-провайдера Nodenest, который работал в вымышленном Государстве F. Вас ждет история о том, как продукт для защиты контейнерных сред PT Container Security (PT CS) поймал крайне интересный kill chain на уровне рантайма.

Погнали!

Вскрываем средства для DDoS-атак на российскую ИТ-инфраструктуру. Часть вторая

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров5.5K

По разным источникам, в 2023 году было зафиксировано несколько миллионов DDoS-атак на российские информационные системы. И судя по статистике, их количество только растёт. В связи с этим, а также по многочисленным просьбам коллег мы решили углубить наше исследование и более подробно разобрать средства используемые для этих атак и продемонстрировать возможные подходы для их анализа.
Хотите узнать о том, как мы проанализировали несколько инструментов таких атак? Добро пожаловать под кат!

Disassemble

И бесплатную проходку на OFFZONE 2024, и работу мечты за день. Чудеса? One Day Offer

Уровень сложностиСредний
Время на прочтение1 мин
Количество просмотров2.1K

Если вы уже давно хотите стать частью команды BI.ZONE, это ваш шанс, потому что на OFFZONE 2024 мы проведем One Day Offer. Запускаем конкурс, три победителя которого получат бесплатные проходки на конференцию. В этом году ищем специалистов по обратной разработке — для них и задания.

Каждый участник OFFZONE 2024 получит шанс пройти интервью и присоединиться к команде BI.ZONE в тот же день. Просто приходите на наш стенд 22–23 августа.

Читать

Аналоговый «Цифрал». Оживляем самый простой домофон на дискретной логике

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.7K
Приветствую всех!

Не так давно я уже рассказывал про отечественные домофоны, построенные исключительно на микросхемах логики 561 серии. Но сейчас мы отойдём от древних «Визитов» и рассмотрим совершенно иной по конструкции девайс, который в чём-то даже интереснее предыдущих.



Итак, в сегодняшней статье поговорим про аналоговые домофоны Cyfral M-2, M-4, M-10 и M-20. Узнаем, чем они так примечательны, и детально рассмотрим их схемотехнику. Традиционно будет много интересного.
Читать дальше →

Реверс-инжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 4 / Stack3)

Уровень сложностиСредний
Время на прочтение1 мин
Количество просмотров1.1K

Всем доброго времени суток! Набираем обороты... Сегодня мы будем 'пывнить" stack3.exe (ссылочка на файл, как обычно, на Github).

Stack3

Закидываем в Ghidra:

Читать далее

А что, если записать звук на бумагу?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров14K
Картинка Freepik

Достаточно много времени назад мне пришла в голову такая странная мысль — а что, если звук записывать на бумагу?

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

Бинарные уязвимости и способы борьбы с ними

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров5K

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

Бинарные уязвимости — это уязвимости исполняемых файлов, библиотек и объектного кода, которые позволяют перехватывать поток управления и запускать код злоумышленника. Это может обернуться не только компрометацией персональных данных, но и финансовыми потерями как для компаний, так и для пользователей.

Читать далее

Реверсинжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 3 / Stack2)

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.1K

Друзья, всех приветствую! Это третья часть нашего "пывна" :) Сегодня будем изучать работу Stack2.exe (скачать можно ТУТ).

Ссылки на предыдущие части:

Эксплуатация бинарных уязвимостей или учимся «пывнить» (Часть 1 / Stack0)

Реверсинжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 2 / Stack1)

Stack2

Начнем мы, как обычно, со статического анализа. Запускаем GHIDRA:

Читать далее

Реверс алгоритма поиска устройств в сети

Уровень сложностиСредний
Время на прочтение32 мин
Количество просмотров3.3K

При создании оконного клиента под MS-Windows для удалённого взаимодействия с LED-матрицами стояла задача сделать автоматический поиск всех табло в сети. Моей первой идеей было перебирать все существующие IP-адреса конкретной подсети, по очереди посылая на них запросы и ожидая что одно или несколько устройств отправят соответствующий ответ. Я быстро отказался от этой задумки, ведь подобный брутфорс будет сильно нагружать сеть, да и сам алгоритм не самый быстрый. Других идей по реализации на тот момент у меня не было. Мне предоставили копию другого клиента, где поиск осуществляется моментально по нажатию одноимённой кнопки, а приложение в табличном виде выводит IP и MAC-адреса с рядом другой информации об обнаруженных матрицах, если таковые нашлись. Эти данные затем могут быть использованы для подключения, конфигурации и отправки команд на найденные устройства. Не имея исходного кода, я подготовил дизассемблеры, отладчики и hex-редакторы, готовясь к глубокому анализу и разбору проприетарного алгоритма поиска, чтобы реализовать что-то подобное уже в своей программе.

Читать далее

Ближайшие события

Реверсинжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 2 / Stack1)

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.3K

Друзья всех приветствую! Продолжаем «пывнить» :) Кто не прочитал первую статью — она есть ТУТ!

Перед началом оставлю пару полезных ресурсов:

Теория — Статьи на тему, что такое и с чем едят Buffer Overflow

Практика — Крутые таски на тему PWN от Codeby Games

В этой статье будем решать таск Stack1 (скачать EXEшник можно ТУТ).

Читать далее

Недокументированные функции загрузки DLL. Стек вызовов LoadLibrary

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров6K

Рассмотрели способы загрузки DLL и написали инструмент загрузки библиотек с нестандартным способом получения адресов функций.

Читать далее

Приглашение на свадьбу, новое приложение банка и статья про изучение английского: как теперь воруют СМС

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.3K

В последнее время злоумышленники все чаще используют в качестве управляющего сервера (C2) Telegram. Вспомним хотя бы группировку Lazy Koala, о которой рассказывали здесь недавно. Колоссальное количество сообщений, огромное число жертв и каждодневное появление новых ботов и чатов в Telegram привлекли наше внимание, и мы занялись исследованием этого «всплеска». В ходе исследования мы обнаружили связанные с чатами СМС-стилеры из Индонезии. Подробнее об этом можно почитать в расширенном материале.

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

Подробнее

Побеждаем компилятор в скорости при помощи ассемблера

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров8.9K

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

Тем не менее, иногда до нас доносятся слухи.

Написанные в древних томах, подслушанные в тайных покоях, начертанные на стенах разрушенных храмов, упоминаемые в загадочных текстах, они рисуют чёткую картину:

Компиляторы плохо справляются с генерацией кода для интерпретаторов, и можно превзойти их, написав интерпретатор на языке ассемблера.
Читать дальше →

Эксплуатация бинарных уязвимостей или учимся «пывнить» (Часть 1 / Stack0)

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров2.5K

Всем привет! В этой серии райтапов мы разберем известные задания по эксплуатации бинарных уязвимостей с Exploit Exercises (там их больше нет, поэтому я их перекомпилировал под Win). О том, что такое Buffer Overflow прекрасно и с примерами написано ТУТ (отличная статья от @Mogen). Кстати говоря, много крутых задачек на тему PWN есть на Codeby Games, так что рекомендую :)

Итак... мы будем решать наши задачки, используя статический (Ghidra) и динамический анализ (x64dbg). И самое главное, мы будем делать это без исходников уязвимой программы, в отличие от того, как это сделано ТУТ и ТУТ.

Stack0

Для решения этой задачки я буду использовать свою «песко‑реверс‑лабораторию», где у меня уже все «стоит» :)

Читать далее

Реверс-инжиниринг умных часов

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров13K

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

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

Автомашинист. Intel Atom водит поезда

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.6K
Приветствую всех!

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



Итак, в сегодняшней статье поговорим про устройства автоведения ещё более поздних версий, нежели я показывал ранее. Узнаем, что у них внутри и на какой операционной системе они работают. Традиционно будет много интересного.
Читать дальше →

Вклад авторов