我创建了一个Squid代理和一个自签名的SSL证书。服务器上的SSL证书是一个链接到ssl凸点特性的私有证书.我正在使用t鲨来转储SSL流量,但是我不能用tshark嗅探。例如,我的t鲨命令是:
tshark -o "ssl.desegment_ssl_records: TRUE" -o "ssl.desegment_ssl_application_data: TRUE" -o "ssl.keys_list: 209.190.x.x,443,http,/etc/squid/ssl/file/squid.key" -o "ssl.debug_file: /tmp/.wireshark-log" -i eth0 -R "http.request.method==GET or http.request.method==POST"我知道squid可以工作(我可以从http嗅探所有数据),我可以在/var/log/squid/access.log中看到https站点的日志,但我无法嗅到https的完整数据。我也知道Squid在这个场景中变成了中间人,并制造了2个SSL密钥。一个在客户端和squid之间,另一个在squid和服务器之间。我不能嗅到客户机和squid之间的数据,但我认为我可以在服务器(me)和squid之间嗅探数据。
我怎么能闻出来呢?有什么可以替代的吗?
发布于 2014-01-04 14:46:51
使用SSL Bump,Squid在客户端和服务器之间运行一个中间人攻击;它在与客户端对话时充当假服务器,与客户端对话时充当假客户端,在与真正的SSL服务器对话时充当假客户端。这样,鱿鱼就可以获得所有的数据。如果你想看什么鱿鱼看到,那么它似乎最好的选择是简单地要求鱿鱼给你一份副本。显然,通过ICAP特性,这至少在理论上是可行的:这是Squid做到这一点的一种方式。杀毒软件通过ICAP链接到Squid,并检查HTTP消息内容和报头。
否则,如果您没有Squid的帮助,那么您必须了解SSL级别上发生了什么。特别是,工具西尔转储只能在下列条件都为真的情况下才能解密捕获的SSL通信:
在您的例子中,有两个SSL连接,一个在客户机和Squid之间,另一个在Squid和真正的服务器之间。如果您有服务器密钥的副本,那么您可以专注于后者,而忘记有关SSL Bump和Squid的所有内容。但是,在更一般的情况下,您可以控制Squid的sysadmin,而不是目标服务器。
使用SSL Bump,Squid在与客户端交谈时生成假服务器证书。如果您可以获得该假证书的私钥副本,那么您应该能够在客户端到Squid连接上应用ssldump。正如描述的这里所描述的那样,Squid用于生成假证书的工具是可配置的,因此您可以使用自己的工具生成证书(例如用OpenSSL)并在某个地方记录私钥,以便稍后可以解密捕获的跟踪。
对于密码套件,这似乎可以通过接受“https_port”参数的Squid cipher=指令来实现。正如这里所说,该参数的值直接传递给Squid使用的底层SSL库,这就是OpenSSL。
请参见这个论坛帖子,在那里,显然有人试图做与您相同的事情。
发布于 2013-12-05 03:03:39
如果我是你,我会得到SSLStrip (http://www.thoughtcrime.org/software/sslstrip/)。它确实是一个优秀的工具,但它只在linux上工作。如果您没有Linux,这实际上是很好的!Kali (http://www.kali.org/)是一个免费的工具,可以在VM或USB驱动器上运行,只需花费很少的精力。您仍然需要获得SSLStrip,但是Kali附带安装了Python,所以只需使用“pythonsetup.py”,它本身就可以完成工作。没有用于SSLStrip的图形用户界面,但它很容易使用。Kali还附带了一些好东西,比如Wireshark (用于http)和aircrack(用于侵入WEP和WPA/WPA 2安全网络)。
https://security.stackexchange.com/questions/41987
复制相似问题