说到这个攻击方式那么就要去了解一下服务器和客服端是怎么进行加密约定的,相互传输数据的。
握手就不讲了,直接看他们怎么进行数据加密的。
client<------------------------------------------------------------------------------------------------>servers
client<---------------------------------------------------------------------------------------------------servers
因为server是有公钥和私钥的,第一次通信的时候就把公钥和ciphor suite发送给client,然后作为client这一方就要去选择,用什么样的ciphor suite来进行信息的加密,这是一个商量的过程。
那么怎么去验证这个公钥呢,client有自己的根证书,在根证书里面去找到公钥相对应的颁发机构进行验证。
client---------------------------------------------------------------------------------------------------->servers
然后client自己选择一个自己认为安全性最高的ciphor suite发送给servers 来进行加密传输。
然后cilent在自己本地用接收到的公钥(公钥是利用的非对称加密算法)生成一个对称加密算法。
client----------------------------------------------------------------------------------------------------->servers
client把这个公钥加密的对称加密算法发送给servers,因为servers自己是拥有私钥的,它就用自己的
私钥把公钥解开,得到里面的对称加密算法。
拥有的加密算法
client(公钥,对称加密算法)-----------------------------------servers(私钥,对称加密算法)
然后他们进行他们之间的信息传输。
client先把自己的信息通过1(对称加密算法加密) 然后进行 2(HSAH加密) 最后进行 3(公钥加密),然后把2和3这两部分都发送给服务器。
服务器怎么去确认里面的信息是没有被改的呢?
它得到3 用自己的私钥解密,因为这个是自己它自己才能够解密出来的,得到一个HSAH值然后去与2的HSAH去对比,看是否一样,判断信息是否被篡改。
OK,它们之间的信息传递搞清楚了!!!
由于这个攻击方式,它是基于ARP协议的,那么就要去了解一下ARP协议是个什么?
ARP协议:是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
这张图片里面 , 中间是交换机 , 要欺骗的target为左下角的pc机。
假如:
target的ip为192.168.1.10
黑客的ip为192.168.1.115
他们在一个内网的时候,当target_pc机要去访问外网的时候 他要先把信息交给网关,但是它只知道网关的IP地址 而内网之间的传输又是在二层网络,必须要知道网关的MAC地址,那么target_ip机,就要发一个广播,发给内网的全部在线的servers,问谁是192.168.1.1,然后路由器接到了这个消息,它是192.168.1.1。就把之间的MAC地址交给了target_ip机。
因为MAC地址是动态的,那么黑客如果把这个广播信息拦截了之后,把自己伪造成网关,那么target_ip机就把原来本该发给192.168.1.1的数据全部交给了192.168.1.115。然后黑客机在自己本地进行一个路由转发把这个包发出去,服务器就回个target_ip一个响应。
上述就是ARP的欺骗
全部都是一些概念,后面直接上演练。
开始的适合需要自己伪造一个证书。
利用openssl生成证书私钥
利用私钥签名生成证书
利用iptables设置好端口转发规则
把/proc/sys/net/ipv4/ip_forward 文件的0 改为1 做好路由转发 这个设置是为了让target_ip正常去访问它想访问的网站。
一切工作准备就绪
然后利用arpspoof工具进行欺骗
可以去window7里面看看arp是否被欺骗
这里明显看到被欺骗了,那么我们现在就可以用sslsplit工具去接收它传出去的信息了。
SSLsplit
透明SSL/TLS中间人攻击工具
对客户端伪装成服务器,对服务器伪装成普通客户端
伪装服务器需要伪造证书
支持SSL/TLS加密的SMTP、POP3、FTP等通信中间人攻击
因为win7没有信任这个证书所以在win7这个电脑会产生
会看到如果win7点接收风险继续访问的,我们这边就会抓到一系列win7访问的数据信息
本来该是密文加密的数据但是我们这边抓到的数据包直接显示的是明文的数据,密码是淘宝自己在传输过程中进行的加密 没办法解开。
这就形成了基于arp欺骗的SSL/TLS攻击。