我有兴趣编写一个电子邮件嗅探器,将通过基于网络的客户端发送的所有电子邮件保存到高清,但我不知道如何做到这一点。如何在加密之前捕获 HTTPS 邮件?
我真的很喜欢一些有用的信息。我在网上找不到任何信息。有一个名为 HTTP Analyzer V5 的程序可以完成我想做的事情。
我应该如何开始?
如果我做一个数据包嗅探器,它是没用的,因为所有数据都是加密的。
还有其他选择吗?
你不能。数据在通过 HTTP 发送之前在浏览器程序内部进行加密。
由于您似乎只能访问 HTTP,因此为时已晚。
您可能需要考虑使用键盘记录器在文本进入浏览器表单时拦截它(并且键盘记录器需要能够捕获粘贴的文本)。
当然,大多数体面的病毒检查器都会检测到键盘记录器。
硬件键盘记录器?
如果您详细解释您想要做什么以及您可以访问的位置,它可能会帮助我们为您提供帮助。
您无法解密 HTTPS,但是,您可以使用中间人程序在 HTTPS 连接创建之前捕获它,并使用您自己的网站证书更改您将能够解密的证书。查找 ettercap 和中间人攻击。
您可以通过挂钩电子邮件应用程序使用的加密功能来捕获 HTTPS 流量。这就是 Zeus 和 SpyEye 恶意软件的工作原理。
电子邮件应用程序可能正在使用多种加密功能,例如CryptEncrypt或 openssl 加密功能之一。
在 Windows 上,您可以使用MadCodeHook、Detours或其他一些 API 挂钩方法来挂钩所需的功能。当加密函数被截获时,可以将明文记录下来,然后调用原函数。
您可以编写一个浏览器扩展,在浏览器实际发送(并加密它)之前拦截 HTTP 请求。具体细节取决于您使用的浏览器(例如 Firefox、Explorer)。
您能否制作一个特殊的网页来显示 GMail,同时可以加载您自己的 JavaScript 文件,例如隐藏框架或 DIV 等?
然后,您可以在电子邮件离开浏览器的 HTTP 端口之前拦截电子邮件的字符串内容,并将自己记录到本地文本文件中?
这是假设 GMail 不为其电子邮件表单使用动态 ID 标签
您是否可以控制要执行此操作的机器?
我之前使用“ The Grinder ”来捕获 HTTP 请求以进行性能测试,它带有一个TCP 代理组件,该组件记录所有通过它路由的 HTTP 请求。
这包括已发布的表单字段的纯文本内容,我认为这将涵盖网络邮件“发送”按钮。
这可能是一个有点复杂的解决方案,但理论上您可以让 TCP 代理在客户端计算机上作为服务运行,并将连接指向 localhost 上的适当端口。
我只在登录网络邮件网站时捕获了我的用户名和密码(它有效),但没有什么能立即阻止它处理整个电子邮件消息。
如果您在当地有硬件联系,这将非常容易,但现在您无法轻松进行嗅探。当集线器被交换机取代时,分析仪对此毫无价值。但是 http 通过 tcp(与其他后端协议一起提供),因此您可以捕获 tcp 帧并将一些 mash 直接流式传输到您的 pc(或使用 uC 的专用设备,因为现在的系统和编程平台会阻止低级操作)。
HTTP Analyzer 之类的程序可以捕获 HTTPS 数据,因为它们将自己插入到 HTTPS 堆栈中。结果,他们在数据生成之后但在数据被加密并放入 IP 数据包之前获取数据。这是非常重要的。
另一种选择可能是“构建自己的浏览器”。这比你想象的要容易。FireFox 是开源的,而 Internet Explorer 只是一个围绕 MSHTML Web 组件的小型图形外壳。如果您只使用Gmail 等浏览器,那么您不需要地址栏、收藏夹、查看源代码等,因此您可以围绕MSHTML 编写更小的shell。只需在 GMail 等中进行硬编码。