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

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

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

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

Шпаргалка полезных команд GDB

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

Для кого она нужна?


1) начинающих реверсеров, знающих особенности обратного проектирования, и желающих изучить такой отладчик как GDB


2) как подсказка тем кто постоянно работает с IDA, Ghidra или любым другим мощным и надежным инструментом, но в силу тех или иных обстоятельств решить задачу проще и быстрее с помощью GDB, и не очень хочется залезать в официальную документацию и снова все вспоминать

Читать дальше →

Причуды обратной совместимости

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

Вряд ли кто-нибудь слышал об операционной системе DOS-777. А такая реально существовала. Правда, в действительности это была самая обычная MS DOS с незначительными изменениями, предназначенная для работы на единственном компьютере и выполнения одной единственной программы. Своим появлением этот клон в некотором роде обязан проблеме обратной совместимости. Но обо всем по порядку.

Новая и важная программа вдруг повела себя совершенно загадочным образом. Это настолько взбесило ее авторов, что было решено дисассемблировать MS DOS, разобраться в нюансах ее работы и найти причины странных ошибок. Сейчас, даже в запальчивости, вряд ли кто-то решится дисассемблировать, например, Windows-10 и разобраться во всех ее особенностях. Но тогда, в начале 90-х, когда ОС представляла собой три сравнительно небольших файла, их дисассемблирование и анализ заняли недели две.

Читать далее

Обратный осмос: от ремонта до модернизации, или контроллер ZJ-LCD-F7 от китайских умельцев, и его доработка

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

Фильтр обратного осмоса для питьевой воды. Стоит где-то в тумбочке/под мойкой/под столешницей. В удобное место выведен только кран: открыл - вода бежит, закрыл - не бежит. Что может быть проще? Но пытливого пользователя частенько "сверлят" вопросы: а чистая ли там еще вода? а может уже просрочен срок смены картриджей? а может мембрана уже выработала ресурс и вода бежит почти что из крана? а сколько воды убегает в канализацию - я ж за нее по счетчику? а если не в городскую канализацию, а в выгребную емкость, которую регулярно нужно выкачивать?

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

Читать далее

Исполняемые PNG: запускаем изображения как программы

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

Это изображение и одновременно программа

Несколько недель назад я читал о PICO-8, выдуманной игровой консоли, обладающей большими ограничениями. Особо мой интерес привлёк новаторский способ распространения её игр — кодирование их изображение PNG. В него включается всё — код игры, ресурсы, вообще всё. Изображение может быть любым: скриншоты из игры, крутой арт или просто текст. Чтобы загрузить игру, нужно передать изображение на вход программы PICO-8, и можно начинать играть.

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

Blackrota, сильно обфусцированный backdoor, написанный на Go

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

Самый обфусцированный ELF вредонос на Go, который мы встречали на сегодняшний день.

Предисловие

Недавно, вредоносный бэкдор, написанный на Go, который эксплуатировал уязвимость несанкционированного доступа в Docker Remote API, был пойман на Honeypot Anglerfish.

Мы назвали его Blackrota, так как его С2 домен blackrota.ga.

В настоящий момент бэкдор Blackrota доступен только для Linux, в ELF формате и поддерживает x86/x86-64 архитектуры.

Blackrota сконфигурирован и скомпилирован на основе geacon - CobaltStrike Beacon реализации на языке Go, используемого в качестве CobaltStrike Beacon, который взаимодействует с CobaltStrike для управления скомпрометированным хостом:

Читать далее

Самая хитрая защита флоппи-дисков

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

Введение


Недавно я затеял одиссею по изучению защит гибких дисков

В своих предыдущих постах я уже рассказывал (напрямую или косвенно) о примерах интересных схем защиты гибких дисков:

  • Слабые биты. [ссылка: Weak bits floppy disc protection: an alternate origins story on 8-bit]. Защита «слабыми битами» реализуется так: часть поверхности диска оставляется пустой изменений потоков намагниченности. В условиях отсутствия сигнала привод гибких дисков повышает коэффициент усиления своего усилителя и видит шум, проявляющий себя как недетерминированные цифровые сигналы с диска.
  • Нечёткие биты. [ссылка: Technical Documentation — Dungeon Master and Chaos Strikes Back — Detailed analysis of Atari ST Floppy Disks]. При защите «нечёткими битами» изменения потоков намагниченности записываются с интервалами, отличающимися по времени от спецификации (например, MFM). Благодаря использованию интервалов прямо посередине пары ожидаемых значений (например, 5 мкс вместо ожидаемых 4 мкс или 6 мкс) можно заставить контроллер дисков возвращать недетерминированные цифровые сигналы.
  • Длинные/короткие дорожки. [ссылка: Turning a £400 BBC Micro (1981) into a $40,000 disc writer (1987)] [см. раздел «Capabilities Unlocked»] [Перевод статьи на Хабре]. При защите длинными дорожками запись переходов намагниченности выполняется чуть быстрее, чем обычно. Это может быть целая дорожка или только её часть. В любом случае, будет казаться, что дорожка содержит больше байтов, чем обычно должно быть в дорожке. Такая защита работает, потому что у контроллера гибких дисков обычно есть широкий допуск на битрейт, чтобы учитывать тот факт, что дисковые приводы естественным образом крутятся на разных скоростях.

В этой статье мы рассмотрим совершенно иную защиту, обладающую уникальными особенностями, которая мне кажется довольно изобретательной.
Читать дальше →

Подключаемся к станку по изготовлению профлиста и считываем из него прокатную длину

Время на прочтение2 мин
Количество просмотров6.8K
Год назад на завод, на котором я тогда работал, обратились с просьбой сделать устройство, которое считывает длину листового рулонного железа пройденную через станок по изготовления профлиста. Один из руководителей отказался со словами «Не делай добра и зла не получишь». Мой начальник подкинул мне эту халтурку.

При встрече все оказалось довольно банально. Станок выглядел примерно как на картинке:

image

Три этюда о пиратском софте: как скачанная программа может втянуть вас в киберпреступление

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


Случалось такое: надо срочно найти утилиту под специфическую задачу, например, «конвертер видео», но точного названия не знаешь и надо гуглить? Другие пытаются сэкономить и сразу используют установщик для пиратского софта. Перейдя по первой же ссылке в поисковой выдаче и обнаружив заветную кнопку Download, пользователь без особых раздумий запускает скачанный софт, даже не подозревая, какую опасность может скрывать обычный, на первый взгляд, файл. Илья Померанцев, руководитель группы исследований и разработки CERT-GIB, рассматривает три кейса, жертва которых могла стать «входными воротами» для вредоносной программы и даже случайным соучастником хакерской атаки. Помните: 23% пиратских ресурсов представляют опасность — содержат вредоносные программы либо присутствуют в «черных списках» антивирусных вендоров.
Читать дальше →

Как устроено множество Мандельброта. Хвост

Время на прочтение9 мин
Количество просмотров6.1K
image
Хвостом будем считать череду структур к западу от центральной кардиоиды вдоль по отрицательной части вещественной оси. В этой области таится целая бездна деталей. А в деталях, как известно, кроется дьявол … и его малютки.
Читать дальше →

Обновки AgentTesla: командный центр в Telegram, TorProxy, стилер паролей и другие новые фичи

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

Недавно мы писали про протектор, который скрывает вредоносную программу AgentTesla, заслуженного пенсионера на рынке вредоносного ПО. Однако AgentTesla и не думает уходить со сцены, своей популярностью он обязан в том числе постоянной поддержке продукта разработчиками — в этом году авторы AgentTesla снова обновили свой стилер. Илья Померанцев, руководитель группы исследований и разработки CERT-GIB, рассказывает о новых возможностях AgentTesla.
Читать дальше →

«Улов» на The Standoff: о многообразии пойманных троянов

Время на прочтение6 мин
Количество просмотров2.7K
С 12 по 17 ноября 2020 года на киберполигоне The Standoff прошла крупнейшая битва между командами атакующих и защитников. Действия разворачивались в течение 123 часов в городе FF — цифровом двойнике мегаполиса с характерной инфраструктурой: морским портом, аэропортом, нефтяным месторождением, деловым центром, парком развлечений и другими объектами.



Двадцать девять команд атаковали инфраструктуру, добиваясь реализации бизнес-рисков, опасных для различных компаний, работающих в городе, а другие шесть команд мониторили и изучали активность нападающих, тренировали навыки противодействия и расследования инцидентов. В общем, все как в жизни. Хотя кроме нападающих и обороняющихся была еще третья сторона, которая пристально наблюдала за их действиями, — глобальный SOC (подробнее о нем читайте в другой нашей статье). Прозванный Большим Братом, SOC объединил несколько команд PT Expert Security Center, которые в режиме нон-стоп анализировали события при помощи специальных средств защиты. Одной из таких команд был отдел обнаружения вредоносного ПО, который с помощью песочницы PT Sandbox вылавливал и исследовал троянские программы «редтимеров». Напомним, PT Sandbox может:

• сканировать файл правилами PT ESC,
• сканировать файл движками внешних антивирусных вендоров,
• обнаруживать вредоносную активность после запуска в изолированной среде поведенческими правилами,
• анализировать сетевой трафик правилами PT Network Attack Discovery,
• анализировать дампы процессов правилами PT ESC.

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

Modern Reverse Engineering: TTD

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

Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эффективными для решения поставленных задач. Что значит интуитивными и простыми? Это когда не нужно тратить время на синтаксически сложные для запоминания конструкции языка и писать чистый код, который не нужно разбирать часами, чтобы понять что он делает.

Статья расскажет о способах анализа современных языков программирования на примере Crackmes. Среди исследуемых языков: 

•   Go

•   Python

•   Rust

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

Читать далее

След протектора: как киберпреступники прятали стилеры в презентации от «подрядчика МГУ»

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


"Привет из МГУ. М.В.Ломоносов,
Внимание: по рекомендации вашей компании мы выступаем в качестве подрядчика МГУ. М.В.Ломоносова под руководством доктора философских наук. Виктор Антонович Садовничий. Нам нужно ваше предложение по нашему бюджету на 2020 год (прилагается). Подайте заявку не позднее 09 ноября 2020 года. Спасибо и всего наилучшего
".

Получатель этого странного послания, даже очень далекий от научных кругов, сразу обратит внимание на две вещи: как безграмотно оно написано, а, во-вторых, ректор МГУ может быть философом лишь по состоянию души — Виктор Антонович на самом деле доктор физико-математических наук, но никак не философских.

СERT Group-IB подтвердил догадку — сентябрьские почтовые рассылки от имени руководства МГУ им. М.В. Ломоносова — фейковые, более того они несли «на борту» популярные вредоносные программы для кражи данных (Data Stealer) — Loki или AgentTesla . Однако сегодняшний пост не про них, а об одном незаметном помощнике — протекторе, которые защищает программы-шпионы от обнаружения. О том, какие техники использует этот протектор и как аналитикам удалось сквозь них добраться до исполняемого файла AgentTesla, рассказывает Илья Померанцев, руководитель группы исследований и разработки CERT-GIB .
Читать дальше →

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

Реверсим и улучшаем SATA контроллер

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

Вы когда-нибудь задумывались, как много вокруг умной электроники? Куда ни глянь, натыкаешься на устройство, в котором есть микроконтроллер с собственной прошивкой. Фотоаппарат, микроволновка, фонарик... Да даже некоторые USB Type C кабели имеют прошивку! И всё это в теории можно перепрограммировать, переделать, доработать. Вот только как это сделать без документации и исходников? Конечно же реверс-инжинирингом! А давайте-ка подробно разберём этот самый процесс реверса, от самой идеи до конечного результата, на каком-нибудь небольшом, но интересном примере!

Читать далее

Пасхалка в APK-файлах: что такое Frosting

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


Автор: Константин Молодяков


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


Я наткнулся на одну особенность APK-файлов — специальную подпись с особым блоком метаданных, Frosting. Она позволяет однозначно определить, распространялся ли файл через Google Play. Эта подпись будет полезна для антивирусных вендоров и песочниц при анализе вредоносов. Кроме того, она может помочь криминалистам при поиске источника файла.


Информации об этом практически нет. Удалось найти только раздел Security metadata in early 2018 в Android Developers Blog и утилиту Avast, которая позволяет проверить данную подпись. Я решил изучить эту штуку, проверить корректность предположений разработчиков Avast о содержании Frosting-блока и поделиться своими выводами.

Читать дальше →

Без шума и пыли: разбор RAT-троянов на базе Remote Utilities

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


В ноябре 2020 года вирусная лаборатория «Доктор Веб» зафиксировала рассылку фишинговых писем корпоративным пользователям. Злоумышленники попытались применить классический метод социальной инженерии, чтобы заставить потенциальных жертв открыть вложения. В качестве вредоносной нагрузки письма содержали троянские программы, обеспечивающие скрытую установку и запуск утилиты Remote Utilities, установочные компоненты которой также находились в составе вложения. При неблагоприятном стечении обстоятельств, компьютеры сотрудников были бы доступны для удаленного управления без каких-либо визуальных признаков работы программы. В статье мы рассмотрим механизмы распространения и заражения используемых RAT-троянов.
Читать дальше →

Устраняем старый баг в NVIDIA GeForce Experience

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

Предыстория


Несколько месяцев назад я решил попробовать сыграть в Microsoft Flight Simulator 2020. Копия нашей планеты, созданная Asobo при помощи фотограмметрии и машинного обучения, казалась подходящим местом для отдыха в эти трудные времена.

Я подключил свой верный беспроводной джойстик Logitech Freedom 2.4 и поднялся в небеса.



Спустя несколько часов полётов вокруг моей альма-матер и дома, в которой я провёл детство, настало время закругляться. Я настроил свой компьютер так, чтобы мониторы отключались через несколько минут неактивности, поэтому быстро понял, что больше они не отключаются.
Читать дальше →

Создаём модчипы для PlayStation 1

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

В детстве у меня была PlayStation 1 (PS1). Одна из первых, если не самая первая моя консоль, сильно повлиявшая на моё будущее.

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

Перенесёмся в день сегодняшний: у меня уже нет моей первой PS1. Припоминаю, что некоторые игры перестали загружаться и я купил себе PS2. Поэтому зачем хранить старую консоль? Оказалось, это нужно из-за ностальгии и воспоминаний. Мы скучаем о том, чего больше нет.

Недавно друг подарил мне PS1. И так началось моё приключение: как мне модифицировать эту штуку?
Читать дальше →

Frida изучаем эксплуатацию алгоритмов Heap

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

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

Все примеры в статье будут касаться атак на кучу в операционной системе Linux, поэтому запасаемся терпением и попкорном.

Читать далее

Датчики давления в шинах автомобиля: пробуем провести DoS-атаку

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


Датчики TPMS (Tire-pressure monitoring system, системы мониторинга давления в шинах) активно изучались множество лет назад. Они периодически передают давление в шинах, температуру и уникальный ID, которым можно злоупотреблять для слежения за транспортным средством. Однако существует и ещё один аспект: современные датчики TMPS также имеют приёмник, который обычно используется для включения передачи данных, когда в автомобиле появляется новый датчик TPMS («процедура обучения»).

У нас в Европе датчики TPMS обычно передают сигналы в диапазоне 433 МГц (предназначенном для ISM — промышленности, науки и медицины). Приёмник работает на частоте 125 кГц, очень близкой к LF RFID. Проще всего использовать приёмник, поискав наличие несущей частоты 125 кГц, а затем включив передачу данных. Современные датчики обычно более совершенны и используют модулированную несущую, содержащую пакеты команд; передача данных включается, только если получена правильная команда.

Если у вас есть приёмник, то, разумеется, вы можете не только включать передачу данных: например, в нём может быть поддержка различных команд, а некоторые датчики даже позволяют выполнять таким образом обновление прошивки.
Читать дальше →

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