Skip to content

Instantly share code, notes, and snippets.

@michaelder
Last active June 23, 2023 10:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save michaelder/dff8c6a4ebb654a39dbbdf6ababd39fe to your computer and use it in GitHub Desktop.
Save michaelder/dff8c6a4ebb654a39dbbdf6ababd39fe to your computer and use it in GitHub Desktop.
Cyberchef Recipe for Cobalt Strike Reflective Loader(beacon) v4 with parsing
Regular_expression('User defined','FromBase64String\\("([^"]+)',true,true,false,false,false,false,'List capture groups')
From_Base64('A-Za-z0-9+/=',true)
Gunzip()
Register('([\\s\\S]*)',true,false,false)
Regular_expression('User defined','FromBase64String\\(\'([^\']+)',true,true,false,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R0',true,false,true,true)
Regular_expression('User defined','-bxor (.+)',true,true,false,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R1',true,false,true,true)
From_Base64('A-Za-z0-9+/=',true)
XOR({'option':'Decimal','string':'$R2'},'Standard',false)
To_Hex('Space',0)
Remove_whitespace(true,true,true,true,true,false)
Register('([\\s\\S]*)',true,false,true)
Regular_expression('User defined','33C080B0([a-f0-9]{2}[a-f0-9]{2}[a-f0-9]{2}[a-f0-9]{2})([a-f0-9]{2})403D([a-f0-9]{2}[a-f0-9]{2}[a-f0-9]{2}[a-f0-9]{2})',true,true,true,false,false,true,'List matches with capture groups')
Remove_whitespace(true,true,true,true,true,false)
Register('Group1:([\\s\\S]*)Group2:([\\s\\S]*)Group3:([\\s\\S]*)',true,true,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R6',true,false,true,true)
Swap_endianness('Hex',4,true)
From_Base(16)
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R7,2',true,false,true,true)
Multiply('Comma')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R3',true,false,true,true)
Regular_expression('User defined','FFFFFFFFFFFFFFFFFF($R5[a-f0-9]{$R8})',true,true,false,false,false,false,'List capture groups')
From_Hex('Auto')
XOR({'option':'Hex','string':'$R5'},'Standard',false)
To_Hexdump(16,false,false,false/disabled)
To_Hex('Space',0)
Remove_whitespace(true,true,true,true,true,false)
Register('([\\s\\S]*)',true,false,false)
Regular_expression('User defined','080003[a-f0-9]{2}[a-f0-9]{2}((?:.*?))(?=00)',true,true,true,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R9',true,false,true,false)
Regular_expression('User defined','090003[a-f0-9]{2}[a-f0-9]{2}((?:.*?))(?=00)',true,true,false,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R9',true,false,true,true)
Regular_expression('User defined','0a0003[a-f0-9]{2}[a-f0-9]{2}((?:.*?))(?=00)',true,true,false,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R9',true,false,true,false)
Regular_expression('User defined','1a0003[a-f0-9]{2}[a-f0-9]{2}((?:.*?))(?=00)',true,true,false,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R9',true,false,true,false)
Regular_expression('User defined','1b0003[a-f0-9]{2}[a-f0-9]{2}((?:.*?))(?=00)',true,true,false,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R9',true,false,true,true)
Regular_expression('User defined','1d0003[a-f0-9]{2}[a-f0-9]{2}((?:.*?))(?=00)',true,true,false,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'$R9',true,false,true,true)
Regular_expression('User defined','1e0003[a-f0-9]{2}[a-f0-9]{2}((?:.*?))(?=00)',true,true,false,false,false,false,'List capture groups')
Register('([\\s\\S]*)',true,false,false)
Find_/_Replace({'option':'Regex','string':'.+'},'4332205365727665723a20$R100a55736572204167656e743a20$R110a48545450204d6574686f64205061746820323a20$R1200a4d6574686f6420313a20$R130a4d6574686f6420323a20$R140a537061776e20546f207838363a20$R150a537061776e20546f207836343a20$R160a',true,false,true,false)
From_Hex('Auto')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment