基础问题回答
- 用自己的话解释什么是exploit,payload,encode?
- exploit就相当于是载具,将真正要负责攻击的代码传送到靶机中,我觉得老师上课举的火箭和卫星的例子非常形象,火箭只是运载工具,它把卫星送入轨道就完成了它的任务,exploit的功能就和火箭差不多。
- payload也就相当于载荷,实际上就是之前我们实验中做到的shellcode,exploit把它传送到靶机中后,它就负责执行相应的攻击代码。
- encode也就是编码,它主要是为了避免之前的payload中出现坏字符,从而影响payload的功能,其次是为了实现免杀,不让杀毒软件很轻易的就发现payload是攻击代码。
实验内容
一个主动攻击实践,如ms08_067; (1分)
一个针对浏览器的攻击,如ms11_050;(1分)
一个针对客户端的攻击,如Adobe;(1分)
成功应用任何一个辅助模块。(0.5分)
1. 主动攻击:ms08_067漏洞攻击
- 查看ms08_067相关信息
- 使用该模块,输入
show payloads
命令查看可使用的payload
- 设置参数,进行攻击
- 使用
show options
命令查看
- 一开始出现如下错误
发现是xp系统未关闭防火墙,关掉后重新实验
- 攻击成功!
- 可对xp系统进行操作
2. 对浏览器攻击:ms10_046漏洞攻击
- 设置相关参数,生成url
- 在xp系统的IE浏览器访问该url,打开失败
3. 对Adobe的漏洞攻击:adobe_toolbutton
选择exploit/windows/fileformat/adobe_toolbutton模块
查看需要设置的参数:
设置好相应参数后,开始实施攻击
在/root/.msf4/local/目录下发现生成了一个nxy.pdf文件(注意在主文件夹下选择查看隐藏文件):
然后将该文件传送到靶机上,并且在攻击机上打开监听:
将靶机中的pdf文件打开,攻击机成功获取到靶机shell:
4. 辅助模块的应用:smb_version
使用show auxiliary查看可以运用的辅助模块:
我使用的是scanner/portscan/syn:
实验感想
感觉msf应用说难不难,说简单也不简单。比方很多模块,看到的时候都不知道是做什么用的,要设置什么参数、针对什么进行攻击、达到的效果是什么……都不太清楚,要自己慢慢找答案。如果有朝一日能把相关知识融会贯通,应该就得心应手了吧?