20145304 Exp3 免杀原理与实践

基础问题回答

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

  • 检验特征码,包含特征码的代码会被杀软认为是恶意代码,例如一些常用恶意代码加壳后就有一个固定的代码会被认为是特征码。
  • 启发式恶意代码检测,做了不该做的事情,则有可能被认为是恶意软件。
  • 基于行为的恶意软件检测,根据软件的行为来判断该软件是否为恶意软件。

(2)免杀是做什么?

  • 使恶意代码不被杀软检测到。

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

  • 改变特征码。
  • 改变行为。

实践总结与体会

这次的实验使我认识到,知识越多认识越深,上星期对杀软和防火墙的信赖倒塌了一半,我们按照一定的方法步骤操作一些现成的软件便可以制造出杀软和防火墙都无法识别的恶意代码,制造病毒与杀毒相互促进、共同发展。及时更新病毒库很有必要。
此次实验中恶意代码程序都是我们自己运行的,但现实生活中,很多恶意代码都可自运行,新型病毒查杀较为困难,需要一定的时间,所以,我们应从根源避免自己遭受恶意代码的攻击,养成良好的上网习惯,及时更新病毒库。

离实战还缺些什么技术或步骤?

感觉离实战还有很大的距离,首先,我们的病毒需要人为的启动,而用户是不会轻易帮助你进行这一步的,所以我们的病毒中需要一些自启动的代码,其次,我们的病毒没有传播性,只能单一的感染某个特定的主机。目前我们所做到的只是攻击者与被攻击者之间相互配合的恶意代码,如果要做到病毒的自启动,自我复制等功能,需在代码上加以完善,这样有被杀软通过行为查杀的风险,所以需要做的还有很多。

实践过程记录

理解免杀技术原理

免杀技术是能使病毒木马避免被免杀软件查杀的技术。做免杀,应了解杀毒软件是依据什么来判断代码是否为恶意代码,所谓“知己知彼,百战不殆”。恶意软件的检测可基于其特征码、基于其行为以及启发式检测。基于这些,我们可以通过加壳、编码器编码、用其他语言重写再编译来改变其特征码,也可使用反弹式连接、隧道或加密等技术来改变其行为,实现免杀。

正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧

使用msf编码器

  • 使用msf编码器生成一个后门。

  • 放到http://www.virscan.org检测,结果是39款杀毒软件中有21款杀毒软件认为其为恶意代码。

  • 编码1次。

  • 编码15次。

  • 对比结果,39款杀毒软件中有20款杀毒软件认为其为恶意代码,结果证明多编码几次对baidusd这款杀毒软件是有用的。

veil-evasion

  • 打开veil-evasion软件,按提示一步步操作。

  • 结果显示39款软件中有10款认为其为恶意代码,

C语言调用Shellcode

  • 在Kali下生成一个C语言格式的shellcode数组,回连的IP为Kali的IP,端口自定。

  • 用VC6.0照模板生成一个可运行文件。

  • Kali下进入MSF监听。
  • 在win下运行上诉生成的文件,查看结果。

  • 360安全卫士提示有木马运行。

  • 在http://www.virscan.org检测,显示安全,该网站很多病毒库许久未更新,结果不是很可靠。

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

逆序修改shellcode并进行实测

  • 参考高其同学的博客,对shellcode代码进行逆序处理。
  • 实测结果如图

电脑杀毒软件为:360安全卫士 版本为11 备用木马库为:2017-03-23

20145304 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. easyui-datagrid个人实例

    这个实例数据表格的功能,可以实现分页,增删改查功能 1.user.jsp <%@ page language="java" contentType="text/ht ...

  2. 正向代理 forward proxy、反向代理 reverse proxy、透明代理 transparent proxy nginx反向代理原理和配置讲解 防止外部客户机获取内部内容服务器的重定向 URL 缓存命中

    [大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器 - Edison Chou - 博客园http://www.cnblogs.com/edisonchou/p/4126742.html 图 ...

  3. Spring中,使用Java配置的方式进行依赖注入

    之前用spring的时候,只知道使用xml的方式,和使用注解的方式,却一直不知道在spring中,还可以使用Java类的方式进行配置.使用Java类的方式,就可以取代xml和注解.使用Java配置是S ...

  4. django模板语言的注释

    就像HTML或者Python,Django模板语言同样提供代码注释. 注释使用 {# #} : ? 1 {# This is a comment #} 注释的内容不会在模板渲染时输出. 用这种语法的注 ...

  5. Mybatis 代码自动生成[myeclipse版]

    使用环境说明: OS:windows 7 64位 myeclipse: 2017 CI 1.安装 打开myeclipse--help---Install from catalog--选择eclipse ...

  6. redis 数据迁移

    最近有个项目因为要搬迁服务器的原因,去找了服务器公司的运维,需要收费,于是果断决定自己实现这个功能.现在百度上已经一大把redis数据库迁移的教程,大部分是利用主从复制或者利用redis的RDB备份之 ...

  7. router-link传参 query方式

    router.js内的路由配置 { path: '/CreateProgress', name: 'CreateProgress', component:CreateProgress }   传参(q ...

  8. 洛谷P1084 疫情控制 [noip2012] 贪心+树论+二分答案 (还有个小bugQAQ

    正解:贪心+倍增+二分答案 解题报告: 正好想做noip的题目然后又想落实学长之前讲的题?于是就找上了这题 其实之前做过,70,然后实在细节太多太复杂就不了了之,现在再看一遍感觉又一脸懵了... 从标 ...

  9. struts2 OGNL(Object-Graph Navigation Language) 井号,星号,百分号

    1.“#”主要有三种用途: 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext():可以访问这几个ActionContext中的属性. parameter ...

  10. python-面向对象-08_多态

    多态 目标 多态 面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 定义类的准则 继承 实现代码的重用,相同的代码不需要重复的编写 设计类的技巧 子类针对自己特有的需 ...