网络安全应急响应工具之-流量安全取证NetworkMiner

news2024/11/24 17:04:21

在前面的一些文章中,用了很多的章节介绍流量分析和捕获工具wireshark。Wireshark是一款通用的网络协议分析工具,非常强大,关于wireshark的更多介绍,请关注专栏,wireshark从入门到精通。本文将介绍一个专注于网络流量取证的工具NetworkMiner,其视角和wireshark是不同的。

NetworkMiner 简介

NetworkMiner是一款C#编写的开源网络流量取证工具,官方网站,这里,源码这里,包含免费和付费两个版本。其主要目标是在从网络安全应急响应的视角从网络流量中提取有价值的信息,对相关的artifact的提取,包括文件提取,图片提取、主机识别,凭据提取,参数提取等,主要体现出攻防过程中重要的网络元素,目前多用于应急运营和响应人员的流量分析。免费版NetworkMiner主要包含如下的功能:
在这里插入图片描述
图1
付费版的NetworkMiner多出了如下功能:
在这里插入图片描述
图2
付费版的功能主要是向威胁情报领域更多信息的关联,同时提供更为精准的识别能力以及批量化处理能力。

NetworkMiner VS Wireshark

关于这两款工具最主要的区别如下:
1,NetworkMiner注重从网络流量中提取关键信息和文件,而Wireshark更注重于详细的协议分析。
NetworkMiner主要用取证,提取流量数据包中的关键信息,通常称之为artifact,例如主机识别、文件提取,图片提取,参数提取,凭据提取等。Wireshark用来捕获和分析网络流量的每个数据包,提供详细的协议信息、源/目标地址、端口等,支持网络协议众多,提供了强大的过滤功能。关于wireshark的更多介绍,请关注专栏,wireshark从入门到精通。
2,NetworkMiner主要用于调查取证,Wireshark适用于各种网络分析和故障排除场景。
NetworkMiner的主要用途是帮助网络安全运营人员,安全应急响应人员,安全取证人员进行网络取证,通过分析网络流量来发现潜在的威胁、检测恶意文件等。而Wireshark通常用于网络协议分析、网络故障排除、网络安全审计等方面。它是一种通用的网络分析工具,适用于多种场景。

NetworkMiner使用举例

下面将对NetworkMiner的主要功能通过具体的数据包做一下介绍。

协议分析

NetworkMiner出发点是网络取证,因此针对的协议多是网络攻防过程中高频出现的协议,如下是其支持的协议种类:

DHCP,DNS,FTP,HTTP,IRC,IEC 60870-5-104,IMAP,Kerberos v5,Modbus TCP,NetBios Name Service,NetBios Datagram Service,NetBios Session Service,OpenFlow,Oscar,Oscar File Transfer,POP3,RTP,SMB,SMB2,SMTP,SNMP,Socks,SSH,SSL,Syslog,Tabular Data Stream,TFTP,TPKT,UPnP,SIP,Spotify Server Protocol,VXLAN

NetworkMiner虽然没有wireshark支持丰富,但是上述这些协议都是在传统的IT环境中和网络攻击密切相关的协议,因此在安全领域非常的重要,对于网络安全研究人员,网络安全运营人员,网络安全应急响应人员想要详细了解上述协议,请关注我的专栏《网络攻防协议实战分析
》,见这里。

文件内容提取

NetworkMiner最重要的功能是提取流量中的artifact,其中文件是最为重要的artifact。目前NetworkMiner支持从如下的协议中提取文件:

FTP, TFTP, HTTP, HTTP/2, SMB, SMB2, SMTP, POP3, IMAP ,LPR 

而wirehark目前只支持HTTP,TFTP,SMB,FTP等的文件提取,当然wireshark支持扩展的lua插件提取文件,需要自己编写程序实现,详见这里。
除此之外NetworkMiner还支持从加密的协议中提取证书文件,支持的协议如下:

 HTTPS, SMTPS, IMAPS, POP3S, FTPS 

整体来说提供的文件提取协议种类比wireshark丰富,同时侧重于攻击常见的文件传输行为,如图3所示:
在这里插入图片描述
图3
图3是一次实时捕获数据包的示例,可以看到提取的文件类型包括图片png和JPG,文本json文件、证书文件等,涉及http和TLS两种协议。

主机信息识别

NetworkMiner从主机的视角出发,针对主机层面的各种信息进行了聚合,例如主机的操作系统,主机名称,主机的服务器banner,ja3等信息,讲这些信息作为网络安全调查分析过程中重要的artifacts,NetworkMiner都将其聚合在主机目录之下,这有助于用户跟踪和分析网络活动,如下图4:
在这里插入图片描述
图4
图4识别出主机是一个android系统,并能根据DHCP的供应商够定位出手机的品牌,这些信息在取证的时候是存在一定价值的,wireshark是默认诶呦这方面能力的。
在这里插入图片描述

图5
图5 识别出主机是一个Windows系统,并提供了网卡品牌,主机名称,浏览器UA的名称,JA3等诸多信息。如果主机是一个linux主机,则还有能提供Linux上服务器的banner信息的。

那么networkminer是如何识别主机的操作系统信息,网卡信息,以及判定ja3等信息是否存在问题的,在NetworkMiner的安装目录的Fingerprints目录中存在tcp.xmld,dhcp.xml,etter.finger.os以及p0f相关的文件,查看这些文件发现都是操作系统指纹信息映射表,因此其基本原理也是根据TCP,SMB,DHCP流量中的指纹信息进行比对。
网卡名称的映射关系主要在oui.txt,根据MAC地址的前24位能够识别出对应的厂商。
NetworkMiner集成了abuse.ch中的ja3和ja3s的指纹信息来判断TLS链接是否是已知的威胁,详见ja3_fingerprints.csv,sslblacklist.csv等文件。值得注意的是,要想跟踪最新的威胁,需要到abuse的官网去更新最新的ja3s等内容。同时付费版本也提供了跟多扩展情报的能力,关于有哪些威胁情报可以使用,将会在专栏进行介绍《安全运营之网络攻击研判分析》,这里。

由于上述的配置文件都是明文进行存储,因此给用户一定的灵活度,可以添加用户自定义的指纹信息,来满足调查取证过程中的需求。

用户凭据识别

用户的凭据包括常见的用户名和密码,例如HTTP协议,FTP协议,POP3,SMTP协议都会传输用户名和密码,用户名是一项非常重要的信息,因为通过用户名可以知道是哪个用户的流量。想要知道哪些协议会在流量中传输用户明和密码,详见弱密码分析,这里。但是有的协议只传输用户名,例如SMB,RDP,MySQL,PGSQL,详见爆破流量分析,详见这里。关于用户凭据的提取示例如下图6,7,8:
在这里插入图片描述
图6
图6中提取了FTP协议的用户名和密码,HTTP协议的auth字段以及cookie字段,由于密码是敏感信息,因此我这里隐藏了密码。
在这里插入图片描述
图7
图7中提取了POP3,RDP,SQL的用户名等信息。
在这里插入图片描述
图8
图8提取了IMAP,IRC,kerberos的用户名信息。
在实际的应急响应和取证过程中,用户名能够提供非常有用的线索。

关键字搜索

NetworkMiner是基于取证场景出发的,因此提供强大的关键字搜索功能,这点比wireshark做的要好,用户可以通过自定义自己的关键字,来将匹配的数据包显示出来,如下图9:
在这里插入图片描述
图9
图9可以看出通过导入admin,anonymous等关键字的字典能够将匹配的数据包序号和payload进行显示,有利于快速的分析。

参数分析

从DFIR的角度来看,比较关注网络数据中的aritfacts,NetworkMiner认为,网络中各种参数的参数信息也是一种artifact,因此对这些元素进行了单独的提取,方便分析之用,如下图10,11:
在这里插入图片描述
图10
在这里插入图片描述
图11
可以看到图10中在参数分析栏中通过搜索server 关键字,可以快速的获取所有通信的服务器的server类型,图11通过搜索native os,可以知道通信的操作系统类型,这些功能在分期取证的过程中中非常的实用。当然,如果你想要了解为何能够在网络中提取到这些数据,详见专栏《网络攻防协议实战分析》,那里会有更为详尽的介绍。

DNS分析功能

从取证角度看DNS的展示应该如下图所示:
在这里插入图片描述
图12
可以看到该工具将DNS所有的记录按行显示,非常利于分析,同时通过关键字的功能还很容易过滤需要的域名。除此之外该工具对alex top 100万的域名进行了碰撞,用来辅助分析师的判断。只是该功能是付费功能,付费的功能还包括和DNS等危险情报碰撞,见上图2。由于该工具开源,也可以通过修改源码,导入alex前100万域名以及威胁情报判断即可。当然域名的分析属于威胁情报的范畴,仅仅判断其rank还是不够的,关于域名等IOC更多分析,详见这里。

在线和离线分析

工具支持实时监视网络流量,也可以对已捕获的PCAP文件进行离线分析。不仅如此该工具还支持从命名管道中读取数据,为用户提供更灵活的使用方式,这点不在赘述。

总结

总结该工具,该工具的主要特点是从安全分析取证视角出发,将网络流量中各种利于分析的artifacts提取单独显示,并关联相关的情报数据,帮助调查人员分析网络通信,发现潜在的威胁、异常通信、检测恶意文件,为取证调查提供有力支持,非常的有价值。当然其威胁情报是付费的,后续将会介绍如何将威胁情报的能力集成到wireshark中,方便分析师的分析,请关注专栏安全运营之网络攻击研判分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1343446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu 安装MySQL以及基本使用

前言 MySQL是一个开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)堆栈的一部分安装。它使用关系数据库和SQL(结构化查询语言)来管理其数据。 安装…

Kafka:本地设置

这是设置 Kafka 将数据从 Elasticsearch 发布到 Kafka 主题的三部分系列的第一部分;该主题将被 Neo4j 使用。第一部分帮助您在本地设置 Kafka。第二部分将讨论如何设置Elasticsearch将数据发布到Kafka主题。最后 将详细介绍如何使用连接器订阅主题并使用数据。 Kafka Kafka 是…

3.云原生之kubesphere运维

文章目录 k8s节点状态介绍配置宿主机使用k8s内部域名使用KubeKey 升级kubesphere使用KubeKey添加节点使用KubeKey下架节点使用k8s命令添加新节点k8s集群备份与恢复环境准备备份与还原在集群A和B中安装Velero集群A备份操作集群B还原备份操作 注意:所有节点运维操作前…

TON 入门之旅:从 0 到 1 探索 TON 生态钱包开发路径

TON 区块链被设计为分布式超级计算机或“超级服务器(superserver)”,旨在提供各种产品和服务,以促进去中心化的发展。顺利从 TON 生态入门区块链开发世界需要理解哪些智能合约语言,掌握哪些应用搭建技巧?第…

Apache Flink连载(二十):Flink On Yarn运行 - Yarn Per-Job模式(弃用)

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. 任务提交命令 2. 任务…

DM、Oracle、GaussDB、Kingbase8(人大金仓数据库)和HIVE给列增加注释

DM数据库给列增加注释 1、创建表 CREATE TABLE test222 ( id int NOT NULL PRIMARY KEY, name varchar(1000) DEFAULT NULL, email varchar(1000) DEFAULT NULL, phone varchar(1000) DEFAULT NULL ) 2、给列添加注释 comment on column TEST222.NAME is 这是一个列注释; 例如…

WPF+Halcon 培训项目实战(7):目标匹配助手

前言 为了更好地去学习WPFHalcon,我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只做笔记分享,想要源码或者教学视频可以和他联系一下。 相关链接 微软系列技术教程 WPF 年度公益课程 Halcon开发 CSD…

HarmonyOS4.0系统性深入开发08服务卡片架构

服务卡片概述 服务卡片(以下简称“卡片”)是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达、减少体验层级的目的。卡片常用于嵌入到其他应用(当前卡片使用方只支持系统应用,如桌…

封装uniapp签字板

新开发的业务涉及到签字功能,由于是动态的表单,无法确定它会出现在哪里,不得已封装模块。 其中涉及到一个难点就是this的指向性问题, 第二个是微信小程序写法, 我这个写法里用了u-view的写法,可以自己修改组…

java中如何使用elasticsearch—RestClient操作文档(CRUD)

目录 一、案例分析 二、Java代码中操作文档 2.1 初始化JavaRestClient 2.2 添加数据到索引库 2.3 根据id查询数据 2.4 根据id修改数据 2.4 删除操作 三、java代码对文档进行操作的基本步骤 一、案例分析 去数据库查询酒店数据,导入到hotel索引库&#xff0…

最新Jasmine博客模板:简洁美观的自适应Typecho主题

Jasmine是一个专为博客类网站设计的Typecho主题。它以简洁为基础,力求展现出精致而美观的风格。主题采用了响应式设计,即使在移动设备上也能提供良好的使用体验。此外,主题还进行了针对性的优化,包括SEO、夜间模式和代码高亮等方面…

楼宇对讲门铃选型分析

目前很多的高层住宅都使用了对讲门铃了,在频繁使用中,门铃会出现的越来越多种类,下面我就简单的介绍会有用到的几款芯片. 语音通话芯片:D34018,D34118,D5020,D31101; D34018 单片电话机通话电路,合并了必 需的放大器…

【23.12.29期--Redis缓存篇】谈一谈Redis的集群模式

谈一谈Redis的集群模式 ✔️ 谈一谈Redis的集群模式✔️主从模式✔️ 特点✔️Redis主从模式Demo ✔️哨兵模式✔️Redis哨兵模式Demo✔️特点 ✔️Cluster模式✔️Redis Cluster模式Demo✔️特点 ✔️ 谈一谈Redis的集群模式 Redis有三种主要的集群模式,用于在分布…

Unity Meta Quest 一体机开发(十二):【手势追踪】Poke 交互 - 用手指点击由 3D 物体制作的 UI 按钮

文章目录 📕教程说明📕给玩家配置 HandPokeInteractor📕用 3D 物体制作可以被点击的 UI 按钮⭐搭建物体层级⭐给物体添加脚本⭐为脚本变量赋值 📕模仿官方样例按钮的样式📕在按钮上添加文字📕修改按钮图片 …

面试题:说一下Spring 中的 @Cacheable 缓存注解?

文章目录 1 什么是缓存2 本地缓存和集中式缓存3 本地缓存的优点4 Spring对于缓存的支持4.1 spring支持的CacheManager4.2 GuavaCache4.3 引入依赖4.4 创建配置类4.5 缓存注解4.6 Cacheable的用法 5 Cacheable失效的原因 1 什么是缓存 第一个问题,首先要搞明白什么是…

6130 树的最长路

思路:树的最长路问题可以通过两次 DFS 求解,具体思路如下: 1.第一次 DFS 求树的直径 以任意一个点为起点进行深度优先遍历(DFS),找到与该点距离最远的点 u 。 以 u 为起点进行 DFS ,找到与 u 距…

MySQL 执行过程

MySQL 的执行流程也确实是一个复杂的过程,它涉及多个组件的协同工作,故而在面试或者工作的过程中很容易陷入迷惑和误区。 MySQL 执行过程 本篇将以 MySQL 常见的 InnoDB 存储引擎为例,为大家详细介绍 SQL 语句的执行流程。从连接器开始&…

uniapp门店收银,点击右边商品,商品会进入左边的购物车,并且,当扫码枪扫描商品条形码,商品也会累计进入购物车

效果&#xff1a; 代码&#xff1a; <template><view class"container"><view class"top" style"height: 10%; margin-bottom: 20rpx; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);"><view class"box" style&q…

QML 怎么调用 C++ 中的内容?

以下内容为本人的学习笔记&#xff0c;如需要转载&#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/z_JlmNe6cYldNf11Oad_JQ 先说明一下测试环境 编译器&#xff1a;vs2017x64 开发环境&#xff1a;Qt5.12 这里主要是总结一下&#xff0c;怎么在…

【教学类-43-03】20231229 N宫格数独3.0(n=1、2、3、4、6、8、9) (ChatGPT AI对话大师生成 回溯算法)

作品展示&#xff1a; 背景需求&#xff1a; 大4班20号说&#xff1a;我不会做这种&#xff08;九宫格&#xff09;&#xff0c;我做的是小格子的&#xff0c; 他把手工纸翻过来&#xff0c;在反面自己画了矩阵格子。向我展示&#xff1a;“我会做这种&#xff01;” 原来他会…