Metsploit基本方法、实用技巧总结...
0x01 基本介绍
1. 架构图
2. 目录结构
源码结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| ├── bin │ ├── msfbinscan │ ├── msfconsole │ ├── msfd │ ├── msfdb │ ├── msfelfscan │ ├── msfmachscan │ ├── msfpescan │ ├── msfremove │ ├── msfrop │ ├── msfrpc │ ├── msfrpcd │ ├── msfupdate │ └── msfvenom ├── embedded │ ├── bin │ ├── framework │ ├── include │ ├── lib │ ├── share │ └── ssl ├── LICENSE ├── LICENSES ├── version-manifest.json └── version-manifest.txt
|
Metasploit框架
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| 1)framework目录
$ tree -L 1 /opt/metasploit-framework/embedded/framework . |-- config //metasploit的环境配置信息,数据库配置信息 |-- data //存放meterpreter,exploits,wordlists等数据信息 |-- external //metasploit的一些基础扩展模块 |-- lib //metasploit的一些基础类和第三方模块类 |-- modules //metasploit模块 |-- msfconsole //metasploit的基本命令行 |-- msfd //metasploit服务 |-- msfrpc //metasploit的服务端 |-- msfrpcd //持久性的metasploit本地服务,可以给远程用户提供rpc服务以及其他的http服务 |-- msfupdate //metasploit更新模块 |-- msfvenom //集成了msfpayload和msfencode的功能,效率更高 |-- plugins //metasploit的第三方插件接口 |-- scripts //存放一些msf用到的脚本,如meterpreter,ps,resource,shell |-- tools //第三方脚本工具
2)Metasploit模块
$ tree -L 2 /opt/metasploit-framework/embedded/framework/modules . |-- auxiliary //辅助模块:包含端口扫描器、嗅探器、fuzzers、暴力破解等 |-- encoders //编码器模块:对payload进行编码加密,绕过杀软 |-- evasion //检测规避模块 |-- exploits //漏洞利用模块:对某些可能存在漏洞的目标进行漏洞利用 |-- nops //空指令模块:不影响进程运行的空命令或无关命令,用于填充 |-- payloads //攻击载荷:攻击成功后在目标机执行的代码,如反弹shell、bind shell等 `-- post //后渗透模块:用于内网渗透
|
0x02 常用命令
1. 基础命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| show exploits – 查看所有可用的渗透攻击程序代码 show auxiliary – 查看所有可用的辅助攻击工具 show options – 查看该模块所有可用选项 show payloads – 查看该模块适用的所有载荷代码 show targets – 查看该模块适用的攻击目标类型 search – 根据关键字搜索某模块 info – 显示某模块的详细信息 exploit - 漏洞利用 use – 进入使用某渗透攻击模块 back – 回退 check - 检查目标是否可漏洞利用 grep - 匹配指定内容 set/unset – 设置/禁用模块中的某个参数 setg/unsetg – 设置/禁用适用于所有模块的全局参数 save – 将当前设置值保存下来,以便下次启动MSF终端时仍可使用
|
命令示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| msf > grep http search mysql
msf > search name:mysql //根据名称搜索
msf > search platform:linux //搜索指定平台模块
msf > search type:post //根据auxiliary, post, exploit等模块类型进行搜索
msf > search cve:2019 type:exploit platform:linux //组合搜索
msf exploit(3proxy) > sessions -l //列出活动的会话
msf exploit(3proxy) > sessions -i 1 //指定会话ID进行交互
msf exploit(3proxy) > sessions -s checkvm -i 2-4 //在指定会话上执行脚本
|
2. Meterpreter命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| meterpreter > background 放回后台 meterpreter > exit 关闭会话 meterpreter > help 帮助信息 meterpreter > Sysinfo系统平台信息 meterpreter > screenshot 屏幕截取 meterpreter > shell 命令行shell (exit退出) meterpreter > getlwd 查看本地目录 meterpreter > lcd 切换本地目录 meterpreter > getwd 查看目录 meterpreter > ls 查看文件目录列表 meterpreter > cd 切换目录 meterpreter > rm 删除文件 meterpreter > download /data/1.txt 1.txt 下载文件 meterpreter > upload /var/www/wce.exe wce.exe 上传文件 meterpreter > search -d c: -f *.doc 搜索文件 meterpreter > execute -f cmd.exe -i 执行程序/命令 meterpreter > ps 查看进程 meterpreter > run post/windows/capture/keylog_recorder 键盘记录 meterpreter > getuid 查看当前用户权限 meterpreter > use priv 加载特权模块 meterpreter > getsystem 提升到SYSTEM权限 meterpreter > hashdump 导出密码散列 meterpreter > ps 查看高权限用户PID meterpreter > steal_token <PID> 窃取令牌 meterpreter > rev2self 恢复原来的令牌 meterpreter > migrate pid 迁移进程 meterpreter > run killav 关闭杀毒软件 meterpreter > run getgui-e 启用远程桌面 meterpreter > portfwd add -l 1234 -p 3389 -r <目标IP> 端口转发 meterpreter > run get_local_subnets 获取内网网段信息 meterpreter > run autoroute -s <内网网段> 创建自动路由 meterpreter > run autoroute -p 查看自动路由表 创建代理通道: msf > use auxiliary/server/socks4a 设置socks4代理模块 msf auxiliary(socks4a) > show options msf auxiliary(socks4a) > run
|
0xFF 参考资源