一.基础问题回答

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. Top 20 NuGet packages for captcha

    Top 20 NuGet packages for captcha CaptchaMvc.Mvc4 CaptchaMvc will implement your web MVC application ...

  2. osgExp只能将3dmax中的动画导出为路径动画osg::AnimationPath,而不能导出osgAnimation::Animation。osg播放骨骼动画应该使用FBX格式

    通过实际的模型测试,导出为.osg文本格式,搜索animation,只能搜索到AnimationPathCallback,而搜索不到osgAnimation相关类 在OSGExp1.5.0源代码中搜索 ...

  3. Excel导出到浏览器(个人备份)

    /// <summary>  /// Excel导出  /// </summary>  /// <param name="dt"></pa ...

  4. MySQL按照汉字拼音首字母排序

    按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字37 ...

  5. SpringMVC实现多文件(批量)上传

    1.springMVC实现多文件上传需要的包如图2.webroot下的结构如图所示 3.java代码: package cn.lxc.controller; import java.io.File; ...

  6. 网络编程之HttpClient类(转)

    12.2 网络编程之HttpClient类 除了可以使用HttpWebRequest类来实现HTTP网络请求之外,我们还可以使用HttpClient类来实现.对于基本的请求操作,HttpClient类 ...

  7. 【cs229-Lecture4】Newton’s method

    之前我们在求Logistic回归时,用的是梯度上升算法,也就是要使得似然函数最大化,利用梯度上升算法,不断的迭代.这节课引出牛顿方法,它的作用和梯度上升算法的一样的,不同的是牛顿方法所需的迭代次数更少 ...

  8. 深入理解 Neutron -- OpenStack 网络实现(3):VXLAN 模式

    问题导读1.VXLAN 模式下,网络的架构跟 GRE 模式类似,他们的不同点在什么地方?2.网络节点的作用是什么?3.tap-xxx.qr-xxx是指什么? 接上篇:深入理解 Neutron -- O ...

  9. Android手机端抓包方法

    抓包准备 1. Android手机需要先获得root权限.一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得).在终端模拟器界面输入su并回车,若报错则说明未root, ...

  10. Email standards

    https://www.fastmail.com/help/technical/standards.html Email structure These RFCs define the way ema ...