我希望写一个电子邮件嗅探器,将所有通过基于Web的客户端发送的电子邮件保存到硬盘,但我不知道如何实现。我该如何在加密之前捕获HTTPS邮件?
我真的很需要一些有用的信息。我在网上找不到任何相关信息。有一个叫做HTTP Analyzer V5的程序可以实现我想要的功能。
我应该从哪里开始呢?
如果我制作一个数据包嗅探器,它是无用的,因为所有数据都是加密的。
还有其他选择吗?
我希望写一个电子邮件嗅探器,将所有通过基于Web的客户端发送的电子邮件保存到硬盘,但我不知道如何实现。我该如何在加密之前捕获HTTPS邮件?
我真的很需要一些有用的信息。我在网上找不到任何相关信息。有一个叫做HTTP Analyzer V5的程序可以实现我想要的功能。
我应该从哪里开始呢?
如果我制作一个数据包嗅探器,它是无用的,因为所有数据都是加密的。
还有其他选择吗?
无法解密HTTPS,但是可以使用中间人程序在创建HTTPS连接之前捕获它,并更改网站的证书为您自己的证书,然后您就可以解密了。搜索ettercap和中间人攻击。
如果您在当地有硬件联系的话,这将相对容易,但现在你很难进行嗅探。当集线器被交换机取代时,分析仪在此方面是无用的。 但是http是通过tcp传输的(附带其他后端协议),因此您可以捕获TCP帧并将直接流式传输到您的PC上(或使用uC的专用设备,因为现代系统和编程平台阻止低级操作)。
你能控制你打算进行这项工作的机器吗?
我以前使用 "The Grinder" 来捕获用于性能测试目的的HTTP请求,它附带了一个TCP代理组件,可以记录所有通过它路由的HTTP请求。
这包括被POST的表单字段的纯文本内容,我认为这应该涵盖了网页邮件的“发送”按钮。
这可能是一个有点复杂的解决方案,但从理论上讲,你可以将TCP代理作为一个服务运行在客户端机器上,并将连接指向本地主机上的适当端口。
我只是把这个方法用来捕获我登录网页邮件网站时的用户名和密码(它有效),但我立即想不到什么会阻止它在整个电子邮件消息上起作用。
像HTTP Analyzer这样的程序可以捕获HTTPS数据,因为它们插入了HTTPS堆栈。因此,它们在生成数据后但加密并放入IP数据包之前获取数据。这是非常不容易的。
另一种选择可能是“构建自己的浏览器”。这比你想象的要容易。FireFox是开源的,而Internet Explorer只是一个围绕MSHTML Web组件的小图形外壳。如果您仅使用浏览器与例如Gmail,则不需要地址栏、收藏夹、查看源代码等,因此您可以在MSHTML周围编写一个更小的外壳。只需硬编码GMail等。
你可以通过挂钩电子邮件应用程序使用的加密函数来捕获HTTPS流量。这就是Zeus和SpyEye恶意软件的工作原理。
电子邮件应用程序可能正在使用几个加密函数,例如CryptEncrypt或其中一个openssl加密函数。
在Windows上,您可以使用MadCodeHook、Detours或其他API挂钩方法来挂钩所需的函数。当拦截加密函数时,您可以记录明文,然后调用原始函数。