一.基础问题回答

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

  1. 2017-2018-2 20155228 《网络对抗技术》 实验三:MAL_免杀原理与实践

    2017-2018-2 20155228 <网络对抗技术> 实验三:MAL_免杀原理与实践 实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasi ...

  2. 20145308 《网络对抗》 MAL_免杀原理及实践 学习总结

    20145308 <网络对抗> MAL_免杀原理及实践 学习总结 实践内容 (1)理解免杀技术原理 (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免 ...

  3. 2017-2018 Exp3 MAL_免杀原理与实践 20155214

    目录 Exp3 MAL_免杀原理与实践 实验内容 对msf生成后门程序的检测 Veil-Evasion应用 Visual Studio2017 + shellcode生成后门 主要思路 知识点 最后的 ...

  4. 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践

    2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...

  5. Exp3:MAL_免杀原理与实践

    目录 1.实验环境 2.实践内容 2.1 msfvenom 2.1.1 msfvenom直接生成 2.1.2 msfvenom 编码一次 2.1.3 msfvenom 编码多次 2.2 Veil_ev ...

  6. 2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践

    2017-2018-2 20155303 『网络对抗技术』Exp3:免杀原理与实践 --------CONTENTS-------- 1. 免杀原理与实践说明 实验说明 基础问题回答 2. 使用msf ...

  7. 20155325 Exp3 免杀原理与实践

    基础问题回答 杀软是如何检测出恶意代码的? 1.1 基于特征码的检测 1.1.1 特征库举例-Snort 1.2 启发式恶意软件检测 1.3 基于行为的恶意软件检测 免杀是做什么? 一般是对恶意软件做 ...

  8. 20155236范晨歌_EXP3免杀原理与实践

    20155236范晨歌_免杀原理与实践 免杀 概述 免杀,也就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),逐字 ...

  9. 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

随机推荐

  1. 利用powershell进行windows日志分析

    0x00 前言 Windows 中提供了 2 个分析事件日志的 PowerShell cmdlet:一个是Get-WinEvent,超级强大,但使用起来比较麻烦:另一个是Get-EventLog,使得 ...

  2. Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    转自:http://blog.csdn.net/iamdll/article/details/20998035 分类: 分布式 2014-03-11 10:31 156人阅读 评论(0) 收藏 举报 ...

  3. 说说UART(转)

    串口协议基础 1 串口概述 串口由收发器组成.发送器是通过TxD引脚发送串行数据,接收器是通过RxD引脚接收串行数据.发送器和接收器都利用了一个移位寄存器,这个移位寄存器可以将数据进行“并转串”和“串 ...

  4. iOS - 实现语言本地化/国际化

      实现iOS语言本地化/国际化(图文详解) 前言 语言本地化,又叫做语言国际化.是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言.往往一些应用程序需要提供给多个 ...

  5. package.json字段全解(转)

    Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...

  6. Volley overview

    https://developer.android.com/training/volley/   需FQ https://developer.android.google.cn/training/vo ...

  7. HR别掉坑里了,送你最精确的计薪算法!

      月工资的计算方式有多种多样.即便是资深的HR,也会犯常识性的错误,正算反算,哪一个方法更适合,有时还会容易出现数字偏差,回想一下,你们公司的工资是如何计算的? 第一 劳动工资计算标准按几天计算 根 ...

  8. javascript解析器原理

    浏览器在读取HTML文件的时候,只有当遇到<script>标签的时候,才会唤醒所谓的“JavaScript解析器”开始工作. JavaScript解析器工作步骤 1. “找一些东西”: v ...

  9. LeetCode 40 Combination Sum II(数组中求和等于target的所有组合)

    题目链接:https://leetcode.com/problems/combination-sum-ii/?tab=Description   给定数组,数组中的元素均为正数,target也是正数. ...

  10. LeetCode 20 Valid Parentheses (括号匹配问题)

    题目链接 https://leetcode.com/problems/valid-parentheses/?tab=Description   Problem: 括号匹配问题. 使用栈,先进后出!   ...