20144306《网络对抗》MAL_免杀原理与实践
一.基础问题回答
1.杀软是如何检测出恶意代码的?
(1)特征码:类似于人的生物特征,恶意代码可能会包含一段或多端数据能代表其特征。杀软一般会对文件内容进行静态扫描,将文件内容与特征库进行匹配,来检测已知的网络攻击。
优点:检测效率高、能精确检测恶意软件类型和具体名称、能在恶意软件首次写入计算机时检测而非运行后。
缺点:不能检测未知和变形的恶意软件、需频繁更新特征库、特征库会越来越臃肿。
(2)启发式:就是以特定方式实现的反编译器和动态高度器,通过对有关指令序列的反编译逐步理解和确定恶意软件的动机。比如一段程序突然要调用格式化盘操作的BIOS指令功能,这就很可疑,然后又发现它没有参数选项,没有让我交互式输入执行指令,启发我觉得它就是短恶意代码。
优点:可以检测0-day恶意软件、具有一定通用性。
缺点:实时监控系统行为,开销稍多、容易滥杀无辜。
(3)基于行为:基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。
优点:可发现未知病毒、可相当准确地预报未知的多数病毒。
缺点:可能误报、不能识别病毒名称、实现时有一定难度。
2.免杀是做什么?
您有没有过心爱的盗版被杀毒软件斩首的经历?您有没有过辛辛苦苦整理出来的工具包被杀毒软件团灭而“义愤填膺”的时候;您有没有过好不容易拿到权限,上传的后门还没来得及落地就被搞死的痛心时刻?免杀,它能做的就是避免这些事情的发生!使杀毒软件成为摆设!当然,除此之外免杀技术带给我们更多的,将是思想的飞跃与技术的成长。
3.免杀的基本方法有哪些?
(1)改变特征码:
想要空手套白狼:加壳
shellcode在手:encode编码、payload重新编译
有源代码:翻译成其他语言
(2)改变行为:
就是收敛一下,不要那么明目张胆,反弹连接、使用隧道、加密通讯数据、在内存偷鸡摸狗、不对系统动手、混入忠良的代码混乱视听。
二.实验总结与体会
告别了手动信任,veil-evarion和msf结合很好用,再加壳的话报毒率会大幅下降;单独给裸奔后门加壳的话,我用hyperion会报毒,但是upx反而没事;shellcode很强大,经处理的shellcode更强大,而且shellcode操作性很好,可以随意定制,c语言调用shellcode方式更多.我觉得混合使用这些方法可以搞出一个套娃后门,绝对可以隐藏的很深。
杀毒软件并不万能,特征码隐藏会让其杀毒准确大幅下降,正如我前面黄色阴影部分写到的一样,特征码杀软的一大缺点:不能检测未知和变形的恶意软件是个很好地切入点,隐藏行为很难,但是变形相对容易。
侵入一台自以为防护到位的电脑真的很容易,怪不得机要领域设备都要严加看守,光杀软真的不够,安全防护要多方面配合,调用防火墙、ids的力量,或者配备专门的维护员。诡异的现象大概都是切入点吧。
visual studio 安装速度慢死了......
三.离实战还缺些什么技术或步骤?
胆子和脑子
怎么自己生成定制的shellcode,可以进行各种变形加密,c调用方式也很多样,难的是根据什么样的漏洞写什么样的后门。
当你有了一个精彩的后门要怎么神不知鬼不觉送给对方?
怎么让这个后门真正变透明,藏在什么位置?(和正常软件捆绑?)怎么隐藏后门和母星之间的通信?(隧道技术?)对方不会某天找文件突然撞见.....
隐藏痕迹?就算对方撞见了也不知道是谁干的[smile]
四.实践过程记录
1.如何评价免杀效果?
其实很客观的就是能躲过多少杀软的追踪,使用集成杀软网站:http://www.virscan.org/
最差标准:上周msf做的那个后门,什么都不做上传看看结果。
刚从虚拟机放出来就死了,手动信任后上传:
结果感人,39款中21款杀软都报毒了,那就看看接下来的操作能不能减少报毒率。
2.Msfvenom使用编码器
先编码个10遍:
再试一下:
没有变化[微笑],而且依旧被360弄死,这个方法早已被各类AV厂商识破。
3.使用Veil-Evasion
Veil-Evasion是一个与Metasploit有点类似的免杀平台,用其他语言如c,c#,phython,ruby,go,powershell等重写了meterperter,然后再通过不同方式编译成exe。
用python重写一个:
测试一下v1版的后门的伪装性:
拖拽到虚拟机外Desktop,360杀毒软件不报毒了,再专门扫描一下桌面文件夹。
没报毒~~~扫描也只剩下了9个
回连测试一下:
新生成的rc文件被保存在了veil-output下的handlers目录下!既然有了rc文件,那么我们就可以方便的使用MSF进行调用了。
msfconsole -r 20144306_v1_python1.exe
在另一台windows主机上运行新生成的免杀后门软件:
在kali上选择sessions -i -1:
获取shell
成功~嚯嚯嚯
4.C语言调用Shellcode
使用msf来生成一个c语言格式的Shellcode数组:
vs安装速度感人.....
去洗个头.......
在vs中用c语言调用shellcode生成新后门20144306.exe,杀软来问候一下:
报毒了......
再来,对shellcode进行异或及末端加1加密,重新生成20144306_encode.exe:
专门扫描一下:
只有一款报毒!!!!!
回连没问题:
4306_v4这个版本我很满意~~
5.加壳
(1)压缩壳UPX
我把自己之前用veil-evasion生成的20144306_v1_python1.exe加了个壳生成了v1++版本:
杀软杀不出来:
扫描也成功下降到5个,欣慰:
回连没毛病:
(2)加密壳Hyperion
把我的v1版本升级成v2试试:
查杀一下:
word妈,反而报毒了,v2炮灰......说好的加密加壳呢?桑心,不回连了。
又试了一个不编码的后门基本版软件,还是报毒,我严重怀疑这是个脱壳软件.......
最后总结下:
一共6个版本的伪装后门:
v0版本:编码器版本----炮灰
v1版本:python重写(http协议)------360杀不出来,报毒率9/39
v1++版本:python重写(http协议)+upx加壳--------360杀不出来,报毒率5/39
v2版本:python重写(http协议)+hyperion加壳--------炮灰,360直接弄死
v3版本:c调用shellcode-------360能杀出来,报毒率12/39
v4版本:c调用shellocode异或末端加1加密-------godlike,360杀不出来,报毒率1/39
为了增加隐蔽性,我又给报毒率最低的v4版本换了个图标改了名字~~
--------》没错,这是后门!!
点它吧。
20144306《网络对抗》MAL_免杀原理与实践的更多相关文章
- 2017-2018-2 20155228 《网络对抗技术》 实验三:MAL_免杀原理与实践
2017-2018-2 20155228 <网络对抗技术> 实验三:MAL_免杀原理与实践 实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasi ...
- 20145308 《网络对抗》 MAL_免杀原理及实践 学习总结
20145308 <网络对抗> MAL_免杀原理及实践 学习总结 实践内容 (1)理解免杀技术原理 (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免 ...
- 2017-2018 Exp3 MAL_免杀原理与实践 20155214
目录 Exp3 MAL_免杀原理与实践 实验内容 对msf生成后门程序的检测 Veil-Evasion应用 Visual Studio2017 + shellcode生成后门 主要思路 知识点 最后的 ...
- 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践
2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...
- Exp3:MAL_免杀原理与实践
目录 1.实验环境 2.实践内容 2.1 msfvenom 2.1.1 msfvenom直接生成 2.1.2 msfvenom 编码一次 2.1.3 msfvenom 编码多次 2.2 Veil_ev ...
- 2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践
2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践 --------CONTENTS-------- 1. 免杀原理与实践说明 实验说明 基础问题回答 2. 使用msf ...
- 20155325 Exp3 免杀原理与实践
基础问题回答 杀软是如何检测出恶意代码的? 1.1 基于特征码的检测 1.1.1 特征库举例-Snort 1.2 启发式恶意软件检测 1.3 基于行为的恶意软件检测 免杀是做什么? 一般是对恶意软件做 ...
- 20155236范晨歌_EXP3免杀原理与实践
20155236范晨歌_免杀原理与实践 免杀 概述 免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字 ...
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...
随机推荐
- 利用powershell进行windows日志分析
0x00 前言 Windows 中提供了 2 个分析事件日志的 PowerShell cmdlet:一个是Get-WinEvent,超级强大,但使用起来比较麻烦:另一个是Get-EventLog,使得 ...
- Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
转自:http://blog.csdn.net/iamdll/article/details/20998035 分类: 分布式 2014-03-11 10:31 156人阅读 评论(0) 收藏 举报 ...
- 说说UART(转)
串口协议基础 1 串口概述 串口由收发器组成.发送器是通过TxD引脚发送串行数据,接收器是通过RxD引脚接收串行数据.发送器和接收器都利用了一个移位寄存器,这个移位寄存器可以将数据进行“并转串”和“串 ...
- iOS - 实现语言本地化/国际化
实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个 ...
- package.json字段全解(转)
Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...
- Volley overview
https://developer.android.com/training/volley/ 需FQ https://developer.android.google.cn/training/vo ...
- HR别掉坑里了,送你最精确的计薪算法!
月工资的计算方式有多种多样.即便是资深的HR,也会犯常识性的错误,正算反算,哪一个方法更适合,有时还会容易出现数字偏差,回想一下,你们公司的工资是如何计算的? 第一 劳动工资计算标准按几天计算 根 ...
- javascript解析器原理
浏览器在读取HTML文件的时候,只有当遇到<script>标签的时候,才会唤醒所谓的“JavaScript解析器”开始工作. JavaScript解析器工作步骤 1. “找一些东西”: v ...
- LeetCode 40 Combination Sum II(数组中求和等于target的所有组合)
题目链接:https://leetcode.com/problems/combination-sum-ii/?tab=Description 给定数组,数组中的元素均为正数,target也是正数. ...
- LeetCode 20 Valid Parentheses (括号匹配问题)
题目链接 https://leetcode.com/problems/valid-parentheses/?tab=Description Problem: 括号匹配问题. 使用栈,先进后出! ...