Всякий раз, когда я сталкиваюсь с некоторыми проектами тестирования на проникновение приложений, проблема невозможности перехватить пакеты немного неудобна, но невозможность перехватить пакеты не означает, что целевая система безопасна, поэтому дальше я разберусь с некоторыми пакетами. захватывает тот метод, который я изучил до сих пор.
Для проведения следующего теста захвата пакетов убедитесь, что мобильный телефон и компьютер находятся в одной локальной сети.
среда:
существовать Burpsuite в Proxy — Options — Proxy Listeners — Add
ЗатемсуществоватьSpeciffic address
выбирать172
сегмент сетиизчто IP Адрес (т.е. локальная сеть IP адрес)
существоватьсотовый телефонвсетьнастраивать Также хочунастраивать Ручной режим прокси
, вход IP и порт
Все связано с Burpsuite Такой же
Затемсуществоватьсотовый доступ к браузеру телефона https://burp
Перейдите по этому адресу, чтобы загрузить и установить burp сертификат после соскабливания HTTPS Для трафика требуется сертификат, нажмите CA Certificate
Готово к загрузке
После загрузки вам необходимо изменить суффикс файла сертификата, поскольку мобильный телефон не может его открыть. .der
файл суффикса, поэтому попросите его .der
Изменить на .cer
, а затем установите сертификат
Затем после установки вы можете захватывать пакеты данных приложения.
среда:
Скрипач v5.0.20204.45441 Pixel 3, Android 11, root + Xposed
1、существовать Fiddler в Tools — Options
2、существовать options Переключиться на всплывающее окно HTTPS
, установите флажки, отмеченные на рисунке 2 варианты и нажмите OK
3. После проверки появится запрос на установку сертификата. Продолжайте нажимать согласно подсказкам. да
Установка прошла успешно
4、затемсуществоватьTools — Options — Connections
, порт напиши 9999
(Можно изменить по желанию),и Проверять Allow remote computers to connect
, нажмите OK
5. Перезагрузить Fiddler ( Изменение конфигурации скрипача вступит в силу только после перезапуска.
)
6. Измените настройки сети мобильного телефона.
7. существует браузер для доступа к вышеуказанным настройкам IP Адрес и номер порта, я здесь да 172.20.10.5:9999
(Это зависит от реальной ситуации),Затем FiddlerRoot certificate
Загрузите сертификат и установите его самостоятельно
Затем после установки вы можете захватывать пакеты данных приложения.
Конфигурация Burpsuite использоватьизактерское мастерствомониторда 127.0.0.1:8080
существовать Fiddler в Tools — Options — Gateway
Конфигурацияизактерское мастерствомониторда 127.0.0.1:8080
(здесьиз Конфигурацияи Burpsuite Агент последовательный)
затемсуществовать Tools — Options — Connections
, порт напиши 9999
(Можно изменить по желанию),и Проверять Allow remote computers to connect
, нажмите OK
Изменить настройки мобильной сети
То есть да значит от сотовый телефонизпотокпройти Fiddler
руководитьвперед кBurpsuite
среда:
HttpCanary v3.3.6 Pixel3 Android11, рутированный + Xposed Сначала установите приложение HttpCanary APP.
HttpCanary поддерживать HTTP/HTTPS/HTTP2 Захват и анализ пакетов сетевых данных фактически аналогичен Charles
Аналогично, чтобы схватить HTTPS Нужно использовать MITM промежуточная технологическая пара TLS/SSL Пакет данных расшифровывается и выводится в виде обычного текста, поэтому вам необходимо установить самоподписанный пакет. CA Сертификат
из-за моего Pixel3 сотовый телефондауже root Понятно,И да Android11 система,существовать Андроид 7.0 Перед установкой системы скачайте Сертификат напрямую и загрузите его в и все,Андроид 7.0 И вышеуказанная система верно изменена в политике безопасности Сертификатиз, что означает, что из sdcard Установить уровень пользователя CA Не сможет перехватить приложениепоток. Нам нужно назвать Сертификат, чтобы вычислить суффикс хеш-значения. .0
илипрямойсуществоватьсотовый телефонвиз учетные данные пользователя
Вы можете увидеть суффикс .0из Файл сертификата
имя,Затемимпортироватьприезжатькорень Сертификат Оглавление:/system/etc/security/cacerts
Сделать систему заслуживающей доверия по умолчанию. Поэтому способ установки Сертификата также отличается: по умолчанию там устанавливается существующий польский зователь.
Сначала установите Сертификат в порядке, показанном на рисунках ниже.
Сначала экспортируйте HttpCanaryкорень
Сертификатдокумент .pem
Нажмите на него и Вот и все завершится установка Сертификат
Итак, вот он, где он живет, но дапотому что я из оборудования уже сделал root Понятно,взять это Сертификат Установитьсуществовать система
Там ты можешь ползти HTTPS поток
Затем вам нужно переместить файл Сертификатиз в каталог системы проживания, откуда вы сможете экспортировать выборы. System Trusted(.0)
Затем переместите Сертификатруководить в каталог «Система Сертификат проживания». /etc/security/cacerts/
существовать Android 10 И вышеуказанный Сертификатприезжения установки /system/etc/security/cacerts/
появится system Невозможно написать, чтобы использовать mount Об ошибке сообщается следующим образом:
'/system' not in /proc/mounts
'/dev/block/dm-4' is read-only
потому что Android 10 использовать Понятно Некоторые политики безопасности, разбить систему /systeminstallt доступен только для чтения
,Даже если ты root Понятно, что это бесполезно. HTTPCanary Когда такое программное обеспечение захватывает и анализирует пакеты, многие app Только признатьсистема Сертификат,Отрицатьпользователь Сертификат
Есть два пути решения подобной ситуации:
1、существовать Magisk
в Установка Модуль «Переместить сертификаты»
,Плагин умеет автоматически конвертировать все пользовательские Сертификаты в системные Сертификаты в один клик.
использоватьметод:все Сертификат Установитьдляпользователь Сертификатназад,Установите этот плагин,и перезапустите.
2. Создайте новую точку монтирования для покрытия Таким образом, перезапись памяти будет такой сотовой. телефон Недействителен после перезагрузки. (Если вам нужна постоянство, вам необходимо рассмотреть возможность настройки службы запуска)
# Создайте временный каталог для сохранения текущего Сертификата.
mkdir /sdcard/tmp/
# копироватьсуществующий Сертификатприезжатьвременный каталог
cp /system/etc/security/cacerts/* /sdcard/tmp/
# Создать монтирование памяти
mount -t tmpfs tmpfs /system/etc/security/cacerts
# Вернуть существующий Сертификаткопировать tmpfs устанавливать
mv /sdcard/tmp/* /system/etc/security/cacerts/
# возобновлять perms и selinux
chown root:root /system/etc/security/cacerts/*
chmod 644 /system/etc/security/cacerts/*
chcon u:object_r:system_file:s0 /system/etc/security/cacerts/*
Вперед, продолжать Приходить Посмотри на это Сертификатиз Интерфейсуже После прочтенияприезжатьуже Цзинпа пользователь
из Сертификат Установитьсуществовать система
Вот оно
Хотя HttpCanary
да Очень хороший инструмент перехвата пакетов, но его нельзя связать с другими инструментами перехвата пакетов для пересылки и захвата пакетов, например, с тестером на проникновение. ествоватьиспользовать Оно руководить После захвата пакета вы можете напрямую существоватьсотовый телефонначальстворуководить Изменить пакет данныхруководитьтест,нодавозможныйсуществоватьсотовый Эффективность работы на телефоне не такая высокая, поэтому я выложил тестовый пакет данных копировать приезжать. Burpsuite Изменение параллельных пакетов также отнимет много времени.
подда HttpCanary принцип работы
HttpCanary использует VPN для пересылки сетевых пакетов на локальный прокси-сервер. Локальный прокси-сервер пересылает пакеты данных на виртуальный шлюз. Виртуальный шлюз перехватывает и анализирует протоколы с использованием различных стратегий и, наконец, отправляет данные на терминал.
Самый важный уровень — виртуальный шлюз. Virtual Gateway
, верно требует, чтобы протокол руководил идентификацией, анализировал ожидание ожидания, включая перехват пакетов и внедрение, чтобы обеспечить обработку этого уровня, например HTTPS «Человек посередине» (MITM) анализирует пакеты открытого текста и т. д.
Итак, обратите внимание на рисунок выше. Принцип работуруководить После анализа поищу другой способ перехвата пакетов (он тоже работает и HttpCanary несколько похоже
) можно заменить на HttpCanary
—— Postern + Charles + Burpsuite
комбинация,Что касается того, как работать,Можетсуществоватьстатьяпод 7. Используйте Постерн + Charles + Burpsuite перехватывает пакеты из приложения
Читать далее
среда:
Charles v4.6.2 Pixel3 Android11 ,уже root + Xposed charles да Отличный инструмент для перехвата пакетов, все платформы существуют, существуют. mac,windows,linux Его можно использовать как на web Вы также можете забрать посылку, которую носите. app упаковка charles К основным функциям относятся следующие: перехватывать Http и Https Сетевые пакеты. Поддержка повторно отправляет сетевые запросы для облегчения внутренней отладки. Поддержка Изменение параметров сетевого запроса. поддерживаются сетевые запросы, которые перехватываются и изменяются динамически. поддержка имитирует медленную сеть.
актерское мастерствосерверпринцип работы Как показано ниже:
Клиент инициирует запрос, запрос пересылается на сервер через charles, сервер возвращает ответ, а ответ пересылается клиенту через charles.
charles Он играет роль посланника, передающего информацию от A перешел к B, и отправьте ответ от B перешел к A,толькопотому Он работает связным и прекрасно знает содержание сообщения (неважно, исходное письмо или ответ), оно корректное. что Итак, Чарльз Также возможно подделать информацию и контент, то есть подделать запрос и ответ.
Адрес загрузки Чарльза:
Затем после установки самостоятельно его необходимо активировать
Адрес генерации регистрационного кода:
активация Charles существовать Help->Registered входить key игенерироватьизактивациякод Вот и все
настраиватьактерское мастерство,существовать Proxy — Proxy Settings
( ПРИМЕЧАНИЕ. На данный момент моя Windows Проксида удалить верный крючок, потому что чтоздесьядадуматьсуществоватьPCконец Понятьсотовый телефонная упаковка, так Нет необходимости открывать компьютер из местного актерского мастерство
)
Заполняем порт прокси 8888
(или Настроить,но Нетспособныйисистемаужезаниматьконецустный конфликт),и И крючокначальство Support HTTP/2
и Enable transparent HTTP proxying
,нажмитенижний правый угол OK Вот и все
Затемсоответственносуществовать PC конецисотовый телефонконец Установить Сертификат
выбирать Help — SSL Proxying — Install Charles Root Certificate
Вы можете скачать и установить его PC Подается
Сертификатхранилищевыбирать Доверенный орган, выдающий сертификат isroot
Возьми это Приходить Дай еще разсотовый Чтобы установить Сертификат на телефонный терминал, выполните следующие действия:
выбирать Help — SSL Proxying — Install Charles Root Certificate on a Mobile Device or Remote Browser
После нажатия появится окно с предложением способа настройки. Следуйте подсказкам существующего. телефонконец Воляактерское мастерствонастраиватьдля компьютераиз ip:8888( Вот я да192.168.1.251:8888
),Здесь надо в первую очередь убедиться, что сотовый телефоныи Компьютер подключен к той же беспроводной сети
。Затемсуществоватьсотовый телефониз браузер открывается http://chls.pro/ssl
, следуйте инструкциям по загрузке Сертификат Вот и все。
если Charles Появится всплывающее окно, обязательно нажмите на него. Allow
Сначала установите Сертификат в порядке, показанном на рисунках ниже.
Ищете жильевыбрать только что скачанный файл из Сертификата, нажмите Вот и все для завершения установки.
это такжеда Установитьсуществовать пользователь
Есть, но дапотому что я из оборудования уже сделал root Понятно,взять это Сертификат Установитьсуществовать система
Там ты можешь ползти HTTPS поток
Но необходимым условием для перемещения Сертификата является знание того, как называется файл из Сертификата после установки Сертификата, чтобы он мог существовать. учетные данные пользователя
Вы можете увидеть это здесь
Файл b905ae73.0
, в данный момент он находится в каталоге дасуществоватьпользователь /data/misc/user/0/cacerts-added/
затем скопируйте его в /etc/security/cacerts/
каталог системы
Затемсуществовать Proxy — SSL Proxying Settings
руководить SSL Proxying Settings настраивать
Проверять enable SSL Proxying Флажок означает включение SSL Proxying актерское мастерство,исуществовать include Добавьте в столбец имя домена и номер порта. включать Элементы списка представляют Charles возможность отображать эти доменные имена SSL Запрос и ответ и открытый текст.
И описание также напоминает нам Charles Чтобы использовать SSL Proxying актерское мастерство,нуждатьсяруководить SSL Certificates,Прямо сейчас Сертификатзнак。Это мысуществоватьначальстволапшаужезавершенный Понятно。
Stop SSL Proxying
Кнопки могут управлять SSL актерское мастерствоизвыключатель。(SSL-прокси должно быть включено)
В этот момент П.К. конецизнастраивать Всеужечерез Конфигурацияхороший Понятно,Тогда ты сможешь забрать посылку Понятно
выбирать Проверять Proxy — External Proxy Settings
Просто да будет Charles Будучи агентом по мобильному телефону, Charles Отправьте посылку в Берпсьют, так что для Charles Например, бурпсьют стал одним External Proxy Server
—— внешний прокси-сервер
Проверять HTTP
и HTTPS
Агент, здесь HTTP
и HTTPS
изактерское адрес мастерствасервера все да 127.0.0.1:8080
(здесьиз Конфигурацияи Burpsuite Агент последовательный)
ужечерезнастраивать Понятновнешнийактерское мастерство Понятно, вы должны открыть отрыжка (конечно Понятно главное да открыть burp средняя пара 127.0.0.1:8080 мониторинг), иначе появится Больше не могу подключиться к Интернету
из Феномен。существовать burp в строке меню Proxy в опциях Options Открыть через 127.0.0.1:8080
изактерское мастерство прослушивания (да должно быть включено по умолчанию из), существование Intercept Отключите перехват запросов в .
После выполнения вышеуказанных действий начните с сотового Откройте браузер для поиска контента на телефоне, он должен существовать Charles Найдите пакет, который хотите захватить, в списке в левой части окна, также вы сможете увидеть пакет данных из Charles вперед к Burpsuite Понятно
существоватьдействительный Понятьсотовый телефон App В сфере упаковки существует множество решений, классическое — да. Fiddler
、 Burpsuite
,нода Fiddler
、 Burpsuite
Вы столкнетесь с проблемой, если App Для того, чтобы посредник не поймал посылку, мы специально настраиваем Понятно, не идите на актерское мастерство это вариант, то используйте его самостоятельно Fiddler
、 Burpsuite
Эти инструменты перехвата пакетов не могут перехватывать пакеты, поэтому невозможно думать, что цель безопасна только потому, что она не может перехватывать пакеты, не так ли? Загрузите полный пакет «Доехать» для «Понятно», который был получен из да Postern + Charles
Эта комбинация, дапотому что Charles
Не контролируется напрямую App,Charles
дамониторприезжать Понятно Postern
начальство,Postern
СразудаодинVPN
,так App настраивать Не уходяактерское мастерство тоже бесполезно, оно проходит VPN все будет идтивперед к Charles из socks
Агент, откройте еще раз Charles из External Proxy Server
— (внешний прокси-сервер)вперед к Burpsuite для реализации захвата пакетов по принципу «человек посередине»
среда:
Postern 3.1.3 Charles v4.6.2 Burpsuite Professional v2021.2 Pixel3 Android11 ,уже root + Xposed
Первый Конфигурация Charles
существовать Proxy — Proxy Settings
,Проверять Enable SOCKS proxy
руководитьнастраивать SOCKS
актерское мастерство (Следуйте рисунку ниже), номер порта здесь настройки 16666
(или Настроить,но Нетспособныйисистемаужезаниматьконецустный конфликт)
Конфигурацияактерское мастерство
Добавить прокси-сервер
Нажмите «Сохранить»
Правило конфигурации
Добавить правило
Следуйте рисунку нижеруководитьдействоватьи Нажмите «Сохранить»
Включить/выключить постер
Тогда, пока вышеизложенное Используйте Чарльза + Burpsuite перехватывает пакеты из приложения
После завершения настройки откройте цель, которую хотите захватить. APP Вы можете видеть, что пакет данных о прибытии был загружен. к Burpsuite Понятно
Однако, если некоторые из них сталкиваются с необходимостью приезжать, пожалуйста, обратитесь к следующим двум статьям.
Fiddler Хотя также можно достроить вересотовый телефониз сумку, но да если App настраивать Понятно Не уходяактерское мастерство,Что Fiddler Просто потерпите неудачу. Fiddler Каждый раз нужно вручную вносить изменения в сеть. мастерство,нода Charles и Postern Благодаря сотрудничеству по связям нет необходимости вручную изменять настройки сети, достаточно просто Конфигурация. Postern и Charles изConnect может Понятно, и может быть самым верным из App руководить Понять Сумка,Нетиспользоватьактерское мастерство, закрыть напрямую Postern Вот и все
На данный момент, Скрипач и Charles да очень популярен, но да не так популярен, как верно. Postern + Charles Сфера применения шире.
Что делает привязка да Сертификата? На самом деле в Интернете много имен по имени из, Привязка. SSL-сертификат, английское название: SSL Pinning Или Сертификат проверки. Короче говоря, как бы вы это ни называли, вам нужно проверить, заслуживает ли Сертификат доверия. мы знаем из HTTP приезжать HTTPS Уровень понимания добавляется во время передачи данных. SSL/TLS позволяет шифровать наши данные и больше не видеть их в виде обычного текста. В это время будет Понятно CA Сертификат。
нассуществоватьползти HTTPS Когда пакет данных получен, используйте поддельный CA Сертификат, позволяющий реализовать данные об угоне «человеком посередине». один раз app Проверьте информацию об отпечатке пальца Понятно Сертификатиз. Нам из Сертификата больше нельзя доверять Понятно. Естественно, связь не может быть установлена, поэтому необходимо найти способ ее установить. app Только доверяя, вы сможете продолжать перехватывать пакеты. Конечно, это можно разделить на две ситуации:
(1)Проверка отдельного товара-клиентконец Служба проверкиконециз Сертификат。 (2) Двусторонняя аутентификация - клиенту необходимо не только подтвердить личность сервера, но и существовать. app Поместите один внутрь Сертификат;Служитьконец Также проверюклиентконецвнутрииз Сертификат。
Android Сертификат проверки уже доступен в системе. API, нам просто нужно реализовать checkClientTrusted
、 checkServerTrusted
、 verify
ждатьметод Вот и все。
Такого рода изверенное сопротивление требует от нас оставить эти функции управления пустыми и доверять всем Сертификат Вот и всем по умолчанию.
Xposed да Фреймворк, который может изменить поведение программы, не затрагивая никаких АПК. Он имеет множество модулей, и каждый модуль можно использовать для выполнения различных функций. JustTrustMe даone используется для отключения и обхода SSL Проверка сертификата на основе Xposed модуль. Просто доверься мне да Воля APK Все в используются для проверки SSL Сертификатиз API Всеруководить Понятно Крюк, тем самым минуя проверку Сертификата.
среда:
Pixel3 Android11 ,уже root + Xposed SSLUnpinning 2.0 плагин JustMePlush плагин Frida-server-15.1.27-android-arm64 PC конециз Frida v15.1.27 Objection v1.11.0
Загрузите сначала Xposed рамкаплагин SSLUnpinning
+ JustTrustMe
, SSLUnpinning
плагин Можетпрямойсуществовать Xposed Храните загрузки, в то время как JustTrustMe плагиннуждатьсяприезжатьподиз GitHub Ссылка для скачивания самостоятельно
Я буду использовать это здесь SSLUnpinning 2.0
плагини JustMePlush
плагин, эффект После установки жеиз, подключите, не забудьте запустить плагин, а затем Перезагрузить телефон
Оно вступит в силу только после подключения
а затем использовать Objection
руководитьобойти
Objection даа модель на основе frida из hook рамка,потому что frida Нам нужно написать скрипт самим, что хлопотнее в использовании, объект Внутринабор Понятносуществовать Андроиди IOS Некоторые из них обычно используются в реверс-инжиниринге hook Скриптом мы можем руководить через простую командную строку hook Динамическое вмешательство, очень удобно
потому что Objection да на основе Frida из Так что сначала вам нужно установить его Frida Затем вы можете установить Objection
pip3 install objection
Развернуть согласно вышеописанной операции руководить Frida После настройки среды запустите серверная программа Фрида
Затем используйте Objection
Inject приезжать к цели APP в приложении
возражение -g имя пакета изучить
если я не знаю APP имя пакета, вы можете использовать следующую команду для просмотра, но да все равно требует запуска Понятно серверная программа Фрида
frida-ps -Ua
Затемвходитьзакрытие APP из SSL Команда проверки
android sslpinning disable
исуществоватьсотовый телефонвсетьнастраивать Также хочунастраивать Ручной режим прокси, вход IP ипорт Все связано с Burpsuite Такой же
Вот и все Полный обход SSL Pinning
руководить Понять Сумка
если появится и да всё равно не обойти SSL Pinning
из ситуации вы можете обратиться к следующим двум статьям
APP В дополнение к Понятному серверу проверки из Сертификат, сервер также проверит APP из Сертификат。HTTPS Двусторонняя проверка Сертификата существования редко используется на практике приезда, поскольку что серверная часть должна поддерживать всех клиентов из Сертификата, это Это, несомненно, значительно увеличит потребление. Понятно, поэтому большинство производителей выбирают одностороннюю привязку сертификата. Для борьбы с двусторонней аутентификацией необходимо выполнить два шага:
(1) Пусть клиент подумает burp дасервер , этот шаг на самом деле касается взлома SSL закрепление, метод точно такой же, как описанный выше процесс. (2) Пусть сервер подумает burp да клиент , для этого шага необходимо импортировать клиент из Сертификатприезжать burp, сертификат клиента обязательно будет храниться в существующем локальном коде, а также может быть пароль. В этом случае вам необходимо перевернуть клиент. app, найдите пароль «Сертификат проживания» и преобразуйте его в pkcs12 Импорт формата приезжать burp。
User options -> SSL -> Client SSL Certificate
。
Двусторонняя проверкаизapp Случай:
https://www.wandoujia.com/apps/8280413
Обычно приложение размещает Сертификат в каталоге существующих ресурсов. app/asset
Вниз,назадукрашенный名для p12
、 pfx
издокумент。Конечновозможныйзамаскируется под что-то другоедокумент,Например, файл изображения ждать.
Как узнать пароль для посещения Сертификат? Как правило, вы можете либо использовать обратный анализ, чтобы найти пароль проживания, либо использовать перехват API java.security.KeyStore, чтобы найти пароль.
(1)Jadx Найдите название сертификата или цепочку сертификатов. x509certificate Проанализируйте и определите Кусочекприезжатьключ Кусочекнабор。
(2)серверверноклиентконецруководить В процессе проверки,клиентконец Воля Сертификат Открытый ключ отправлен насервер,и изсерверполучать session èДля процесса расшифровки закрытого ключа требуется API руководитьдействовать,API житьсуществовать В java в рамках структуры слоев, так hook Код платформы java.security.KeyStore,Сделайте так, чтобы пароль выплеснулся. Вот картинка из футляра APK Распакуйте егоназадсуществовать
assets
В каталоге есть такойclient.p12
из Сертификат, но не знает его пароля и поэтому хочет использовать Frida цель APP руководить перехватите и позвольте ему выдать пароль.
❗️❗️❗️ Уведомление:.p12
назадукрашенныйиз Сертификатдокументда Зависит от .crt
Сертификати key
документобъединитьистановиться.p12
Сертификатдокумент,иисуществоватьобъединитьигенерировать .p12
Файл необходимо зашифровать (то есть добавить пароль Сертификата) без добавления пароля. Burpsuite дане могу импортироватьиз
function hook_KeyStore_load() {
Java.perform(function () {
var StringClass = Java.use("java.lang.String");
var KeyStore = Java.use("java.security.KeyStore");
KeyStore.load.overload('java.security.KeyStore$LoadStoreParameter').implementation = function (arg0) {
console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));
console.log("KeyStore.load1:", arg0);
this.load(arg0);
};
KeyStore.load.overload('java.io.InputStream', '[C').implementation = function (arg0, arg1) {
console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new()));
console.log("KeyStore.load2:", arg0, arg1 ? StringClass.$new(arg1) : null);
this.load(arg0, arg1);
};
console.log("hook_KeyStore_load...");
});
}
setImmediate(hook_KeyStore_load)
```ini
Сценарий можно найти в блоге старшего брата здесь скопировать и назвать `ssl.js` (настраиваемый) [Сертификат клиента проверки сервера захвата пакетов](https://blog.csdn.net/qq409732112/article/details/120061517 «Сертификат клиента проверки сервера захвата пакетов»)
Выполните следующую команду
> frida -U -f APP имя пакета -l ssl.js --no-pause
![png](https://xrsec.s3.bitiful.net/IMG/2022110311342902598.png?w=1280&fmt=png)
Можно обнаружить, что мы проходим hook Код платформыпридетсяприезжать Понятно `client.p12`Пароль сертификата: `111111`,Затемсуществовать Burpsuite ввыбирать `User options — TLS — Client TLS Certificates — Add` руководитьимпортировать Сертификат,`Destination host`Писать`*`руководитьсоответствоватьвсеадрес,Сертификаттипвыбирать`File(PKCS#12)`,Затемвыбирать`Next`
![png](https://xrsec.s3.bitiful.net/IMG/2022110311343370109.png?w=1280&fmt=png)
нагрузка `assets` Каталог из `client.p12` Сертификатдокумент,ивходитьначальстволапша hook Пароль `111111`
![png](https://xrsec.s3.bitiful.net/IMG/2022110311343863192.png?w=1280&fmt=png)
![png](https://xrsec.s3.bitiful.net/IMG/2022110311355115995.png?w=1280&fmt=png)
После импорта Сертификата вы можете нормально захватить пакет. Вы можете видеть изображение ниже и изображение ниже. `403` Если да не импортировал Сертификатиз, он не позволит вам перехватывать пакеты и получать к нему доступ, как показано выше. `200` да После того, как я импортировал Сертификат, я могу нормально перехватывать пакеты Понятно
![png](https://xrsec.s3.bitiful.net/IMG/2022110311354754465.png?w=1280&fmt=png)
В «Дасуществовать» также есть несколько особенных сцен. `веб-страница` или `APP` нуждатьсясуществовать PC Только установив Сертификат на компьютер, вы сможете получить доступ к перехвату пакетов, далее действовать необходимо в соответствии с реальной ситуацией.
![png](https://img.soogif.com/ILDhgI8rL1ViSfiKV2qpVb6NFbCHsgya.gif?scope=mdnice)
### 9、использовать Frida Писать Hook поколениекод Приходитьруководитьверно APP Имитировать захват пакетов
среда:
> Симулятор Ночного Бога 32 Кусочек Android7.1.2 уже root
>
> Frida-server-15.1.27-android-x86
>
> PC конециз Frida v15.1.27
>
> Objection v1.11.0
использовать Charles Что мне делать, если я не могу поймать сумку, которая у нас есть? `Фрида`, можно пройти frida Приходить hook жить APP структурасетьпроситьи Где получить данныеизпоколениекод,Затемраспечатать Приходитьпроситьи Возврат данных,так APP Сделайте сетевой запрос к серверу, который управляет, и сразу получите все данные.
в целомсетьпроситьиполучать данныеизпоколениекод Всевстреча Писатьсуществоватьодинв классе,нас Просто ищитеприезжатьодинточка Приходить Следуй и найдиприезжать Этот класс Сразу Может Понятно。
существовать Боссиз Github Проект по поиску жилья [Фрида Осуществить перехват okhttp изScript](https://github.com/siyujie/OkHttpLogger-Frida "Frida Осуществить перехватokhttpиз Скрипт")
этопринцип работы Сразуда:
> потому чтовсеиспользоватьиз okhttp Кадр из App Все запросы, сделанные да, выдаются через `RealCall.java`, тогда мы можем hook Эта категория называется приезжать. Request и Response, также Может缓жить Вниз Приходить Каждыйодинпроситьиз call вернослон,руководитьсновапросить,таквыбирать Понятноздесьруководить hook。 find Добавлено ранее проверить, найти даNouseПонятно на основе класса объектов okhttp3 Библиотека, если у нее нет класса объектов, это означает, что ее нельзя использовать. okhttp; Найти класс пространственных объектов, описаниеиспользовать Понятно okhttp из библиотеки и распечатайте, запутан ли да.
> ❗️❗️❗️ здесьяиспользовать Понятно Реальная машинаруководитьтест,При появлении сообщения об ошибке сообщается ниже:,Для тестирования реальной машины должны быть какие-то экологические причины.,因此я Сразуиспользовать Понятно`Симулятор Ночного Бога`руководитьподиздействовать
![png](https://xrsec.s3.bitiful.net/IMG/2022110311354253240.png?w=1280&fmt=png)
Сначала поставь `okhttpfind.dex` копироватьприезжать `/data/local/tmp/` каталог и предоставить разрешения
> adb push okhttpfind.dex /data/local/tmp/
>
> chmod 777 okhttpfind.dex
![png](https://xrsec.s3.bitiful.net/IMG/2022110311353794667.png?w=1280&fmt=png)
Затем запустите `серверную программа Фрида`
![png](https://xrsec.s3.bitiful.net/IMG/2022110311353292775.png?w=1280&fmt=png)
Затем выполните команду для запуска hook Скрипт
> frida -U -l okhttp_poker.js -f APP имя пакета --no-pause
>
> если При необходимости можно добавить дополнительные параметры -o [output filepath] Сохранить файл проживания
[okHttp из app Дело](http://m.bandao.cn/android/news/bandao_news.apk "okHttpизapp Случай")
![png](https://xrsec.s3.bitiful.net/IMG/2022110311352688055.png?w=1280&fmt=png)
![png](https://xrsec.s3.bitiful.net/IMG/2022110311352137849.png?w=1280&fmt=png)
Затемкопироватьбыть сбитым с толкуназадиз Имя класса(начальство Рисунок красная рамкажитьизсодержание),Вставитьприезжать okhttp_poker.js файл (как показано ниже) и руководить`save`, Фрида Автоматически распознает в режиме реального временивозобновлятьназадиз Скриптсодержание Связанные с исполнениемдействовать
![png](https://xrsec.s3.bitiful.net/IMG/2022110311351684875.png?w=1280&fmt=png)
тогда беги `hold()` Команда открытия hook Перехватите, а затем действуйте App После этого содержимое перехвата будет выглядеть следующим образом:
![png](https://xrsec.s3.bitiful.net/IMG/2022110311350019386.png?w=1280&fmt=png)
еслидуматьверно okHTTP Для более глубокого исследования темы «руководить» вы можете прочитать эту замечательную статью «руководить». [[Оригинал] Как достичь Https перехватыватьруководить нетрадиционный“Понять Сумка”(20.9.13-поколениекодвозобновлять)](https://bbs.pediy.com/thread-252100.htm "[Оригинал] Как достичь Httpsперехватыватьруководить нетрадиционный“Понять Сумка”(20.9.13-поколениекодвозобновлять)")
## Подвести итог
Организация вышеперечисленных девяти различных способов захвата пакетов фактически может использоваться всеми основными из существующих в настоящее время на рынке. APP В сценарии захвата сумок, конечно, есть больше, чем эти девять способов захвата сумок, например, есть еще [Boss Shredded Boss] `r0ysue` из Андроидприложениеслой Понять Сумка Убить всех Скрипт](https://github.com/r0ysue/r0capture "Босс Босс `r0ysue` из Андроидприложениеслой Понять Сумка Убить всех Скрипт"),Если вам интересно, вы можете попробовать. Фактически, вы можете узнать больше о навыках захвата пакетов.,возможно, в состояниисуществоватьтестиз Откройте для себя больше смысла в этом процесседумать Нетприезжатьизновая технология。
![png](https://img.soogif.com/SjjHiDzcBATGK9OtibFzC68dtp9mWOXZ.gif?scope=mdnice)
Ссылки
- [fiddler Установка пособие, считаем это рекордом~](https://blog.csdn.net/yeyue0922/article/details/88718363 "fiddlerУстановка пособие, засчитаем это как рекорд да~")
- [какиспользовать Burp suite ползти Fiddler Форвард изпоток пакета](https://blog.csdn.net/weixin_48691035/article/details/106781583 "какиспользоватьBurp пакет пакет форвардизпоток SuiteползтиFiddler")
- [Android Захват пакетов — HttpCanary](https://www.modb.pro/db/432723 «Захват пакетов Android — HttpCanary»)
- [Android10 импортироватьсистема Сертификатизметод。](https://blog.csdn.net/fjh1997/article/details/106756012 «Система импорта Android10Метод сертификации».)
- [После изучения этой статьи Charles Захватите посылку Учебное пособие, я сразу fiddler удалить Понятно](https://www.bilibili.com/read/cv15803460 «После изучения этого Чарльза Захватите посылку Учебное пособие, я сразуfiddlerудалить Понятно")
- [Charles+Postern Захват пакетов](https://blog.csdn.net/tiaNY19/article/details/121254560 «Пакет захвата Чарльза+Постерна»)
- [Как пройти Charles+BurpSuite из Сотрудничатьсуществовать PC конец Понятьприезжатьсотовый телефон Сумка](https://blog.csdn.net/qq_38798840/article/details/125221320 «Как захватить приезжатьсотовый через Charles+BurpSuiteиз с существующих ПК телефон Сумка")
- [Charles Искаженные символы SSL актерское мастерство решения проблемы](https://blog.csdn.net/liuqinhou/article/details/127035359 "CharlesИскаженные символыSSL актерское мастерство решения проблем")
- [Into Mobile Security (3) — расширенный захват пакетов] (https://mp.weixin.qq.com/s/0iCDSK_uSfbJdKA_9fzVnA)
- [Двусторонняя аутентификация APP Сертификат захвата пароля и пакета] (https://mp.weixin.qq.com/s/Xon6SIXpb2oPyh5fFZ1Pvg)
- [[Оригинал]Андроид APP Перехват пакетов и прорыв в двусторонней аутентификации](https://bbs.pediy.com/thread-265404.htm "[Оригинал]АндроидAPPПонять Сумка Прорыв в двусторонней аутентификации")
- [Frida Понимать Android конец App Гаджет захвата пакетов [okhttp_poker]](https://blog.csdn.net/siyujiework/article/details/108297912 "FridaПониматьAndroidконецAppПонять Сумка Гаджет[okhttp_poker]")
> XRSec has the right to modify and interpret this article. If you want to reprint or disseminate this article, you must ensure the integrity of this article, including all contents such as copyright notice. Without the permission of the author, the content of this article shall not be modified or increased or decreased arbitrarily, and it shall not be used for commercial purposes in any way