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

发表于:2018-3-12 13:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xnianq    来源:嘶吼

  这是在我博客中第一篇非web类的文章,我是一个传统的web开发人员,web安全是从事安全方面的出发点。但是从我进入渗透测试行业开始,我就被这个行业深深吸引,从兼职一步步做到了全职的渗透测试工程师,活动目录域是我最喜欢的渗透测试类型。
  这篇文章是关于我在今年早些为客户做的内部渗透测试,因为之前已经测试过,了解到这个客户的网络环境相当复杂,所以开始的时候很忐忑会测试不成功。
  我在内网中做的第一件事就是运行Responder工具,会从本地网络中的LLMNR或者NETBIOS请求中获取到Windows hash。但是客户还是比较有安全意识的,他们已经禁用了LLMNR以及NetBIOS请求。尽管在之前的测试中已经了解到了这一点,但是我还是抱有一份希望,因为在OSCP课程中学到了总要先从尝试简单的方法开始,如果门开着,你从天窗进去那岂不是多此一举。
  于是我执行了Responder,我竟然捕捉到了一台机器的hash!
 
  当然,我肯定不会在博客中公开客户的私密信息,因此你看到所有内容都是我在实验室内重新搭建环境复现出来的,并且一些隐私信息已经隐藏。
  上图中可以看到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,我们可以看到主机的名称匹配。
 
  所以我们下一步要做的就是尝试破解这一hash,然后得到这一用户的明文密码。使用hashcat进行破解,很快出了结果:
  
  现在我们已经获得了前台机器的登陆凭证,现在使用这一凭证进行攻击这台机器:
  cme smb 172.16.157.133 -u FRONTDESK -p 'Winter2018!' --local-auth
  
  上图中可以看到”Pwn3d”已经输出,这就意味着我们已经获取到了本地的管理员账户。这就意味着我们已经有了获取本地用户hash的权限:
  cme smb 172.16.157.133 -u FRONTDESK -p 'Winter2018!' --local-auth --sam
  
  可以看到已经得到了本地用户的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
 
  我们只能使用存储的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哈希作为密码填写上去:
  
  一旦执行,我们就会得到shell
  
  然后使用Mimikatz模块从windows内存中获取密码:
  
  上图中我们已经得到了域管理员的密码,最后,我们使用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'
  
  注意/y参数的含义是让windows允许你添加超过14个字符的密码。
  远程桌面到域控制器的屏幕截图可以作为利用证据写入到报告中:
  
  因此如果第一台拿下的机器加入到域中,那么它将会禁用掉LLMNR通信,并且我们不会获得hash值,然后这次渗透测试就不会成功~这就是文章开始的问题,为什么所有的机器要加入域中的答案。


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号