资源描述
课外实践作业:客户端浏览器攻防实践作业
一、取证分析实践挑战: Web浏览器遭遇攻击
通过分析以下给出的网络记录pcap文件(suspicious-time.pcap Sha1: 1f10c8a4996fafa80d47202881a17796941fd337),回答以下问题并撰写实践分析报告:
1. 列出在捕获文件中的应用层协议类型,你认为攻击是针对哪个或哪些协议的?
TCP/HTTP,针对TCP协议
2. 列出捕获文件中的IP地址、主机名和域名。从这些信息中你能够猜出攻击场景的环境配置情况吗?
IP:
MAC:
Hostname:
10.0.3.15
080027BA0B03
10.0.2.15
08002791FD44
64.236.114.1
525400123502
www.honeynet.org
209.85.227.106
525400123502
192.168.56.50
525400123502
R.eyu32.ru
192.168.56.51
525400123502
Shop.honeynet.sg
192.168.56.52
525400123502
S
74.125.77.101
525400123502
www.google-
192.168.1.1
525400123500
10.0.2.2
525400123500
10.0.3.2
525400123500
10.0.4.2
525400123500
10.0.5.2
525400123500
64.236.114.1
525400123500
www.honeynet.org
3. 列出捕获文件中的所有网页页面,其中哪些页面包含了可疑的、可能是恶意的Javascript脚本代码?谁在连接这些页面?请描述恶意网页的攻击目的?
4. 请给出攻击者执行攻击动作的概要描述。
MAC:525400123500这是对目标机器发送信息,声称自己是网关,
MAC:525400123502这是对目标机器发送信息,声称自己是网站,
5. 攻击者引入了哪些技巧给你的分析带来了困难,请提供在之前问题中识别的恶意Javascript脚本内容,并对他们进行解码或解密。
下面是正常google首页的源码,两者明显不同,长度都差了一倍
这后面都是Javascript脚本加密代码
6. 攻击者的攻击目标是哪个操作系统?哪些应用软件?哪些安全漏洞?如何可以阻止这些攻击?
针对的是windows系统。
我觉得绑定静态默认网关可以阻止这些攻击。
7. Shellcode执行了哪些动作?请列出shellcode的MD5编码,并比较它们之间的差异?
8. 在攻击场景中有二进制可执行恶意代码参与吗?它们的目的是什么?(不需要详细完整的分析)
这个代码会弹出http://www.honeynet.org/的网页
二、实际环境中的Web浏览器渗透攻击实验
本次实验的主要内容是部署一个网络攻防环境并在其中部署有漏洞的Web浏览器环境,然后使用渗透攻击软件及其附加模块,针对Web浏览器的漏洞进行攻击。
本次实验使用到的主要工具如下:
渗透攻击框架
Metasploit
v3.7.1
攻击模块
Http Client Automatic Exploiter 12635
被攻击的Web浏览器
IE9
9.0.8080.16413
1.实验过程
首先启动metasploit。Metasploit是一个开源的安全漏洞攻击框架,集合了多个操作系统下的大量系统漏洞以及其对应的攻击工具或手段,功能相当强大。
接下来运行我们所要用到的Web浏览器攻击模块Http Client Automatic Exploiter。这是一个集合了多个Web浏览器漏洞的攻击模块,它会检测到被攻击者使用的是什么浏览器,版本号,并采用对应的攻击方式。启动后我们检测一下设定:
我们部署的网络攻防环境中,攻击方是ip为59.66.122.159的主机。主机搭建起一个虚假网站,并在服务器上运行该攻击模块。浏览该网站的用户就会遭到攻击。
为了部署攻击方的实验环境,我们修改一下Http Client Automatic Exploiter的参数设定:
接下来启动攻击方的服务器:
中间略
启动完成,在这里共运行了18个攻击模块,以应对不同Web浏览器的不同版本。攻击方搭建起的虚假网站的地址为http://59.66.122.159,端口8080。接下来只需要等待被攻击者访问此地址了。
被攻击者为ip为202.112.50.219 的主机。被攻击者使用IE9访问该地址的时候,攻击方立刻得到消息:
从上图我们可以看出,虚假网站上的JavaScript返回了一个report,其中包含了被攻击者的简要信息,包括操作系统的版本,以及浏览器的版本。值得一提的是,Metasploit可能还没有针对IE9进行专门的识别和攻击,在这里所识别出的被攻击者所使用的浏览器仍为IE8。
接下来攻击方开始展开攻击:
首先,攻击方检测到目标机器没有安装.NET CLR 2.0.50727,因此选择的攻击手段是以一个JAVA reverse shell的方式将木马植入被攻击者的机器。首先生成了一个4938字节的jar包,然后发送给被攻击者。最终,打开了攻击者与被攻击者的机器间的meterpreter session。
通过sessions命令可以操作meterpreter:
Meterpreter是Metasploit的默认Windows系统下的Shell Code。作为一个Shell Code,meterpreter除了获取权限之外,还具有许多更加强大的功能。
建立连接之后,meterpreter的默认工作路径是桌面,即desktop。这时候攻击者可以通过meterpreter提供的工具,对远程计算机进行操作。
Meterpreter内置的工具很多,其中威胁比较大,也比较常用的有文件系统命令,网络命令和系统命令。
文件系统命令可以从远程受害者的主机上下载、删除、搜索和上传文件或目录。在测试过程中,上传文件没有成功,其它操作均可执行。
网络命令允许攻击者查看受害者的网络环境。
系统命令可以查看和管理进程、注册表,获取用户信息甚至控制远程受害机器重启和关机(实验未成功)。
Meterpreter还提供对远程计算机的麦克风和摄像头等外部设备的远程调用,不过尝试效果并不理想。截屏功能比较简单,在特定情况下也能获取很多信息。
2.漏洞修复
本实验中所利用到的漏洞,实际上是利用java calendar object在deserialize的时候的缺陷,通过浏览器对java插件的支持,将payload以可执行的jar包的形式植入被攻击者的机器。官方说明如下:
这个漏洞实际上是java平台的漏洞,但是由于IE9对于java插件的防御不够完善,在特定条件下允许网站通过Web浏览器向被攻击者发送jar包。在不够安全的网络设置下,这样的情况是很容易发生的。
看起来这个漏洞的修复方法比较简单,只需对远程发送过来的文件和信息加以更严格的控制和审查,但凡可能有威胁的文件都发出警告,甚至禁止远程发送jar包等危险文件。实际上,实验所用的IE9是一个测试版本,在较高版本的IE9中,已经修复了这个问题。对版本号为9.0.8112.16421的IE9进行攻击,则无法通过这个漏洞攻击成功。
但是这也只是治标不治本的方法。用户浏览网页,其目的就是获取信息或是下载内容。在我们部署的这个非常简陋的实验环境中,攻击方所搭建的虚假网站是空无一物的,然而在实际应用中,攻击者可能假借一个钓鱼网站、广告弹窗或是将攻击模块植入其它网站来实施攻击,将危险信息混在有用的信息中发送给用户。无论是对于Web浏览器本身,还是对用户来讲,要准确分辨出哪些是有害信息,哪些是有用信息,都不是一件容易的事情。比如上述的新版的IE9,无非是在收到危险的jar包时多次弹出警告框,如果用户无视警告,以为这是有用信息而执意进行下载的话,依旧是会遭到攻击的。
另外,市场上现在有很多基于IE内核的浏览器,这些浏览器的安全性很多时候甚至不如本实验中所用到的具有漏洞的IE9。对于这些浏览器,即使更新到最高版本,往往也无法解决安全漏洞问题。笔者顺手对号称安全性比较高的“360安全浏览器”的最新版本尝试了攻击,仍然攻击成功。这一方面体现出metasploit确实是一款非常强大的渗透攻击框架软件,另一方面则展示了一些小的非主流的Web浏览器在安全方面确实存在隐患。
3.防御方法
面对花样百出的Web浏览器渗透攻击,虽然我们没有把握保证百分之百的安全,但是我们可以采取一些措施,来大幅度降低遭到攻击的可能性。
首先是保证浏览器及后台服务的版本处于较新的状态。很多浏览器在更新的同时,会修复已发现的Bug和漏洞,及时地获取最新最全的安全补丁,是保证安全的重要措施。后台服务的版本同样重要,因为浏览器对可信任的后台服务往往不加太多防御,因而后台服务的漏洞也就成了攻破浏览器的突破口。虽然更新往往会带来新的漏洞和安全隐患,但是由于攻击者往往还未能适应最新版本,相应的攻击手段也相对较少。
其次尽可能选用主流浏览器,或选择独立内核的浏览器。尽管针对IE和FireFox这样的主流浏览器的攻击非常之多,是众矢之的,但是作为主流浏览器它们背后的维护团队也非常壮大。频繁的更新和应对危机时的快速反应,是许多非主流浏览器所无法相提并论的。另外也可选择一些用户数量相对较少,具有独立内核的浏览器如Opera,Safari等,这些浏览器虽然没有主流浏览器那么“硬”,但是受到的攻击相对也比较少。没有特殊需求的情况下,尽量不要选用基于IE内核的非主流浏览器,这些浏览器一方面安全措施没有主流浏览器到位,攻击主流浏览器的手段往往还能够波及到它们。
最终,也是最重要的一点,是提高用户自身的安全意识。前面提到,面对未知信息,浏览器所能做的只是提出警告,而最终的决策权还是在用户手中。如果用户毫无防范意识,来者不拒,那么再强大的安全防御也是毫无用处的。更何况,现在的Web浏览器几乎不可能做到没有漏洞,无懈可击,如果用户总是浏览一些危险性很高的网站,过于草率地进行操作,或是使用不恰当的安全设置,都会带来很严重的后果。安全防御只是一种技术,如何使用这项技术,能将这项技术发挥到什么程度,归根到底还是用户说了算。
展开阅读全文