Как стать автором
Обновить
110.3

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

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

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

Когда вендор не защитил — защищаем вашу Станцию, Капсулу и A113X

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

Приветствую!

В нашем несовершенном мире «умных домов» и повсеместного IoT с относительно недавних пор стало модным производить (да и покупать домой) очередного разговорчивого электронного друга, а именно: Яндекс Станции, VK Капсулы и тому подобные девайсы.

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

Конечно, как можно понять из названия, речь пойдёт об устройствах на базе SoC от Amlogic — A113X. В данном материале я расскажу о том, как можно защитить ваши устройства на базе этого чипа от описанных выше вещей, почему Amlogic не смог предложить эту защиту разработчикам, и другие интересные детали.

Защитить мою колонку!
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 18

Новости

KatWalk C2: ч.4: поиграемся с прошивкой

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

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

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

Давайте что-нибудь в нём пропатчим!
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Что делать, если твой заказчик — весы, или Как заговорить на одном языке с бытовой техникой

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

Меня зовут Алексей Плаксин, я системный аналитик в компании KODE и сейчас расскажу вам, как делал реверс-инжиниринг бытовой техники.

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

На руках у нас было три устройства — весы, чайник и мультиварка. О том, как они работают, мы знали только из инструкций и теоретической информации на сайте. У нас не было опыта разработки приложений для управления подобными умными устройствами. Также мы не знали, как работает управление по Bluetooth и Wi-Fi.

Проект обещал быть интересным.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 3

Эксплуатируем переполнение буфера в простом TCP-сервере

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

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

Специально для этого примера я скомпилировал уязвимый TCP‑сервер, который принимает подключения через порт 3301 (Цикада?).

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 5

Истории

Реверс-инжиниринг сигнала автомобильного брелка

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

Я уже пару лет как изучаю протоколы радиосвязи. Началось это с момента, когда я из любопытства решил поэкспериментировать с USB-донглом RTL-SDR. Мне всегда хотелось понять, как передаются данные в пультах дистанционного управления (в частности, автомобильных брелках), попробовать перехватить их сигнал и выяснить, какие ещё в этом случае есть векторы атаки.

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

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

Ещё одной целью, пожалуй, будет доказательство, что большинство машин не так уж просто угнать посредством перехвата сигнала (разве что Honda, хах), несмотря на то, что недавно в Канаде запретили якобы опасный Flipper Zero, который можно собрать из дешёвых модулей беспроводной связи.
Читать дальше →
Всего голосов 75: ↑75 и ↓0 +75
Комментарии 21

В моих жилах течет моддерская кровь: как и зачем я променял оригинальный айфон на нерабочую подделку за 1500 рублей?

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

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

Пожалуй, споры о том, какая мобильная платформа лучше не утихнут никогда. Люди из года в год спорят, какая же мобильная платформа круче: iOS или Android, и какие только аргументы не выдвигают в сторону оппонента. Но что делать, когда хочется усидеть сразу на двух стульях и иметь смартфон в корпусе iPhone, но при этом с привычным Android на борту? Когда душа моддера и любителя красноглазия просто требует чего-то необычного!? Правильно, обратиться к китайским «подвалам» и взять себе дешевую реплику на андроиде! А в моём случае — ещё и Б/У утопленную подделку 14 Pro Max чуть больше, чем за «тыщу» рублей, так ещё и проапгрейдить её! Сегодня будет познавательный и интересный материал, в котором мы с вами: узнаем как диагностировать некоторые аппаратные проблемы с помощью минимального и дешевого оборудования, оживим наше «яблочко» после попадания влаги, «отреверсим» и пропатчим в IDA Pro загрузчик, дабы разрешить загрузку unsigned-ядер, портируем кастомное рекавери и накатим рут, а также узнаем что из себя представляет такой «айфон» в повседневной жизни и как мне вообще взбрело в голову купить китайскую подделку яблочной техники! Материал диковинный, но обещаю — будет интересно! Жду вас под катом :)
Читать дальше →
Всего голосов 88: ↑85 и ↓3 +82
Комментарии 54

Перехват трафика мобильных приложений

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

Часто случается так что на необходимом сайте установлена защита от ботов. Например: QRATOR, Cloudflare, Akamai Bot Manager и пр. Можно потратить множество ресурсов на обход этих систем, но если у вашего ресурса есть мобильное приложение, то можно пойти другим путём. В подавляющем большинстве случаев мобильное приложение остается без защиты т.к. методы актуальные в браузерной разработке в мобильной не актуальны. В этой статье мы совершим атаку MITM на приложение [скрыто], узнаем эндпоинты по которым приложение получает данные и получим данные сами.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 12

Исследуем лицензирование Cockroach DB до Enterprise или не случившийся хард-реверс-инжиниринг

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

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

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

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 0

Декодируем protobuf загружая чанки loadable-components в NodeJS

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

У меня возникла задача спарсить данные с веб-сайта aboutyou.de. Я провел быстрый анализ страниц и обнаружил, что сайт не имеет серьезной защиты и вся необходимая информация доступна в HTML. На первый взгляд всё казалось окей. Но это, между прочим, не окей.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 2

Полигон для творчества за 1500 р. Ч1: Позовите Кряка

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

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

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

Проведём расследование, поищем JTAG, узнаем способы и отследим разводку BGA, поработаем с ПЛИС, … и много других действительно интересных вещей. Кряк уже заинтересовался!

Как там у нас обычно? «Сломать, а потом читать инструкцию». Инструкций и документации нет, поэтому будем экспериментировать ломать! ☺
Читать дальше →
Всего голосов 65: ↑65 и ↓0 +65
Комментарии 8

Взламываем головное устройство автомобиля Nissan

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

В комплекте с моим Nissan Xterra поставлялось современное (на то время) головное устройство с сенсорным экраном, встроенной навигацией, дисплеем камеры заднего вида, мультимедийными функциями и возможностью подключения смартфона. Некоторые из самых продвинутых функций доступны только через приложение NissanConnect, требующее регистрации и подписки. Я никогда не пользовался им и даже не уверен, поддерживается ли оно сейчас.

Разве не здорово было бы добиться выполнения кода на устройстве и даже разрабатывать собственные расширения и приложения?

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

В статье также представлен код, позволяющий воспроизвести эти действия на вашем автомобиле, а также пример приложения, выполняющего задачу логирования GPS-данных. Однако здесь вы не найдёте абсолютно никакой информации по обходу механизмов DRM/защиты от копирования, особенно связанных с навигационными картами и онлайн-сервисами. Весь представленный в статье код и инструкции не дают никаких гарантий, воспроизводите их на собственный риск.
Читать дальше →
Всего голосов 112: ↑110 и ↓2 +108
Комментарии 23

Как сайты обнаруживают ботов по TLS

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

Порой случается так что несмотря на то что мы в точности повторяем запрос к сайту из своего любимого HTTP клиента в ответ мы получаем ошибку. Но ведь в браузере запрос проходит! В чём же дело? В этой статье мы с этим разберемся!

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 6

Как я выживаю с диабетом при помощи Golang

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

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

Британцы любят выпить. Вы когда-нибудь задумывались, сколько граммов углеводов в пинте пива? А как насчёт бургера с картошкой? Или салата, который в меню обычно указан как блюдо с низким содержанием углеводов?

Вы можете ответить: да кого это вообще волнует?

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

Оказывается, в мире есть не менее 8 миллионов людей, которых волнуют ответы на эти вопросы, и я один из них. В 2020 году у меня диагностировали сахарный диабет первого типа. Вероятно, вы слышали о диабете, но, возможно, не очень знакомы с первым типом, который встречается реже. До постановки диагноза я тоже не был с ним знаком, так что вот краткое объяснение.
Читать дальше →
Всего голосов 71: ↑67 и ↓4 +63
Комментарии 61

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн

KatWalk C2: ч2, подслушаем, подсмотрим и разнюхаем или как общаться с незнакомым железом на незнакомом языке

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

В прошлой статье я рассказал что это за платформа, и показал как можно получить данные с неё и как встроить код в стороннее приложение.

Однако, получение данных требует постоянно висящего приложения (на C#), и надо понять что же конкретно оно делает.

Давайте разберёмся как общаться с железом и избавимся от балласта!.. Переписав на Kotlin. Почему Kotlin? Потому что я на нем никогда еще не писал.

Погружаемся
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 4

Какой язык программирования выбрать? Обзор Go

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

Продолжаем серию статей про особенности, применение, плюсы и минусы языков, которые используются в «Криптоните». В этой статье наш инженер департамента инфраструктуры Алексей Косов расскажет про Golang.

Ранее наши разработчики делали обзоры Rust, Scala, JavaScript и Spark.

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Комментарии 4

Используем зубную щётку Evowera Planck Mini не по назначению

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

Помните историю со взломом зубной щётки? А вброс про ботнет из 3 млн щёток? Тема оказалась популярной. Недавно один немецкий энтузиаст Аарон Кристофель (известный под ником atc1441) взломал другую зубную щётку, запустив на ней рикролл, а затем и Doom (а куда же без него)?

Свою историю он рассказал в соцсети X, а кастомную прошивку и OTA-загрузчик выложил на GitHub. Рассказываем подробности этой маленькой забавной истории.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 5

Играем с KAT Walk C2. (часть 1: собственно, играем)

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

У меня есть дурная привычка: я играю в игры. Впрочем, понятие "играю в игры" довольно своеобразное.

Уже несколько лет как я обзавелся VR платформой от KAT VR. Согласно её внутренней статистики, я прошел на ней около 30 километров и сделал 40к шагов. Статистика, конечно, врёт и сильно, было гораздо, гораздо больше. Однако же да, на ней я играл гораздо меньше времени чем с ней.

Впрочем, обо всём по порядку.
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 10

Что это за устройство у меня в комнате?

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 49K
Примерно год назад я переехал в новую квартиру. Одной из причин её выбора стал возраст здания. Строить его закончили в 2015 году, что гарантировало неплохую теплоизоляцию на зиму, а также кучу приятных мелочей наподобие Ethernet-разъёмов в каждой комнате. Однако в квартире обнаружилась одна деталь, слишком новая и умная для меня. Вот эта:


Очевидно, что это некий сенсорный экран, но не было никаких указаний на то, чем он управляет. Арендодатель понятия не имел, что это. На устройстве не было ни кнопок, ни надписей, лишь крошечный жёлтый огонёк, дающий понять, что у него есть питание.
Читать дальше →
Всего голосов 149: ↑146 и ↓3 +143
Комментарии 128

Бабахинг в реверс-инжиниринг: опыт обратной разработки

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

Почему никому и никогда не удастся скопировать чужое изделие «в ноль», даже китайцам. И как самим сделать лучше, чем оригинал. 

Года полтора назад нас слегка закидали на Хабре тапками за инструкцию по легальному реверс-инжинирингу. Вытаскивайте тапки из-под дивана, сейчас покажем, как реверс-инжиниринг работает на практике. Можно порадоваться: там далеко не все так просто, как вам кажется. 

Про способ облажаться — в самом начале
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 23

3D-сканирование как инструмент обратного инжиниринга агрегатов

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

3D-Сканирование как инструмент обратного проектирования.

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

Когда может появиться необходимость применения реверс-инжиниринга? Я столкнулся с необходимостью создания динамического и статического оборудования в рамках построения цифрового двойника крупного предприятия ГПНС, используя как облака точек цехов, так и различную документацию на оборудование. Ранее необходимость возникала в связи с созданием базы твердотельных моделей отсканированной 3D сканером оснастки деталей разгонных блоков для ее дальнейшего изготовления на станках с ЧПУ.

В данных случаях, 3D модели оборудования создавались мною в различных программных комплексах и в рамках статьи я хотел бы показать один из способов создания 3D модели, используя облака точек и такие программы как Polyworks и Geomagic Design X.  

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 13

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