20154312 曾林 Exp3 免杀原理与实践

时间:2021-08-05 22:02:14

20154312 曾林

0.写在前面

AV厂商检测恶意软件的方式主流的就三种:

  1. 基于特征码的检测
  2. 启发式恶意软件检测
  3. 基于行为的恶意软件检测

我们要做的就是让我们的恶意软件没法被这三种方式找到,也就是免杀。具体的手段有:

  • 改变特征码

    • 如果你手里只有EXE
    • 有shellcode(像Meterpreter)
    • 有源代码
  • 改变行为

    • 通讯方式
    • 操作模式
  • 非常规方法

1.实践

1.0实验系统环境

靶机:

系统:Windows7 x64

杀软:360安全卫士 V11.4.0.2049

攻击机:

Kali 虚拟机

检测网站:

Viruscan

1.1MSF编码器

MSF编码器也就是上个实验玩的那个,所以我直接用上个实验的20154312_backdoor.exe去检测了。(改了个名字,因为含有数字的话Viruscan会提示含广告,可能就和什么WG123456一样?)

20154312 曾林 Exp3 免杀原理与实践

很显然,裸奔的后门非常的惨,19个杀软都检测到了它。(请记住这个没检测出后门的Baidu Antivirus

把这个后门编码十次之后还是一样的19个杀软检测到没有任何实质性的变化。这种老套路只要不是太蠢的杀软肯定都能识别(别问了,Baidu Antivirus还是没有检测出来)

1.2veil-evasion

是一个和Metasploit类似的免杀平台,Kali里没有,用sudo apt-get install安装以下就ok。

20154312 曾林 Exp3 免杀原理与实践

安装完成后,用use evasion命令进入Evil-Evasion

20154312 曾林 Exp3 免杀原理与实践

选择一个模板生成payload,选啥都可以,提供的模块还是挺多的。

20154312 曾林 Exp3 免杀原理与实践

拷贝到win10的过程中,被无情的拦截。

20154312 曾林 Exp3 免杀原理与实践

在那个时候还没有安装杀软的win7上还是一条好汉,回连是直接成功的

20154312 曾林 Exp3 免杀原理与实践

看看Viruscan的扫描结果怎么样吧

20154312 曾林 Exp3 免杀原理与实践

好在是比MSF进步了很多,只有8个引擎检测出来了有后门。(Baidu Antivirus总算是有所进步...)

试试看装了360之后能不能扫出来

20154312 曾林 Exp3 免杀原理与实践

嗯,国内第一大病毒杀软可不是吹的。

1.3shellcode

1.3.1Windows环境编译

在VS里编辑好直接编译就好

20154312 曾林 Exp3 免杀原理与实践

回连是没有任何问题的

20154312 曾林 Exp3 免杀原理与实践

还是一样用Viruscan和360扫描一下

20154312 曾林 Exp3 免杀原理与实践

比之前用Evil又好了很多,只有三个引擎报警。

20154312 曾林 Exp3 免杀原理与实践

360沦陷了...(我有个大胆的想法)

1.3.2Linux环境编译

这一块编译过程没截图,反正思路就是把shellcode放到C文件里面,然后i686-w64-xxx.c -o xxx.exe编译一下就ok。回连也是没有任何问题的。继续Viruscan+360扫描

20154312 曾林 Exp3 免杀原理与实践

一夜回到*,被11个引擎查杀了

20154312 曾林 Exp3 免杀原理与实践

360这边也不乐观,直接被找到了

1.4加壳

1.4.1UPX加壳

用下面的命令来加这个压缩壳

# upx 4312-1.exe -o 4312-1v3.exe

成功之后结果如下

20154312 曾林 Exp3 免杀原理与实践

来,继续viruscan检测一下

20154312 曾林 Exp3 免杀原理与实践

8个,emmmm比前面没有加壳好一点点。

在我拷贝到win10的过程中直接被杀了...

1.4.2Hyperion加壳

用下面命令来加这个加密壳

/root/veil-evasion/tools/hyperion/#wine hyperion.exe -v 4312-1.exe 4312-1v2.exe
记得先cd到Hyperion这个文件夹

加壳之后的结果

20154312 曾林 Exp3 免杀原理与实践

继续viruscan扫描一下

20154312 曾林 Exp3 免杀原理与实践

...你真的加壳了吗...

1.5shellcode变形

这一块就比较有意思了,看了学长学姐们的一些方法,我打算把shellcode去和一个固定16进制数做异或,因为是43的所以选了个0x43,用来得到异或结果的函数其实很简单。源代码就不在这放了,反正用函数就能得到异或的结果

20154312 曾林 Exp3 免杀原理与实践

异或的结果复制到word或者notepad++替换,,0x放回shellcode里面,然后在之前的后门程序里面重新异或一次0x43,可能会遇到strlen函数报错,因为本身是一个const char变成了unsigned charstrlen()会报错的。最简单的方法直接数就好了,341个16进制字符,直接把strlen(met)改成341就ok,编译一下。

20154312 曾林 Exp3 免杀原理与实践

Viruscan+360

20154312 曾林 Exp3 免杀原理与实践

20154312 曾林 Exp3 免杀原理与实践

近乎完美的通过。

伪装一下骗同学岂不是美滋滋

20154312 曾林 Exp3 免杀原理与实践

1.6实测于杀软共生

一个Windows直接编译的shellcode以及异或后的shellcode都是可以共生的。

20154312 曾林 Exp3 免杀原理与实践

20154312 曾林 Exp3 免杀原理与实践

2.报告

2.1总结

本次实验一共有如下版本

  版本名称 编译方式              viruscan  360
1. 4312 8 F
2. 4312-1 Kali下编译shellcode 11 F
3. 4312-2 Windows下编译shellcode 6 T
4. 4312-3 异或后的shellcode 1 T
5. 4312-1 v2 UPX加壳 8 F
6. 4312-1 v3 Hyperion加壳 12 F

总结就是啥都不干也比用Hyperion加壳好。

自给自足,自己用C去编一个shellcode是最好用的。

2.2基础问题回答

  • (1)杀软是如何检测出恶意代码的?
  1. 基于特征码的检测
  2. 启发式恶意软件检测
  3. 基于行为的恶意软件检测
  • (2)免杀是做什么?

    防止被杀软检测出来

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

    1.改变特征码

    2.加壳

2.3离实战还差哪些技术或步骤

IP地址转换技术

社会工程学(骗人)

20154312 曾林 Exp3 免杀原理与实践的更多相关文章

  1. 20155209 林虹宇 Exp3 免杀原理与实践

    Exp3 免杀原理与实践 使用msf生成后门程序的检测 将上周msf生成的后门文件放在virscan.org中进行扫描 结果很危险 使用msf编码一次进行扫描 使用msf编码10次进行扫描 结果同样很 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. nodejs中stream相关资料

    nodejs中流(stream)的理解 nodejs stream 手册完整中文版本 nodejs stream详细使用介绍

  2. Object类、包装类、内部类详解

    1.Object类 1.概念: 1.1 所有类在创建时都默认继承了java.lang.Object 1.2 所有类对象都可以声明为类对象的引用 Object ob1=new String(); Obj ...

  3. linux启动init流程(转)

    当系统启动时,首先启动内核,内核调用init来完成引导进程.init启动时,它会在/etc/inittab内查找默认的运行级别:如id:2:initdefault:运行/etc/rc.d/init.d ...

  4. SQL 事务及实例演示

    简介 事务,英文名称是transaction.是在对数据库进行管理操作过程中一个逻辑单位,由有限的操作序列构成. 其实这个概念很好懂,简单理解就是:事务就是在使用数据库中的一个操作,由一些操作放到一起 ...

  5. 浅谈Notepad++选中行操作+快捷键+使用技巧【超详解】

    Notepad++选中行操作 快捷键 使用技巧 用Notepad++写代码,要是有一些重复的代码想copy一下,还真不容易,又得动用鼠标,巨烦人.... 有木有简单的方法呢,确实还是有的不过也不算太好 ...

  6. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

  7. 【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃 ...

  8. Mac anaconda安装 “conda command not found” 解决方法

    官网下载包直接安装的时候可能会产生这种问题,这主要还是环境变量配置的问题 一般我们添加环境变量的方法是编辑.bash_profile或.bashrc,在文件里插入下面这段代码 export PATH= ...

  9. 「JavaScript面向对象编程指南」闭包

    闭包 JS只有函数作用域,函数外为全局变量,函数内为局部变量 绿圆是函数fn的作用域,在这范围内可访问局部变量b和全局变量a,橙圆是fn内部函数inner的作用域,此范围内可访问自身作用域内的变量c, ...

  10. 前端学习 -- Html&Css -- 相对定位 绝对定位 固定定位

    相对定位 - 定位指的就是将指定的元素摆放到页面的任意位置,通过定位可以任意的摆放元素. - 通过position属性来设置元素的定位. -可选值: static:默认值,元素没有开启定位: rela ...