Обновить
128K+

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

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

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

Самый первый «Цифрал». Изучаем раритетный оптический считыватель ключей

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.8K

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

Уверен, многим из вас знакомы домофоны этой фирмы. У кого-то из вас, возможно, прямо сейчас стоит на подъезде именно такой.

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

Press F1 to continue

Новости

Восстановление данных с ZFS: задача со звёздочкой об удалённом Zvol

Время на прочтение11 мин
Охват и читатели7.9K

В один из дней в лаборатории раздался звонок. Звонил представитель организации, оказывающей услуги системного администрирования. Его первым вопросом было: «А вы умеете работать с ZFS?». Разумеется, мы пояснили, что у нас есть некоторые наработки в рамках собственных исследований, а также стандартные средства DR‑лаборатории, такие как PC-3000, где поддержка ZFS предусмотрена как минимум на базовом уровне.

Ответив на парочку каверзных вопросов клиента об устройстве ZFS, мы через некоторое время получили два SSD Samsung 870 EVO ёмкостью 2 ТБ, которые были объединены в зеркальный RAID‑массив (Mirror). Изначально комментарии сводились к тому, что оба диска рабочие, но один выпал из массива. Основная проблема заключалась в том, что был случайно удалён один из важных Zvol (блочный объект ZFS, используемый для виртуальных дисков). Клиент пояснил, что хотел откатиться к прошлой версии uberblock’а и получить снимок, когда этот Zvol ещё не был удалён, но у него это не получилось. Резервная копия сохранилась, но она была сделана ещё в апреле этого года.

Читать далее

Три года эксплуатации уязвимостей в эхолотах/судовых MFD. Почему нельзя доверять конечному пользователю embedded‑системы

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели10K

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

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

Читать далее

Биометрия против скрепки: разбираем замки с отпечатком пальца и проводим базовый аудит их защиты

Время на прочтение13 мин
Охват и читатели91K

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

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

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

Читать далее

От закрытого.NET‑шлюза до Java/Kubernetes за 11 часов: production‑кейс агентной разработки

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели5.9K

Я довольно активно использую ИИ в разработке примерно с конца 2024 года.

Наверное, многие слышали оценки в духе: «ИИ ускоряет разработчика на 20–30%». Возможно, для каких‑то привычных задач это и неплохая метрика.

Но недавно у меня случился кейс, который вообще плохо укладывается в эту систему координат.

За один очень плотный рабочий день — примерно 11 часов от идеи до боевого переключения — удалось исследовать закрытый Windows‑компонент, восстановить недокументированный бинарный протокол, разобраться с особенностями криптографии, написать совместимую реализацию на Java, сформировать регрессионный корпус из реального трафика, завернуть всё в контейнер, развернуть в Kubernetes, провести независимое ревью и переключить production.

И вот после такого слова про «+30% производительности» начинают казаться немного смешными.

Честно говоря, это пока самый впечатляющий кейс разработки с AI, который у меня был. Восторг скрывать не буду:)

Читать далее

TerminalFix и фейковая Cloudflare CAPTCHA: разбираю PowerShell, который прячет EXE и DLL в PNG

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.1K

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

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

Вся эта история опять упирается в одну простую вещь — внимательность пользователя. Если человек сам выполнит то, что ему подсунули, дальше защита компьютера уже может не сильно помочь.

Читать далее

Callfuscated — Виртуализация, MBA, opaque predicates и мусорные инструкции в одном задании

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

Подробное решение задания, в котором есть многие техники обфускации. Каждую технику я снял и рассказал как.

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

Читать далее

Вставай, Василий: как мы отобрали у пульта право поднимать гуманоида

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели7.1K

Может ли робот встать по голосовой команде, если производитель это запретил?

Гуманоид Walker Tienkung поднимается на ноги только с физического пульта: короткое нажатие кнопки будит моторы и проводит самодиагностику, а длинное — ровно секунда удержания — поднимает из нулевой позы в стойку. Мы решили отдать весь этот путь голосу и быстро упёрлись в проблему: наши программные «нажатия» система молча игнорировала, а переход «встать» оказался заблокирован намеренно — команда принималась без ошибки, но робот не реагировал.

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

Читать далее

Что внутри ANE на самом деле, или почему ЫЫ нельзя поручать reverse engineering

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

Нейронке сказали — «разберись как оно работает». Пошевелив гигабайтами матриц, она полезла ковырять список классов в AppleNeuralEngine.framework— и нашла там то, что искала — «40+ private classes, including _ANEInMemoryModel». Код работал. Делал то что от него требовалось — запускал математику на ANE. Но было в этом что‑то… не то.

Читать далее

Автономное ПО для велокомпьютера

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

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

Читать далее

11 минут у Backblaze, и неделя бездействия у reg.ru: как компании обрубают инфраструктуру трояна в России и за рубежом

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

Привет, хабр. Если вы состоите в более‑менее крупных ТГ сообществах, то наверняка замечали, как время от времени в чатах мелькают боты с предложением установить сомнительный APK. Обычно их мгновенно банит антиспам или админ, и на этом всё заканчивается. Правда, пока сообщение ещё висит, взгляд успевает за него зацепиться, и в голове проскакивает «это очевидно скам, но как оно работает?». У меня эта мысль проскочила в дождливый вечер прошлой пятницы, и вот, неделю спустя, я всё ещё смотрю на четыре домена, куда уходят перехваченные банковские коды, и ожидаю хоть каких‑до действий от уполномоченных компаний, которые были уведомлены об атаке почти неделю назад.

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

Читать далее

«Великое ограбление»: сейф, палочка для суши и девять вольт

Время на прочтение9 мин
Охват и читатели19K

Привет, Хабр! На связи Иван Глинкин, руководитель отдела аппаратных исследований из команды Бастиона. 

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

Читать далее

Нашёл «VPN», который оказался обычным SOCKS5-прокси

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

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

Идём дальше

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

Таймер на 5 минут вместо 10 секунд: как сверка с руководством по эксплуатации нашла отказавшую защиту в чужом коде

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели9.9K

Стенд работает, а исходников программы ПЛК нет — ни архива, ни резервной копии, ни у эксплуатанта. Есть 4 900 страниц бумаги: распечатка проекта, экспорт экранов, руководство по эксплуатации, сканы схем. Задача — восстановить поведение один в один. Эталоном я сделал руководство, а не распечатку кода, и на этом нашёлся таймер, который держал максимальный ток 5 минут вместо разрешённых 10 секунд. Ниже — как читаются пять тысяч страниц, как выглядит data-driven программа ПЛК (с кусками настоящих файлов) и все 7 расхождений с честной пометкой, чем каждое найдено.

Читать далее

Как я вскрыл протокол робота Eilik и научил его танцевать под Bad Apple

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

Недавно мне подарили робота Eilik от energize lab и я был весьма разочарован тем что от него не оказалось публичной sdk или хоть какой-нибудь возможности писать под него кастомные скрипты. И от сюда начинается мое приключение с реверс инжинирингом.

Само видео с Bad Apple

Читать далее

Скачать базу GetCourse без API? Пожалуйста

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

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

Читать далее

Что ты такое?! Как мы изучали «Жучок» из 90-х для защиты данных

Время на прочтение15 мин
Охват и читатели21K

В один прекрасный день в ретро-музей «Луноход» в Москве принесли небольшой пакет с интригующим содержимым: залакированная ISA-плата с микросхемами со стертыми номерами, инструкция и дискета с данными. Всё это носило название «Жучок» — программно-аппаратный комплекс для защиты программ от несанкционированного копирования и использования. Привет из тех времен, когда программа могла потребовать от тебя воткнуть в компьютер отдельную железку, чтобы просто запуститься. 

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

Это статья не только о Жучке, но и о слаженной работе сообщества ретроэнтузиастов из России и Казахстана. Над Жучком работала скромная группа исследователей: хранители Лунохода Techn0maniac и Limows, уже известный вам аппаратный хакер из Бастиона Иван Глинкин, вирусный аналитик Бастиона Дениев Майер, робототехник Cybermonah, а также коллеги-ретроэнтузиасты Romaleksin и S1nka, с которым мы активно расследовали историческую часть.

В материале — как мы вместе собирали историю Жучка по кусочкам.

Читать далее

Разбор PowerShell-цепочки: как vcapcha.ps1 сообщает о запуске, загружает следующий этап и подготавливает систему

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

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

Читать далее

Microsoft Paint и Photos добавляют невидимые водяные знаки даже на локально сгенерированные изображения

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели9.3K

TL;DR

• Microsoft Paint поддерживает и локальную, и облачную генерацию изображений

• Paint и Photos также имеют в комплекте локальные модели ИИ

• Эти приложения отправляют промпт удалённому серверу для модерации

• Вместе с отмодерированным промптом сервер возвращает GUID

• GUID встраивается в локально сгенерированное изображение в качестве невидимого водяного знака

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

• На PC с Copilot+ генерация изображений выполняется локально, но модерация промптов остаётся удалённой

• Microsoft раскрывает, что Paint добавляет к сгенерированным ИИ изображениям метаданные C2PA

• Сгенерированные ИИ изображения можно сохранять только в форматы, поддерживающие C2PA: PNG, JPEG, GIF и .paint

Читать далее

Внутри PROM‑чипа 1970-х, который хранит данные в микроскопических плавких перемычках

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели13K

Как хранили данные в PROM начала 1970-х, когда один бит буквально зависел от состояния микроскопической плавкой перемычки? Кен Ширрифф разобрал MMI 5300 и показал устройство кристалла изнутри: от массива на 1024 бита и схемы адресации до высоковольтного программирования и хитростей, которые использовали для тестирования таких микросхем.

Разобрать PROM
1
23 ...