检测域环境内,域机器的本地管理组成员是否存在弱口令和通用口令,对域用户的权限分配以及域内委派查询
郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。
作者:Ske
团队:0x727,未来一段时间将陆续开源工具,地址:https://github.com/0x727
定位:协助红队或甲方人员评估域环境的安全性
语言:C
功能:检测域环境内,域机器的本地管理组成员是否存在弱口令和通用口令,对域用户的权限分配以及域内委派查询
这段时间有关域的漏洞层出不穷,该工具因为较早前开发,并未涉及这些漏洞,只是单纯的收集一些域内重要信息协助红队人员。那么涉及到的信息有连通的域机器-alive.txt、域机器上的NetSessions-NetSessions.txt、域机器的本地管理员组-local.txt、域内委派成员-Deleg.txt、域机器弱口令-success.txt。
假设一个场景:
所以只要域里域机器够多,绝大部分内网里都有几台存在这种弱口令或者通用口令。那么就通过这几台弱口令机器,先获取在当前弱口令机器登录过的域用户权限,然后再找哪些域机器的管理组里有该域用户或者就是Domain Users组,从而就相当于拿下了那些域机器。通过此方法不断的滚雪球似的,获取越来越多的域机器权限。直到获取域管用户权限,从而拿下域控
后期计划:增加组策略、laps等信息的收集
出现【OK】则是当前域机器的本地管理员组成员存在弱口令
对每台域机器的net session查询
查询域内的委派
收集的结果会保存在当前目录下的alive.txt, local.txt, success.txt,Deleg.txt,NetSessions.txt文本里.
alive.txt 保存存活的域机器和解析出来的IP
local.txt 保存存活域机器的本地管理组成员,着重关注Domain Users组
success.txt 保存爆破出弱口令的域机器的管理员账号密码,并且保存完整的ipc连接命令
Deleg.txt 保存委派的信息
NetSessions.txt 保存存活域机器的net session
用普通的域用户权限和域控建立IPC连接,然后列出域里所有的域机器,对每一台域机器存活探测,如果存活再用当前的域用户和每一台域机器建立IPC连接,接着把每台域机器的本地管理组都取出来(域管理员,某些的域用户,某个域里的组、本地administrator,本地的其他用户),最后尝试四种方式获取该域机器权限。
从拿下的的域机器中不断的获取内存中的hash,积累域用户权限的个数,再从local.txt中寻找本地管理员组里有该域用户的域机器或者通过委派利用,然后滚雪球式的不断获取域机器权限,直到拿下域管。
Usage: ShuiYing_0x727.exe <DC-IP> <DC> <domainname\username> <password> <nbpassword> <t_num>
ShuiYing_0x727.exe \\域控IP 域名 域名\域用户 域用户密码 本地administrator通用密码 多线程数目
nbpassword参数是当你有了本地administrator通用密码时,可以使用该密码爆破。如果不知道,则传递123456.
t_num参数是线程数目
场景 | 语法 |
---|---|
当前域用户权限 | ShuiYing_0x727.exe \\192.168.159.149 Motoo.nc Motoo\liwei NULL 123456 1 |
当前域机器权限 | ShuiYing_0x727.exe \\192.168.159.149 Motoo.nc Motoo\LiWei-PC$ NULL 123456 1 |
指定域用户账号密码 | ShuiYing_0x727.exe \\192.168.159.149 Motoo.nc Motoo\liwei lw123!@#45 123456 1 |
error: 1219:不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次。
error: 1326:用户名或密码不正确。
无
水影是一个免费且开源的项目,我们欢迎任何人为其开发和进步贡献力量。
提醒:和项目相关的问题最好在 issues 中反馈,这样方便其他有类似问题的人可以快速查找解决方法,并且也避免了我们重复回答一些问题。