2010-06-10 1 views
4

Я заинтересован в написании сниффера электронной почты, который сохраняет все электронные письма, отправленные через веб-клиентов, на hd, но я не могу решить, как это сделать. Как я могу поймать почту HTTPS перед ее зашифровкой?Написание по электронной почте sniffer

Я бы действительно предложил какую-нибудь полезную информацию. Я не могу найти что-либо в Интернете. Есть программа под названием HTTP Analyzer V5, которая делает то, что я хочу сделать.

С чего начать?

Если я делаю сниффер пакетов, это бесполезно, потому что все данные зашифрованы.

Есть ли другой вариант?

+0

это незаконно! – Andrey

+3

@ Андре нет, если это его собственные электронные письма? –

+2

Нет, если вы используете его только в своей частной сети. – Job

ответ

3

Вы не можете. Данные зашифровываются внутри программы браузера перед отправкой через HTTP.

Поскольку у вас только есть доступ к HTTP, уже слишком поздно.

Возможно, вы захотите рассмотреть кейлоггер, чтобы перехватить текст, когда он входит в форму браузера (и кейлоггер должен уметь вставлять вставленный текст).

Конечно, самые приличные вирусные шашки обнаружат кейлоггер.

Аппаратный кейлоггер?

Это может помочь нам помочь вам, если вы cna объясните больше о том, что вы хотите сделать и где у вас есть доступ.

+0

или он может попробовать человека в середине attac, тогда https бесполезен – helle

+1

Привет, thx для ответа, так что я действительно хочу сделать, это поймать мои собственные электронные письма. Когда я пишу письмо, например, в gmail, и я его отправляю, моя программа должна поймать его и сохранить на локальном hd. Я отправил пример программы, выполняющей это (HTTP Analyzer V5). Когда я протестировал его и отправил почту из своего https-почтового ящика, он записал все данные, которые я написал на эту почту, поэтому субъект, из-за, статьи, казалось, что он реконструировал http-сообщение. Я хочу сделать то же самое. Проблема в том, что я не знаю, как это работает. А что касается доступа, я не знаю, что именно вы думаете, но у меня есть права администратора. – Rampage

0

Если у вас есть аппаратный контакт в вашей локальной сети, он будет предустановлен легко, но теперь вы не можете легко обнюхивать. Когда концентраторы заменяются коммутаторами, анализаторы для этого бесполезны. Но http находится поверх tcp (поставляется с другими протоколами backend), поэтому вы можете поймать tcp-фрейм и сделать какой-то прямой поток на ваш компьютер (или специализированное устройство с uC, потому что сегодняшние системы и платформы программирования блокируют операции низкого уровня).

+0

Мне нужно только обнюхивать электронные письма с локального компьютера, а не целую сеть. – Rampage

+0

В этом случае я вижу два варианта: напишите прокси-сервер и прокси-сервер на каждом клиенте, а второй (лучше, но сложнее) напишите приложение на сырые сокеты (разрешите обход). – jlmfao

+0

Не могли бы вы уточнить, как написать свое приложение. Да, я действительно хочу написать собственное приложение для сырых сокетов. Но моя проблема заключается в том, как я могу просто перейти к конкретным данным? Когда я пытаюсь добраться до данных с помощью localhost, arent они зашифрованы? – Rampage

0

У вас есть контроль над машинами, на которых вы намереваетесь это сделать?

Я использовал «The Grinder» перед тем, как захватить HTTP-запросы для тестирования производительности, и он поставляется с TCP Proxy component, который регистрирует все HTTP-запросы, направляемые через него.

Это включает в себя текстовое содержимое полей формы POSTED, которое, как я полагаю, будет охватывать кнопки «Отправить» в веб-почте.

Это может быть немного запутанное решение, но теоретически вы можете иметь прокси-сервер TCP, который работает как служба на клиентской машине, и указать соединение, указанное в соответствующем порту на localhost.

Я только когда-либо принимал это, чтобы зафиксировать свое имя пользователя и пароль, когда я вошел в веб-сайт электронной почты (он работал), но сразу же ничего не приходит в голову, что помешает этому работать над целыми сообщениями электронной почты.

+0

Да, у меня есть полный контроль над машинами, которые я хочу сделать – Rampage

0

Такие программы, как HTTP Analyzer, могут захватывать данные HTTPS, поскольку они вставляются в стек HTTPS. В результате они получают данные после его создания, но до того, как будут зашифрованы и помещены в IP-пакеты. Это очень нетривиально.

Альтернативой может быть «создание собственного браузера». Это проще, чем вы думаете. FireFox является открытым исходным кодом, а Internet Explorer - это всего лишь небольшая графическая оболочка вокруг веб-компонента MSHTML. Если вы используете ваш браузер только с помощью, например,Gmail, тогда вам не нужна адресная строка, избранное, источник и т. Д., Поэтому вы можете написать еще меньшую оболочку вокруг MSHTML. Просто hardcode в GMail и т. Д.

+0

Я очень заинтересован в этих проблемах, поэтому, если вы знаете, как это сделать, или, по крайней мере, есть интересные статьи, которые решают эту проблему. Пожалуйста, дайте мне знать. Я не ожидаю, что это будет тривиально. – Rampage

+0

Я бы хотел, чтобы он работал с каждым браузером. Пожалуйста, вы знаете что-то еще, как работает анализатор HTTP и как я должен продолжать? – Rampage

0

Вы можете написать расширение для браузера, которое перехватывает HTTP-запрос до того, как браузер действительно отправит (и зашифрует его). Точные данные зависят от используемого вами браузера (например, Firefox, Explorer).

2

Вы не можете расшифровать HTTPS, однако вы можете использовать программы «человек в середине», чтобы поймать соединение HTTPS до его создания, и сменить сертификат веб-сайта на свой собственный, который вы могли бы расшифровать. Посмотрите этппак и атаки «человек-в-середине».

+0

Моя цель - написать программу, не используя существующую. – Rampage

+0

Они, как правило, с открытым исходным кодом, поэтому вы можете посмотреть, как они это делают. :) Для примера: http://ettercap.sourceforge.net/download.php –

0

Не могли бы вы создать специальную веб-страницу для отображения GMail, которая может одновременно загрузить ваш собственный файл JavaScript, например, в скрытый фрейм или DIV и т. Д.?

Вы можете перехватить содержимое своей электронной почты до того, как оно покинет порт HTTP браузера и войдет в локальный текстовый файл?

Это предполагает, что GMail не использует динамические тег ID для своей электронной почты формирует

+0

Мне нужно создать программу, выполняющую это для каждого веб-клиента, а не только gmail – Rampage

+0

. Вы могли бы теоретически написать сценарий, который может ожидать определенные домены, и затем подготовьте переменные соответственно с помощью переключателей для каждой службы электронной почты. – Alex

0

Вы можете захватить HTTPS трафика, зацепив функцию шифрования, который используется электронная почта приложение. Так работает вредоносное ПО Zeus и SpyEye.

Существует несколько криптографических функций, которые могут использовать приложение электронной почты, например, CryptEncrypt или одна из функций шифрования openssl.

В Windows вы можете использовать MadCodeHook, Detours или какой-либо другой метод зацепления API для подключения нужной функции. Когда функция шифрования перехвачена, вы можете зарегистрировать простой текст, а затем вызвать исходную функцию.