本仓库是一个简单粗暴的武器库,收录了在 PowerShell 中绕过 .NET SSL/TLS 证书验证并继续进行黑客攻击的方法和脚本。
#Invoke-SelfSignedWebRequest
在信息安全工作中,使用 HTTPS 是进行 C2 和在目标网络空间内开展行动的一种极其便捷的机制。此外,PowerShell 是一款了不起的生产力工具,可以帮助操作者实现动态效果。一个自然而然的下一步就是将 C2 通道(HTTPS)与效果生成器(PowerShell)结合起来。只要快速生成一个自签名证书,一切就万事大吉了,对吧?不幸的是,事实证明,微软(以及由此扩展的 PowerShell)非常不喜欢由无法验证的证书所保护的 SSL 连接。它们会不遗余力地通过抛出大量令人发指的 ERROR 消息来阻止这些连接。 这个仓库是一个快速而粗糙的方法与脚本武器库,用来绕过那些以安全为导向的功能,并继续推进黑客攻击!
我的意图是,每当想到新方法就不断添加进来。欢迎提交 Pull Request!
##方法:
Invoke-SelfSignedWebRequest - 将目标 URI 的 SSL 证书加载到本地证书存储中,并封装 Invoke-WebRequest。在不安全的 WebRequest 调用完成后移除证书。别名为 wget-ss
Disable-CertificateValidation - 通过手动配置 ServerCertificateValidationCallback 返回 $true,禁用 System.Net.ServicePointManager 端点上的 SSL 证书验证。允许 (New-Object System.Net.WebClient).DownloadFile() 连接到自签名 SSL 域。
Disable-NetSSLValidation - 配置内部 .NET 设置,通过 useUnsafeHeaderParsing 禁用 SSL 证书验证。
作者:Matthew Toussain(@0sm0s1z) 许可证:BSD 3-Clause