* Небольшой экскурс в WeChat;
* О платформе, версии приложения, используемых утилитах и расшифровке исполняемого файла;
* О двух протоколах (старом и новым);
* О сериализации объектов;
* Используемая криптография и обмен ключами;
* О заголовках и хэш-функциях;
* О найденных уявзимостях.
Рубрика «reverse engineering» - 7
Разбираем WeChat — второй по популярности мессенджер в мире
2017-10-02 в 9:44, admin, рубрики: messengers, reverse engineering, Блог компании Бринго, информационная безопасность, криптография, мессенджерыИзбранное: ссылки по reverse engineering
2017-08-15 в 7:42, admin, рубрики: reverse engineering, Блог компании «Digital Security», информационная безопасность, реверс-инжиниринг, ссылки, хакингВсем привет!
Сегодня мы хотели бы поделиться своим списком материалов по тематике reverse engineering (RE). Перечень этот очень обширный, ведь наш исследовательский отдел в первую очередь занимается задачами RE. На наш взгляд, подборка материалов по теме хороша для старта, при этом она может быть актуальной в течение продолжительного времени.
Данный список ссылок, ресурсов, книг мы уже лет пять рассылаем людям, которые хотели бы попасть в наш исследовательский отдел, но не проходят пока по уровню знаний или только начинают свой путь в сфере информационной безопасности. Естественно, этому перечню, как и большинству материалов/подборок, через некоторая время потребуется обновление и актуализация.
Забавный факт: нам показывали, как некоторые компании рассылают наш список материалов от себя, но только в очень старой редакции. И вот после этой публикации они, наконец, смогут использовать его обновленную версию с чистой совестью ;)
Итак, перейдем к списку материалов!
Timebug часть 2: интересные решения от EA Black Box
2017-08-11 в 11:56, admin, рубрики: bug, reverse engineering, реверс-инжинирингПривет! В своей предыдущей статье я рассказал об интересном баге в одной старенькой игрушке, наглядно продемонстрировал явление накопления ошибки округления и просто поделился своим опытом в обратной разработке. Я надеялся, что на этом можно было бы поставить точку, но я очень сильно ошибался. Поэтому под катом я расскажу продолжение истории о звере по имени Timebug, о 60 кадрах в секунду и об очень интересных решениях при разработке игр.
По следам Petya: находим и эксплуатируем уязвимость в программном обеспечении
2017-08-10 в 7:01, admin, рубрики: ctf, hackquest, neoquest, neoquest2017, reverse engineering, vulnerability, windows, Блог компании НеоБИТ, Занимательные задачки, информационная безопасностьНашумевшие события последних месяцев наглядно показывают, насколько актуальной является проблема критических уязвимостей в программном обеспечении. Массовые атаки на пользователей с помощью вирусов-шифровальщиков WannaCry и Petya осуществлялись путем удалённой эксплуатации уязвимостей нулевого дня в сетевых сервисах Windows – SMBv1 и SMBv2. Нахождение и эксплуатация уязвимостей для удаленного выполнения кода – задачка явно не из легких. Однако лучшим из лучших специалистов по информационной безопасности всё по зубам!
В одном из заданий очного тура NeoQuest-2017 необходимо было найти уязвимости в доступной по сети программе-интерпретаторе команд, и с помощью их эксплуатации выполнить код на удаленном сервере. Для доказательства взлома нужно было прочитать содержимое файлового каталога на сервере – там, по условию, размещался ключ задания. Участникам был доступен бинарный файл интерпретатора. Итак, лёд тронулся!
Читать полностью »
Как EA усложнили нам жизнь, или как мы чинили баг 12-летней давности
2017-07-19 в 10:21, admin, рубрики: bugfix, C#, debug, reverse engineering, отладка, реверс-инжинирингИногда в программы закрадываются баги. Причем закрадываются так, что обнаружить их получается лишь через много-много лет после выпуска, когда чинить их уже нерентабельно. Иногда такие баги оказываются слишком критическими, чтобы их игнорировать. Поэтому под катом я расскажу, как мы устраняли один такой критический баг в одной старенькой гонялке. А заодно наглядно продемонстрирую, чем плох float, какие могут быть последствия и как с этим бороться.
Hard Reverse или особенности реверса файлов для архитектуры PowerPC Big-Endian
2017-06-15 в 6:08, admin, рубрики: big endian, ctf, hackquest, neoquest, neoquest2017, old school, powerpc, qemu, reverse engineering, Блог компании НеоБИТ, Занимательные задачки, информационная безопасность, реверс-инжиниринг Задания на reverse engineering — обязательная часть любых CTF, и NeoQUEST в этом плане не исключение. В каждое задание мы добавляем «изюминку», которая, с одной стороны, несколько затрудняет участникам прохождение задания, а с другой — позволяет на практике разобраться с тем, с чем еще не приходилось работать.
Если говорить об «изюминках», то задание online-этапа NeoQUEST-2017 планеты Endian «Спасение экипажа» — практически кекс! Добро пожаловать под кат, в самые дебри реверса: поговорим об архитектуре PowerPC Big-Endian и немного — о QEMU!
А мы напоминаем, что 29 июня в Петербурге состоится «Очная ставка» NeoQUEST-2017: доклады, воркшопы, конкурсы, призы, отличное времяпровождение и свободный вход при регистрации на сайте — всё для тебя! Подробнее о том, что войдет в программу «Очной ставки», читай тут и на сайте!
Читать полностью »
Уязвимость в Web API Lycamobile позволяет управлять любым номером оператора
2017-05-27 в 9:11, admin, рубрики: .net, api, Lycamobile, reverse engineering, security, информационная безопасность, Разработка под android, реверс-инжиниринг, метки: Lycamobile
Доброго времени суток. Меня зовут Алексей. Я занимаюсь разработкой под .NET, pentesting и reverse engineering Android apps.
В марте от одного уважаемого человека мне поступил заказ на исследование приложения play.google.com/store/apps/details?id=com.lycamobile.myaccounts и описание его private API. После непродолжительных манипуляций я понял логику запросов и уж было приступил к описанию, но заметил что при смене номера телефона в запросе сервер продолжает отдавать данные. Оказалось что сервер просто не проверяет авторизованы ли мы и вся авторизация в приложении не более чем формальность.
Немного цифр. Lycamobile работает в 21 стране мира, капитализация €1.6 billion.
Данная уязвимость работает в uk, de, usa. Для остальных стран было лень проверять.
Команды API можно узнать там же на сервере по адресу Читать полностью »
Реверс-инжиниринг игры Lost Vikings
2017-05-26 в 20:26, admin, рубрики: blackthorne, blizzard, dos, lost vikings, reverse engineering, Компиляторы, обратная разработка, разработка игр, реверс-инжиниринг, метки: blackthorne, lost vikingsПосле интересной обратной разработки игрового движка Comprehend (см. Recomprehend) я подбирал новый проект для реверс-инжиниринга игры под DOS. За долгие годы разные люди реверсировали множество старых популярных игр и опубликовали для них спецификации и инструменты. Например, на сайте shikadi.net есть куча информации об играх, в которые я играл в детстве.
Я обнаружил, что для реверс-инжиниринга игры The Lost Vikings компании Blizzard (тогда она называлась Silicon and Synapse), похоже, не предпринималось никаких серьёзных попыток. Игра была выпущена в 1993 году, на закате эры DOS, и очень нравилась мне в юности. The Lost Vikings — это головоломка-платформер, в которой игрок управляет тремя викингами, каждый из которых имеет собственные умения. Викингам нужно объединить свои силы для решения загадок и прохождения уровней с различной тематикой: космический корабль, доисторический мир, Древний Египет. На изображении ниже показан первый уровень игры (источник: Strategy Wiki):
Казалось, что эту игру разобрать будет довольно просто. Уровни основаны на тайловых картах и содержат простые загадки: кнопки, включающие и отключающие объекты, передвижные ящики и поднимающий предметы кран. И на самом деле, бóльшая часть проекта по обратной разработке была достаточно прямолинейной. У игры есть один пакетный файл данных, содержащий сжатые блоки файлов. Блоки кодируют различные ресурсы игры, такие как спрайты, карты, звуки и т.д. Я написал несколько утилит, которые можно использовать для просмотра ресурсов игры: The Lost Vikings Tools.
Читать полностью »
Как устроены протоколы в Elixir
2017-05-15 в 9:43, admin, рубрики: Elixir, Elixir/Phoenix, erlang, Erlang/OTP, reverse engineering, Блог компании EXANTE, реверс-инжиниринг, функциональное программированиеВ нашей компании мы активно используем Erlang, но часто рассматриваем другие альтернативные языки и подходы для улучшения качества собственного кода.
Elixir – это функциональный язык программирования общего назначения, который работает на виртуальной машине BeamVM. От Erlang отличается синтаксисом, более похожим на Ruby, и расширенными возможностями метапрограммирования.
В Elixir также существует замечательный механизм для полиморфизма под названием Protocols, но в Erlang нет синтаксической конструкции для динамической диспетчеризации, которая необходима для их реализации.
Тогда как же они устроены внутри? Какой overhead дает код с использованием протоколов? Попробуем разобраться.
PHDays HackQuest 2017: RanSomWare — небольшой криптор на GO
2017-05-13 в 9:32, admin, рубрики: ctf, erawmosnar, Go, golang, hackquest, information security, PHDays, reverse engineering, информационная безопасность, реверс-инжинирингВсем доброго времени суток, только что подошел к концу двухнедельный HackQuest от PHDays. Не смотря на преобладание заданий связанных с WEB, организаторы не оставили без внимания и задания связанные с реверсом. Решение одного из таких заданий (erawmosnar), я бы хотел сегодня рассмотреть. К тому же думаю после WannaCry подобная тема станет ещё актуальнее.
К заданию была всего 1 подсказка:
Warn: erawmosnar == ransomware, do not run it, if you do not know what you doing.