声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。所有话题标签:#Web安全 #漏洞复现 #工具使用 #权限提升#权限维持 #防护绕过 #内网安全 #实战案例#其他笔记 #资源分享 #MSF |
---|
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 //启用调试