Гайд по реверсу iOS приложения на примере ExpressVPN
Очень неплохая статья о нелегком пути реверса на iOS вышла недавно на Хабре от @skillzq.
Автор разбирает приложение ExpressVPN, как оно осуществляет SSL Pinning, как его снимать, как найти место, где шифруется запрос и как вытащить ключ шифрования и много других интересных моментов.
Приятно почитать и особенно круто, что в конце статьи есть ссылка на Github автора, где можно посмотреть, как именно он все это свел в работающий полноценный модуль для тестирования!
За это отдельный респект, всегда после таких статей не хватает чего-то подобного, когда можно взять и детально разобрать работающий код!
Спасибо автору!
#iOS #Reverse
Очень неплохая статья о нелегком пути реверса на iOS вышла недавно на Хабре от @skillzq.
Автор разбирает приложение ExpressVPN, как оно осуществляет SSL Pinning, как его снимать, как найти место, где шифруется запрос и как вытащить ключ шифрования и много других интересных моментов.
Приятно почитать и особенно круто, что в конце статьи есть ссылка на Github автора, где можно посмотреть, как именно он все это свел в работающий полноценный модуль для тестирования!
За это отдельный респект, всегда после таких статей не хватает чего-то подобного, когда можно взять и детально разобрать работающий код!
Спасибо автору!
#iOS #Reverse
Хабр
Гайд по реверсу iOS приложения на примере ExpressVPN
В этой статье я расскажу о своем опыте реверса приватного API одного из популярных впн клиентов - ExpressVPN. Мы рассмотри как находить и обходить методы обнаружения MITM(обход ssl pinning), научимся...
Модификация Android-приложений
В мире мобильных приложений под Android всегда есть интересные моменты, связанные с модификацией приложений. Выключение рекламы, разблокировка Pro-версий, модификация логики работы, отключение проверок безопасности 😉
Мне в свое время очень понравилось модифицировать игру ClumsyBird, где закомментировав одну строку в smali можно было бесконечно летать через деревья и набирать огромное количество очков.
Но разобрать более сложное не так просто, поэтому хорошим способом прокачаться в этом деле может быть построение диффа между оригинальным приложением и модифицированным, чтобы посмотреть, что изменилось и какие паттерны для поиска можно использовать в дальнейшем (понятно, что для каждого приложения они будут отличаться, но нечто общее можно всегда найти).
Где можно взять модифицированные приложения и в достаточно большом количестве? Есть очень интересный канал, в котором выкладывают модифицированные версии приложений (чаще всего игры). Я иногда выкачиваю пару приложений, сравниваю с оригиналами и пытаюсь повторить модификацию) Иногда получается, иногда нет :D Ну и пару игрушек себе поставил с модами, надеюсь хоть там меня не забанят 😄
Так что, если вам интересно прокачаться в подобных модификациях и хочется потренироваться не на CTF, а на реальных приложениях - заходите в канал https://tttttt.me/progifresh, не пожалеете (а может и свое приложение там найдете))
#Reverse #Android #ВП
В мире мобильных приложений под Android всегда есть интересные моменты, связанные с модификацией приложений. Выключение рекламы, разблокировка Pro-версий, модификация логики работы, отключение проверок безопасности 😉
Мне в свое время очень понравилось модифицировать игру ClumsyBird, где закомментировав одну строку в smali можно было бесконечно летать через деревья и набирать огромное количество очков.
Но разобрать более сложное не так просто, поэтому хорошим способом прокачаться в этом деле может быть построение диффа между оригинальным приложением и модифицированным, чтобы посмотреть, что изменилось и какие паттерны для поиска можно использовать в дальнейшем (понятно, что для каждого приложения они будут отличаться, но нечто общее можно всегда найти).
Где можно взять модифицированные приложения и в достаточно большом количестве? Есть очень интересный канал, в котором выкладывают модифицированные версии приложений (чаще всего игры). Я иногда выкачиваю пару приложений, сравниваю с оригиналами и пытаюсь повторить модификацию) Иногда получается, иногда нет :D Ну и пару игрушек себе поставил с модами, надеюсь хоть там меня не забанят 😄
Так что, если вам интересно прокачаться в подобных модификациях и хочется потренироваться не на CTF, а на реальных приложениях - заходите в канал https://tttttt.me/progifresh, не пожалеете (а может и свое приложение там найдете))
#Reverse #Android #ВП
Реверс приложений на Flutter
Несколько раз за последнее время в различных чатах всплывал вопрос про анализ приложений на Flutter, как к ним подступиться, как анализировать?
И там же всплыла очень интересная ссылка на инструмент по реверсу Flutter-приложений под названием reFlutter.
Из описания:
Этот фреймворк помогает при реверсе Flutter приложений благодаря пропатченной версии библиотеки Flutter, которая скомпилирована и готова к переупаковке приложения. В этой библиотеке изменен процесс десериализации, для более удобного динамического анализа.
Поддерживает iOS и Android и умеет перехватыватывать трафик приложения и перенаправлять его на прокси без необходимости ставить сертификаты и рутовать устройство. По словам создателя он автоматически умеет снимать некоторые виды Certificate Pinning, который используется во Flutter. Как мне кажется, только ради этого можно его попробовать 😁
Я сам пока не добрался до него, так как не было подходящего случая, но, думаю что в скором поюзаю) Ну и если у вас есть опыт использования - напшите, как этот фреймворк показывает себя в деле)
#tools #flutter #reverse #pinning
Несколько раз за последнее время в различных чатах всплывал вопрос про анализ приложений на Flutter, как к ним подступиться, как анализировать?
И там же всплыла очень интересная ссылка на инструмент по реверсу Flutter-приложений под названием reFlutter.
Из описания:
Этот фреймворк помогает при реверсе Flutter приложений благодаря пропатченной версии библиотеки Flutter, которая скомпилирована и готова к переупаковке приложения. В этой библиотеке изменен процесс десериализации, для более удобного динамического анализа.
Поддерживает iOS и Android и умеет перехватыватывать трафик приложения и перенаправлять его на прокси без необходимости ставить сертификаты и рутовать устройство. По словам создателя он автоматически умеет снимать некоторые виды Certificate Pinning, который используется во Flutter. Как мне кажется, только ради этого можно его попробовать 😁
Я сам пока не добрался до него, так как не было подходящего случая, но, думаю что в скором поюзаю) Ну и если у вас есть опыт использования - напшите, как этот фреймворк показывает себя в деле)
#tools #flutter #reverse #pinning
GitHub
GitHub - ptswarm/reFlutter: Flutter Reverse Engineering Framework
Flutter Reverse Engineering Framework. Contribute to ptswarm/reFlutter development by creating an account on GitHub.
Реверс протокола камер Reolink
Достаточно давно интересуюсь системами умного дома и в целом устройствами IoT.
И вот наткнулся на очень интересную статью про реверс проприетарного протокола камер Reolink с целью его преобразования в популярный и народный RTSP.
Чем она приглянулась и почему решил поделиться с вами? В статье много инструментов, которые мы часто используем, тут и Wireshark, анализ firmware, использование Ghidra, поиск строк, использование gdb, strace и многое другое. Интересно посмотреть на использование таких знакомых вещей под немного другим углом 😄
Надеюсь вам тоже будет немного интересно почитать, а может даже и полезно 🙃
#Reolink #iot #smarthome #reverse
Достаточно давно интересуюсь системами умного дома и в целом устройствами IoT.
И вот наткнулся на очень интересную статью про реверс проприетарного протокола камер Reolink с целью его преобразования в популярный и народный RTSP.
Чем она приглянулась и почему решил поделиться с вами? В статье много инструментов, которые мы часто используем, тут и Wireshark, анализ firmware, использование Ghidra, поиск строк, использование gdb, strace и многое другое. Интересно посмотреть на использование таких знакомых вещей под немного другим углом 😄
Надеюсь вам тоже будет немного интересно почитать, а может даже и полезно 🙃
#Reolink #iot #smarthome #reverse
www.thirtythreeforty.net
Hacking Reolink cameras for fun and profit
Dragging Reolink, kicking and screaming, into the light of the open-standards day
Интеграция Ghidra и radare2
Недавно я несколько раз писал про интересный инструмент radare2. И его и так не бедную функциональность легко расширять различными плагинами. Или же наоборот, функционал других инструментов дополнять функционалом r2.
Например, одна из таких интересных интеграций может быть с не менее популярным инструментом Ghidra. Благодаря такой связке процесс реверса может стать чуточку проще.
Более подробно об этом плагине и примерах использования автор рассказал да r2con2019.
Удачного реверса
#reverse #radare2 #ghidra
Недавно я несколько раз писал про интересный инструмент radare2. И его и так не бедную функциональность легко расширять различными плагинами. Или же наоборот, функционал других инструментов дополнять функционалом r2.
Например, одна из таких интересных интеграций может быть с не менее популярным инструментом Ghidra. Благодаря такой связке процесс реверса может стать чуточку проще.
Более подробно об этом плагине и примерах использования автор рассказал да r2con2019.
Удачного реверса
#reverse #radare2 #ghidra
GitHub
GitHub - radareorg/radare2: UNIX-like reverse engineering framework and command-line toolset
UNIX-like reverse engineering framework and command-line toolset - radareorg/radare2
Отличная заметка по реверсу и замене функции на свою в рантайме
В соседнем чате не так давно обсуждали различные возможности по предварительной загрузке или подмене системных библиотек при старте Android и промелькнуло несколько интересных ссылок на статьи.
И вот первая из них, как раз про подмену функций в рантайме, анализ логики работы, работа со смещениями, lldb и другим не менее интересным тулом для дизассемблирования ARMv8 инструкций в runtime - armadillo.
Самое главное, статья от нашего соотечественника на родном, русском языке! Отличный материал, очень подробное повествование, с примерами и результатом в виде готового проекта - hijack-shared-library-function.
В общем, спасибо большое автору @x25519 за годный контент!
#lldb #reverse
В соседнем чате не так давно обсуждали различные возможности по предварительной загрузке или подмене системных библиотек при старте Android и промелькнуло несколько интересных ссылок на статьи.
И вот первая из них, как раз про подмену функций в рантайме, анализ логики работы, работа со смещениями, lldb и другим не менее интересным тулом для дизассемблирования ARMv8 инструкций в runtime - armadillo.
Самое главное, статья от нашего соотечественника на родном, русском языке! Отличный материал, очень подробное повествование, с примерами и результатом в виде готового проекта - hijack-shared-library-function.
В общем, спасибо большое автору @x25519 за годный контент!
#lldb #reverse
Александр's Notion on Notion
Hijack Shared Library Function at Runtime
Задача: есть функция подгружаемая из динамической библиотеки, необходимо подменить ее реализацию. К примеру логировать каждый вызов, либо полностью заменить реализацию на свою.
👍5
Большой гайд по реверсу
Иногда спрашивают, с чего начать реверсить, что почитать на эту тему. Теперь у меня есть ответ :)
Достаточно большой гайд, а точнее сборник различных материалов по реверсу на различных архитектурах, с использованием различного инструментального стека: radare2, gdb, frida, x64dbg и других.
Заметки/статьи покрывают реверс С кода на х86, под винду и Unix, ну и небольшой кусочек по анализу малвари.
Всем, кто погружен в тематику или хочет научиться, настоятельно рекомендую. Очень наглядно, подробно, с комментариями и примерами.
Ну и просто заглядывайте к нему в блог, там очень качественные материалы.
#reverse #frida #gdb #radare2
Иногда спрашивают, с чего начать реверсить, что почитать на эту тему. Теперь у меня есть ответ :)
Достаточно большой гайд, а точнее сборник различных материалов по реверсу на различных архитектурах, с использованием различного инструментального стека: radare2, gdb, frida, x64dbg и других.
Заметки/статьи покрывают реверс С кода на х86, под винду и Unix, ну и небольшой кусочек по анализу малвари.
Всем, кто погружен в тематику или хочет научиться, настоятельно рекомендую. Очень наглядно, подробно, с комментариями и примерами.
Ну и просто заглядывайте к нему в блог, там очень качественные материалы.
#reverse #frida #gdb #radare2
artik.blue
Reversing
All things cyber
👍4
Продолжая тему реверса - инструмент radius2
Многие OpenSource продукты (обычно почему-то в реверсе мне чаще всего встречаются) имеют постфикс, то есть взяли какой-то инструмент, переписали его на новый язык/переделали/улучшили, но помня, откуда была взята оригинальная идея, оставляют старое название и добавляют новую цифру. Как примеры, radare2, radius2.
Интересно, а будет ли frida2, вот это я бы посмотрел =D
Вот и следующий инструмент имеет постфикс: radius2
Это фреймворк для символьного выполнения и taint-анализа, использующий Radare2 и его промежуточное представление ESIL. По сути, это старая версия ESILSove с некоторыми архитектурными улучшениями. Он использует boolector SMT-solver, а не z3. В среднем он выполняется примерно в 1000 раз быстрее, чем ESILSove.
Думаю, что тем, кто погружается или уже погружен в мир реверса - это будет полезно (если вы, конечно о нем не знаете).
Дополнительно в репозитории лежит неплохой файлик с описанием того, что эта штука умеет и может.
Приятного чтения и использования!
#radius #radare #frida #reverse
Многие OpenSource продукты (обычно почему-то в реверсе мне чаще всего встречаются) имеют постфикс, то есть взяли какой-то инструмент, переписали его на новый язык/переделали/улучшили, но помня, откуда была взята оригинальная идея, оставляют старое название и добавляют новую цифру. Как примеры, radare2, radius2.
Интересно, а будет ли frida2, вот это я бы посмотрел =D
Вот и следующий инструмент имеет постфикс: radius2
Это фреймворк для символьного выполнения и taint-анализа, использующий Radare2 и его промежуточное представление ESIL. По сути, это старая версия ESILSove с некоторыми архитектурными улучшениями. Он использует boolector SMT-solver, а не z3. В среднем он выполняется примерно в 1000 раз быстрее, чем ESILSove.
Думаю, что тем, кто погружается или уже погружен в мир реверса - это будет полезно (если вы, конечно о нем не знаете).
Дополнительно в репозитории лежит неплохой файлик с описанием того, что эта штука умеет и может.
Приятного чтения и использования!
#radius #radare #frida #reverse
GitHub
GitHub - nowsecure/radius2: radius is a fast binary emulation and symbolic execution framework using radare2
radius is a fast binary emulation and symbolic execution framework using radare2 - GitHub - nowsecure/radius2: radius is a fast binary emulation and symbolic execution framework using radare2
👍3
Большая энциклопедия Android-malware
Не так давно кто-то спрашивал про сэмплы зловредов под Androd. Тогда я скинул репозиторий, который содержит определенное их количество и периодически обновляется.
Но вот намного более интересный вариант под названием Androscope, поиск по вредоносам, а точнее по их функционалу. То есть, с его помощью можно найти все семплы, которые записывают видео с экрана или используют наложение, отреверсить их и понять, как они это имплементируют.
Очень интересный проект, для аналитиков самое то!
А вот небольшая статья по его функционалу.
#Android #Malware #reverse
Не так давно кто-то спрашивал про сэмплы зловредов под Androd. Тогда я скинул репозиторий, который содержит определенное их количество и периодически обновляется.
Но вот намного более интересный вариант под названием Androscope, поиск по вредоносам, а точнее по их функционалу. То есть, с его помощью можно найти все семплы, которые записывают видео с экрана или используют наложение, отреверсить их и понять, как они это имплементируют.
Очень интересный проект, для аналитиков самое то!
А вот небольшая статья по его функционалу.
#Android #Malware #reverse
👍5
Анализ Flutter-приложений
Компания Guardsquare, производитель DexGuard, выпустила занятную статью про внутренности Flutter и подходу к его анализу.
Так как эта первая статья из обещанного цикла, она не очень сильно раскрывает все нюансы и способы реверса приложений, но как обзорная статья с примерами, отсылками на другие работы и некоторыми подсказками доя упрощения работы самое то!
Во второй статье уже намного больше примеров, объяснений и внутренней кухне Flutter. Много отсылок на различные инструменты доя анализа, скрипты и репозитории (в том числе написанные самими исследователями). Весь свой тулинг для демо выложен в открытый доступ. Так что можно не просто прочитать, а попробовать повторить все шаги в статье, что, наверно является наиболее ценным.
Ну и я уверен, что в следующих статьях мы ещё услышим о reFlutter ;)
#flutter #reverse #dexguard
Компания Guardsquare, производитель DexGuard, выпустила занятную статью про внутренности Flutter и подходу к его анализу.
Так как эта первая статья из обещанного цикла, она не очень сильно раскрывает все нюансы и способы реверса приложений, но как обзорная статья с примерами, отсылками на другие работы и некоторыми подсказками доя упрощения работы самое то!
Во второй статье уже намного больше примеров, объяснений и внутренней кухне Flutter. Много отсылок на различные инструменты доя анализа, скрипты и репозитории (в том числе написанные самими исследователями). Весь свой тулинг для демо выложен в открытый доступ. Так что можно не просто прочитать, а попробовать повторить все шаги в статье, что, наверно является наиболее ценным.
Ну и я уверен, что в следующих статьях мы ещё услышим о reFlutter ;)
#flutter #reverse #dexguard
Guardsquare
Reverse Engineering Flutter Apps | Guardsquare
Doing Flutter reverse engineering can be hard without proper tooling. Learn about the current state and future of reverse engineering flutter apps.
👍6💩1
Вторая часть исследования iOS-приложений под обфускацией
Почитав блог из предыдущей статьи, я нашел у автора вторую часть этой, на самом деле, крайне полезной статьи.
Вдохновившись анализом и защитой SignPass, автор нашел еще одно приложение, которое было пропущено через тот же обфускатор, но включало в себя намного более строгие проверки в рантайме.
Что мне понравилось, это способ "защиты" от анализа crash-лога приложения, когда оно падает или аварийно завершается при обнаружении Frida или jailbreak. А именно, перед завершением работы обфускатор затирает некоторые регистры, например LR. А в твуом формате iOS-служба для анализа сбоев не может правильно построить стек вызовов функций, которые привели к сбою. Очень занятно, так как из crash-лога можно было бы получить нужную информацию.о том, где происходят проверки.
Как и в первой статье, подробно расписано, как и что автор делал, чтобы найти точки в приложении, где реализована защита, как он ее обходил и как именно это приложение было защищено.
Ну и конечно, в статье много хороших отсылок на другие полезные статьи. Некоторые из них, если вам лень с утра пораньше открывать и читать статью:
- Deobfuscation: recovering an OLLVM-protected program
- Automated Detection of Control-flow Flattening
- D810: A journey into control flow unflattening
В общем, настоятельно рекомендую ознакомиться всем, кто занимается iOS и реверсом, крайне полезная штука.
#ios #reverse #rasp #frida #obfuscation
Почитав блог из предыдущей статьи, я нашел у автора вторую часть этой, на самом деле, крайне полезной статьи.
Вдохновившись анализом и защитой SignPass, автор нашел еще одно приложение, которое было пропущено через тот же обфускатор, но включало в себя намного более строгие проверки в рантайме.
Что мне понравилось, это способ "защиты" от анализа crash-лога приложения, когда оно падает или аварийно завершается при обнаружении Frida или jailbreak. А именно, перед завершением работы обфускатор затирает некоторые регистры, например LR. А в твуом формате iOS-служба для анализа сбоев не может правильно построить стек вызовов функций, которые привели к сбою. Очень занятно, так как из crash-лога можно было бы получить нужную информацию.о том, где происходят проверки.
Как и в первой статье, подробно расписано, как и что автор делал, чтобы найти точки в приложении, где реализована защита, как он ее обходил и как именно это приложение было защищено.
Ну и конечно, в статье много хороших отсылок на другие полезные статьи. Некоторые из них, если вам лень с утра пораньше открывать и читать статью:
- Deobfuscation: recovering an OLLVM-protected program
- Automated Detection of Control-flow Flattening
- D810: A journey into control flow unflattening
В общем, настоятельно рекомендую ознакомиться всем, кто занимается iOS и реверсом, крайне полезная штука.
#ios #reverse #rasp #frida #obfuscation
Romain Thomas
Part 2 – iOS Native Code Obfuscation and Syscall Hooking | Romain Thomas
This second blog post deals with native code obfuscation and RASP syscall interception
👍6
Заметки на полях. Дебаг нативных библиотек при помощи IDA
В соседнем чате прислали интересную небольшую инструкцию, как можно удобно дебажить нативные библиотеки при помощи IDA:
https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/debugging-android-libraries-using-ida/
#IDA #android #reverse #debug
В соседнем чате прислали интересную небольшую инструкцию, как можно удобно дебажить нативные библиотеки при помощи IDA:
https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/debugging-android-libraries-using-ida/
#IDA #android #reverse #debug
Trustwave
Debugging Android Libraries using IDA
During a recent test, I encountered a native JNI library used by an Android application. I needed to understand this library and what it did, so the first step was to load the library in IDA to see what it...
🔥3👍2