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

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

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

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

Как я разбирал нестандартный формат 3D-моделей, чтобы показывать Лего у себя на сайте

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

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

Я перепробовал несколько редакторов 3D-моделей Лего (моим главным условием была работа на Linux, либо в вебе), и остановился на онлайн-редакторе Mecabricks. Но, уже перенеся туда несколько из моих творений, понял, что с задачей «показывать всем друзьям» всё будет сложнее: у Mecabricks довольно скудные возможности экспорта, а его собственный формат с расширением .zmbx понимает только он и его плагин для Blender.

Поэтому я решил посмотреть, как этот формат устроен, и написать свой конвертер во что-то более общепринятое. В качестве целевого формата я выбрал glTF, а инструмент незатейливо назвал zmbx2gltf.

В этой статье я расскажу, как постепенно разбирал этот непонятный .zmbx, про устройство и преимущества glTF как формата передачи 3D-ассетов между разными инструментами, и про то, какие проблемы я решал, конвертируя одно в другое.
Читать дальше →

Time-based атаки во вредоносном ПО и противодействие им

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

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

• бита гипервизора в регистре ECX инструкции CPUID(1);

• имени гипервизора в результате выполнения инструкции CPUID(0x40000000);

• имени текущего пользователя или компьютера по списку;

• MAC-адресов сетевых адаптеров, присутствующих в системе;

• количества ядер процессора, общего объема оперативной памяти, размера жесткого диска, разрешения экрана;

• наличия файлов, путей реестра, сервисов, драйверов и процессов, специфичных для виртуальных сред;

• времени, прошедшего с момента последнего запуска системы.

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

Подробнее

Опасные игры: остановка центрифуги для обогащения урана на виртуальной АЭС

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

На кибербитве Standoff 11 в виртуальном государстве F впервые представили атомную промышленность. Задачей атакующих (red team) было реализовать недопустимые события на виртуальной АЭС, а защитников (blue team) — расследовать атаку с помощью продуктов Positive Technologies. Как все прошло? Заглядываем в ретроспективу событий, сохранившихся в SOC, за который на Standoff отвечал наш соорганизатор Innostage. Атаку шаг за шагом распутывает Данил Лобачев, специалист группы обнаружения атак на конечных устройствах экспертного центра безопасности Positive Technologies (PT Expert Security Center).

В атомной промышленности мы выделили основные отраслевые элементы и этапы — от добычи урановой руды до захоронения отходов. По сценарию кибербитвы для атак доступны АЭС (включая электроподстанцию) и завод по обогащению урана.

Узнать больше

Что внутри у однорукого бандита? Разборка, моддинг, и написание кейгена. [Part 1]

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров13K
Дисклеймер: азартные игры опасны для вашего кошелька и психического здоровья.

image

Япония — одна из немногих стран, где по сей день в ходу азартные игровые автоматы. Очень многие популярные в прошлом франшизы аниме и игр находят своё последнее пристанище в завораживающих устройствах, украшенных невообразимым количеством мигающего, кричащего, крутящегося и двигающегося. Да что там говорить, даже знаменитый «Евангелион» сделал как бы не больше прибыли со слот-машин и пачинко-автоматов, чем с самого сериала и кинофильмов вместе взятых!

И вот, в один из походов по барахолкам, моё внимание привлёк как раз один из таких девайсов.
Читать дальше →

Реверс бинарных файлов Golang с использование GHIDRA. Часть 1

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

Язык программирования Go (так же известный как Golang) с каждым днем все больше и больше программистов хотят на нем писать программы. Для хакеров этот язык программирования становится еще более привлекательным за счет кросс-компиляции для различных платформ - Windows, Linux, MacOS. Например, хакеры могут написать загрузчик на Go, внутри может быть ВПО, созданное с использованием более распространенного языка.

На Go также пишутся так называемые дропперы, использующиеся для декодирования, загрузки и установки ВПО. Все идет к тому, что Go, вероятно, будет еще чаще использоваться злоумышленниками. Уже появлялись и шифровальщики использующие Go для шифрования основного вредоносного модуля. Одним из самых примитивных примеров использования Go - написание кроссплатформенного ReverseShell . Отсюда и вытекает необходимость реверс-инжиниринга бинарных файлов написанных на язке Go.

Некоторые особенности языка программирования Go усложняют задачу реверс-инженерам при исследовании бинарных файлов Go. Инструменты обратного проектирования (например, дизассемблеры) могут отлично справляться с анализом двоичных файлов, написанных на более популярных языках (например, C, C++, .NET), но Go создает новые проблемы, которые делают анализ более громоздким.

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

Читать далее

Взлом платных функций Discord Nitro

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

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

Как это возможно?

Читать далее

Разбираем уязвимость в службе очереди сообщений Windows

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

В конце апреля 2023 был опубликован PoC для уязвимости CVE-2023-21769 в сервисе очереди сообщений MSMQ. Это одна из трёх уязвимостей, обнаруженных в MSMQ и запатченных в апрельском обновлении ОС Windows (1, 2, 3). Опубликованный PoC реализует уязвимость отказа в обслуживании сервиса MSMQ. Две другие уязвимости – удалённый BSoD и RCE, названная Queue Jumper. По информации от MSRC с помощью этих уязвимостей можно было взять под контроль практически все версии ОС Windows, на которых доступен и активен MSMQ. Серьёзно, не правда ли?

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

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

Дизассемблировать

Как я вошёл в клуб бага 323

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

Это история о баге, который бы заставил вас рвать на себе волосы. Из-за такого бага вы можете подумать: «Но это невозможно, должно быть, компилятор сломался, других вариантов нет!»

А баг компилятора — это серьёзно: за двенадцать лет программирования на C++ я обнаружил (и написал отчёт) всего... об одном. И могу сказать, что перед отправкой отчёта о баге GCC, я максимально тщательно протестировал и проверил его, чтобы не выглядеть идиотом.

Впрочем, ладно, вот моя история.

Читать далее

Взлом доступа к ядру Windows при помощи драйвера принтера

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

В этой статье приводятся подробности CVE-2023-21822 — уязвимости Use-After-Free (UAF) в win32kfull, которая может привести к повышению привилегий. Отчёт о баге отправлен в рамках программы ZDI, а позже она была пропатчена компанией Microsoft.

В ядре Windows есть три API, предназначенные для общего использования драйверами устройств с целью создания растровых изображений (bitmap): EngCreateBitmap, EngCreateDeviceBitmap и EngCreateDeviceSurface. Каждый из этих API возвращает дескриптор растрового изображения. Если вызывающая сторона хочет выполнить какие-то операции рисования на растровом изображении, то она должна сначала заблокировать это изображение, передав его дескриптор функции EngLockSurface. EngLockSurface увеличивает значение эталонного счётчика растрового изображения и возвращает указатель на соответствующую запись SURFOBJ. SURFOBJ — это расположенная в памяти ядра структура, содержащая всю информацию, связанную с растровым изображением, например, его размер, формат пикселей, указатель на пиксельный буфер и так далее. Подробнее структуру SURFOBJ мы рассмотрим позже.

После вызова EngLockSurface полученный указатель на SURFOBJ может передаваться различным API рисования, например, EngLineTo и EngBitBlt. Полный список этих API рисования можно найти в winddi.h. После того, как вызывающая сторона завершит операции рисования, она должна вызывать EngUnlockSurface. На этом этапе эталонный счётчик растрового изображения снова сбрасывается до нуля, и вызывающей стороне больше не разрешается использовать указатель на SURFOBJ. В конце вызывающая сторона может удалить растровое изображение, вызвав для его дескриптора EngDeleteSurface. Типичное использование этих API показано ниже:
Читать дальше →

Почему здесь так жарко? Взламываем умный кондиционер

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


Многие производители кондиционеров сегодня выпускают устройства, которые можно подключать к Wi-Fi и управлять ими через приложение. Включение кондиционера и охлаждение воздуха дома, пока вы едете с работы — это настоящая мечта. Однако пользоваться приложениями производителей часто не так удобно, как более совершенным ПО для автоматизации дома, которое может интегрироваться с голосовыми помощниками Google и Amazon. Поэтому, когда один из нас переехал в квартиру с умным контроллером кондиционера, одной из приоритетных целей стал взлом этого устройства для работы с Home Assistant.

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

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

Исследуем защиту программ на практике

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

Два года назад взялся писать программу, что помогает выставлять счета за аренду ковров. Прежде бухгалтер держал текст договоров в Word, расписание в Excel, а три дня каждого месяца убивал на подсчеты. Теперь программа сама рассчитает суммы и загрузит счета в 1С.

Компания такая не одна: защищу программу - продам ключи.

Защита программы - трудное дело. Исследую защитные алгоритмы на практике: вытащу из готовых программ, а чтобы никому не вредить, исследую программы, что специально написаны для взлома - crackme или keygenme.

Жребий пал на q_keygenme_1.0 by quetz.

Читать далее

Работа с SIM-картой при помощи Arduino

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

Судебная компьютерно-техническая экспертиза (далее – СКТЭ) основывается на специальных знаниях в сфере электроники, электротехники, информационных систем и процессов, радиотехники и связи, вычислительной техники и автоматизации.

Типовыми объектами СКТЭ являются персональные компьютеры, периферийные устройства (принтеры, модемы и т.д.), микросхемы, мобильные телефоны и т.п.

Одним из типовых объектов СКТЭ является и SIM-карта, которая в рамках уголовного дела может фигурировать как вещественное доказательство, хранящее в себе криминалистически значимую информацию. Особенностями данного типа объектов является возможность их использования мобильными телефонами и иными объектами СКТЭ, оснащенными GSM модулем, как средством доступа к сети связи. Необходимость доступа к вышеназванным сетям и обуславливает наличие SIM-карты в подавляющем большинстве поступающих на исследования мобильных телефонах. При исследовании мобильного телефона эксперт тщательно проверяет наличие в «лотках», предназначенных для подключения SIM-карты, соответствующей контактной смарт-карты. Для проверки наличия SIM-карты эксперт использует соответствующую документацию на мобильный телефон (Например: руководство пользователя) и изучает все описанные в ней возможности подключения SIM-карты. В ряде случаев на телефонах может использоваться нестандартное расположение «лотка» для SIM-карты, а также не исключена возможность модификации внутреннего строения телефона с целью скрыть факт подключения SIM-карты и как следствие, возможность доступа к сети связи. К самой SIM-карте в процессе исследования применяются обычные правила исследования информационных компьютерных средств, в частности: описание объекта с фото и текстуальной фиксацией информации, извлечение информации из объекта средствами аппаратно-программных комплексов, анализ извлеченных данных для ответа на поставленные перед экспертом вопросы, составление заключения. Вне зависимости от наличия SIM-карты в списке поступивших на исследование объектов, эксперт в тексте заключения описывает и исследует ее как самостоятельный объект с привязкой к объекту, поступившему на исследование. Так достаточно типовым является фрагмент заключения в формулировке «из лотка SIM-карты исследуемого объекта исследования была извлечена». После привязки объекта исследования к поступившему объекту SIM-карта может фигурировать в тексте экспертного заключения как самостоятельный объект и все вопросы, поставленные перед экспертом, подлежат разрешению в том числе и в её отношении.

Читать далее

Анализирую прошивки контроллеров Schneider Electric

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

Промышленные контроллеры играют большую роль в промышленности любой страны - транспортировка энергоресурсов, производственные линии на заводах, множество локальных систем управления (водоснабжение, вентиляция и т.д.). А не возникал у вас вопрос - а на чем всё это работает: какие процессоры, ОС, технологии применяются производителями? Основная проблема в том, что даже на сайте производителя чаще всего нет никакой информации, из-за чего приходится лезть в прошивки.

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

Читать далее

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

Притворись моим покойным дедушкой, или Как пройти квест по взлому спутника

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров18K
Череп снова в деле! Рассказываем, как прошёл самый крупный CTF (на этот раз космический) от RUVDS и Positive Technologies.


Реальная фотография нашего спутника

Если вдруг пропустили — наше космическое событие.
Читать дальше →

Вы были на высоте

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


Ну что могу сказать… Я впечатлён вашими скиллами, скоростью и командной работой. Взял бы вас себе в напарники, но предпочитаю работать в одиночку. Даже немного неловко, что пришлось использовать вас для отвлечения внимания RUVDS, пока забирал крипту со спутника. Так что теперь вам осталось только отправить баг-репорт хостеру. Надеюсь, они приготовили щедрую награду.
Читать дальше →

NFC-крокодил: продвинутая разработка под Flipper Zero

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

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

Недавно коллеги из Selectel одолжили мне Flipper Zero, который может прикидываться NFC-меткой с любым содержимым. В интернете множество материалов о Flipper Zero. Обзор, еще один обзор, инструкция, как настроить IDE для разработки приложений, обзор внутренностей, быстрый старт и первое приложение…

В этой статье я расскажу про подход к организации GUI-приложений на Flipper Zero, про работу с NFC и NDEF, а также о том, как не бояться отсутствия документации в активно развивающемся проекте.
Читать дальше →

Использование IDA+IDAPython+Xdbg при восстановлении обфусцированного семпла

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

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

Итак, перед нами некая вредоносная программа для платформы Windows. Первым делом загрузим ее в IDA Pro Disassembler и попытаемся выполнить автоанализ. Как ни странно, это нам не удается, поскольку тот спотыкается уже в самом начале — на функции Main. Это значит, что для разбора образца нам потребуется приложить определенные усилия.

Читать далее

Хакните спутник и заработайте 0.1 BTC

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


Привет, Хабр! Вы, наверное, читали, что недавно RUVDS отправили свой спутник-сервер в космос. Это само по себе интересно, но есть ещё одна интересность. Оказывается, он хранит зашифрованные данные от криптокошельков — и я предлагаю вам сыграть в игру, которую мы разработали с Positive Technologies, чтобы взломать их.
Хочу знать подробности

Space Pirates разбушевались: масштабные атаки на Россию, загадочная четверка и блогер-разработчик

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

В конце 2019 года мы обнаружили новую группировку, которую назвали Space Pirates. О том, кого атакуют «пираты» и какие используют техники, уже писали в нашем блоге.

Основными целями киберпреступников по-прежнему являются шпионаж и кража конфиденциальной информации. Однако Space Pirates расширила географию атак и сферу своих интересов.

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

В новой статье об этой APT-группе рассказываем, кто с большой вероятностью стоит за атаками, как изменились география и масштаб угроз в отношении России, а также о том, какие новые и улучшенные инструменты появились в их арсенале.

Узнать больше

От «из мха и шишек» до продукта | Постройка электросерфа и гидрофойла

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.4K
В прошлых двух статьях были изложены общие моменты и негативный опыт по постройке двухтактного ДВС. Эта статья — более положительный пример, но боли и страданий в ней не меньше.

Поехали.

1. Эмпирическое проектирование.


1.1 Серф


Параллельно с постройкой 2Т ДВС мотора, мы начали делать электричку.

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

image
К- качество.
Читать дальше →

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