У меня есть проприетарное приложение только для Windows, которое использует HTTPS для общения с (также проприетарным, недокументированным) веб-сервисом.
Чтобы в конечном итоге иметь возможность использовать функциональные возможности веб-службы на моих Linux-машинах, я хочу провести обратный инжиниринг API веб-службы, проанализировав запросы, отправленные приложением.
Теперь вопрос: как я могу расшифровать и записать трафик HTTPS?
Я знаю несколько решений, которые не применимы в моем случае:
- Fiddler - это посредник HTTPS-посредника, который я не могу использовать, поскольку приложение не поддерживает прокси-серверы. Кроме того, я (пока) не знаю, работает ли он с самозаверяющими серверными сертификатами, в чем я сомневаюсь.
- Wireshark может дешифровать потоки SSL, если у вас есть личный сертификат сервера, которого у меня нет.
- любое расширение браузера, так как приложение не является браузером
Если я правильно помню, были некоторые трояны, которые собирают информацию онлайн-банкинга, подключая / заменяя крипто API окна. Так как машина моя, возможны изменения низкого уровня. Может быть, существует не-троянское (white-hat) приложение сетевого журнала, которое делает то же самое?
Существует презентация блэкхата с некоторыми подробностями, доступными для чтения. Они ссылаются на Microsoft Research Detours для простоты перехвата API. Смотрите пример подключения Detours.
Смежные вопросы: