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

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

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

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


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

Друзья, всех приветствую! Это третья часть нашего "пывна" :) Сегодня будем изучать работу Stack2.exe (скачать можно ТУТ).
Ссылки на предыдущие части:
Эксплуатация бинарных уязвимостей или учимся «пывнить» (Часть 1 / Stack0)
Реверсинжиниринг PWN-тасков или эксплуатируем бинарные уязвимости (Часть 2 / Stack1)
Stack2
Начнем мы, как обычно, со статического анализа. Запускаем GHIDRA:

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

Друзья всех приветствую! Продолжаем «пывнить» :) Кто не прочитал первую статью — она есть ТУТ!
Перед началом оставлю пару полезных ресурсов:
Теория — Статьи на тему, что такое и с чем едят Buffer Overflow
Практика — Крутые таски на тему PWN от Codeby Games
В этой статье будем решать таск Stack1 (скачать EXEшник можно ТУТ).

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

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

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

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




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

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


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

Всем привет! Меня зовут Виталий Самаль, я старший специалист отдела обнаружения вредоносного ПО экспертного центра безопасности Positive Technologies. Мы с командой отслеживаем актуальные угрозы, анализируем тактики и техники атакующих и на основе этих данных пишем детектирующие правила и модули для MaxPatrol EDR.
Сегодня я хочу поговорить про вредоносное ПО, известное среди экспертов как HIDDENSHOVEL, или GHOSTENGINE. Примечательно то, какие техники используют атакующие на различных этапах его доставки и развертывания для запуска обычного майнера XMRig.
В статье не будет анализа всей цепочки. Вместо этого я сосредоточусь на конкретном модуле под названием kill.png, который может завершать процессы установленных средств защиты, и покажу на примере нашего продукта, как происходит обнаружение этапов заражения. Кроме того, в конце статьи приведу полный список из 1661 процесса в распакованном модуле, которые ВПО принудительно завершает для уклонения от обнаружения.
Спустя месяц в копилку расследований экспертного центра безопасности Positive Technologies (PT Expert Security Center) добавилось еще одно, причем о группировке ExCobalt, за которой мы следим с ноября прошлого года. Напомним: тогда наша команда выяснила, что в составе ExCobalt есть участники небезызвестной APT-группы Cobalt (ее профайл можно посмотреть здесь), которые активны как минимум с 2016 года. ExCobalt поменяла сферу интересов и, в отличие от предшественника, специализируется на кибершпионаже и краже данных.
Этой весной группировка вновь стала заметна на киберпреступной арене и занесла в актив любопытную вредоносную программу, ранние версии которой нам уже встречались во время реагирования на инциденты в ряде российских компаний. Мы назвали найденный бэкдор GoRed — такое имя носил его первый образец, обнаруженный нашей командой.
О главных особенностях хакерского инструмента по традиции рассказываем здесь, на Хабре, а за подробностями приглашаем вас в полный отчет.

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