Обновить
165.95

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

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

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

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

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

image

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

Истории из жизни вредоносов: инъекция кода в Windows

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

Технологии внедрения своего кода в чужие процессы уже много лет используются различными вредоносными приложениями. В Windows это стало довольно распространенным явлением. Вредонос инжектирует фрагменты своего собственного кода в другой запущенный процесс, чтобы затем его выполнить. Инъекция кода бывают нескольких видов, в этой статье мы рассмотрим обычную инъекцию кода, а в следующих статьях подробно поговорим про инъекции DLL и отраженные инъекции DLL.

Итак, инъекции кода получили широкую популярность, причем не только у разработчиков вредоносного кода, но и у создателей различных “таблеток” для пиратского софта. Также можно вспомнить разнообразные “читы” для прохождения игр.

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

Читать далее

Любой достаточно продвинутый деинсталлятор неотличим от зловреда

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

У нас возник резкий рост количества вылетов Explorer из-за того, что указатель команд оказывался в пустоте.

0:000> r eax=00000001 ebx=008bf8aa ecx=77231cf3 edx=00000000 esi=008bf680 edi=008bf8a8 eip=7077c100 esp=008bf664 ebp=008bf678 iopl=0 nv up ei pl zr na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010246 7077c100 ?? ???

Возможно, нам о чём-то скажет адрес возврата.

0:000> u poi esp 008bf6d4 test eax,eax 008bf6d6 je 008bf6b9 008bf6d8 xor edi,edi 008bf6da cmp dword ptr [esi+430h],edi

Странно, что мы исполняем код из какого-то места, не имеющего имени. Если приглядеться, то можно увидеть, что мы исполняем код из стекаesp — это  008bf664, то есть вызывающий проблемы код находится в стеке.

Кто исполняет код из стека?

Конечно, зловреды.

Давайте посмотрим, что пытается сделать это зловредное ПО.

Читать далее

Взлом предка Sims для Amiga

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

В этом посте я расскажу о том, как выполнил частичный реверс-инжиниринг файлов данных Little Computer People, чтобы включить опции конфигурации, недоступные в оригинальной игре. Я написал и выпустил инструмент, работающий с LCP для Amiga, который можно скачать в конце поста.

Little Computer что?

В 1985 году на самых популярных 8-битных домашних компьютерных системах (и Atari ST) была выпущена «игра» под названием «Little Computer People», а через два года появилась версия и для Amiga. Сюжет игры заключается в том, что внутри вашего компьютера живёт маленький человечек, и это ПО позволяет вам следить за его действиями и взаимодействовать с ним. Если вы незнакомы с LCP, в Википедии есть хорошая статья о ней, которую стоит прочитать.

Уилл Райт (дизайнер The Sims) сказал, что игра в LCP и общение с одним из создателей LCP (Ричем Голдом) помогли ему в разработке концепций The Sims, и одно это делает LCP важной вехой в истории ПО.

Для многих людей LCP была скучной игрой. Считалось, что никто не захочет следить за жизнями персонажей на экране. Думаю, наблюдая за успехом франшизы The Sims и бесконечных реалити-шоу, можно с полным правом сказать, что это мнение было совершенно ошибочным. Возможно, LCP просто опередила своё время?

Читать далее

Самый суровый магнитный ключ

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

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

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

image

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

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

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

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

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

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

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

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

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

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

• бита гипервизора в регистре 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.4K

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

В конце апреля 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 мин
Количество просмотров19K


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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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


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

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

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

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


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

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