特征码

20175328 Exp3 免杀原理与实践

假装没事ソ 提交于 2020-04-04 09:49:52
目录 一、实验原理 (一)杀软原理 (二)免杀原理 二、基础问题回答 (一)杀软是如何检测出恶意代码的? (二)免杀是做什么的? (三)免杀的基本方法有哪些? 三、实践过程 (一)使用msf编码器生成后门程序及检测 (二)使用veil-evasion生成后门程序及检测 (三)使用加壳工具生成后门程序并检测 (四)使用shellcode生成后门程序并检测 四、思考 开启杀软能绝对防止电脑中恶意代码吗? 五、实践总结与体会 六、参考资料 一、实验原理 (一) 杀软原理 1、引擎与病毒库的交互作用,通过特征码提取与病毒库中的特征码进行比对识别病毒。 2、启发式Heuristic,通过程序的一些行为和特征来判断。 3、在虚拟机技术上的启发式,通过建立一个虚拟环境运行程序对其进行全方位的检测。 (二)免杀原理 使病毒木马免于被杀毒软件查杀 1、改变特征码 (1)有EXE:加压缩壳、加密壳 (2)有shellcode(如:Meterpreter):用encode进行编码,基于payload重新编译生成可执行文件 (3)有源代码:用其他语言进行重写再编译(veil-evasion) 2、改变行为 (1)通讯方式 使用反弹式连接 使用隧道技术,隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送,把所有要传送的数据全部封装到合法的报文里进行传送以绕过防火墙。 加密通讯数据 (2)操作模式

2019-2020-2 网络对抗技术 20172327 Exp3 免杀原理与实践

主宰稳场 提交于 2020-04-04 04:11:01
目录 1. 实践基础 1.1 什么是恶意代码检测机制和免杀原理? 1.1.1 免杀原理 1.1.2 恶意代码检测机制 1.1.3 免杀技术综述 1.2 基础问题回答 2. 实践内容 2.1 学习正确使用msf编码器、msfvenom生成如jar之类的其他文件、veil、加壳工具、 使用C + shellcode编程以及课堂其他课堂为介绍方法 2.1.1 正确使用msf编码器,生成exe文件 2.1.2 msfvenom生成jar文件 2.1.3 msfvenom生成php文件 2.1.4 使用veil-evasion生成后门程序及检测 2.1.5 使用加壳工具尝试 2.1.6 使用C+shellcode编程 2.1.7 使用其他方法完成免杀 2.2 通过组合应用各种技术实现恶意代码免杀 2.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本 4.1.3 总结与体会 1. 实践基础 1.1 什么是恶意代码检测机制和免杀原理? 1.1.1 免杀原理 免杀技术,全称为反杀毒技术(Anti Anti-Virus),是指对恶意软件的处理让其能够不被杀毒软件所检测,同时也是渗透测试中需要使用到的技术。 1.1.2 恶意代码检测机制 基于特征码的检测: 简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等

2019-2020-2 20175305张天钰《网络对抗技术》 Exp3 免杀原理与实践

半腔热情 提交于 2020-04-04 02:48:40
2019-2020-2 《网络对抗技术》 Exp3 免杀原理与实践 一 . 知识小结 免杀概念 一般是对恶意软件做处理,让它不被杀毒软件所检测。 基础问题回答 杀软是如何检测出恶意代码的? 基于特征码的检测 一段特征码就是一段或多段数据,经过对许多恶意代码的分析,我们发现了该类恶意代码经常出现的一段或多段代码,而且是其他正常程序没有的,即特征码。如果杀软检测到一个可执行文件包含特征码就认为其是恶意代码。 启发式恶意软件检测 就是根据些片面特征去推断。通常是因为缺乏精确判定依据。(非精确) 基于行为的恶意软件检测 为加入了行为监控的启发式。通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,杀软会监视程序的运行,如果发现了这些特殊行为,就会认为其是恶意软件。(非精确) 免杀是做什么? 一般是对恶意软件做处理,让它不被杀毒软件所检测 免杀的基本方法有哪些? 改变特征码 只有EXE— 加壳(压缩壳 加密壳) 有shellcode(像Meterpreter)—利用encode进行编码 有源代码——用其他语言进行重写再编译 改变行为 通讯方式 尽量使用反弹式连接:meterpreter本身即主要使用反弹连接 使用隧道技术:如dns2tcp、iodine可将流量封闭为DNS协议包 加密通讯数据:如使用reverse-https进行转发 操作模式 基于内存操作

2019-2020-2 网络对抗技术 20175214 Exp3 免杀原理与实践

假如想象 提交于 2020-03-29 06:22:19
2019-2020-2 网络对抗技术 20175214 Exp3 免杀原理与实践 一、预备知识 1.恶意代码检测机制 (1)基于特征码的检测 简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。 (2)启发式恶意软件检测 “When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.” 对恶意软件检测来说,就是如果一个软件在干通常是恶意软件干的事,看起来了像个恶意软件,那我们就把它当成一个恶意软件吧。典型的行为如连接恶意网站、开放端口、修改系统文件,典型的“外观”如文件本身签名、结构、厂商等信息等。各个厂商会定义自己的检测模式。 (3)基于行为的恶意软件检测 从理论上讲,基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。 2.免杀原理(AV) (1)改变特征码 有EXE 加壳:压缩壳 加密壳 有shellcode(像Meterpreter) 用encode进行编码 基于payload重新编译生成可执行文件 有源代码 用其他语言进行重写再编译(veil-evasion) (2)改变行为 通讯方式 尽量使用反弹式连接 使用隧道技术 加密通讯数据

20175201张驰exp3——免杀原理与实践

无人久伴 提交于 2020-03-28 08:15:48
目录 一、学习目标 二、基础问题回答 三、实验步骤 1、使用msf编码器msfvenom生成后门程序 2、使用Msfvenom生成jar等其他文件 用下面的命令生成php文件 3、Veil-Evasion 4、用shellcode编程生成后门程序 5、加壳 三、实验遇到的问题 1、装veil的时候,缺少Python3.4的包。 2、没有找到hyperion.exe程序。 四、实验感想 一、学习目标 (1)正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分) (2)通过组合应用各种技术实现恶意代码免杀(0.5分) (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。) (3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5) 二、基础问题回答 1、杀软是如何检测出恶意代码的? 基于特征码的检测:简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。AV软件厂商要做的就是尽量搜集最全的、最新的特征码库。所以杀毒软件的更新很重要。过时的特征码库就是没有用的库。 启发式恶意软件检测:启发式Heuristic,简单来说

2019-2020-2 网络对抗技术 20175311胡济栋 Exp3 免杀原理与实践

醉酒当歌 提交于 2020-03-28 02:03:36
2019-2020-2 网络对抗技术 20175311胡济栋 Exp3 免杀原理与实践 目录 一、实验介绍 二、实验内容 任务一:学习正确使用msf编码器、msfvenom生成如jar之类的其他文件、veil、加壳工具、 使用C + shellcode编程以及课堂其他课堂为介绍方法(3分) 任务二:通过组合应用各种技术实现恶意代码免杀(0.5分) 任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(0.5分) 三、实验要求 四、实验感想 一、实验介绍 1.免杀原理 免杀技术,全称为反杀毒技术(Anti Anti-Virus),是指对恶意软件的处理让其能够不被杀毒软件所检测,同时也是渗透测试中需要使用到的技术。 学习免杀就必须了解恶意软件检测工具是如何运作的,知己知彼,百战百胜。 2.恶意软件检测机制 基于特征码的检测 简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。 AV软件厂商要做的就是尽量搜集最全的、最新的特征码库。所以杀毒软件的更新很重要。过时的特征码库就是没有用的库。 启发式恶意软件检测 启发式Heuristic,简单来说,就是根据些片面特征去推断,通常是因为缺乏精确判定依据。 对恶意软件检测来主说,就是如果一个软件在干通常是恶意软件干的事,看起来了像个恶意软件

20169205 2016-2017-2 《网络攻防技术》 免杀技术

孤者浪人 提交于 2020-03-06 06:08:45
20169205 2016-2017-2 《网络攻防技术》 免杀技术 一、基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 恶意代码常常具有明显的特征码也就是一段数据,杀软检测到具有该特征码的程序就当作检测到了恶意代码。 启发式恶意软件检测 基于行为的恶意软件检测 如果一个程序的行为是带有恶意的行为,那么这个程序也会被认为是恶意代码。 (2)免杀是做什么? 使用一些方法使得恶意程序不被杀软和防火墙发现,避免被查杀。 (3)免杀的基本方法有哪些? 改变特征码 对恶意代码进行加壳、用其他语言或编译器进行再编译,利用shellcode进行编码 改变攻击行为 基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码 实践总结与体会 此次实验使我深入了解了杀毒软件查杀的原理,以及恶意代码的伪装手段。发现即使安装了杀毒软件以及防火墙,还是不能完全的保证电脑是安全的。因此,了解相关恶意程序的原理和伪装手段对提高网络安全意识和增强病毒防护能力由很大的帮助。 离实战还缺些什么技术或步骤? 实际环境中,我们很难将后门程序移植进靶机中,这就需要把这个后门程序伪装后绑定到一些正规的程序中来让后门程序进入靶机。另外我们需要对靶机的状态进行跟踪。 实践过程记录 1.使用msf编码器直接生成一个后门程序 msfvenom -p windows/meterpreter/reverse_tcp

[ffmpeg] 抽取音视频数据

南笙酒味 提交于 2020-02-22 13:28:29
参考自: [ FFmpeg抽取视频h264数据] https://www.jianshu.com/p/11cdf48ec248 [ FFmpeg抽取音频数据​] https://www.jianshu.com/p/5337260efd97 [ ADTS详解] https://www.jianshu.com/p/af0165f923e9 音频流 代码实现: 1 #include "stdafx.h" 2 ​ 3 #define DDug av_log(NULL, AV_LOG_WARNING, "in loop!\n"); 4 ​ 5 void cal_adts_header(uint8_t *header, int dataLen) { 6 // aac级别,0: AAC Main 1:AAC LC (Low Complexity) 2:AAC SSR (Scalable Sample Rate) 3:AAC LTP (Long Term Prediction) 7 int aac_type = 1; 8 // 采样率下标,下标7表示采样率为22050 9 int sampling_frequency_index = 4; 10 // 声道数 11 int channel_config = 2; 12 ​ 13 // ADTS帧长度,包括ADTS长度和AAC声音数据长度的和。 14

Profile学习不存在的页面

眉间皱痕 提交于 2020-02-05 08:55:40
Gateway学习URL是基于服务端的响应生成。大多数web应用在访问一个不存在的页面时返回404 Not Found响应码,有一些是返回200 OK,服务端返回索引或者一个错误页面。如果响应码200被接收,页面将会被学习,当响应404时,一个坏的链接/引用可能被学习。 1.第一个任务是验证HTTP服务如何响应不存在的页面。 如果响应码是200,那么最好的选择是修改HTTP服务相应的配置。 2.如果这个改变无法实现,为了避免学习,你可以创建一个通过特定的错误页面触发的策略,以阻止学习。 在Setup -> Signatures,创建一个自定义的字典,包含一个自定义的只匹配返回的特定页面 特征码。通常查下列信息: 只存在于错误/索引页面的已知文本; 验证只出现在homed页面的 v1 meta标签; 让web管理员添加一个自定义的meta标签; 在Police -> Security创建一个访问自定义字典的web应用特征码策略,将它应用到服务器组。 小结 最好是基于响应头或者响应代码使用匹配规则; 仅当任何其它事项失败时基于响应数据使用特征码。确保设置的告警的严重程度是“没有告警”以避免过度的告警。 注:以上翻译、整理于Imperva官方知识库,更多详情请移步官网。 来源: CSDN 作者: azhe_1202 链接: https://blog.csdn.net/azhe_1202

Ring0和Ring3 HOOK 大检查

时间秒杀一切 提交于 2020-01-07 09:03:59
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、HOOK SERVICE TABLE:HOOK SSDT 这种方法对于拦截 NATIVE API 来说用的比较多。 SSDT hook,一句话——Windows把需要调用的内核API地址全都存在了 一个表中(System Service Dispatch Table),要想hook一个内核API,比较简单的办法就是把 该内核API在表(SSDT)中保存的地址修改为自己撰写的函数地址。 2、HOOK INT 2E 方法:IDT HOOK IDT是中断描述表,可以替换其中的中断处理程序。 这种方法对于跟踪、分析系统调用来说用的比较多。原理是通过替换 IDT 表中的 INT 2E 中断,使之指向我们自己的中断服务处理例程来实现的。掌握 此方法需要你对保护模式有一定的基础。 3、 HOOK PE 方法:EAT HOOK 这种方法对于拦截、分析其他内核驱动的函数调用来说用的比较多。原理 是根据替换 PE 格式导出表中的相应函数来实现的。 EAT是可执行文件的导出表,记录DLL中可供其他程序使用的函数,可执行文件装载时会使用相应DLL的EAT表来初始化IAT表,通过替换EAT表中的函数地址,就可以使依赖于本DLL的程序得到一个假的地址。 4.IAT HOOK (ring3 用) IAT是可执行文件的导入表