Ra 2
WindCorp最近发生了安全漏洞。从那以后,他们加强了基础设施,从错误中吸取教训。但也许还不够?您已经设法进入了他们的本地网络…
端口扫描
循例 nmap
域名跟Ra前部基本一样, 多了个selfservice
SMB枚举
smbmap
enum4linux也没什么信息
DNS枚举
dig枚举,txt记录发现flag1,并且flag是一句话
允许不安全的动态更新是一个重大的安全漏洞,因为可以从不受信任的来源接受更新
Web枚举
根据Ra,尝试故技重施,重置lilyle的密码,发现失败
来到fire子域,跟主域一致,除了有个按钮,它指向了一个新的子域
发现需要登录,查看包发现还是ntlm,这让我不禁想起pth2web,然而目前也没有可用凭据
使用gobuster对着fire扫描有个powershell, 但目前并没有可用凭据
查看源代码发现了9090端口
进去是一个openfire 4.5.1,但没没有找到什么特别有用的公开漏洞,扫目录也没扫到啥东西
剩下一个selfservice子域没扫,gobuster扫一下
由于没登录的缘故,也扫不到东西
回到端口扫描结果,遗漏了一个dev
gobuster扫到个backup
里面只有一个证书,这是从未见过的未知打法
DNS缓存投毒
其实回到开头获得的第一个flag给出的信息,其实很明显,这指引我们要对dns做点手脚
我参考了wp,其实我的想法也差不多,但没想到会有机器人发送登录请求这个茬
根据flag1的信息,这表明我们可以动态的更新dns服务器的缓存表项,selfservice的https需要ntlm身份验证登录,而根据wp的提示,会有机器人自动发登录请求
这意味着如果我们能通过dns缓存投毒,使selfservice子域的dns的a记录改成攻击机的的ip地址,那么机器人将会带着ntlm hash过来,我们也将能获得该hash并且进一步利用
这种攻击方式以前只学过理论,但付之于实战这也是第一次
首先需要把https搭起来,我也学着wp使用responder搭
至于证书,刚刚我们已经从selfservice.dev子域获取了,但它是pkcs格式,我们需要从中获得ssl cer和key
它需要密码,pfx2john + john直接爆
获得cert.pem和key.pem
配置responder
开responder,确保https没问题
手动连接到本地443,查看一下证书,没问题
使用nsupdate向靶机即dns服务器进行投毒
dig看一下,确定修改成功
不一会,机器人就带着凭据过来了
hashcat直接爆
立足
回到刚刚的fire子域下的/powershell,拿着凭据直接登录
成功进来,并同时获得flag2
权限提升
查看whoami /all,有许多让眼前一亮的信息,其中最值得注意的依然是老朋友SeImpersonatePrivilege
传个PrintSpoofer
添加账户并加入admins组
xfreerdp直接登
flag3