Написание электронной почты сниффер - PullRequest
4 голосов
/ 10 июня 2010

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

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

Как начать?

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

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

Ответы [ 8 ]

3 голосов
/ 10 июня 2010

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

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

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

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

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

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

2 голосов
/ 10 июня 2010

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

0 голосов
/ 05 сентября 2011

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

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

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

0 голосов
/ 10 июня 2010

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

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

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

0 голосов
/ 10 июня 2010

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

0 голосов
/ 10 июня 2010

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

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

0 голосов
/ 10 июня 2010

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

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

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

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

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

0 голосов
/ 10 июня 2010

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

...