当前位置: 首页 > news >正文

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

在前面的一些文章中,用了很多的章节介绍流量分析和捕获工具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中,方便分析师的分析,请关注专栏安全运营之网络攻击研判分析。

相关文章:

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

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

http 401 错误

HTTP 401 错误表示未被授权,指客户端通过请求头中的身份验证数据进行身份验证,服务器返回401状态码表示身份验证失败。HTTP 401 错误通常与身份验证和授权相关的 Web 请求有关。 一、HTTP 401错误的定义 HTTP 401 错误是 HTTP 状态码的一种。由于服务器…...

Docker-Compose部署Redis(v7.2)哨兵模式

文章目录 一、前提准备1. 主从集群2. 文件夹结构 二、配置文件1. redis server配置文件2. redis sentinel配置文件3. docker compose文件 三、运行四、测试 环境 docker desktop for windows 4.23.0redis 7.2 一、前提准备 1. 主从集群 首先需要有一个redis主从集群&#x…...

解决问题:PPT中插入视频编辑模式可以播放,幻灯片放映后播放不了

目录 一、原因分析二、解决办法三、其它问题 一、原因分析 这可能是由于PowerPoint的硬件图形加速功能导致的。 二、解决办法 禁用硬件图形加速。 (1)点击《文件》选项卡 (2)点击《选项》 (3)在《高级》…...

使用react+vite开发项目时候,部署上线后刷新页面无法访问解决办法

说一下我这边的环境和使用的路由模式:vitereactBrowserRouter路由模式,所以如果你和我一样的话,可以试试我的这种解决办法,我是将项目打包后直接丢到服务器上的目录里面,然后配置nginx直接访问根目录。 我的nginx配置…...

45. 跳跃游戏 II(Java)

题目描述&#xff1a; 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到…...

[足式机器人]Part4 南科大高等机器人控制课 CH12 Robotic Motion Control

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;CLEAR_LAB 笔者带更新-运动学 课程主讲教师&#xff1a; Prof. Wei Zhang 课程链接 &#xff1a; https://www.wzhanglab.site/teaching/mee-5114-advanced-control-for-robotics/ 南科大高等机器人控制课 Ch12 Robotic …...

【C++】知识点汇总(上)

C知识点复习上 一、C 概述1. 基本数据类型2. 变量定义和访问3. 常量与约束访问 二、程序控制结构详解与示例1. 表达式2. 选择控制2.1 if 语句2.2 switch 语句 3. 循环控制3.1 for 循环3.2 while 循环3.3 do-while 循环 4. goto 语句5. 控制语句的嵌套 三、函数1. 函数的定义和调…...

解决docker容器内无法连接宿主redis

背景 小程序的发短信服务挂了&#xff0c;随查看日志&#xff0c;该报错日志如下 Error 111 connecting to 127.0.0.1:6379. Connection refused. 6379是监听redis服务的端口&#xff0c;那大概是redis出错了。 首先查看了redis是否正常启动&#xff0c;检查出服务正常。 由于小…...

43 tmpfs/devtmpfs 文件系统

前言 在 linux 中常见的文件系统 有很多, 如下 基于磁盘的文件系统, ext2, ext3, ext4, xfs, btrfs, jfs, ntfs 内存文件系统, procfs, sysfs, tmpfs, squashfs, debugfs 闪存文件系统, ubifs, jffs2, yaffs 文件系统这一套体系在 linux 有一层 vfs 抽象, 用户程序不用…...

C语言编译器(C语言编程软件)完全攻略(第十二部分:VS2010下载地址和安装教程(图解))

介绍常用C语言编译器的安装、配置和使用。 十二、VS2010下载地址和安装教程&#xff08;图解&#xff09; 为了更好地支持 Win7 程序的开发&#xff0c;微软于2010年4月12日发布了 VS2010&#xff0c;它的界面被重新设计&#xff0c;变得更加简洁。需要注意的是&#xff0c;V…...

【VRTK】【VR开发】【Unity】18-VRTK与Unity UI控制的融合使用

课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【背景】 VRTK和Unity自身的UI控制包可以配合使用发挥效果。本篇就讨论这方面的实战内容。 之前可以互动的立体UI并不是传统的2D UI对象,在实际使用中…...

BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【3】

这是本系列文章中的第3弹,请确保你已经读过并了解之前文章所讲的内容,因为对于已经解释过的概念或API,本文不会再赘述。 本文要利用BERT实现一个“垃圾邮件分类”的任务,这也是NLP中一个很常见的任务:Text Classification。我们的实验环境仍然是Python3+Tensorflow/Keras…...

静态网页设计——校园官网(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 使用技术&#xff1a;HTMLCSSJS 主要内容&#xff1a;对学校官网的结构进行模仿&#xff0c;对布局进行模仿。 主要内容 1、首页 首页以多个div对页面进行分割和布局…...

phpstudy_pro 关于多版本php的问题

我在phpstudy中安装了多个PHP版本 我希望不同的网站可以对应不同的PHP版本&#xff0c;则在nginx配置文件中需要知道不同的PHP版本的监听端口是多少&#xff0c;如下图所示 然而找遍了php.ini配置&#xff0c;并未对listen进行设置&#xff0c;好奇是怎么实现不同的PHP监听不同…...

TemporalKit的纯手动安装

最近在用本地SD安装temporalkit插件 本地安装插件最常见的问题就是&#xff0c;GitCommandError:… 原因就是&#xff0c;没有科学上网&#xff0c;而且即使搭了ladder&#xff0c;在SD的“从网址上安装”或是“插件安装”都不行&#xff0c;都不行&#xff01;&#xff01;&am…...

人生重开模拟器

前言&#xff1a; 人生重开模拟器是前段时间非常火的一个小游戏&#xff0c;接下来我们将一起学习使用c语言写一个简易版的人生重开模拟器。 网页版游戏&#xff1a; 人生重开模拟器 (ytecn.com) 1.实现一个简化版的人生重开模拟器 &#xff08;1&#xff09; 游戏开始的时…...

优化算法3D可视化

编程实现优化算法&#xff0c;并3D可视化 1. 函数3D可视化 分别画出 和 的3D图 import numpy as np from matplotlib import pyplot as plt import torch# 画出x**2 class Op(object):def __init__(self):passdef __call__(self, inputs):return self.forward(inputs)def for…...

魔术表演Scratch-第14届蓝桥杯Scratch省赛真题第1题

1.魔术表演&#xff08;20分&#xff09; 评判标准&#xff1a; 4分&#xff1a;满足"具体要求"中的1&#xff09;&#xff1b; 8分&#xff1a;满足"具体要求"中的2&#xff09;&#xff1b; 8分&#xff0c;满足"具体要求"中的3&#xff09…...

LLM 中的长文本问题

近期,随着大模型技术的发展,长文本问题逐渐成为热门且关键的问题,不妨简单梳理一下近期出现的典型的长文本模型: 10 月上旬,Moonshot AI 的 Kimi Chat 问世,这是首个支持 20 万汉字输入的智能助手产品; 10 月下旬,百川智能发布 Baichuan2-192K 长窗口大模型,相当于一次…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...