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

随着计算机通信网技术的不断发展,MITM攻击也越来越多样化。最初,攻击者只要将网卡设为混杂模式,伪装成代理服务器监听特定的流量就可以实现攻击,这是因为很多通信协议都是以明文来进行传输的,如HTTP、FTP、Telnet等。后来,随着交换机代替集线器,简单的嗅探攻击已经不能成功,必须先进行ARP欺骗才行。如今,越来越多的服务商(网上银行,邮箱登陆)开始采用加密通信,SSL(Secure Sockets Layer 安全套接层)是一种广泛使用的技术,HTTPS、FTPS等都是建立在其基础上的。笔者将以常见的Gmail邮箱登陆为例,探讨针对SSL的MITM攻击的两种实现方式。

2 环境的搭建
网络环境:
⋆ 网关:192.168.18.254;
⋆ 攻击主机:192.168.18.102,VMware虚拟机;
⋆ 被攻击主机:192.168.18.100,Windows7,IE9;

攻击目标:
● Gmail邮箱登陆 (HTTPS协议)
● 账户:test0101.ssl@gmail.com
● 密码:abcd7890

3 两种针对SSL的中间人攻击
3.1 Cain & Abel

    Cain&Abel是由Oxid.it公司开发的一款针对Microsoft操作系统的网络攻击利器,它操作简单、功能强大,尤以ARP欺骗攻击著称。Cain不仅能实现针对HTTP的MITM攻击,也能对HTTPS进行攻击。基本的攻击过程为:
    1) ARP欺骗,使得攻击者能截获所有目标主机的网络流量;
    2) 攻击者不是一个简单的中继,一方面它在服务器端与浏览器进行SSL握手,同时作为一个SSL客户又与目标服务器进行另一次SSL握手;
    3) 通过建立两条SSL连接,使得攻击者成为一个“中间人”。

由于SSL握手时要通过证书来验证彼此的身份,攻击者并不知道目标服务器所使用的私钥,在这种情况下,要成功实施攻击,攻击者必须进行证书的伪造,浏览器通常会向用户发出警告,并由用户自行决定是否信任该证书。下面进行详细的图文说明。

正常Gmail的登陆画面。

被攻击者需要选择是否信任证书,可以看到伪造的证书信息与上图中真实证书还是有很大的区别的。

登陆邮箱后的画面,可以看到证书错误的提示依然是很醒目的。

攻击者已成功嗅探到Gmail邮箱的登陆用户名和密码。

    通过以上分析可以发现,用户对于伪造证书的判断是攻击能否成功的关键,如果用户有着较强的安全意识和丰富的网络知识那么被攻击的可能性将大大降低,毕竟浏览器中的安全提示还是非常醒目的。笔者相信随着网络知识的不断普及,这种攻击手段的生存空间会不断被挤压。

3.2 sslstrip
    Cain & Abel虽然能实现SSL攻击,但是伪造证书的局限性还是很明显的, sslstrip是在09年黑帽大会上由Moxie Marlinspike提出的一种针对SSL攻击的方法,其思想非常简单:
    1) ARP欺骗,使得攻击者能截获所有目标主机的网络流量;
    2) 攻击者利用用户对于地址栏中HTTPS与HTTP的疏忽,将所有的HTTPS连接都用HTTP来代替;
    3) 同时,与目标服务器建立正常的HTTPS连接;
    4) 由于HTTP通信是明文传输,攻击者能轻松实施嗅探。

笔者将采用BackTrack作为攻击平台,BackTrack是基于Linux的一套渗透测试工具包,目前,国内各大论坛有很多关于使用BackTrack来进行无线wifi密码破解的教程,其实它在其他领域也有着极其强大的功能。

步骤一:启用内核包转发,修改/proc/sys/net/ipv4/ip_forward文件,内容为1;
#echo 1 > /proc/sys/net/ipv4/ip_forward 

步骤二:端口转发,10000为sslstrip的监听端口;
#iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000

步骤三:shell1,ARP欺骗;
#arpspoof -i eth0 -t 192.168.18.100 192.168.18.254

步骤四:shell2,开启sslstrip;
#sslstrip -a -k -f

步骤五:嗅探得到登陆Gmail邮箱的用户名和密码;
#ettercap -T -q -i eth0

那么这种方法是否是万能的呢,下面就来看看被攻击者浏览器的变化。

    可以看到,网页上没有任何不安全的警告或是提示,只是原先的HTTPS连接已经被HTTP连接所替换,并且为增加迷惑性,网页的图标被修改成了一个银色的锁图案。但是,假的毕竟是假的,一方面无法查看到任何证书的信息,另外如果在网址前输入https://,则网页无法发开。因此,sslstrip并不是万能的攻击方法。

4 小结
    本文的目的主要是想告诉读者,网络安全技术日新月异的同时,攻击方法也在悄然发生着变化,采用了SSL加密通信并不一定能保证通信的隐密性和完整性,为此,笔者展示了两种SSL的中间人攻击方法,前者是常规思路,后者则另辟蹊径。希望今后大家能提高警惕,准确辨识你的通信是否正遭到攻击,尤其是在完成重要操作时,如网银交易等。

http://software.intel.com/zh-cn/blogs/2011/10/11/ssl/?cid=sw:prccsdn2029

针对SSL的中间人攻击相关推荐

  1. SSL\TLS中间人攻击

    攻击者位于客户端和服务器通信链路中 ARP DHCP 修改网关 修改DNS 修改HOSTS ICMP\STP\OSPF 加密流量 攻击的前提 客户端已经信任伪造证书颁发机构 攻击者控制了核心证书颁发机 ...

  2. SSL/TLS中间人攻击

    准备:kali.xp kali ip:192.168.14.157 目标ip:192.168.14.158 目标网关:192.168.14.2 使用工具:ettercap.sslstrip.arpsp ...

  3. Android程序员面试必须要掌握的:Https加密原理、中间人攻击到底是怎么回事

    前言–阅读本文你将收获 1.https加密的基本原理与过程,https为什么是安全的? 2.什么是中间人攻击,中间人攻击的基本原理 3.如何防止中间人攻击 作者:RicardoMJiang 链接:ht ...

  4. GitHub被“中介”攻击了?啥是中间人攻击?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「开源中国」 26 日-27 日,国内无 ...

  5. GitHub被“中介”攻击了?中间人攻击?

    3月26 日-27 日,国内无法访问 GitHub(从国外访问正常,并且显示证书颁发者不同于国内),同时京东等网站也相继出现同一问题.目前受影响的主要是部分地区用户,中国移动.中国联通.中国电信以及教 ...

  6. HTTPS中间人攻击实践(原理·实践)

    前言 很早以前看过HTTPS的介绍,并了解过TLS的相关细节,也相信使用HTTPS是相对安全可靠的.直到前段时间在验证https代理通道连接时,搭建了MITM环境,才发现事实并不是我想的那样.由于部分 ...

  7. HTTPS中间人攻击实践(原理·实践) 1

    前言 很早以前看过HTTPS的介绍,并了解过TLS的相关细节,也相信使用HTTPS是相对安全可靠的.直到前段时间在验证https代理通道连接时,搭建了MITM环境,才发现事实并不是我想的那样.由于部分 ...

  8. 中间人攻击HTTPS可行性分析

    我们在做内网渗透的时候,往往通过ARP投毒.DNS欺骗.会话劫持等来发起中间人攻击(MITM).利用这些手段攻击HTTP协议的网站简直易如反掌.但是现在几乎所有的网站都已经升级为更加安全的HTTPS协 ...

  9. 【漏洞修复】TLS protocol中间人攻击漏洞(CVE-2015-4000) 升级ssl

    文章目录 问题描述 Centos7 下 OpenSSL 升级到 OpenSSL 3.0 问题描述 TLS(Transport Layer Security,安全传输层协议)是一套用于在两个通信应用程序 ...

最新文章

  1. Win10:tensorflow学习笔记(4)
  2. Cadence OrCAD Capture交叉参考报表生成方法图文教程
  3. oracle建立图书管理数据库,Oracle数据库设计 图书管理系统
  4. 统一的账号密码管理系统-信息安全课程设计
  5. dede织梦后台页面及功能修改及精简操作方法
  6. 种子是down.php,[原创作品][PHP]BT种子打包推送小神器~~
  7. mysql server mirro_Docker下安装MySQL Server镜像
  8. python中val的意思_python中val是什么
  9. Android 性能优化概述
  10. 基于Python的OCR图像识别
  11. 【C语言】函数递归(详解)
  12. 如何将mongo查询结果导出到文件中以及导入到另一个Mongo库中
  13. NAS硬盘存储服务器维修,NAS存储服务器用NAS硬盘的原因有哪些?NAS存储服务器硬盘该如何选择?...
  14. python实例方法不可以用类调用_python中可以直接用类调用方法吗
  15. 比较血饮、谷雨、龙牙的武器哪个好点
  16. 【Python打卡2019】20190417之计算BMR
  17. 二氧化硅改性活性炭|SiO2改性的V2O5-MoO3/TiO2催化剂|SiO2改性MCM-22分子筛上联苯|纳米SiO2改性环氧涂层海洋腐蚀规律
  18. Three.js 剖切模型功能封装
  19. 20款漂亮的免费英文字体下载
  20. RN系列文章---RN简介

热门文章

  1. 三菱HMI工具E-Designer远程执行代码
  2. python文件操作的一般步骤_4.1Python文件基本操作
  3. 使用R语言绘制散点图
  4. 【毕业设计之PHP系列】基于PHP的网络聊天室系统
  5. 讨论线路板的制作-使用电子模块与自己设计线路板的区别
  6. 第一载、初识操作系统
  7. win2008r2 惠普g160鼠标_惠普Hp DL380 GEN9 UEFI模式安装win2008 r2的方法
  8. 数据仓库、事实表、维度表、DB、DW、DM、ODS、OLAP、OLTP和BI的概念理解
  9. 按键控制LED流水灯
  10. 5S理论培训标准教材