ctf比赛中,流量包的取证分析是另一项重要的考察方向,它涉及到对网络通信数据包的捕获,解析和分析。流量分析(trafficanalysis)是指通过对网络通信数据包的捕获和分析来获取有关通信双方的信息,包括但不限于数据传输的内容,通信的时间和频率等。在网络安全领域,流量分析通常用于检测异常活动,发现潜在的攻击行为以及分析网络通信模式。
通常比赛中会提供一个包含流量数据的pcap文件,有时候也会需要选手们先进行修复或重构传输文件后,再进行分析。
ctf中的流量分析题型通常有以下三个方向:1.流量包修复 2.协议分析 3.数据提取
流量分析步骤
数据捕获使用流量捕获工具(常用的捕获工具包括 wireshark, tcpdump, scapy等。)在网络接口上捕获数据包,生成捕获文件(如.pcap文件)。数据分析解析数据包:使用工具解析捕获的数据包,了解每个数据包的详细信息,如源p地址,目标ip地址,tcp/udp端口号,数据负载等。识别协议:确定通信双方使用的协议类型(如http,https,ftp,smtp等)。发现漏洞:查找数据包中的敏感信息(如密码,api密钥)或异常行为(如频繁请求,非标准端口通信)。
流量分析考察方向
密码泄露:提供一段包含用户名和密码的明文通信记录。协议分析:提供一段加密的http通信记录。异常检测:提供一段包含异常行为的网络流量记录。漏洞利用:提供一段包含漏洞利用过程的流量记录。密码学应用:提供一段使用特定加密算法保护的通信记录。流量伪装:提供一段经过伪装的网络流量记录。
数据包分析
数据包分析也叫数据包嗅探或协议分析,指捕获和解析网络上在线传输数据的过程,为了能更好地了解网络上正在发生的事情。
软件tcpdump(命令行)omnipeek(gui)wireshark(gui)
流量分类:广播流量,多播流量,单播流量
监听网络线路方式:混杂模式,集线器嗅探,交换机嗅探
流量分类-广播
源 IP:10.223.13.92
目的 IP:10.223.13.254(网关)
流量分类-单播
源 IP:10.223.51.120
目的 IP:10.223.20.120
协议与数据封装
协议栈中的每层协议都负责在传输数据上增加一个协议头部或尾部,其中包含了使协议栈之间能够进行通信的额外信息。数据封装过程将创建一个协议数据单元pdu, 其中包括正在发送的网络数据,以及所有增加的头部和尾部协议信息。数据包指的就是一个完整的 PDU.
协议与数据封装-网络分层
下图是客户端10.32.106.159往服务器10.32.106.62上写文件时抓的网络包。
协议与数据封装-物理层
协议与数据封装-链路层-MAC
协议与数据封装-网络层-IP
协议与数据封装-传输层-TCP/UDP
协议与数据封装-传输层-TCP 三次握手
协议与数据封装-传输层-TCP 四次握手
协议与数据封装-传输层-TCP 窗口
MSS 即每个 TCP 包所能携带的最大数据量。
协议与数据封装-应用层-HTTP
抓包技巧 1:只抓包头
抓包技巧 1:只抓必要包
用 tcpdump 命令抓包时,也可以用"host"参数达到相同效果。比如以下命令只抓与106.119.207.18通信的包,并把结果存到/tmp/tcpdump.cap 文件中。
root@server 1/# tepdump -i eth0 host 106.119.207.18 -w /tmp/tcpdump.cap
过滤器
ip.src eq 192.168.1.107 # 指定源IP ip.dst eq 192.168.1.107 # 指定目的IP
过滤端口
tcp.port eq 80 不管端口是源还是目标的都显示 tcp.port == 80 tcp.port eq 443 tcp.port eq 80 or udp.port eq 80 tcp.dstport == 80 只显tcp协议的目标端口80 tcp.srcport == 80 只显tcp协议的源端口80 tcp.port >= 1 and tcp.port <= 80 过滤端口范围
过滤协议
tcp,udp,arp,icmp,http,smtp,ftp,dns,msnms,ip,ssl,oicq,bootp !arp 或者 not arp //排除arp包
过滤 MAC
以太网头过滤 eth.dst == a0:00:00:04:c5:84//过滤目标mac eth.src eq a0:00:04:c5:84//过滤源mac eth.dst == a0:00:00:04:c5:84 eth.dst == a0-00-00-04-c5-84 eth.addr eq a0:00:00:04:c5:84 //过滤源mac和目标mac都 等于a0:00:00:04:c5:84的
过滤包长度
包长度过滤 udp.length == 26 tcp.len >= 7 ip.len == 94 frame.len == 119
过滤 http 模式
http.requestmethod == "get" http.request.method == "post" http.request.uri == "/img/xxxxx.gif" http contains"get" http contains"http/1." //get包 http.request.method == "get" && http contains "host:" http.request.method == "get" && http contains "user-agent:" //post包 http.request.method == "post" && http contains "host:" http.request.method == "post" && http contains "user-agent:" //响应包 http contains "http/1.1 200 ok" && http contains "content-type:" http contains "http/1.0 200 ok" && http contains "content-type:"
流量分析统计
单击wireshark的 analyzg->expertion , 就可以在不同标签下看到不同级别的提示信息。比如重传的统计,连接的建立和重置统计。
搜索功能
与很多软件一样,wireshark也可以通过"ctrl + f"搜索关键字。按下"ctrl + f"之后选中"swing"单选按钮,然后在 filter 中输入"xx"xx"xx"进行搜索。很多应用层的错误都可以靠这个方法锁定问题包。
网络端点
自动统计
网络会话
自动统计
协议分级
数据包长度
追踪 TCP 流
恶意网络流量是指在网络通信过程中包含恶意目的的数据流量,通常用于网络攻击,木马传输,数据窃取等非法活动。对于网络安全的维护和保护来说,准确分析和检测恶意网络流量具有重要意义。
流量行为分析方法总论
基于签名的检测方法:通过事先定义好的攻击特征,从网络流量中识别出已知的攻击行为。优点:可以准确地检测到已知的攻击行为,缺点:无法检测出未知的或变种的攻击行为。基于行为的检测方法:通过分析网络流量的行为模式来判断是否存在异常行为。优点:可以检测到新型的攻击,缺点是在检测过程中可能会有较高的误报率。机器学习方法:通过对已知的恶意样本进行训练对网络流量进行分类和识别。优点:可以适应不断变化的网络攻击行为,缺点:需要大量的样本数据进行训练,并且对于新型的攻击行为可能无法准确识别。
恶意流量类别
流量加解密
针对加密流量,目前主流的攻击分析手段包括解密后分析和不解密分析。从总体来看,加密流量可以分为加密正常流量和加密异常流量,在绝大多数情况下,加密异常流量又可分为良性的加密异常流量和恶意的加密流量。在加密流量的分类中,加密恶意流量是最难也是最具危险性的流量,其中隐藏了许多已知或未知的威胁。通过对流量的细化区分,能够有针对性地采取控制措施,有效地识别、分析、阻断加密恶意流量,来提升系统的网络安全防护能力。
分三种:恶意软件使用加密通信、加密通道侧的恶意攻击行为和恶意或非法加密应用。
内容特征包括恶意流量协议段中特有的值以及负载中含有的特殊字符序列。网络连接行为特征是通过对采集的数据进行统计分析得到的,可统称为统计特征。数据流特征可以从网络层、传输层和应用层的切片中提取,提取过程通常是先计算流量统计值,再从这些统计值中提取恶意流量特征。
证书特征
证书在网络中广泛应用,是进行信息交互的第一道门槛,是保障网络安全的重要手段之一。
数据包特征
在流量中,数据包属于较小单位,通过对加密流量中的数据包特征进行提取,能够实现对加密流量中载荷内容的分类和识别。
协议特征
为保障网络安全,搭建了很多互联网加密协议,如传输层安全协议 TLS , 安全外壳协议ssh和安全电子交易协议set等。
UDP 协议
UDP 流量追踪方法
流量模式分析1.分析udp流量的模式,包括数据包大小,间隔时间,源和目标地址。2.通过机器学习或统计方法识别异常流量模式,指示潜在的恶意活动。3.例如,持续的小数据包流量可能表明僵尸网络活动,而突发的较大数据包流量可能表明拒绝服务攻击。
蜜罐部署1.部署蜜罐(诱饵网络),模拟真实系统或服务,诱骗攻击者进行交互。2.收集攻击者发起的udp流量,分析其源头,攻击手法和目标信息。3.蜜罐数据为溯源分析提供宝贵线索,有助于识别攻击者使用的工具和技术。
地理位置定位1.分析udp流量中的源和目标ip地址,使用地理ip数据库确定攻击者的地理位置。2.结合其他信息,如网络拓扑和时间戳,进一步缩小攻击者的位置范围。
数据包内容检查
1.检查udp数据包的内容,包括协议报头,应用数据和负载。2.通过数据包过滤和正则表达式匹配,识别恶意特征,如恶意软件命令与控制(C2) 通信或攻击载荷。3.利用入侵检测系统(IDS) 或安全信息与事件管理(SIEM) 系统自动检测和预警恶意活动。
端口扫描溯源
利用端口扫描工具枚举目标网络中开放的端口,获取网络拓扑信息。通过端口状态指纹识别特定网络设备或服务,缩小目标范围。结合其他信息,如网络流量模式和时间戳,进一步确认溯源目标。
UDP 恶意流量特征分析
异常流量模式1.大量异常udp端口扫描2.短时间内发送大量udp数据包3.从单个源ip地址或端口连续发送大量udp数据包
内容异常1.数据包中包含异常字符或特殊符号2.udp数据包包含加密或经过混淆的内容3.udp数据包中检测到已知漏洞利用代码或恶意软件签名
高流量速率1.udp流量速率异常高2.短时间内udp数据包数量激增3.udp流量速率持续较高
原文始发于微信公众号(安全君呀):CTF-威胁检测与网络流量分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论