点击蓝字关注我哦
前言
在域渗透中,需要对有目的性的渗透,快速控制一个域最快的办法(不包括直接利用提升为域管的漏洞)就是拿到域管理员的hash,然后对域控进行dcsync,拿到域内所有成员的hash,那么我们如何定位域管理员在哪台机器上登录过?
当然窃取凭据域管理员进程也是一个不错的选择!
1.通过net group "domain admins" /domain 列出域管理员组成员
2.通过tasklist /v 列出本地进程的所有者
3.进行交叉处理,找到域管理进程
通过域搭建的原理来看,在机器加入域之后,域管理员组成员会自动加入到本地的管理员组。
定位域管理员的常规渠道:
1.日志(本地管理员日志)
2.会话(域内每台机器的登陆回话)
常用工具
psloggedon.exe
命令:
psloggedon 要列出登陆信息的机器名或者用户名#如果没有填 则默认为本地
如果指定用户名,则会搜索次用户登陆过哪些机器
描述 |
|
- | 显示支持的选项和用于输出值的度量单位 |
-l | 仅显示本地登录,而不显示本地和网络资源登录 |
-x | 不显示登录时间 |
computername | 指定要为其列出登录信息的计算机的名称 |
username | 指定用户名,在网络中搜索该用户登陆的计算机 |
配合net localgroup administrators 找到域管登陆过的机器
PVEFindADUser.exe -current#将获取域内所有计算机上当前登陆的所有用户
结果保存到report.csv文件
参数 | 描述 |
-last | 将获取目标计算机的最后一个登陆用户 |
-target | 指定要查询的计算机 |
-current ["username"] | -current参数显示每台PC上当前登录的用户在域中。如果指定用户名(在引号之间),则仅将显示该特定用户登录的PC |
-noping | 阻止尝试枚举用户登录名之前对目标计算机执行ping命令 |
netview.exe
netview.exe <参数>
-h | 显示帮助信息 |
-f | filename.txt:指定要提取主机列表的文件 |
-e |
filename.txt:指定要排除的主机名的文件 |
-o | filename.txt:将所有输出重定向到指定的文件 |
-d | filename.txt:指定要提取主机列表的域。如果没有指定,则从当前域中提取主机列表 |
-g | group:指定搜索的组名。如果没有指定,则在Domain Admins组中搜索 |
-c | 对已找到的共享目录/文件的访问权限进行检查 |
nmap 脚本
可以使用nmap的smb-enum-sessions.nse引擎获取远程主机的登陆会话(不需要管理员权限)
其他域渗透脚本:
1.smb-enum-domains.nse:对域控制器进行信息收集,可以获取主机信息、用户、可使用密码策略的用户等
2.smb-enum-users.nse:在进行域渗透时,如获取了域内某台主机权限,但权限有限,无法获取更多的域用户信息,可借助此脚本对域控制器进行扫描
3.smb-enum-shares.nse:遍历远程主机的共享目录
4.smb-enum-processes.nse:对主机的系统进程进行遍历,通过此信息,可知道目标主机运行着哪些软件
5.smb-enum-sessions.nse:获取域内主机的用户登陆会话,查看当前是否有用户登陆
6.smb-enum-discovery.nse:收集目标主机的操作系统、计算机名、域名、域林名称、NetBIOS机器名、NetBIOS域名、工作组、系统时间等信息
Powerview脚本
主要涉及到定位关键用户的功能如下两个模块:
Empire 模块
实际的域里面,大规模的枚举是会惊动ids等防护设备的
介绍完工具再来说说手动:
手工配合Netsess筛选数据
首先收集域控列表:
net group “Domain Controllers” /domain
Nslookup –type=SRV _ldap._tcp
。。。。。。。。
收集域管列表
net group “Domain Admins” /domain
通过Netsess.exe查询每个域控制器,收集所有活动域会话的列表
Netsess.exe -help #获取帮助
-
-full Full session info (requires admin)
-
-h servername Alternate method to specify server
-
-u username Username to filter for
-
-c client name Alternate method to specify client name
cmd联合命令:
FOR /F %i in (dc.txt) do @echo [+] Querying DC %i && @netsess -h %i 2>nul > sessions.txt && FOR /F %a in (domain_admins.txt) DO @type sessions.txt | @findstr /I %a
Dc.txt为收集的域控制器列表,domain_admins.txt为收集的域管列表
Get-NetLocalGroupMember 枚举远程计算机本地组
安装Recon模块
Set-ExecutionPolicy -ExecutionPolicy Bypass
import-module .Recon.psd1
指定远程计算机,指定枚举管理员组
Get-NetLocalGroupMember -ComputerName 主机名 -GroupName administrators
END
看完记得点赞,关注哟,爱您!
扫码领hacker资料,常用工具,以及各种福利
本文始发于微信公众号(Gamma实验室):内网基础-定位域管理员
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论