假如你已经控制了域网内的一台电脑A,你是否想以此为跳板进一步扩大战果,将自己的权限从local admin 提高到Domain admin,从而可以访问包括Domain Controller在内的域内中任何一台电脑。通常有两种思路:
路线一:如果运气好的话A电脑上有进程或者服务运行在域管理员账号下,这时候可以使用password dump相关工具提取出用户名,密码hash或者密码明文。 WCE 就可以提取密码的hash和明文。为什么有进程运行在管理员账号下呢? 使用域管理网络的一个重要的好处就在于方便管理和控制,管理员可以使用域账号随时登陆管理任何一台域中电脑:推送软件,打补丁,安全检查等。只要管理员访问过你的电脑(一般人并不会意识到),密码信息就会遗留在内存中,WCE就能帮你拿到这个密码。
WCE可以提出本地账户和域账户密码,怎样判断哪个是域管理员呢? 简单的一个命令就可以找到域中所有管理员账号 net group ”domain admins” /domain.
路线二: 如果运气不好,A电脑上找不到域管理员密码信息怎么办呢? 等待!潜伏下来,等待抓域管理员密码。当然也还有另一种可能,很多公司的电脑都来至于同一个镜像,并且拥有同样的一个local的账号和密码,比如Local admin。那么思路就来了,dump出机器A上的Local Admin的密码hash,使用工具:hashdump(metasploit), pwdumpx, fgdump。
这个时候你已经拿到了用户名,密码或者密码hash。怎样利用呢? 利用彩虹破解,密码字典找出明文密码。通常这是一条让人充满挫折感的道路,一般情况密码的复杂度都被强制要求的很高,很难奏效。其实可以直接利用密码hash访问其他电脑,比如 psexec, meterpreter psexec.
psexec是一个相对不可思议的好工具,通常用来做网络管理。它的使用方法在另一篇blog中再写。
参考:
WCE的原理: http://www.ampliasecurity.com/research/wce12_uba_ampliasecurity_eng.pdf
获取域管理员列表:net group “Domain Admins” /domain
获取DC列表net group "domain controlers" /domain
获取域中所有电脑 net group "domain computers" /domain
获取所有域用户 net group "domian users" /domain