常用的域管理员定位工具

admin 2022年6月7日00:12:37评论733 views字数 3407阅读11分21秒阅读模式

一、 SPN扫描

不同于常规的tcp/udp端口扫描,由于spn本质就是正常的Kerberos请求,所以扫描是非常隐蔽,日前针对此类扫描的检测暂时也比较少。

大部分win系统默认已自带spn探测工具即:setspn.exe

此操作无需管理权限

域内机器执行

setspn -T 域名 -Q */*

即可完整查出当前域内所有spn。

二、 psloggedon.exe

使用psloggedonexe,可以查看本地登录的用户和通过本地计算机或远程计算机的资源登录的用户。如果指定的是用户名而不是计算机名,psloggedon.exe会搜索网上邻居中的计算机,并显示该用户当前是否已经登录。其原理是通过检查注册表HKEY_USERS 项的key值来查询谁登录过(需要调用NetSessionEnum API),但某些功能需要管理员权限才能使用。

常用的域管理员定位工具

常用参数有:

-:显示支持的选项和用于输出的单位
-1:仅显示本地登录不显示本地和网络资源登录
-x:不显示登录时间
computer:指定要列出登录信息的计算机名称
username:指定用户名,在网络中搜索该用户登录的计算机

工具下载地址:

https://docs.microsoft.com/zh-cn/sysinternals/downloads/psloggedon

 三、PVEFindADUser.exe

PVEFindADUserexe可用于查找活动目录用户登录的位置、枚举域用户,以及查找在特定计算机上登录的用户,包括本地用户、通过RDP登录的用户、用于运行服务和计划任务的用户。运行该工具的计算机需要配置NETFramework2.0环境,并且需要具有管理员权限。

常用的域管理员定位工具

常用参数有:

-h:显示帮助信息
-u:检查程序是否有新版本
-current[“username”]:如果仅指定了-current参数,将获取目标计算机上当前登录的所有用户。如果指定了用户名(DomainUsername),则显示该用户登录的计算机
-last[“username”]:如果仅指定了-last参数,将获取目标计算机的最后一个登录用户。如果指定了用户名(DomainUsername),则显示此用户上次登录的计算机。根据网络的安全策略,可能会隐藏最后一个登录用户的用户名,此时本工具无法得到该用户名
-noping:阻止工具在尝试获取用户登录信息之前对目标计算机执行ping命令
-target:可选参数,用于指定要查询的主机。如果未指定此参数,将查询当前域中的所有主机。如果指定了此参数,则后跟一个有逗号分隔的主机名列表

工具下载地址:

https://github.com/chrisdee/Tools/tree/master/AD/ADFindUsersLoggedOn

 四、netview.exe

netview.exe 是一个枚举工具,使用WinAPI枚举系统、利用NetSessionEnum 找寻登录会话利用NetShareEnum 找寻共享,利用NerWkstaUserEnum 枚举登录的用户。同时,netview.exe 能够查询共享入口和有价值的用户。绝大部分功能不需要管理员权限。

常用参数:

-f filename.txt:指定要提取主机名列表的文件
-e filename.txt:指定要排除的主机名的文件
-o filename.txt:将所有输出重定向到指定文件
-d domain:指定要提取主机列表的域。如果没有指定,则从当前域中提取
-g group:指定搜索的组名。如果没有指定,则在Domain Admins组中搜索
-c:对已找到的共享目录/文件的访问权限进行检查

工具下载地址:

https://github.com/mubix/netview

五、Nmap的NSE脚本

如果存在域账户或者本地账户就可以使用Nmap的smb-enum-sessions.nes引擎获取远程机器的登录会话。

常用参数:

smb-enum-domain:对域控制器进行信息收集,可以获取主机的信息、用户、可使用密码策略的用户等
smb-enum-users:在进行域渗透测试时,如果获得了域内某台主机的权限,无法获取更多的域用户信息,就可以借助这个脚本对域控制器进行扫描
smb-enum-shares:遍历远程主机的共享目录
smb-enum-processes:对主机的系统进行遍历。通过这些信息,可以知道目标主机上正在运行哪些软件。
smb-enum-sessions:获取域内主机的用户登录会话,查看当前是否有用户登录。
smb-os-discovery:收集目标主机的操作系统、计算机名、域名域林名称、NetBIOS机器名、NetBIOS域名,工作组、系统时间等信息

工具下载地址:

https://nmap.org/nsedoc/scripts/smb-enum-sessions.html


六、 PowerView.PS1脚本

powerview脚本可以用来获取当前域管理员在线登录的服务器

Invoke-UserHunter:搜索本地域中域管理员当前在线的主机,并验证当前用户是否具有对这些主机的本地管理员访问权限。它可以使用 Get-NetSessions 和Get-NetLoggedon 扫描每台服务器并对扫描结果进行比较,从而找出目标用户集,并且无需管理员权限。

常用的域管理员定位工具

打开powershell,进入脚本目录,输入Import-Module .PowerView.ps1 导入脚本

然后输入Invoke-UserHunter即可

详细使用方法如下

Import-Module为powershell导入脚本命令,这里假设我们下载的powerview.ps1脚本在C:PowerView.ps1
命令格式:powershell.exe -exec bypass -Command "& {Import-Module C:PowerView.ps1; powerview的命令参数}"

定位域管理员
powershell.exe -exec bypass -Command "& {Import-Module C:PowerView.ps1; Invoke-UserHunter}"

更多PowerView命令参数
Get-NetDomain: 获取当前用户所在域的名称
Get-NetUser: 获取所有用户的详细信息
Get-NetDomainController: 获取所有域控制器的信息
Get-NetComputer: 获取域内所有机器的详细信息
Get-NetOU: 获取域中的OU信息
Get-NetGroup: 获取所有域内组和组成员信息
Get-NetFileServer: 根据SPN获取当前域使用的文件服务器信息
Get-NetShare: 获取当前域内所有网络共享信息
Get-NetSession: 获取指定服务器的会话
Get-NetRDPSession: 获取指定服务器的远程连接
Get-NetProcess: 获取远程主机的进程
Get-UserEvent: 获取指定用户的日志
Get-ADObiect: 获取活动目录的对象
Get-NetGPO: 获取域内所有的组策略对象
Get-DomainPolicy: 获取域默认策略或域控制器策略
Invoke-UserHunter: 获取域用户登录的计算机信息及该用户是否有本地管理员权限
Invoke-ProcessHunter: 通过查询域内所有的机器进程找到特定用户
Invoke-UserEvenHunter: 根据用户日志查询某域用户登录过哪些域机器。

工具下载地址:

https://github.com/PowerShellEmpirc/PowerTools/tree/master/PowerView

七、Netsess


查看当前会话连接
- netsess.exe 主机名

常用的域管理员定位工具


下载地址:http://www.joeware.net/freetools/tools/netsess/index.htm

八、Empire中的user_hunter模块

在 Empire 下user_hunter模块用来查找域管理员登录的机器的。

获取反弹shell

使用命令

usemodule situational_awareness/network/powerview/user_hunter

可查看域用户登陆信息

常用的域管理员定位工具

原文始发于微信公众号(菜鸟学信安):常用的域管理员定位工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月7日00:12:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   常用的域管理员定位工具http://cn-sec.com/archives/1090899.html

发表评论

匿名网友 填写信息