- Настраиваем Android-девайс для анализа трафика приложений
- Basic
- Экспорт сертификата
- Установка сертификата
- Конфигурация прокси-сервера
- Настройка смартфона
- Первые результаты
- Метод 1
- Получение APK-файла приложения с помощью ADB
- Препарирование APK-файла
- Подписание и упаковка APK-файла
- Метод 2
- P.S. Результаты
- Сертификат безопасности вай фай
- Почему возникает ошибка сертификата Wi-Fi?
- Не удается подключиться, так как для входа в сеть Wi-Fi требуется сертификат.
Настраиваем Android-девайс для анализа трафика приложений
Периодически у меня возникает необходимость анализа мобильных приложений под Android, и каждый раз наибольшей проблемой является настройка перенаправления трафика мобильного приложения на прокси-сервер BurpSuite так, чтобы в нем отображались все запросы приложения.
Данная заметка предназначена для систематизации в едином источнике методов обхода ограничений по перенаправлению трафика. Вопросы обхода детектирования Root, SSL pinning-a и прочих механизмов безопасности не будут рассмотрены в рамках данной заметки.
Для настройки нам понадобятся: BurpSuite, ADB, apktool, jarsigner, Android-девайс (или эмулятор).
Basic
Для первичной настройки перенаправления трафика нам необходимо добавить SSL-сертификат нашего прокси-сервера в доверенные сертификаты устройства, а также выполнить настройку подключения к текущей Wi-Fi сети. Рассмотрим пошагово данный процесс.
Экспорт сертификата
После установки BurpSuite запускаем и создаем новый проект. После открытия основного окна BurpSuite переходим на вкладки Proxy (1) -> Proxy Settings (2) -> Import/export CA certificate (3). В открывшемся окне выбираем “Certificate in DER Format” (4) и сохраняем сертификат в файл (5), например, “burp.der”. Переименуем экспортированный файл в “burp.cer”. Перемещаем полученный файл на мобильное устройство, на котором в дальнейшем будем тестировать целевое приложение.
Установка сертификата
В настройках нашего устройства на Android выбираем Settings -> Security & Location -> Advanced -> Encryption & credentials -> Trusted credentials / User credentials (в зависимости от конкретного Android-дистрибутива данный путь может отличаться). Выбираем наш файл “burp.cer” и подтверждаем его установку. Для подтверждения успешности установки ищем наш сертификат в списке всех установленных сертификатов устройства.
Конфигурация прокси-сервера
Открываем BurpSuite, переходим на вкладки Proxy (1) -> Proxy Settings (2) -> Proxy Listeners (3) -> Add (4). Указываем любой свободный порт для прослушивания (например, 8081) и указываем в поле выбора интерфейса “All interfaces”. В качестве альтернативы мы имеем возможность выбрать конкретный интерфейс для прослушивания (например, подключенный к Wi-Fi сети).
Настройка смартфона
На Android устройстве идем в настройки: Settings -> Network & Internet -> Wi-Fi. Выбираем текущую Wi-Fi сеть, переходим в расширенные настройки сети. Указываем IP-адрес устройства с BurpSuite, выбранный ранее порт и сохраняем.
Первые результаты
На данном этапе мы можем увидеть в BurpSuite первые запросы от Android устройства. Однако, если мы попытаемся запустить целевое мобильное приложение, его трафик не будет отображаться в BurpSuite. Причиной этому является то, что в Android 7 Nougat (API version 24) произошли глобальные изменения, в результате которых мобильные приложения начали доверять лишь предустановленным системным сертификатам, к которым не относится установленный нами. Для обхода данного механизма защиты нам необходимо совершить еще несколько действий.
Метод 1
Для реализации данного способа нам необходимо пропатчить APK файл целевого приложения. Для этого выполним следующие действия:
Получение APK-файла приложения с помощью ADB
Для получения файла APK с устройства воспользуемся следующими командами:
adb shell pm list package # найдем имя пакета (например - com.example.app) adb shell pm path com.example.app # найдем путь до APK-файла приложения # результат выполнения данной команды будет выглядеть примерно так: # package:/data/app/com.example.someapp/base.apk adb pull /data/app/com.example.someapp/base.apk ./ #выгрузим APK-файл на наше локальное устройство
Препарирование APK-файла
Так как по своей сути APK файл является архивом, содержащим компилированный код приложения и его ресурсы, для его модификации нам необходимо извлечь его содержимое. Сделать это мы можем с помощью утилиты apktool командой apktool d app.apk -s . Флаг «-s» предотвращает дизассемблирование dex-файлов (ведь в этом нет потребности). В результате будет создана директория, имеющая название нашего исходного APK-файла, а также содержащая все файлы целевого приложения.
- В файле AndroidManifest.xml, в секцию добавляем значение android:networkSecurityConfig=»@xml/network_security_config». В результате у нас должно получиться что-то похожее на:
- В директории res/xml создадим новый файл с названием network_security_config.xml. В контент этого файла запишем:
Подписание и упаковка APK-файла
Теперь нам необходимо собрать и подписать наше модифицированное приложение. Для сборки приложения воспользуемся командой:
apktool b app-release -o modified.apk
Создадим новое хранилище ключей и ключ, а затем подпишем модифицированное приложение нашим ключом:
keytool -genkey -v -keystore test.keystore -storepass password -alias android -keypass password -keyalg RSA -keysize 2048 -validity 10000 jarsigner -verbose -keystore test.keystore -storepass password -keypass password modified.apk android
После завершения процесса подписи для установки новой версии приложения на наше устройство воспользуемся командой adb install modified.apk.
Метод 2
В процессе написания данной заметки в официальной документации эмулятора Genymotion был обнаружен альтернативный способ обхода данного механизма защиты, не требующий модификации APK файла. В данном методе происходит добавление сертификата в хранилище предустановленных сертификатов устройства, к которым осуществляется безусловное доверие любого приложения. Для осуществления данного метода подготовим наш burp.cer сертификат, экспортированный из BurpSuite.
openssl x509 -inform DER -in burp.cer -out Burp_cert.pem mv Burp_cert.pem $(openssl x509 -inform PEM -subject_hash_old -in Burp_cert.pem |head -1).0
В результате получим файл с названием вида хеш-значение.0 (например, 9a5ba575.0). Поместим подготовленный сертификат в хранилище предустановленных сертификатов девайса.
adb remount adb push 9a5ba575.0 /system/etc/security/cacerts/ adb shell chmod 664 /system/etc/security/cacerts/9a5ba575.0
Перезагружаем девайс и проверяем, что в списке сертификатов появился новый с именем «Portswigger». Затем настраиваем прокси в BurpSuite в соответствии с пунктом “Конфигурация прокси” и включаем перенаправление трафика:
adb shell settings put global http_proxy localhost:3333 adb reverse tcp:3333 tcp:8081
Для отключения перенаправления воспользуемся командой:
adb shell settings put global http_proxy :0
P.S. Результаты
В результате данных манипуляций весь трафик целевого мобильного приложения будет перенаправляться на прокси-сервер BurpSuite, где может быть подвержен дальнейшему анализу в исследовательских целях.
Сертификат безопасности вай фай
При попытке подключиться к WiFi, если вы получаете сообщение об ошибке сертификата Wi-Fi — Не удается подключиться, потому что вам нужен сертификат для входа в WiFi, этот пост поможет вам решить эту проблему. Некоторые пользователи сообщали, что это произошло внезапно, т. е. Windows уже была подключена к тому же Wi-Fi, но браузер перестал работать. Важно отметить, что проблема не в браузере. Вместо этого проблема связана с конфигурацией вашего WiFi.
Не удается подключиться, так как для входа в WiFi требуется сертификат. Обратитесь к специалисту по ИТ-поддержке.
Почему возникает ошибка сертификата Wi-Fi?
Проблема также ограничена бизнес-средой, где WiFi настроен так, что для каждого подключения сервер выдает сертификат, который используется для аутентификации. Если сервер не знает эмитента или клиент не знает сертификат сервера или сертификат изменился, тогда возникнет проблема.
Ошибка может возникать по таким причинам, как изменения в протоколах безопасности WiFi, когда время на ПК не синхронизировано или возникла проблема с сетевым адаптером. Все это приведет к аннулированию безопасного соединения или любого сертификата, который использовался для подключения к WiFi-соединению.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Не удается подключиться, так как для входа в сеть Wi-Fi требуется сертификат.
У нас есть несколько решений, которые помогут вам решить эту проблему, возникающую на вашем ПК с Windows 11/10. Эти:
- Настройка сетевого профиля Windows
- Исправить время и часовой пояс
- Убедитесь, что служба времени Windows работает автоматически
- Сбросить сетевой адаптер
- Связаться с ИТ-поддержкой
Давайте посмотрим, как использовать эти решения для исправления ошибки сертификата Windows WiFi на вашем компьютере.
1. Настройте профиль безопасности WiFi
Если поставщик Wi-Fi или маршрутизатор, к которому вы подключались, изменили свои настройки безопасности, вам нужно будет внести соответствующие изменения. Особенно, если Сеть скрыта, и вы настроили ее вручную.
Прежде чем двигаться дальше, узнайте тип безопасности, настроенный администратором на маршрутизаторе или точке доступа. Я предполагаю, что вы уже знаете SSID или имя сети и пароль.
- Откройте настройки Windows с помощью Win + I
- Нажмите на опцию «Сеть и Интернет».
- Сначала нажмите кнопку «Забыть» рядом с сетью, которая использовалась ранее.
- Сделав это, нажмите кнопку «Добавить сеть», чтобы открыть окно «Добавить новую сеть».
- Обязательно установите тип безопасности как WPA2-Enterprise и тип шифрования как AES.
После этого вам нужно будет выбрать метод EAP, добавить имя доверенного сервера и добавить отпечаток сертификата. Сделав это, подключитесь к сети и проверьте, работает ли это.
2. Исправить время и часовой пояс
- Щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Настройки».
- Выберите Время и язык.
- Отключите, а затем включите параметры «Автоматически устанавливать время» и «Автоматически устанавливать часовой пояс».
После этого перезагрузите компьютер, чтобы изменения вступили в силу.
Теперь посмотрим, решена проблема или нет. Если нет, вам нужно будет установить вещи вручную. Иногда расхождение может возникать из-за разницы между региональным временем и настройками ПК.
3. Убедитесь, что служба времени Windows работает автоматически.
Windows предлагает службу времени, которая поддерживает синхронизацию даты и времени на всех клиентах и серверах в сети. Если эта служба остановлена, синхронизация даты и времени будет недоступна. Если эта служба отключена, любые службы, явно зависящие от нее, не запустятся.
- Откройте приглашение «Выполнить», введите services.msc и нажмите клавишу Enter.
- Откроется окно «Службы» и найдите «Время Windows».
- Щелкните правой кнопкой мыши службу времени Windows и выберите «Перезагрузить».
- Если это не решит проблему, еще раз щелкните правой кнопкой мыши службу времени Windows.
- Перейдите в Свойства. Здесь вам нужно внести изменения в тип запуска. Измените его на автоматический с ручного.
- Подтвердите, что изменения были внесены, нажав на ОК.
Мы надеемся, что это исправит ошибку сертификата Windows WiFi в вашей системе.
4. Сброс сетевого адаптера
Следующие шаги помогут вам сбросить сетевой адаптер, который поможет вам исправить ошибки сертификата WiFi в Windows.
- Щелкните правой кнопкой мыши Пуск Windows (значок Windows в крайнем нижнем левом углу).
- Выберите Диспетчер устройств.
- Прокрутите вниз до «Сетевые адаптеры» из списка. Нажмите на знак стрелки, чтобы развернуть его
- Вы увидите список упомянутых адаптеров.
- Щелкните правой кнопкой мыши сетевой адаптер WiFi.
- В раскрывающемся меню выберите «Отключить», а затем снова включите их, чтобы перезагрузить сетевой адаптер.
Если это не сработает, вы можете запустить средство устранения неполадок сети.
- Откройте настройки Windows с помощью Win + I
- Перейдите в «Система» > «Устранение неполадок» > «Другие средства устранения неполадок».
- Найдите сетевые адаптеры и нажмите кнопку «Выполнить» рядом с ним.
- После этого вы сможете
Не забудьте перезагрузить компьютер, чтобы изменения вступили в силу.
5. Свяжитесь с ИТ-поддержкой
Если ничего из этого не работает, было бы лучше связаться с ИТ-командой и решить эту проблему. Если что-то изменилось в ИТ, скорее всего, вы будете уведомлены об этом. Однако, если нет, то лучше обратиться к профессиональной команде.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)