一次不算太曲折的提权

还是那个补习机构,上次是getshell,这次是提权

已知条件提要:

  • Windows Server 2012 R2
  • 3389已开
  • webshell可以上传文件,权限IIS APPPOOL/手动打码,可调用cmd执行部分命令,部分目录不可访问OR无权上传,可查看进程,可执行EXE [Hint:后来换了原版英语的aspxSpy2,要不一堆方框不知道是什么功能]
  • MsSQL数据库可以访问,用户sa,权限IIS APPPOOL/手动打码,可调用cmd执行部分命令,可调用sql执行部分系统命令,部分目录不可访问OR无权上传 [Hint:通过webshell + lcx转发端口到本地进行数据库访问]
  • 服务器打了156个Hotfix 管理员挺尽职尽责的
  • 还有其他的,都不是重点
    如图 有些没有图了,找不到图了,这也不是重点


    各种添加用户命令都试过,提示权限不足

=====================

首先先试着拿到一个meterpreter shell,用msfvenom生成一个aspx反弹shell,payload是windows/x64/meterpreter/reverse_tcp,上传生成的aspx文件,msf开启监听,然后访问这个页面,结果显示空白,msf监听没反应,刷新几次页面之后,整站503,挂了

等管理员重启之后 换个思路,既然通过webshell可以调用CMD来执行EXE文件,那就用EXE文件来获取meterpreter shell,果断msfveon生成相同payload的EXE,上传,msf开启监听,通过webshell来执行上传的EXE文件 aspxSpy2有CMDShell功能,功能算比较全 得到如下meterpreter shell,权限为IIS APPPOOL/手动打码,获得的CMD shell为同等权限,hashdump权限不足拒绝访问,wdigest同样权限不足拒绝访问,其他的渗透模块只要是涉及到令牌的,都拒绝访问,图片就不一一列出了 不然打码都打到手软

再换个思路,既然拿到了强大的meterpreter shell,为何不用系统漏洞来提权?谷歌百度一通,发现可以用MS16-075来进行提权。先把当前的shell放到后台,msf里调用ms16_075_reflection,结果无语了,还是没提上去,可能是那156个hotfix的原因

再换个思路,既然msf自带的模块不太行,要不找一个EXE的ms16-075,传上去再执行
马上找找github,发现一堆EXP 我滴个妖怪,都是好东西,果断下载之 找到ms16-075,别名土豆 [EXP的名字就是potato.exe]

重头戏来了

potato.exe上传到一个可以访问到的目录,这里上传到网站存放图片的目录
再次用webshell执行meterpreter反弹shell的EXE得到一个shell
首先执行getprivs命令,获取当前权限下能额外拥有的权限,再通过命令use incognito调用incognito模块,然后通过list_tokens -u获取令牌列表,得到如下2个令牌

在meterpreter shell里,通过execute -cH -f *文件路径* 来执行EXE进行漏洞利用,在执行完EXE之后,再次使用list_tokens -u命令获取令牌列表,发现多了一个SYSTEM的令牌,输入命令impersonate_token "NT AUTHORITY\\SYSTEM"仿冒令牌,通过getuid命令可以发现meterpreter shell现在已经具有SYSTEM权限,同理,用shell命令得到的CMD shell也具有SYSTEM权限

启用Guest账户,把Guest加入到administrators组,修改密码,3389远程之


最后清除痕迹 用meterpreter shell的clearev清除日志,在远程桌面里结束所有后门进程和删除所有后门程序