域管与域控定位思路合集
2021-09-02 11:57:39 Author: mp.weixin.qq.com(查看原文) 阅读量:1197 收藏

文章来源:花指令安全实验室

如何应对面试官最喜欢问的域管与域控定位问题?今天给大家做个总结,无论是实战还是面试都能给各位有所帮助。

我们在内网渗透中,拿下一台跳板机后要对域内展开工作,不管它在不在域内,对域管与域控的精确定位重要性不言而喻,今天介绍通过命令行定位,借助工具定位,借助ldap协议定位,端口定位以及不再域内定位的各种思路。

对域管的定位
01
cmd命令定位
net group "Domain Admins" /domain       //查询域管理员

02
利用powerview过滤出域管

powerview集成在powersploit工具包中,是一个收集域信息很好用的脚本。

注意:通常情况下需要过滤,因为真实的域环境中会有大量结果。

// 更多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: 根据用户日志查询某域用户登录过哪些域机器。

定位域管:

powershell.exe -exec bypass -Command "& {Import-Module C:\Users\win7\Desktop\tool\PowerView.ps1; Invoke-UserEvenHunter}"

还可以导入后过滤出域管:

Get-DomainUser|?{$_.memberof -like "*Domain Admins*"}

03
PSloggedon.exe

下载地址:

https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon

该工具通过检验注册表里HKEY_USERS的key值来查询谁登陆过机器,并且调用了NetSessionEnum API。

PS:该工具有些功能需要管理员权限。

PsLoggedon.exe Administrator  (指定用户)

如图,枚举出了Administrator用户在那些机器登陆过

PsLoggedon.exe \\AD-server  (指定机器名)

如图,枚举出了正在AD-server这台机器上登录的用户

04
PVefindaduser.exe

它是用于查找Active Directory用户的登录位置、枚举域用户,以及查找在 特定计算机上登陆的用户,包括本地用户、通过RDP登陆的用户、用于运行服务和计划任务的用户。

下载地址:

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

直接运行pvefinaduser.exe -current命令,即可显示域中所有计算机上当前登陆的所有用户

05
BloodHound

这个著名的域信息收集工具,不止用来查域管域控,他对整个域的拓扑都能以图形化的方式呈现。(使用方式自行百度)

如下图,通过该命令找到contoso.com域的两个域管

06
Nmap的NSE脚本
如果你有域账户或者本地账户,你可以使用Nmap的smb-enum-sessions.nse 引擎来获取远程机器的登录session,并且不需要管理员权限
smb-enum-domains.nse对域控制器进行信息收集扫描,可以获取主机信息,用户,密码策略可以用的用户等smb-enum-users.nse在进行域渗透的时候,有了域内某台主机的权限,但是权限有限,不能获取更多的域用户信息的时候,可以借助这个脚本对域控制器进行扫描smb-enum-shares.nse遍历远程主机的共享目录smb-enum-processes.nse通过smb对主机的系统进程进行遍历,通过这些信息,可以知道目标主机上运行软件信息,选择合适的漏洞或者规避防火墙以及杀毒软件。smb-enum-sessions.nse通过smb获取域内主机的用户登录session,查看当前是否有用户登录,对于我们抓取用户hash以及避免同时登陆被用户发现。smb-os-discovery.nse通过smb协议来收集目标主机的操作系统,计算机名,域名,全称域名,域林名称,NetBIOS机器名,NetBIOS域名,工作组,系统时间。
对域控的定位
01
cmd命令定位
net group "Domain controllers" /Domain     //查看域控制器

net time /domain

查询域时间设置(多半域控作为时间服务器)

该条命令是显示域控制器时间

nltest

使用一些系统工具,如 nltest 来获取域控制器,但你需要有一个用户。

nltest /dclist:tubai.local
PS C:\Users\Anakin> nltest /dclist:tubai.localGet list of DCs in domain 'tubai.local' from '\\dc01.tubai.local'.    dc01.ADserver.local [PDC]  [DS] Site: Default-First-Site-Name    dc02.ADserver.local        [DS] Site: Default-First-Site-NameThe command completed successfully
02
dns解析记录查询定位域控
原理:域控服务器会向DNS服务器注册DNS记录,以便当客户端需要加入域或者和域有其他交互的时候,可以找到它。
大多情况下,内部DNS服务器和AD域控服务器默认部署在同一台服务器。如果是这种情况,找到DNS服务器就能找到了域控服务器。

若当前主机的dns为域内dns,可通过查询dns解析记录定位域控。

nslookup是一个命令行工具,它显示的信息可以用来诊断域名系统(DNS)的基础结构。
我们键入nslookup,然后Enter
键入set type=all,然后按Enter
键入_ldap._tcp.dc._msdcs.Domain_Name,其中Domain_Name为域名

nslookup -type=all ldap.tcp.dc._msdcs.tubai.com


03
通过端口探测方式定位域控

域控制器兼顾整个域的认证服务,所以会开启很多认证端口。

如果你对一台机器进行了端口扫描,有一下端口开放情况的一定是个域控制器,这也是一种不在域内来定位域控的好方式。

$ nmap 192.168.100.2 -Pn -sV -p-Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower.Starting Nmap 7.91 ( https://nmap.org ) at 2021-05-04 11:17 CESTNmap scan report for 192.168.100.2Host is up (0.00068s latency).Not shown: 65509 filtered portsPORT      STATE SERVICE       VERSION42/tcp    open  tcpwrapped53/tcp    open  domain        Simple DNS Plus88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2021-05-04 09:19:44Z)135/tcp   open  msrpc         Microsoft Windows RPC139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn389/tcp   open  ldap          Microsoft Windows Active Directory LDAP (Domain: contoso.local0., Site: Default-First-Site-Name)445/tcp   open  microsoft-ds?464/tcp   open  kpasswd5?593/tcp   open  ncacn_http    Microsoft Windows RPC over HTTP 1.0636/tcp   open  tcpwrapped

扫描出的53端口,为DNS服务端口,主要用于域名解析,通过DNS服务器可以实现域名与ip地址之间转换,一般在域控上,但也不一定,要看域控和DNS是不是在同服务器,不过一般都是。

389默认是LDAP协议端口,636端口与88端口他们都是域控机器开放的端口


04
SPN扫描定位

由于SPN本身就是正常的kerberos请求,所以扫描隐蔽,它不同于TCP与UDP常规端口扫描。大部分windows已经自带setspn.exe,且此操作无需管理权限。

在域内机器执行:

setspn -T tubai.com -Q /

在扫描出的结果中就可以根据

CN=AD-SERVER,OU=Domain Controllers,DC=tubai,DC=com

来进行域控的定位。此时已经查询出域控机器。

05
nbtscan.exe

此外,还可以利用nbtscan来定位域控,他与端口探测都是机器不在域内定位的好方式,它使用netbios协议扫描本地或远程 TCP/IP 网络上的开放 NetBIOS 名称服务器

C:\Users\daniel10>nbtscan.exe 192.168.7.0/24192.168.7.1     \DP192.168.7.7     tubai\DC                     SHARING DC192.168.7.107   tubai\keke                SHARING*timeout (normal end of scan)

总结:

域控域控定位方式有很多,这也是内网横向信息收集的重要一环,本篇文章为大家总结了多种定位方式,无论是实战中应用,还是面试都能给各位带来帮助。巨多的面试官都喜欢问定位域管域控问题,收藏此文可以bypass面试官。

 侵权请私聊公众号删文



文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650522057&idx=2&sn=1d99ea84e02ab0ae003d474e701826f7&chksm=83baa42db4cd2d3b5959085d896a870fb6e83161445c567b23dbf73b73d086ead18aa89087f2#rd
如有侵权请联系:admin#unsafe.sh