我试图了解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证书吗?请解释是或否。
发布于 2015-08-17 20:17:55
最好的解决方案是,当ettercap不MiTM SSL连接时,只需将其转发给Burp,就可以将其设置为透明的SSL MiTM代理。在这种情况下,客户端将看到Burp的服务器证书,该证书必须由客户端信任。正如您在下面看到的,只设置了2个SSL连接。
SSL1 SSL2
Client <--Ettercap--> Burp <--> SSL Website虽然ettercap和Burp都可以设置为SSL MiTM,但它只会使事情变得更加复杂。在本例中,客户端将只看到ettercap证书,因此不必将Burp的证书添加到存储区。在这种情况下,我们将有3个不同的SSL连接,但它与前一个没有任何优势。
SSL1 SSL2 SSL3
Client <--> Ettercap <--> Burp <--> SSL Website要回答您的问题:是的,作为一个现实世界的攻击者,以上可能是您可能只是用来发起攻击的方法之一。
把SSH放入Android设备,使用Shark是不够的。你不能操纵交通。只有当您拥有TLS/SSL服务器密钥(通常不是这种情况)并且不使用完美的前向保密时,您才能解密通信量。
https://security.stackexchange.com/questions/86158
复制相似问题