2.2 KiB
##Want to write your own template?
#Variables
At the moment the engine support the following keyword var, func, data, cond, int
The engine also support following variables [int], [smallint]
.
This mean that everytime one of these keyword is found it will be replace with random value.
Function func1(var1 As String) As String
Dim var2 As String
Dim int1 As Integer
int1 = [smallint1]
If (var2 = var1) Then
func1 = "cond1"
End If
End Function
Will become
Function groJeU(JToaRdHxMcE0 As String) As String
Dim CoVSEHgccgKzTV0 As String
Dim BsviMcpRUPErzxVJ As Integer
BsviMcpRUPErzxVJ = 4
If (CoVSEHgccgKzTV0 = JToaRdHxMcE0) Then
groJeU = "mrkOOiQriGHJrABNJXf"
End If
End Function
#Parsing instructions
To tell the parser to encode a string use the following pattern {[your data]}
. The string will be encoded using the offset defined by encodingoffset
in the JSON config file.
If you are using keyword that are not supported by the parser add the following line [use:varname]
at the beginning of your VBA code.
Keep in mind that encoded string need to be decoded. There is a VBA function for that simply add encoder
into the evasion array to include the decode
function. Since the [use:decode]
is already defined inside of encoder.vba the decode function will be obfuscated as expected.
#User defined variables
Want to add specific variable like a URL. Simply define it in the template like this [URL]
[use:myfunction]
Function myfunction(var1 As String) As String
Dim var2 As String
Dim int1 As String
int1 = [smallint1]
var2 = decode("[URL]")
If (var2 = var1) Then
myfunction = "cond1"
End If
End Function
Once it will be parsed by the Python script the variable will be replace by the value defined in the config file
{
"description": "Command exec payload using WMI Win32_Process class\nEvasion technique set to domain check",
"template": "templates/payloads/wmi-cmd-evasion-template.vba",
"varcount": 150,
"encodingoffset": 4,
"chunksize": 200,
"encodedvars": {
"URL": "https://ringzer0team.com"
},
"vars": [],
"evasion": ["encoder", "domain"],
"payload": "cmd.exe /c whoami"
}