首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过ettercap和iptables操纵SSL流量

通过ettercap和iptables操纵SSL流量
EN

Security用户
提问于 2015-04-16 10:53:56
回答 1查看 3.3K关注 0票数 3

我试图了解wifi网络上用于MitM的一些工具和概念之间的关系,以及如何拦截和修改android应用程序和相应服务器之间的https事务(通过这个wifi网络)。我是这个领域的新手,所以请容忍我。

因此,我想捕捉和操作android应用程序和它正在通信的服务器之间的所有HTTPS流量。使用该应用程序的用户在WPA/WPA 2 PSK网络上。我已经捕获了原始的WPA握手,并能够成功地通过握手强制PSK,现在我是同一个网络的一部分,用户使用目标应用。

现在,为了能够捕获流量,我需要获得一个MitM位置。有很多种方法可以做到这一点。我认识几个人,包括该隐APR和埃特卡普。

我选择用ettercap来毒死受害者。现在,由于移动设备通过SSL进行通信,并且我希望拦截这个SSL通信,所以我对etter.conf进行必要的更改,并在我的系统上启动ip转发,以执行Ettercap证书模拟,其中ettercap实际上会动态生成假冒服务器和CA证书。

上述技术仍然会向受害者提供证书错误警告,并且如果用户接受假证书作为可信根CA添加到受害者的设备上。我本可以在这里使用SSL条,但同样,如果用户通过https直接连接到服务器(没有重定向),SSL条可能不是最好的解决方案。

现在,虽然我现在可以嗅探SSL流量,但是使用ettercap操作这个SSL流量会相对困难一些。因此,我尝试使用iptable将流量重定向到本地系统第二个端口上的另一个端口号,在该端口上,我有另一个软件正在运行,它允许我操作重定向通信量中的数据。

现在让我们假设我在这个端口上运行的软件是BURP Suite,这是我想用来摆弄数据的东西。

现在我感到困惑的是:

BURP有自己的Portswigger证书。但是,使用ettercap,我已经在前面做了一个证书模拟。因此,现在,当我转发所有这些通信量(使用IP表并设置BURP以使用透明代理)时,我需要在客户端设备上获得同样可信的Portswigger证书吗?请解释是或否。

  1. 作为一个现实世界的攻击者,以上可能是我可能只是用来发起攻击的方法之一。以上的理解是否正确?
  2. 作为笔试器,我可以想到的另一种实现这一目标的方法是:在测试设备上安装SSH服务器,同时安装Shark(在Android情况下)、其他tcp转储类工具,然后通过本地系统上的SSH客户端远程监视/分析(可能使用Wireshark )所有通信量?这能让我完成预定的工作吗?
  3. 还有什么其他的方法可以这样做呢?
EN

回答 1

Security用户

发布于 2015-08-17 20:17:55

最好的解决方案是,当ettercap不MiTM SSL连接时,只需将其转发给Burp,就可以将其设置为透明的SSL MiTM代理。在这种情况下,客户端将看到Burp的服务器证书,该证书必须由客户端信任。正如您在下面看到的,只设置了2个SSL连接。

代码语言:javascript
复制
           SSL1            SSL2 
Client <--Ettercap--> Burp <--> SSL Website

虽然ettercap和Burp都可以设置为SSL MiTM,但它只会使事情变得更加复杂。在本例中,客户端将只看到ettercap证书,因此不必将Burp的证书添加到存储区。在这种情况下,我们将有3个不同的SSL连接,但它与前一个没有任何优势。

代码语言:javascript
复制
       SSL1          SSL2      SSL3
Client <--> Ettercap <--> Burp <--> SSL Website

要回答您的问题:是的,作为一个现实世界的攻击者,以上可能是您可能只是用来发起攻击的方法之一。

把SSH放入Android设备,使用Shark是不够的。你不能操纵交通。只有当您拥有TLS/SSL服务器密钥(通常不是这种情况)并且不使用完美的前向保密时,您才能解密通信量。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/86158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档