Обновить
129.22

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

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

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

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

Уровень сложностиСредний
Время на прочтение1 мин
Охват и читатели772

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

Stack3

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели673

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

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

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

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

Stack2

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

Читать далее

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели812

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Подробнее

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

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

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

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

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

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

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

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

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

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

Stack0

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

Читать далее

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

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

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

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

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

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

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



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

Как я взломал штрих-коды продавца билетов TicketMaster

Время на прочтение12 мин
Охват и читатели28K
Недавно я купил билеты на концерт на сайте TicketMaster. Если бы мне отправили обычный распечатываемый билет в PDF, который бы можно было сохранить офлайн на телефоне, то этой статьи никогда бы не было. Но ведь сейчас 2024 год: всё, что делается онлайн, перестало быть простым.

После завершения покупки TicketMaster сообщил мне, что я не смогу распечатать билеты на мероприятие. Сайт выпускает билеты при помощи системы Mobile Entry, он же SafeTix. Они имеют вид обновляемого штрих-кода, отображаемого в веб-приложении или приложении для Android/iOS TicketMaster.


»Скриншоты не позволят вам пройти», зато позволят инструменты разработчика Chrome

Возможно, я старею, но мне ещё помнятся времена, когда распечатываемые билеты использовались повсюду. Покупатель мог распечатать билеты после приобретения онлайн или даже в кассе (ничего себе!), и принести эти бумажные билеты ко входу на мероприятие. Их можно было сохранять как PDF и просматривать практически на любом устройстве. PDF-билетами можно пользоваться, даже когда у телефона нет подключения к Интернету. Бумажными билетами можно пользоваться, даже когда у тебя нет телефона. Если я покупал билет в официально продающей их компании (а не у подозрительного посредника), то точно знал, что он настоящий. Не было никакой опасности, что тебя с этим билетом не пустят. Можно было спокойно отправлять их друзьям по WhatsApp, iMessage, Signal, электронной почте или даже передавать распечатанные билеты из рук в руки.
Читать дальше →

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

Зачем искать поверхность атаки для своего проекта

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2K

Любые программные системы включают в себя нужные и не очень нужные пакеты. Получается огромный объём кода (для одного несложного сайта npm list -a выдаёт список из 4256 зависимостей). А так как «весь код — это ваш код», то такие зависимости надо тестировать. И регулятор требует, да и просто собственные продукты хочется защитить от вторжений, утечек и других неприятностей.

Читать далее

YoungLotus – анализ китайского вредоноса

Время на прочтение8 мин
Охват и читатели1.9K

В ходе своего анализа ВПО, я наткнулся на вредонос, который ещё не был никем проанализирован. Его имя – YoungLotus, в Интернете очень мало информации по нему. Именно поэтому я решил изучить его и написать эту статью. Как и в прошлой моей статье, я распакую и опишу основные характеристики вредоноса, его методы закрепления, способ коммуникации с C2 и его основные возможности.

Читать далее

Визит-К. Домофон «Бубум» нового поколения

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели10K
Приветствую всех!

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



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

История о том, как Graphviz и бор взломали шифр от Sony

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

Мою первую статью я желаю посвятить истории о том, как я решил заняться исследованием часто встречающихся в модулях PlayStation Portable непонятных байтовых строк. Никакой документации в Homebrew коммьюнити найти не удалось, так что я взялся за дело сам.

Как это было

Что внутри у призрака: разбираемся с вредоносом GHOSTENGINE

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели2.9K

Всем привет! Меня зовут Виталий Самаль, я старший специалист отдела обнаружения вредоносного ПО экспертного центра безопасности Positive Technologies. Мы с командой отслеживаем актуальные угрозы, анализируем тактики и техники атакующих и на основе этих данных пишем детектирующие правила и модули для MaxPatrol EDR.

Сегодня я хочу поговорить про вредоносное ПО, известное среди экспертов как HIDDENSHOVEL, или GHOSTENGINE. Примечательно то, какие техники используют атакующие на различных этапах его доставки и развертывания для запуска обычного майнера XMRig.

В статье не будет анализа всей цепочки. Вместо этого я сосредоточусь на конкретном модуле под названием kill.png, который может завершать процессы установленных средств защиты, и покажу на примере нашего продукта, как происходит обнаружение этапов заражения. Кроме того, в конце статьи приведу полный список из 1661 процесса в распакованном модуле, которые ВПО принудительно завершает для уклонения от обнаружения.

Подробнее

Группировка ExCobalt снова в обойме и обзавелась новым бэкдором на Go

Время на прочтение5 мин
Охват и читатели3.3K

Спустя месяц в копилку расследований экспертного центра безопасности Positive Technologies (PT Expert Security Center) добавилось еще одно, причем о группировке ExCobalt, за которой мы следим с ноября прошлого года. Напомним: тогда наша команда выяснила, что в составе ExCobalt есть участники небезызвестной APT-группы Cobalt (ее профайл можно посмотреть здесь), которые активны как минимум с 2016 года. ExCobalt поменяла сферу интересов и, в отличие от предшественника, специализируется на кибершпионаже и краже данных.

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

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

Больше о бэкдоре

Защита iOS-приложений от реверс-инженеринга

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

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

Читать далее

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