Плагин для VS Code, который облегчит вам жизнь
Только сегодня спрашивали, а есть ли докер для всех популярных инструментов, которые используются для анализа Android приложений?
Это, конечно не совсем докер, но очень удобный плагин для VSCode под названием APKLab. Содержит в себе Apktool, Jadx, uber-apk-signer и позволяет использовать все эти инструменты напрямую из VSCode.
А так же, всё-таки можно это завернуть в докер, используя Remote Containers.
Подарок для тех, кто использует VSCode, по наводке от замечательного @testing_guy 😁
#Android #Containers #VSCode
Только сегодня спрашивали, а есть ли докер для всех популярных инструментов, которые используются для анализа Android приложений?
Это, конечно не совсем докер, но очень удобный плагин для VSCode под названием APKLab. Содержит в себе Apktool, Jadx, uber-apk-signer и позволяет использовать все эти инструменты напрямую из VSCode.
А так же, всё-таки можно это завернуть в докер, используя Remote Containers.
Подарок для тех, кто использует VSCode, по наводке от замечательного @testing_guy 😁
#Android #Containers #VSCode
GitHub
GitHub - APKLab/APKLab: Android Reverse-Engineering Workbench for VS Code
Android Reverse-Engineering Workbench for VS Code. Contribute to APKLab/APKLab development by creating an account on GitHub.
Нативный запуск iOS приложений на MacOS
Согласно новостям на новом чипе М1 теперь можно нативно запускать приложения iOS. Это значит, что не нужно специально запускать симулятор или ставить приложение на реальное устройство, теперь MacOS умеет их запускать сама даже без симулятора!
А если верить некоторым записям в твитторе, то к этим приложениям так же можно подключаться при помощи Frida или lldb. 😍
То есть, теоритически, исследовать приложения, если у тебя новый мак, станет намного проще. Больше не нужно джейлить устройство и следить за выпусками очередного jailbreak или что-то еще, просто скачал приложение, переподписал его, запустил его и веред к звездам!
Конечно, не все так радужно, во первых непонятно, насколько точно будет совпадать работа приложения на реальном устройстве и нативный запуск в ОС, насколько все функции будут поддерживаться (Keychain, TouchID, связка с другими приложениями и т.д.), все ли приложения можно будет установить или будут ограничения (помимо игр с акселерометром). Насколько правильно будут работать большинство хуков - пока непонятно.
Но если все будет стабильно и мы получим подтверждение, что все инструменты работают как надо, это будет очень круто.
Надеемся на лучшее :)
#Apple #iOS #Jailbreak #M1
Согласно новостям на новом чипе М1 теперь можно нативно запускать приложения iOS. Это значит, что не нужно специально запускать симулятор или ставить приложение на реальное устройство, теперь MacOS умеет их запускать сама даже без симулятора!
А если верить некоторым записям в твитторе, то к этим приложениям так же можно подключаться при помощи Frida или lldb. 😍
То есть, теоритически, исследовать приложения, если у тебя новый мак, станет намного проще. Больше не нужно джейлить устройство и следить за выпусками очередного jailbreak или что-то еще, просто скачал приложение, переподписал его, запустил его и веред к звездам!
Конечно, не все так радужно, во первых непонятно, насколько точно будет совпадать работа приложения на реальном устройстве и нативный запуск в ОС, насколько все функции будут поддерживаться (Keychain, TouchID, связка с другими приложениями и т.д.), все ли приложения можно будет установить или будут ограничения (помимо игр с акселерометром). Насколько правильно будут работать большинство хуков - пока непонятно.
Но если все будет стабильно и мы получим подтверждение, что все инструменты работают как надо, это будет очень круто.
Надеемся на лучшее :)
#Apple #iOS #Jailbreak #M1
Баг в Facebook за 15К$
Короткая статья, я бы даже сказал, скорее заметка, как можно найти дефект стоимостью в 15 тысяч $, просто пообщавшись с коллегой 😁
На самом деле, суть проблемы в передаче третьей стороне чуть больше данных, чем требуется. В данном случае, в Facebook Messenger при поиске gif-ок вместе с запросом улетал и access токен от вашего аккаунта в Facebook 😁 Мелочь, а приятно.
Скорее всего, в приложении стоял обработчик, который пихал аксесс токен во все запросы автоматически, чтобы не делать этого каждый раз руками. И в этот обработчик так же попали и запросы от стороннего сервиса картинок. Я могу быть абсолютно не прав, это лишь предположение.
На самом деле, такие ошибки часто встречаются и даже в OWASP MASVS есть требование по анализу данных, передаваемых третьей стороне. Так что при добавлении новой функциональности, особенно, если она относится к third-party сервисам, хорошо бы прогнать эту функциональность через анализаторы или ручками посмотреть, что ничего лишнего никуда не утекает. 😉
#iOS #Facebook #Messenger #Vulnerability
Короткая статья, я бы даже сказал, скорее заметка, как можно найти дефект стоимостью в 15 тысяч $, просто пообщавшись с коллегой 😁
На самом деле, суть проблемы в передаче третьей стороне чуть больше данных, чем требуется. В данном случае, в Facebook Messenger при поиске gif-ок вместе с запросом улетал и access токен от вашего аккаунта в Facebook 😁 Мелочь, а приятно.
Скорее всего, в приложении стоял обработчик, который пихал аксесс токен во все запросы автоматически, чтобы не делать этого каждый раз руками. И в этот обработчик так же попали и запросы от стороннего сервиса картинок. Я могу быть абсолютно не прав, это лишь предположение.
На самом деле, такие ошибки часто встречаются и даже в OWASP MASVS есть требование по анализу данных, передаваемых третьей стороне. Так что при добавлении новой функциональности, особенно, если она относится к third-party сервисам, хорошо бы прогнать эту функциональность через анализаторы или ручками посмотреть, что ничего лишнего никуда не утекает. 😉
#iOS #Facebook #Messenger #Vulnerability
Medium
How I Found The Facebook Messenger Leaking Access Token Of Million Users
Hi everyone,
Подменяем Runtime Permissions в Android
Очень прикольную багу нашел наш соотечественник из компании MobileUp. Возможность подмены текста и иконки в всплывающем диалоге Runtime Permissions.
Похожую технику любят использовать различные малвари, перекрывая собой экран, только они использовали для этого механизм SYSTEMALERTWINDOW, но тут всё интереснее.
В данном случае, приложение может запросить доступ к смс и звонкам, перекрыть системное уведомление и написать любой текст! 😁 Шикарная штука)
Что мне непонятно, почему этот трюк работает только с 7-й версии Android, а в 6-й, когда появился механизм Runtime Permissions, система запрещает перекрывать системные диалоги. Поменялся механизм или просто решили, что эта мера защиты не нужна?))
И кстати, в конце статьи есть ссылка на библиотеку, которая сделает всё за вас и поможет в несколько кликов "украсить" ваши запросы на доступ к чему либо.
Так что тщательно проверяйте в настройках, какие именно разрешения есть у приложения. Вполне может оказаться, что фонарик, который попросил разрешение на доступ к камере, чтобы помогать вам правильно настроить свет, на самом деле в тайне читает ваши СМС 😏
#Vulnerability #Android #Permissions
Очень прикольную багу нашел наш соотечественник из компании MobileUp. Возможность подмены текста и иконки в всплывающем диалоге Runtime Permissions.
Похожую технику любят использовать различные малвари, перекрывая собой экран, только они использовали для этого механизм SYSTEMALERTWINDOW, но тут всё интереснее.
В данном случае, приложение может запросить доступ к смс и звонкам, перекрыть системное уведомление и написать любой текст! 😁 Шикарная штука)
Что мне непонятно, почему этот трюк работает только с 7-й версии Android, а в 6-й, когда появился механизм Runtime Permissions, система запрещает перекрывать системные диалоги. Поменялся механизм или просто решили, что эта мера защиты не нужна?))
И кстати, в конце статьи есть ссылка на библиотеку, которая сделает всё за вас и поможет в несколько кликов "украсить" ваши запросы на доступ к чему либо.
Так что тщательно проверяйте в настройках, какие именно разрешения есть у приложения. Вполне может оказаться, что фонарик, который попросил разрешение на доступ к камере, чтобы помогать вам правильно настроить свет, на самом деле в тайне читает ваши СМС 😏
#Vulnerability #Android #Permissions
Medium
Подменяем Runtime permissions в Android
Android Fake Permissions
Как работает рандомизация адресного пространства в iOS
Система iOS предоставляет ряд техник для защиты от эксплуатации различных переполнений (стека, кучи и прочих страшных вещей). Среди них PIE (Position Independed Executable), SSP (Stack Smashing Protection), ASLR (Address Space Layout Randomization). Вот как раз о последнем и пойдет сегодня речь.
Для меня всегда было сложно понять, как именно работают все эти механизмы. На верхнем уровне все относительно понятно, но если посмотреть чуть глубже, то начинается бинарный ад 😄
Но вот в этой статье достаточно просто описан механизм, что такое эта рандомизация адресного пространства, зачем она нужна, как работает и самое интересное, как можно это обойти, для этого всего-то нужно пропатчить ядро 😁
Специально для упрощения работы автор сделал репозиторий, в который выгрузил практически готовый код для модификации ядра. Практически, потому что все равно нужно самостоятельно найти нужный адрес инструкций, которые нужно изменить.
Если вам не интересна вторая часть бинарщины про патчинг ядра, все равно рекомендую посмотреть на первую часть статьи)
#iOS #Kernel #Patching
Система iOS предоставляет ряд техник для защиты от эксплуатации различных переполнений (стека, кучи и прочих страшных вещей). Среди них PIE (Position Independed Executable), SSP (Stack Smashing Protection), ASLR (Address Space Layout Randomization). Вот как раз о последнем и пойдет сегодня речь.
Для меня всегда было сложно понять, как именно работают все эти механизмы. На верхнем уровне все относительно понятно, но если посмотреть чуть глубже, то начинается бинарный ад 😄
Но вот в этой статье достаточно просто описан механизм, что такое эта рандомизация адресного пространства, зачем она нужна, как работает и самое интересное, как можно это обойти, для этого всего-то нужно пропатчить ядро 😁
Специально для упрощения работы автор сделал репозиторий, в который выгрузил практически готовый код для модификации ядра. Практически, потому что все равно нужно самостоятельно найти нужный адрес инструкций, которые нужно изменить.
Если вам не интересна вторая часть бинарщины про патчинг ядра, все равно рекомендую посмотреть на первую часть статьи)
#iOS #Kernel #Patching
Разнообразие уязвимостей в deeplink и Webview
Очень часто в приложениях присутствуют уязвимости, связанные с недостаточной валидацией данных от пользователя в механизмах deeplink и WebView. Тут тебе и редиректы, XSS, чтение файлов и много других интересных вещей.
В данной статье разобраны некоторые из возможных сценариев эксплуатации таких уязвимостей, а именно CSRF и SSRF. Достаточно интересный вектор атаки с использованием мобильных приложений :)
Хотя, на мой взгляд, некоторые сценарии выглядят немного надуманно и, надеюсь, не должны встречаться в современных разработках, почитать про них всё-таки стоит. Мало ли какие приложения попадут на анализ или появятся более интересные мысли, как развить это направление дальше 😁
#Android #Deeplink #Webview
Очень часто в приложениях присутствуют уязвимости, связанные с недостаточной валидацией данных от пользователя в механизмах deeplink и WebView. Тут тебе и редиректы, XSS, чтение файлов и много других интересных вещей.
В данной статье разобраны некоторые из возможных сценариев эксплуатации таких уязвимостей, а именно CSRF и SSRF. Достаточно интересный вектор атаки с использованием мобильных приложений :)
Хотя, на мой взгляд, некоторые сценарии выглядят немного надуманно и, надеюсь, не должны встречаться в современных разработках, почитать про них всё-таки стоит. Мало ли какие приложения попадут на анализ или появятся более интересные мысли, как развить это направление дальше 😁
#Android #Deeplink #Webview
Постоянный root на эмуляторе
Замечательный @testing_guy прислал свеженький репозиторий (всего пара дней ему), с интересной функциональностью рутования андроид эмулятора.
Я сначала не мог понять, зачем это нужно, ведь эмуляторы без Google Play Services идут из коробки вместе с root пользователем. Но потом вспомнил то время, когда я использовал Xposed.
Действительно, root на Android эмуляторах есть, но он не такой же, как если бы вы получили его на реальном девайсе. Как минимум, при загрузке эмулятора adb server стартует из под обычного пользователя. То есть, если необходим фреймворк для анализа, такой, как Xposed, этот вариант не подойдёт, эти инструменты требуют постоянного и полноценного рута со всеми необходимыми бинарями, вроде su.
В сети есть много гайдов по тому, как зарутовать эмулятор, но они все датированы достаточно лохматым годом и почти не работают. Я в свое время написал для этого свои скрипты, которые работали на 7-м Android.
Автор же этой утилиты (набора скриптов), предлагает способ автоматизации этого процесса и гарантирует работоспособность на 9-м Android, что очень здорово!
Теперь, чтобы использовать все удобства Xposed достаточно запустить несколько команд и получить практически готовую среду! Ещё есть опция автоматом прописать СА сертификат от burp с системное хранилище, что упрощает перехват трафика.
Такая среда тестирования очень даже удобна, особенно, если вы больше любите писать на java (хуки для Xposed), а не JS (Frida).
#Android #Xposed #Emulator #Root
Замечательный @testing_guy прислал свеженький репозиторий (всего пара дней ему), с интересной функциональностью рутования андроид эмулятора.
Я сначала не мог понять, зачем это нужно, ведь эмуляторы без Google Play Services идут из коробки вместе с root пользователем. Но потом вспомнил то время, когда я использовал Xposed.
Действительно, root на Android эмуляторах есть, но он не такой же, как если бы вы получили его на реальном девайсе. Как минимум, при загрузке эмулятора adb server стартует из под обычного пользователя. То есть, если необходим фреймворк для анализа, такой, как Xposed, этот вариант не подойдёт, эти инструменты требуют постоянного и полноценного рута со всеми необходимыми бинарями, вроде su.
В сети есть много гайдов по тому, как зарутовать эмулятор, но они все датированы достаточно лохматым годом и почти не работают. Я в свое время написал для этого свои скрипты, которые работали на 7-м Android.
Автор же этой утилиты (набора скриптов), предлагает способ автоматизации этого процесса и гарантирует работоспособность на 9-м Android, что очень здорово!
Теперь, чтобы использовать все удобства Xposed достаточно запустить несколько команд и получить практически готовую среду! Ещё есть опция автоматом прописать СА сертификат от burp с системное хранилище, что упрощает перехват трафика.
Такая среда тестирования очень даже удобна, особенно, если вы больше любите писать на java (хуки для Xposed), а не JS (Frida).
#Android #Xposed #Emulator #Root
GitHub
GitHub - m2sup3rn0va/RASEv1: Rooting Android Studio Emulator with Android Version 9.0 and above
Rooting Android Studio Emulator with Android Version 9.0 and above - m2sup3rn0va/RASEv1
Xposed на Genymotion
В догонку к предыдущему сообщению, @c0de_l поделился модулем для Magisk под названием EdXposed.
Не пользовался им, но если правильно понимаю - это плагин для Magisk, который позволяет установить Xposed на устройстве с Android 9-й версии и выше и при этом пользоваться всеми удобствами и благами Magisk, например защитой от определения SafetyNet 😉
И более того, эта версия модуля специально предназначена для работы с бесплатной версией Genymotion! 🔥
#Android #Magisk #Genymotion
В догонку к предыдущему сообщению, @c0de_l поделился модулем для Magisk под названием EdXposed.
Не пользовался им, но если правильно понимаю - это плагин для Magisk, который позволяет установить Xposed на устройстве с Android 9-й версии и выше и при этом пользоваться всеми удобствами и благами Magisk, например защитой от определения SafetyNet 😉
И более того, эта версия модуля специально предназначена для работы с бесплатной версией Genymotion! 🔥
#Android #Magisk #Genymotion
GitHub
GitHub - ElderDrivers/EdXposed: Elder driver Xposed Framework.
Elder driver Xposed Framework. Contribute to ElderDrivers/EdXposed development by creating an account on GitHub.
Онлайн-воркшоп по Android-разработке
Без знаний того, как устроены и работают мобильные приложения, взламывать их не получится (скорее всего).
А технологии, особенно в Android (как мне кажется), развиваются очень быстро и в скором времени начинаешь ощущать, что уже не всегда понимаешь что и как работает в приложении.
Иногда я хожу на разные бесплатные вебинары по разработке, чтобы хотябы понимать, что гуглить 😁 Как раз сегодня в 18:00 будет воркшоп для начинающих разработчиков. Судя по описанию, это совсем база, но если вы хотели понять, как написать первое приложение и из чего состоит Android приложуха - может быть полезно.
Это не реклама, просто ребята попросили поддержать бесплатное мероприятие. Почему бы и нет? :) Вдруг кому поможет)
#Android #Development
Без знаний того, как устроены и работают мобильные приложения, взламывать их не получится (скорее всего).
А технологии, особенно в Android (как мне кажется), развиваются очень быстро и в скором времени начинаешь ощущать, что уже не всегда понимаешь что и как работает в приложении.
Иногда я хожу на разные бесплатные вебинары по разработке, чтобы хотябы понимать, что гуглить 😁 Как раз сегодня в 18:00 будет воркшоп для начинающих разработчиков. Судя по описанию, это совсем база, но если вы хотели понять, как написать первое приложение и из чего состоит Android приложуха - может быть полезно.
Это не реклама, просто ребята попросили поддержать бесплатное мероприятие. Почему бы и нет? :) Вдруг кому поможет)
#Android #Development
gdg-voronezh-event.timepad.ru
Android Study jams / События на TimePad.ru
Android Study Jams — это онлайн-воркшоп по Android-разработке.
Как всегда немного теории и потом напишем приложение. Участники получат сертификаты о прохождении воркшопа.
Как всегда немного теории и потом напишем приложение. Участники получат сертификаты о прохождении воркшопа.
Распаковщик зашифрованных приложений
Несколько раз встречал вопросы про DexGuard, DexProtector и проблемы с анализом приложений, которые зашифрованы ими.
Сам я не сталкивался с анализом таких приложений, только читал про то, как ковыряют защиту и пытаются вытащить исходники.
На Github есть проект, который может с этим помочь. Основан на базе Frida и дампе расшифрованного dex-файла из памяти. Аналогичный механизм используется в frida-dump на iOS, чтобы получить расшифрованный ipa.
Работает скрипт на Android 4-11 и поддерживает "распаковку" Jiagu, DexProtector, DexGuard и Yidun. 🔥
#Android #DexProtector #DexGuard #Unpack #tools
Несколько раз встречал вопросы про DexGuard, DexProtector и проблемы с анализом приложений, которые зашифрованы ими.
Сам я не сталкивался с анализом таких приложений, только читал про то, как ковыряют защиту и пытаются вытащить исходники.
На Github есть проект, который может с этим помочь. Основан на базе Frida и дампе расшифрованного dex-файла из памяти. Аналогичный механизм используется в frida-dump на iOS, чтобы получить расшифрованный ipa.
Работает скрипт на Android 4-11 и поддерживает "распаковку" Jiagu, DexProtector, DexGuard и Yidun. 🔥
#Android #DexProtector #DexGuard #Unpack #tools
GitHub
GitHub - enovella/fridroid-unpacker: Defeat Java packers via Frida instrumentation
Defeat Java packers via Frida instrumentation. Contribute to enovella/fridroid-unpacker development by creating an account on GitHub.
Контроль над разноцветными IoT лентами
Сейчас дико распространены устройства IoT и их использование не требует знаний и умений в программировании, а процесс основан на базе воткни в розетку, введи пароль от своего WiFi, поздравляем, у тебя умный дом :D
Ну и конечно, толпа поделок с Китая не может быть без мобильных приложений и уязвимостях в них.
В статье автор рассказывает о трёх уязвимостях, которые позволяют получить полный контроль над аккаунтом пользователя и управлять подключенным девайсами.
Уязвимости не так, чтобы интересные, но последняя неплоха, с подменой ответа сервера. Но я был удивлен, что даже таким уязвимостям присваивают CVE.
#CVE #IoT #Android
Сейчас дико распространены устройства IoT и их использование не требует знаний и умений в программировании, а процесс основан на базе воткни в розетку, введи пароль от своего WiFi, поздравляем, у тебя умный дом :D
Ну и конечно, толпа поделок с Китая не может быть без мобильных приложений и уязвимостях в них.
В статье автор рассказывает о трёх уязвимостях, которые позволяют получить полный контроль над аккаунтом пользователя и управлять подключенным девайсами.
Уязвимости не так, чтобы интересные, но последняя неплоха, с подменой ответа сервера. Но я был удивлен, что даже таким уязвимостям присваивают CVE.
#CVE #IoT #Android
Trustwave
Magic Home Pro Mobile Application Authentication Bypass (CVE-2020-27199)
With the prevalence of IoT devices flooding the mainstream marketplace, we tend to see a large proliferation of these devices lacking even basic security controls. Many of these devices are targeted for mainstream household environments and due to often unfettered…
Уязвимость Race Condition в Binder IPC
Про Binder было несколько постов, которые объясняли что это, как работает и для чего нужен. Но если кратко - это системный компонент, через который реализовано межпроцессное взаимодействие в Android.
Недавно Google закрыли уязвимость CVE-2020-0423, которая позволяла получить root-доступ на устройстве через взаимодействие с Binder.
В статье подробно описано, почему это происходило, как эта уязвимость работает, с примерами кода, логов и большому количеству отсылок к разным другим интересным статьям. И более того есть PoC эксплойта 🔥
#Android #Binder #IPC #CVE
Про Binder было несколько постов, которые объясняли что это, как работает и для чего нужен. Но если кратко - это системный компонент, через который реализовано межпроцессное взаимодействие в Android.
Недавно Google закрыли уязвимость CVE-2020-0423, которая позволяла получить root-доступ на устройстве через взаимодействие с Binder.
В статье подробно описано, почему это происходило, как эта уязвимость работает, с примерами кода, логов и большому количеству отсылок к разным другим интересным статьям. И более того есть PoC эксплойта 🔥
#Android #Binder #IPC #CVE
cve.mitre.org
CVE -
CVE-2020-0423
CVE-2020-0423
Common Vulnerabilities and Exposures (CVE®) is a list of records — each containing an identification number, a description, and at least one public reference — for publicly known cybersecurity vulnerabilities. Assigned by CVE Numbering Authorities (CNAs)…
Эксплуатация уязвимости в ядре Android
Люблю читать про сравнения безопасности Android и iOS, это всегда познавательно. Правда, обычно такие статьи относятся к разряду популистических или маркетинговых.
Но не в этом случае :) Один из участников Project Zero, специализирующийся на iOS решил попробовать свои силы с Android и нашёл несколько серьёзных уязвимостей.
Но более интересно в этой статье его сопоставление отличий в эксплуатации и мерах защиты в двух самых популярных мобильных операционных системах.
#Android #iOS #Kernel #Vulnerability
Люблю читать про сравнения безопасности Android и iOS, это всегда познавательно. Правда, обычно такие статьи относятся к разряду популистических или маркетинговых.
Но не в этом случае :) Один из участников Project Zero, специализирующийся на iOS решил попробовать свои силы с Android и нашёл несколько серьёзных уязвимостей.
Но более интересно в этой статье его сопоставление отличий в эксплуатации и мерах защиты в двух самых популярных мобильных операционных системах.
#Android #iOS #Kernel #Vulnerability
Blogspot
An iOS hacker tries Android
Written by Brandon Azad, when working at Project Zero One of the amazing aspects of working at Project Zero is having the flexibility to dir...
Исследование Heapdump Android приложений
Интересную статью про анализ дампа памяти посоветовал @testing_guy в нашем чате.
Автор описывает, как правильно снимать дамп, анализировать его и что в нем может быть интересного. Как пример использования - поиск расшифрованных данных, чтобы не утруждать себя анализом криптографии, используемой в приложении, а получить из памяти сразу нужные значения. Статья интересна, как обучающий материал, для понимая, как устроен дамп памяти и что в нем может быть интересного.
Как по мне, такого рода "уязвимости", то есть хранение открытых данных в памяти, в реальной жизни трудно реализуемы. Если только не найдется какая-то новая уязвимость типо Heartbleed для мобилок при помощи которой можно будет читать произвольные участки памяти.
Анализ дампа интересен, чтобы посмотреть, что в нем хранится, и поискать эти значения в других места (файлы, базы данных и т.д.). Или если приложение использует одинаковый ключ шифрования для всех установок. Тогда его можно попробовать вычислить или получить из памяти и использовать его для расшифровки данных с другого устройства.
#Android #Heapdump #Tools
Интересную статью про анализ дампа памяти посоветовал @testing_guy в нашем чате.
Автор описывает, как правильно снимать дамп, анализировать его и что в нем может быть интересного. Как пример использования - поиск расшифрованных данных, чтобы не утруждать себя анализом криптографии, используемой в приложении, а получить из памяти сразу нужные значения. Статья интересна, как обучающий материал, для понимая, как устроен дамп памяти и что в нем может быть интересного.
Как по мне, такого рода "уязвимости", то есть хранение открытых данных в памяти, в реальной жизни трудно реализуемы. Если только не найдется какая-то новая уязвимость типо Heartbleed для мобилок при помощи которой можно будет читать произвольные участки памяти.
Анализ дампа интересен, чтобы посмотреть, что в нем хранится, и поискать эти значения в других места (файлы, базы данных и т.д.). Или если приложение использует одинаковый ключ шифрования для всех установок. Тогда его можно попробовать вычислить или получить из памяти и использовать его для расшифровки данных с другого устройства.
#Android #Heapdump #Tools
Medium
Hack crypto secrets from heap memory to exploit Android application
Due to the short time of development, The developers only focus on the building feature, functionalities and UI components. But they may…
Forwarded from Android Guards
Если сегодня к вечеру соберусь с силами, то сделаю стрим про хранение API ключей в нативном коде и покажу как это все оттуда достать без особых проблем. Разбор будет по мотивам статьи, которая недавно появилась в чате и, к моему удивлению, вызвала какие-то обсуждения даже.
https://youtu.be/jW5AoiIZlO8
https://youtu.be/jW5AoiIZlO8
Forwarded from Android Guards
Весь код, который показывал на стриме можно взять тут: https://github.com/Android-Guards/storing-api-keys
GitHub
GitHub - Android-Guards/storing-api-keys
Contribute to Android-Guards/storing-api-keys development by creating an account on GitHub.
Хороший стрим и пример того, как не нужно хранить приватные ключи и что не стоит верить всем советам, среди них есть и плохие.
Один из таких советов - хардкодить ключи в нативном коде. Если верить совету, то их намного сложнее отыскать и злоумышленнику потребуется много времени, чтобы разреверситт ваше приложение.
На самом деле, это конечно же не так :)
Что и доказывает нам @OxFi5t в своем стриме. Спасибо ему! :)
Актуальная ссылка на видео:
https://www.youtube.com/watch?v=LpOvHhpcVG4
Один из таких советов - хардкодить ключи в нативном коде. Если верить совету, то их намного сложнее отыскать и злоумышленнику потребуется много времени, чтобы разреверситт ваше приложение.
На самом деле, это конечно же не так :)
Что и доказывает нам @OxFi5t в своем стриме. Спасибо ему! :)
Актуальная ссылка на видео:
https://www.youtube.com/watch?v=LpOvHhpcVG4
YouTube
Хранение ключей API в нативном коде
Рассказываю и показываю как хранить всякую конфиденциальную информацию в нативном коде и почему так делать не надо.
0:00 Intro
0:10 О чем стрим
1:46 Разбор статьи Store API Keys Securely
6:46 Разбор кода приложения с нативной библиотекой
16:10 Анализ библиотеки…
0:00 Intro
0:10 О чем стрим
1:46 Разбор статьи Store API Keys Securely
6:46 Разбор кода приложения с нативной библиотекой
16:10 Анализ библиотеки…