我们在打入内网的时候,看一眼环境发现有域就打域控。没域的话那就是工作组环境,我们就打内网中的其他服务就行。但是基本碰不到工作组环境的这种形式,所以我们在进行内网渗透时,首要的点还是率先把域控机器找到,然后找从当前这台机器到域控的最短路径,假设我们处于很茫然的环境下,你所依赖的自动化分析软件上传上去发现报错了&出Bug&权限不够&等等情况时,你还指望你的好厚米工具一键信息收集吗?
我们贴近找到域控机器的三要素:
有的时候不一定这三要素你都能俱全,我们需要猥琐的慢慢的来摸。但是内网中各个管理员的配置不尽相同,找到域控的实战环境也是不尽相同的。接下来我们通过分析几条常见的DOS命令来思考一下:今天中午吃什么?
net group “Domain Controllers” /Domain
这条命令是用来查看域控机器的名字的
发现可以查询到域控机器的名字:server-2019,假设当前用户不是本地管理员组,非管理员权限进行查询,如果出现这样的反馈怎么办:
这项请求将在域test.com域控制器处理 发生系统错误 5。拒绝访问
虽然这里查不了域控机器的名字,但是爆出了域的名字,我们可以尝试解析域名的方式先拿到域控机器的IP地址再说:
ping test.com
nslookup test.com
成功定位到域控机器的IP地址
假设我们进入了内网,也找到了域控主机的名字,但是尝试去 ping 域控的时候发现,并不能得到域控的IP地址,或者是错误的IP地址,怎么?
首先通过ipconfig /all 得到主DNS后缀的名字
通常情况,在内网渗透测试中,大都是通过寻找 DNS 服务器来确定域控制器的位置的。DNS服务器和域控制器通常配置在同一台机器上。因此这里可以 ping 这个地址尝试获取域控机器的IP地址。
假如我们在 ping 主DNS后缀时发现,他们的怎么ping出来个公网地址啊?那么此时的 ping 的办法就失效了,需要切换别的办法去找。
我们可以直接找内网的DNS 服务器的IP,然后定位域控
或者使用nltest 命令来查询域控
nltest /dclist:域名称
但是这种方法有时候在拿到 webshell 其实是并不能用的,也就是说我们找不到Windows/System32/nltest.exe,由于权限的种种限制原因,解决方法就是和之前往里面传cmd.exe然后设置终端路径的思路是一样的。直接找到和系统版本相匹配的nltest.exe,然后传上去试试,然后接下来可能就得看脸了,如果你遇到奇奇怪怪的问题只能抱怨这是什么破JB环境了。
nltest.exe /dsgetdc:test
net time
还不行的话可以用查询时间这个命令,因为会请求域服务器的时间所以有可能找到域控。
劈里啪啦先敲他一顿键盘,是不是就有黑客呢味儿了?开玩笑纯纯水文而已