0x01 前言
这个案例也是那个朋友发我的,写这篇文章只是为了验证《西部数码云主机失败提权案例》文中所提到的提权思路,那个目标最终没能利用135端口执行命令,而这个目标是可以利用135端口执行命令,并且已成功拿到SYSTEM权限,两个目标环境相差无几,所以就不去详细记录整个过程了。
0x02 信息搜集
目标机器基本信息:
Web绝对路径:D:\wwwroot\HA522674\WEB\ 目标系统:Windows 2016 Datacenter (10.0.14393 暂缺 Build 14393). 当前权限:win-lm9o2t7ve98\ha522674 开放端口:21、80、135、3306、65132(TermService) 可读写目录:C:\ProgramData\
中国菜刀虚拟终端执行命令时会因权限问题而提示“ERROR:// 拒绝访问。”,在可读写目录中上传个cmd.exe即可解决,但还是限制了大部分命令的执行,自己上传的也不行。
注:这里目前是无法直接通过中国菜刀执行相关命令做信息搜集的,但是可以在得到MSF会话后执行getuid、sysinfo、ps、netstat等命令来搜集目标主机基本信息,都是基于Stdapi执行的。
0x03 实战提权过程
权限已经掉了,本地做的复现,忘了当时里边是有什么安全防护了,最终是利用mshta白名单获取的MSF会话,然后通过post/windows/gather/hashdump模块直接抓取到目标哈希值。
使用Powershell命令查看HKLM\SAM\SAM注册表权限基本可以确定是Users可读问题。
将支持135 HASH传递的工具Sharp-WMIExec.exe上传至C:\ProgramData\可读写目录中,然后另起个命令终端执行MSF监听,最后再通过Sharp-WMIExec.exe进行哈希传递时利用mshta白名单执行Payload即可得到Administrator,getsystem提升至SYSTEM权限。
Sharp-WMIExec参数说明:
-?、--help = VALUE //帮助 -t,--target = VALUE //目标主机名或IP地址 -u,--username = VALUE //用于身份验证的用户名 -d,--domain = VALUE //用于身份验证的域 -h,--hash = VALUE //用于身份验证的NTLM密码哈希,支持LM:NTLM或NTLM -c,--command = VALUE //在目标上执行的命令 --sleep = VALUE //睡眠时间(以秒为单位) --debug //启用调试