0x01 Getshell
朋友@Sin在FOFA网络空间搜索引擎中使用语法找到一些别人搭建在公网或映射出来的DVWA漏洞靶场,并通过该漏洞靶场的默认用户名和密码直接登录进去了,然后将其安全级别设置为Low低。
用户名 | 密 码 | 用户名 | 密 码 |
admin | password | pablo | letmein |
gordonb | abc123 | smithy | password |
1337 | charley |
这里我们可以直接利用DVWA靶场中的命令执行漏洞得到一个MSF会话,不建议利用上传漏洞来Getshell,因为目标机器的PHP版本为7,所以上传的一句话木马可能不能用中国菜刀连接,而且在能执行系统命令的情况下还去上传Webshell是不是有点多此一举呢?
0x02 信息搜集
目标机器基本信息:
目标系统:Windows 10 (10.0 Build 18363). 当前权限:DESKTOP-ISVFPRU\waf(Administrators) 开放端口:80、135、443、445、902、912、3306、3389 进程名称:chrome.exe、MsMpEng.exe、xampp-control.exe、httpd.exe、mysqld.exe、mongod.exe、SQLyogCommunity.exe、Xshell.exe、XshellCore.exe、tv_w32.exe、tv_x64.exe、TeamViewer_Service.exe、vmware.exe、vmware-tray.exe、vmware-vmx.exe、vmware-authd.exe、vmware-unity-helper.exe、vmware-usbarbitrator64.exe
目标机器是用XAMPP搭建的Web服务,默认是以高权限运行的,还有waf这个用户其实也就是SID500默认管理员用户,只是修改了个用户名而已。
而且这台机器是Windows10系统,默认开启的有UAC用户帐户控制,这里因为还没有绕过UAC,所以是不能直接抓取Hash和明文密码,自然也获取不到高权限令牌了。
0x03 实战提权过程
在前期的信息搜集中发现了一些常用于权限提升的进程和服务,如:mysqld.exe、tv_w32.exe、tv_x64.exe、TeamViewer_Service.exe等,所以这个目标我们可以尝试用TeamViewer、MySQL、BypassUAC来进行提权。
(1) MySQL
1、我们先在靶场的数据库配置文件中找到连接MySQ的用户和密码,可惜不是root连接的,有的虽然不是root用户但也具备管理员的权限,当时忘了去验证一下这个用户是否具备管理员的权限了?
2、user.MYD文件对应的是MySQL数据库中的Users表,存放着用户、密码密文以及权限等,所以可以通过.\MySQL\data\mysql\目录下的user.MYD找root密码,不过只找到了一个user.frm。
注:没有user.MYD文件时是不能启动MySQL服务的,猜测应该是管理员在部署好DVWA漏洞靶场环境后删除了user.MYD、user.MYI,然后并没有重启MySQL服务,所以靶场还是能连接到MySQL的。
(2) TeamViewer
上传了一个免安装版的TeamViewer,并以当前登录的waf这个用户执行了这个程序,进程列表中出现tv_w32.exe、tv_x64.exe进程时说明已经执行成功了。
但是在MSF下使用screenshot命令截屏时出现了以下报错,换了CobaltStrike中的截屏功能又可以,不过没有截取到连接ID和Pass。
meterpreter > screenshot [-] stdapi_ui_desktop_screenshot: Operation failed: Access is denied.
注:本地测试中发现使用未过UAC的用户执行TeamViewer时仍然会出现UAC弹窗提示是否运行,虽然我们选择“是”或“否”都会运行,但是这种方式在实战中应用动静还是太大了,还请谨慎使用!靶场被关闭的原因可能就是因为我们多次执行TeamViewer时出现的UAC弹窗才被管理员发现的。
(3) BypassUAC
最终我们是利用MSF下的bypassuac_sluihijack模块绕过UAC用户账户控制将权限提升至SYSTEM,其他的BypassUAC模块就不再去测试了。不过这里有个坑:获取MSF会话时用的4444端口监听的,在用BypassUAC模块时仍然用的4444端口监听时就会出现下图报错,原以为是被微软自带的Windows Defender查杀了,其实并不是,我在自己的VPS上给他测试时发现只要用443或其他端口号都是能够利用成功的。
注:由于最近比较忙,中间停了有几天,结果文章还没写完就被管理员发现并关闭了这个在线靶场,原还打算等闲下来了再对他的内网进行一波测试的,可惜了!因为靶场被关闭,所以提权这部分内容都是在本地模拟当时的环境来进行测试的,已经尽可能的去还原当时的测试过程了。