黑客大追踪
2017-01-04 19:22:31 0 举报
AI智能生成
在网络的黑暗角落,一场无声的战争正在悄然上演。黑客,这个神秘的词汇,代表着高超的技术与无尽的智慧。他们潜伏于虚拟世界,操控着数据与信息,时而为了正义揭露邪恶,时而为了满足私欲肆意破坏。这是一场关于勇气、智慧与道德的较量,每一个黑客都在寻找属于自己的道路。而在这场追踪中,我们将揭开黑客的神秘面纱,深入了解他们的世界。
作者其他创作
大纲/内容
基础篇
1.实用调查策略
1.1真实的案例
医院被道的笔记本电脑
WiFi热点日志--确定被盗时间
WiFi热点日志---确定访问位置停车场
VPN日志和中央日志服务器的操作系统日志---确定是否访问医院IT资源
公司网络传盗版
通过dhcp日志---确定嫌疑人的MAC地址
通过交换机找到端口映射表---确定IP地址所在的物理位置
翻找电脑堆---找出该电脑
被黑的政府服务器
分析可疑软件---确定是rookit恶意软件
本地登录日志被消除,中央系统ssh日志---确定爆破
分析本地局域网内主机登录日志---确定攻击者没有登录其它机器
案件解决步骤
案件可能的影响
问题
技术方案
调查结果
1.2足迹
1.3电子证据
证据:任何可观察且可记录的事件或者是事件的因素,即能用来理解一个已被观察到的事件发生原因和本质的,然后可以被观察到并记录下来的活动或产生活动的人为因素。
实物证据,最佳证据,直接证据,情况证据,传闻证据,经营证据,电子证据,基于网络的电子证据。
1.4关于网络证据相关的挑战
获取:定位指定的证据困难。
内容:存储容量限制带来的不完整。
存储:设备重启后有可能丢失。
隐私:产生个人隐私问题。
扣押物证:网络设备被扣押。
能否被采信:不一定被采纳。
1.5网络取证调查方法(oscar)
获取信息:获取事件本身和环境的信息。
应急事件
到底发生了什么(就目前已知情况)
被发现的日期。时间以及怎么会被发现
涉案的人员
涉案的系统和数据
发现应急事件后又做过哪些操作
内部讨论的概要
应急事件的管理和处理流程
法律问题
能有多少时间调查/恢复/解决问题
目标
环境
经营模式
法律问题
网络拓扑
能够得到的网络证据源
组织结构
应急时间响应管理的流程/规章
通信系统
可以使用的资源
制定方案:证据优先级排序
证据优先级表
一些诀窍
搞清调查的目的和时间要求
列出你所拥有的资源,包括人员,时间和装备
标识出所有可能的证据源
评估每个证据源的价值,以及对它进行获取所付出的代价
列出证据获取的优先级
对最初的获取/分析做出计划
确定定期进行沟通/通报最新情况的方式和时间节点
记住:取证是个反反复复的过程,可能会回头获取
收集证据:规定动作和要诀
文档记录,获取--把数据包等数据保存硬盘,存储/传输--确保证据安全的存储和传输
要诀
一有可能就获取
在密码学上校验
隔离保存原始物证
只分析副本
使用声誉良好和可靠的工具
文档记录!
分析
相关性
时间线
聚焦所关心的事情
做进一步证实
准备好分析额外的证据
Child Topic
报告
忠于事实
2.技术基础
2.1基于网络的证据来源
物理线缆
无线网络接口
交换机
CAM表:存储了各个物理端口与各张网卡MAC地址的对应关系
路由器
路由表:记录了路由器端口与其连接网络的映射关系
dhcp服务器
域名服务器
登录认证服务器
网络入侵检测/防御系统
防火墙
Web代理
应用服务器
中央日志服务器
2.2互联网工作原理
2.3互联网协议组
3证据获取
3.1物理侦听
铜质线缆
光纤
内接式网络分路器
刺穿式搭接器
感应线圈
光纤分光器
无线电频率
hub
交换机
3.2流量抓取软件
libpcap和winpcap
伯克利包过滤语言
三种限定符
type限定符:规定了id名或id序号指的是哪种类型的数据
host
net
port
portrange
dir限定符:规定了流量是从id流进还是流出(或者两者都有)
src
dst
src or dst
src and dst
addr1
addr2
addr3
addr4
proto限定符:规定了所匹配的协议
ether
fddi
tr
wlan
ip
ip6
arp
rarp
decnet
tcp
udp
举例
仅仅获取IP地址为192.168.0.1的计算机除IP地址为10.1.1.1之外的其他所有计算机在138,139和445端口上的所有通信
host 192.168.0.1 and not host 10.1.1.1 and (port 138 or port 139 or port 445)
根据字节的值过滤数据包:检查从常用的第2,3,4层协议的起始位置起偏移的字节数
举例
ip[8]<64 说明:抓取的是所有IP头偏移8字节的那个单字节字段的值小于64的IP包
备注:IP报文第8字节是ttl(包存活时间),这个将会过滤掉局域网里所有的Windows系统流量(其ttl大于64)
ip[9]!=1 说明:ip报文头部第九个字节不等于1的报文
备注:等于1表示是ICMP报文,这样就排除了ICMP报文
icmp[0]=3 and icmp[1]=0 说明:所有ICMP头部偏移0字节的那个单字节字段等于3且偏移1个字节字段等于0的ICMP数据包
备注:只抓取ICMP type为3.code为0“网络不可达”的消息
tcp[0:2]=31337 说明:tcp头部偏移0个字节起的一个多字节字段(2个字节)。该字段表示的tcp源端口
备注:等价于BPF基元:src port 31337
ip[12:4]=0xc0a8001 说明:ip头部偏移12个字节起的四个字节里面存放的数据:源ip地址
备注:等价于src =192.168.1.1
根据bit值过滤
举例
过滤ip头部可选字段被启用的包
ip[0] & 0x0F >0x05
备注:ip头部第0字节标志头部长度,是以word为单位(4字节),只要这个值大于5就有可选字段
备注:5二进制是00001111即0xf
tcpdump
基于libpcap
第2到4层,抓包解码
支持bpf语言
举例
从网卡eth0获取的,除了TCP端口80之外的所有流量
tcpdump -nni eth0 'not (tcp and port 80)'
监听eth0网卡,并把抓到的包写入单个文件中去
tcpdump -i eth0 -w file.pcap
抓取完整的帧存入文件
tcpdump -i eth0 -s 0 -w file.pcap
只抓取来自或发往地址“10.10.10.10”
tcpdump -i eth0 -s 0 -w file.pcap 'host 10.10.10.10'
每个文件不超过100MB
tcpdump -i eth0 -s 0 -C 100 -w file.pcap
tcpdump -i eth0 -s 0 -w file.pcap 'ip[6] & 0x80 != 0'
wireshark
tshark
举例
抓取网卡eth0的非22端口的流量,存放到test.pcap中
tshark -i eth0 -w test.pcap 'not port 22'
dumpcap
3.3主动式获取
常用接口
console接口
SSH
安全复制SCP和SFTP
Telnet
简单网络管理协议(SNMP)
简单文件传输协议(TFTP)
Web及其他专用接口
权限不够
端口扫描
漏洞扫描
策略
尽量避免重启或者关掉设备
ARP表重启就丢失
尽量通过console接口而不是网络连接设备
记录系统时间
根据易灭程度依次收集证据
记录调查过程
数据流分析
4.数据包分析
4.1协议分析
协议分析:检验协议数据结构中的各个字段。
协议分析工具
WireShark
窗口组成:数据包列表,数据包结构,原始数据包
analyze-->enable查看支持的协议
tshark
示例
自动解析网络数据包
tshark -r file.pcap
将解析的内容转为特定格式:pdml,psml,ps,text,fields
tshark -r file.pcap -T pdml
打印制定协议字段的内容使用-e,同时使用-T fields。打印以太网的帧号,IP地址以及UDP数据包信息
tshark -r file.pcap -T fields -e frame.number -e ip.addr -e udp
自定义解码协议-d,用HTTP协议去解析TCP协议29008端口所有的数据
tshark -r file.pcap -d tcp.port==29008, http
显示过滤器和bpf过滤器都适用
tshark -r file.pcap -R 'ip.addr==192.168.1.1'
tshark -r file.pcap 'host 192.168.1.1'
协议分析技巧
协议识别
搜索与协议相关的常见二进制/十六进制/ASCII码值
IPv4包开始通常是0x4500
4代表IPv4
5是代表32位“字”的数量,头部一般包括20个字节所以是5
第一个字节是一组多位的字段,通常合在一起成为“服务类型”字段,现在很少用,因此是00
利用封装协议中的信息
低层协议的字段通常会指出被封装的高层协议以方便正确的数据处理
IP头部是32个字,所以第9个就是标志上一层协议的类型:0x06代表TCP,0x11代表UDP
利用TCP/UDP端口号,大多数时候它们会和默认的标准服务相对应
分析源或目标服务器的功能(通过IP地址或者主机名指定)
利用whois查询目标IP
测试已知协议结构可能的信息
协议解码
导出协议内容
4.2包分析
包分析工具
wireshark/tshark显示过滤器
ngrep
作用:可以根据数据包中的字符串,二进制序列数据或者数据包中任何规律性模式等识别感兴趣的数据包。
特点:面向数据包,不能跨包查找。
举例
查找包中含有字符串string to search for则数据包
ngrep -I file.pcap "string to search for"
十六进制编辑器
包分析技术
模式匹配
示例
查找包内含有recipe,secret和Ann的包
ngrep -I file.pcap 'recipe|secret|Ann'
协议字段分析
示例
提取所有的aim消息
tshark -r evidence-packet-analysis.pcap -d tcp.port==443,aim -T fields -n -e "aim.messageblock.message
包过滤
示例
提取出文件file1中ip1和ip2交互的数据包,并保存在file2.pcap里。
tcpdump -s 0 -r file1.pcap -w file2.pcap 'host ip1 and host ip2'
4.3流分析:对一组关联的数据包序列(“流”)的分析,流分析通常用来识别数据流模式,隔离可疑行为,分析高层协议或提取数据。
流分析工具
wireshark:TCP流跟踪
右击选择follow tcp stream
wireshark及tshark中的会话
tcpflow
pcapcat
tcpxtract:最酷的网络取证工具之一
示例
基本用法
tcpxtract -f file.pcap
从数据包中提取所有可以识别的文件,将这些文件导出到指定目录中
tcpxtract -f file.pcap -o outfile/
流分析技术
列出会话
列出tcp流
导出tcp流
文件及数据挖掘
docx的魔数是ox504b即PK
4.4分析更高层的传输协议
一些常用的高层协议
超文本传输协议 HTTP
动态主机配置协议 DHCP
运行的端口67,68
每个网卡都有注册码识别号:可以被改变,不过极少
交互过程:Client:DHCPDISCOVER->Server:DHCPOFFER->Client:DHCPERQUEST->Server:DHCPACK
简单邮件传输协议 SMTP
角色划分
邮件用户代理 MUA
终端用户的邮件客户端
邮件投递代理 MSA
处理本地邮件的提交
邮件传输代理 MTA
在邮件服务器之间传输邮件
邮件交换主机 MX
接收发给该域名的邮件
邮件递送代理 MDA
本地邮件递送
命令序列
HELO--打开连接
MAIL--指定邮件的返回地址
RCPT--指定邮件的接收者
DATA--邮件消息的内容
域名系统 DNS
高层协议分析工具
oftcat:协议专用解码及数据提取工具
smtpdump
findsmtpinfo
networkminer
高层协议分析技术
小而精的工具
ofcat
解析从ip1到ip2的半双工数据流
oftcat -r ip1-ip2
多用途工具
多用途工具
NetworkMine
4.5案例研究:Ann的约会
使用wireshark统计-->协议层次功能分析协议种类
bootstrap protocol主要用于传输dhcp请求和应答数据
dhcp通信根据mac地址过滤:eth.addr==00:21:70:4d:4f:ae and bootp
获取分配的内网地址
ngrep查找字串:ngrep "Ann Dercover" -N -t -q -I evidence-packet-analysis.pcap
SMTP分析,wireshark 跟踪tcp数据流
获取SMTP和个人密码
使用tcpflow导出tcp流
tcpflow -v -r evidence-packet-analysis.pcap 'port 1689 and port 587'
再使用bless编辑提取附件
提取过程中以crlf为文件结束。编码0xd0x0a
直接进行64进制解码还不可以作者说有换行符,使用fromdos工具(安装tofrodos即可)
5.流统计分析
流统计分析作用:识别出被入侵的计算机(异常流量);确认数据是否泄露;个人剖析
5.1处理过程概述
流记录
关于流的一个信息子集,包括源和目的IP,源和目的端口,协议,日期,时间以及每个流传输的数据大小
流记录处理系统
传感器
收集器
聚集器
分析
5.2传感器
传感器类型
网络设备
思科交换机或防火墙支持导出
独立设备
传感器软件
Argus
softflowed
yaf
传感器位置
位置需要考虑的因素
重复的数据
时间同步
边界与内部通信
资源
容量
修改环境
利用现有的设备
升级网络设备
部署额外的设备
5.3流记录导出协议
NetFlow
IPFIX
sFlow
5.4收集和汇总
收集器的位置和架构
数据拥堵
安全
可靠性
容量
分析策略
数据收集系统
SiLK
flow-tools
nfdump/NfSen
Argus
5.5分析
流记录分析技术
目标和资源
知己知彼
起始标志
源头
被入侵或者恶意系统的IP地址
值得怀疑的恶意活动时间范围,并不知道关联方
可疑的蠕虫活动端口
表明异常或不明原因行为的特定流记录
分析技术
过滤
基线
建立正常网络活动的轮廓,匹配不支持的网络活动
网络基线
随着时间的推移看所监控网段的总体趋势
主机基线
参考该主机历史建立特定主机的基线
脏值
列出可疑关键字或其他列表,也许包括ip地址,端口或协议
活动模式匹配
大批量的单向数据流
标志着特定背景下的特别活动
与某些蠕虫或病毒匹配的行为
构成
元素
IP地址
协议及标志
方向流
传输的数据量
简单模式
多对一的IP地址
情景:多个IP地址发送大量的数据到一个目的地址
针对目的IP的分布式拒绝服务攻击
Syslog服务器
目的地址是“Drop box”数据仓库
邮件服务器
一对多的IP地址
情景:一个IP地址向多个ip地址发送大量的数据
网络端口扫描
邮件服务器
垃圾邮件服务器
Web服务器
多对多的ip地址
情景:多个IP地址分散传输到多个目标IP地址
点对点的文件共享传输
大范围的病毒感染
一对一的ip地址
情景:数据从一个IP地址传输到另一个IP地址
针对特定系统的有目标攻击
常规的服务器通信
复杂模式
“指纹识别”
情景:TCP SYN端口扫描的特征
一个源IP地址
一个或多个目的IP地址
目标端口号会显著的增长
在一段时间内数据包会显著的超出
使用的是TCP协议
发出的数据包的协议标志被设置为“SYN”
流记录分析工具
SiLK
flow-tools
Argus
FlowTraq
nfdump/NfSen
EtherApe
案例研究:奇怪的X先生,入侵者IP地址172.30.1.77
使用nfdump搜索入侵者的IP
/usr/local/bin/nfdump -R cisco-asa-nfcapd/ 'host 172.30.1.77
确定172.30.1.231:22 被入侵
搜索22端口
/usr/local/bin/nfdump -R cisco-asa-nfcapd/ 'host 172.30.1.77 and port 22'
确定只入侵了231一台
使用argus的工具分析交互过程
工具安装:apt-get install argus-client
ra -z -nn -r argus-collector.ra - 'src host 172.30.1.77 and port 22'
遗憾的是报了一个错误,网上也没有解决方法
接下来分析被害主机的活动
6.无线:无须网线的取证
6.0无线网络取证案例
通过追踪无线网找回丢失的笔记本
找出那些内部人员安装的未授权的无线接入点
调查那些通过无线网络发生的恶意活动
调查直接针对无线网络的攻击:拒绝服务。密码破解和认证旁路攻击
6.1IEEE第二层协议系列
第二层协议802系列:以太网(802.3),中继(802.1q),局域网认证(802.1X),WiFi(802.11包括WEP和WPA)
CSMA/CD:以太网
CSMA/CA:无线局域网
802.11协议簇
802.11帧类型
管理帧(类型0):控制基站间的通信,除了流量控制之外
管理帧类型
0x0:管理请求
0x1:连接应答
0x2:重新管理请求
0x3:重新管理应答
0x4:探测请求
0x5:探测应答
0x6:保留
0x7:保留
0x8:信标帧
0x9:广播传输指示消息
0xA:断联
0xB:身份验证
0xC:解除认证
0xD:活动
0xE:保留
0xF:保留
控制帧(类型1):支持不同有效传输介质(如射频)之上的流量控制
数据帧(类型2):对无线网络设备之间通讯的三层协议以上的数据进行封装
802.11帧分析
802.11字节序
有线等效加密(WEP)
TKIP,AES,WPA, and WPA26.1.2.6 TKIP,AES,WPA和WPA2
802.1X
6.2无线接入点(WAP)
特征
物理连接无上限的集线器
超过2层的功能,还有路由功能,HDCP,4层的网络地址转换
为什么要调查无线接入点
无线接入点可能包含存储在本地的尝试连接日志
WAP日志可以追踪无线客户端的地理移动位置
WAP可以提供给你一些攻击者如何连接到网络的推断
作为攻击的一部分,WAP设置可能被被未授权的第三方修改
WAP本身可能被入侵
无线接入点的类型
企业级
举例
Cisco 3600 AP
Aruba AP-135型WAP
家用级
WAP证据
易失性证据
持久存储证据
系统外的证据
6.3无线数据捕获及分析
无线被动证据收集
有效地分析802.11
tcpdump和tshark
举例
寻找WAP
描述:1.信标帧是管理类型(类型0)中的子类型0x08。其版本字段为0b00,组合就是0x80;2.802.11包含1bit的ESS capabilities字段,在WireShark中名称为wlan_mgt.fixed.capabilities.ess
tshark -nn -r wlan.pcap -R '((wlan.fc.type_subtype==0x08 || wlan.fc.type_subtype == 0x05) && (wlan_mgt.fixed.capabilities.ess == 1)&&(wlan_mgt.fixed.capabilities.ibss==0))'
寻找加密数据帧
wlan[0] = 0x08 and wlan[1] & 0x40 = 0x40
6.4常见的攻击类型
嗅探:攻击者在网上偷听
未授权的无线接入点
嗅探
未授权的无线接入点
改变频段
802.11n绿地模式
蓝牙接入点
无线端口碰撞
邪恶双子
WEP破解
6.5定位无线设备
定位无线设备的方法
收集设备信息
例如MAC地址,可以确定一些物理描述信息
通过SSID找出设备的无线接入点
利用商用的企业无线定位工具
调查设备的无线信号的强度
让信号形成三角区域
获取设备描述
BSSID是无线网卡的MAC地址
找出附件的无线接入点
接收信号强度指示(RSSI)
NetStumbler
用于发现Windows上的802.11网络工具,可以用inSSIDer代替
Kismet
无线网络检测器,嗅探器和入侵检测系统
KisMAC
运行在MAC OS X上的免费、开源的802.11网络发现工具
商业化企业级工具
skyhook
专有的位置跟踪服务,获取任意MAC地址对应的GPS坐标
案例:HackMe公司
wireshark识别WAP数据帧
过滤帧类型0和子类型是8的
wlan.fc.type_subtype==0x08
过滤WAP发送的管理帧
tshark -nn -r wlan.pcap -R '((wlan.fc.type_subtype==0x08||wlan.fc.type_subtype==0x05)&&(wlan_mgt.fixed.capabilities.ess==1)&&(wlan_mgt.fixed.capabilities.ibss==0))'
统计bssid次数
tshark -nn -r wlan.pcap -R '((wlan.fc.type_subtype==0x08||wlan.fc.type_subtype==0x05)&&(wlan_mgt.fixed.capabilities.ess==1)&&(wlan_mgt.fixed.capabilities.ibss==0))' -T fields -e wlan.bssid | uniq -c
过滤用户的MAC地址
tcpdump -nnne -r wlan.pcap 'wlan[0]=0x10 and wlan[26:2] = 0x000' | awk '{print $3}'|sort|uniq -c | sort -nr
统计帧的个数
tshark -r wlan.pcap -R '((wlan.fc.type_subtype==0x20) && (wlan.fc.protected==1))&&(wlan.bssid==00:23:69:61:00:d0)' | wc -l
统计每个MAC地址发送的加密帧数,并排序
tshark -r wlan.pcap -R '((wlan.fc.type_subtype==0x20)&&(wlan.fc.protected == 1)) && (wlan.bssid == 00:23:69:61:00:d0)' -T fields -e wlan.sa|sort|uniq -c | sort -nr
7.网络入侵的侦测和分析
7.1 为什么要调查NIDS/NIDS
NIDS/NIPS的意义在于什么时候发生了我们应该调查的事件
缺点:NIDS/NIPS不能重构事件的序列,并对其做出解释
NIDS/NIPS提供的相关信息
包含关于非法连接的详细信息,甚至是一些尝试性的连接
NIDS/NIPS可以设置为一些防火墙可以接收的数据进行警告,或者至少将其记录在日志中
例如:防火墙可能不会记录从80端口连接到Web服务器的连接,但如果包含一个恶意的URI,NIDS/NIPS就可能会记录它。
调查者可以修改NIDS/NIPS记录之前忽略的事件数据
NIDS/NIPS系统自身很少被入侵
72. NIDS/NIPS的典型功能
NIDS/NIPS功能模块
规则:用于描述如何使用已知的恶意通信特征来比较一个数据包或数据流
警报:包含可疑数据包或数据流的列表
抓包:NIDS/NIPS一般可以通过配置来抓取并保存可疑的数据包,用于稍后的分析。
NIDS/NIPS操作步骤
嗅探
高层协议辨识
协议重组
拆分数据包的攻击
标准化
各种类型编码
可疑字节的报警
警报方式
发送电子邮件报警
记录事件到系统日志服务器上
发送SNMP信息
直接记录事件到数据库中
7.3 检测的模式
基于特征的分析
通过数据包头,内容以及数据流与现有的数据库对比
可以检测跨越多个包或者多段流量的相互之间有所关联的通信
协议辨识
辨识是否滥用协议
行为分析
行为分析,比如Web服务器中每笔的交易数据量超过预期平均值的两倍
7.4 NIDS/NIPS的种类
商业化NIDS/NIPS
常见的IPS
check point IPS-1
Cisco IPS
corero network security
enterasys IPS
HP tipping IPS
IBM security NIPS
sourcefire 3D system
自我定制
snort
更加面向企业、生产环境部署
bro
主要作为入侵检测和流量分析的研究平台
7.5 NIDS/NIPS的电子证据采集
电子证据类型
可以采集的电子证据
配置
警报数据
数据包报头和/或流记录信息
内容数据
与多种传感器相关联的活动
NIDS/NIPS界面
GUI界面
CLI界面
系统外日志记录
7.6 综合性网络封包日志
路由器和防火墙可以记录网络封包的来源和目的信息
NIDS/NIPS可以记录完整的数据包内容,从元数据到它所载荷的内容
缺点:只能捕获出现警报的那个数据包,无法联系上下文
解决方法:部署一个长期数据包嗅探设备
可能占用大量CPU资源
可能占用大量的硬盘容量
可能造成巨大的安全风险
7.7 Snort系统
特征概括
在NIDS中使用最广泛
开放源代码
开放的规则编写语言
非常通用
一直在提升,部分得益于商业支持
基本结构
通过命令行或者配置文件中的定义,snort使用libpcap架构获取指定网络接口的数据包
snort将数据包提交给前置预处理程序,在那里进行协议的重组和分析,各个层次大致分层如下
子主题
在第四层之上,重组数据流
在第五层之上,重组数据链路/会话
在第七层之上,重组事务
如果在上述任意一个层次发现异常,则产生警报
预处理完成后提交给snort规则引擎。
引擎利用协议所有信息,以及有效载荷的内容来侦测恶意流量
最后调用输出引擎,确定如何将警报输出至终端用户
配置
linux下
/etc/snort/snort.conf
/etc/snort/rules
/var/log/snort
snort规则语言
规则头部
动作:检查到匹配时,传感器作出的反应
协议:匹配数据包使用的协议
源IP和端口
方向性操作
目标IP/网络和端口
示例
alert tcp any any --> 192.168.1.124 80 (...)
对于来自任何IP地址,端口,且访问目标是192.168.1.124的80端口TCP分段来说,如果找到则发送警报
log udp 192.168.1.1 53 ->! 192.168.1.0/24 any(...)
drop ip $EXTERNAL_NET any <> $HTTP_SERVERS $HTTP_PORTS(...)
规则主体
常规选项
msg
描述性的标题,该标题将会被附加到任何警报。
sid
唯一标识一条规则所需的Snort ID号
rev
规则的修订版本号
参考
一个可选的背景信息,往往是一个cve号,bugraq的ID或URL
检测选项
非有效载荷检测规则
IP数据包头部
TCP片段头部
ICMP头部
有效载荷检测规则
如下方式的内容匹配
ASCII字符串
二进制序列
PCREs
7层协议的特定数据
HTTP URI
SMTP
基于之前内容匹配结果所进行的绝对和相对位置的搜索
后检测选项
目的:在单一规则的定义中将规则匹配转化成具体行动,覆盖snort的全局配置
例子
#1
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP PING";icode:0;itype:8;classtype:misc-activity;sid:384;rev:5)
任何入站类型是8,代码为0的ICMP“响应请求”数据包会触发警报,这是384号VRT规则的第五次修订版本,被分配了优先级为3的classtype(类型)
#2
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS(msg:"WEB-MISC /etc/passwd"; flow:to_server, established; content:"/etc/passwd"; nocase; classtype:attempted-recon;sid:1122;rev:5;)
发生在处于已经建立连接的,从客户端发送到服务器的,处于正常状态的TCP数据段上。当且仅当第一个条件满足,snort会接下来评估数据包的有效载荷中是否包含字符串“/etc/passwd”字符串的匹配与大小写无关
7.8 案例
如何查找文件特定字符
grep -A 4 'x86 NOOP' alert
如何查找特定ID编号的数据包
只显示头
tcpdump -nnvr tcpdump.log 'ip[4:2]=53309'
显示包详细信息
tcpdump -nnAr tcpdump.log 'ip[4:2]=53309'
在某个文件夹下匹配字符串
grep -r sid:10000648 folder
使用十六进制和ASCII两种编码方式查看特定数据包
tcpdump -nnXr tcpdump.log 'ip[4:2]=53309'
网络设备和服务器
8 事件日志的聚合、关联和分析
8.1 日志来源
操作系统日志
日志类型
登录/注销
执行特权指令
系统启动/关闭
服务活动和错误
Windows系统的日志
日志类型
Vista日志类型
应用程序日志
包含由应用程序或程序记录的事件
举例:数据库可以在应用程序日志中记录文件错误。程序开发人员决定记录哪些事件
安全日志
包含诸如有效和无效的登录尝试等事件,以及资源使用相关的事件
举例:如果已经启用登录审核,则对系统的登录尝试将记录在安全日志中
系统日志
包含Windows系统组件记录的事件
举例:在启动过程中加载驱动程序或其他系统组件失败将记录在日志中
Vista之后日志类型
Windows日志
Vista日志类型
安装程序日志
转发事件日志
用于存储从远程计算机收集的事件
应用程序和服务日志
包括用于IT专业人员和软件开发人员的信息
Unix/Linux事件日志
Syslog事件日志
syslog是用于在IP网络中传输事件通知的一个客户端/服务器协议。
syslog-ng
源
目标
过滤器
resyslogd
应用日志
Web服务器
数据库服务器
邮件服务器
DNS服务器
VOIP服务器
防火墙
认证服务器
文件共享服务器
...
物理设备日志
摄像头
访问控制系统
HVAC空调系统
不间断电源
医院的重症监护设备
电力系统
洗衣机
浴室
...
网络设备日志
防火墙
交换机
路由器
无线接入点
...
8.2 网络日志的体系结构
三种类型的日志记录架构
本地
远程分散
集中化
远程日志:常见的问题及应对方法
可靠性
原因:传统的日志发送采用UDP协议,容易丢失
解决方法:syslog已经支持TCP协议,还有专门的轻量级协议RELP解决丢包问题
时间差
原因:不同机器时间存在不同
解决方法:在所有系统上使用NTP或类似的机制同步时钟
机密性
完整性
日志聚合和分析工具
终端代理
syslog守护进程
系统入侵分析和报告环境(SNARE)
可以应用于Windows,Linux,Solaris等
中央聚合和分析工具
Splunk
日志监控,报告和搜索工具
分布式日志聚合数据分析
为Windows系统设计的监控和日志聚合产品
思科的检测、分析和响应系统(MARS)
基于GPL授权的开源日志聚合与分析工具
ArcSight
第三方日志管理和规范化商业解决方案
8.3 收集和分析证据
网络取证方法学OSCAR
获取信息
制定策略
收集证据
分析
脏数据
特定关键词检索
过滤
通过时间、来源/目的、内容以及其他参数来缩小范围
活动模式
分析日志中的行为模式并进一步识别其中的可疑活动
特征分析
创建复杂的分析模式的分类信息并将其与特定的活动相关联,方便后续的分析
报告
案例
9 交换器、路由器、防火墙
存储介质
路由器防火墙常见存储类型
动态随机存取存储器(DRAM)
内容可寻址存储器(CAM)
交换机中MAC地址与端口的映射表
非易失性随机访问存储器(NVRAM)
闪存
硬盘
只读存储器(ROM)
交换机
特点
是2/3层设备
不同于集线器,会隔离不同端口上的流量
交换机上的证据
嗅探本地网段上的流量
方法是在交换机上设置端口镜像
存在网卡到交换机物理端口的映射表
可以追查电脑
攻击者可能发动对交换机的攻击
内容寻址内存表
用途:将MAC地址映射到对应的物理交换机上的端口
特点:不稳定,可能迅速变化
举例:Cisco ASA5505
switch mac-address-table
地址解析协议
Windows和Linux都可以通过arp -a查看映射表
交换机类型
管理级交换机
功能
支持VLANs
访问控制列表(ACLs)
ARP缓存
802.1x授权
端口镜像
性能监控
事件日志
智能交换机
有限功能的管理交换机
支持VLANs
ARP缓存
端口镜像
性能监控
非管理级的计算机
小办公室/家庭办公使用
交换机证据
易失证据
存储的数据包
CAM表
ARP表
访问控制列表
I/O存储
运行配置
处理器内存
流量数据和相关统计数据
持久性证据
操作系统镜像
引导加载程序
启动配置文件
系统外证据
TFTP服务器存储其备份文件
路由器
特点
第三层设备甚至是第4层
为什么调查路由器
感兴趣的数据可能流经路由器
网络拓扑是了解证据和事件的关键
路由器本身可能被入侵
路由器类型
企业级
功能
状态包过滤
支持多种路由协议
多协议标签交换(MPLS)
通过故障转移和负载平衡技术实现的高可用性和高通量
dhcp
网络地址转换
服务质量
性能监控功能
事件日志
接口
控制台(CLI)
远程控制台(SSH/Telnet访问)
SNMP
Web接口
专有接口
中央管理界面
消费级
部分企业级功能
定制级
路由器证据
易失证据
路由表
被转发前的数据包
数据包计数和统计
ARP表
dhcp租约
访问控制列表
I/O内存
处理器内存
流数据与相关统计
持久性证据
操作系统镜像
引导程序加载
启动配置文件
访问日志,dhcp
系统外证据
防火墙
为什么调查防火墙
大量的连接尝试
系统服务或数据是否暴漏于外界
修改防火墙配置收集更多证据
自身也会被入侵
防火墙类型
三种基本类型
数据包过滤
极少数3层或4层协议字段做最浅显的检查
会话层代理
可以分析检查Web通信,记录URL,传输文件的类型,大小,身份验证信息,甚至是页面
应用层代理
规模分类
企业级防火墙
特点
NAT
dhcp
VPN隧道
负载均衡
故障转移
碎片重组
状态包过滤
性能监控
集中管理
事件日志
存储扩展
内容重组和检查
接口
控制台
远程控制台
SNMP
Web界面
私有接口
中央管理接口
消费级防火墙
nat
数据包过滤
802.11接口
dhcp
定制类型
防火墙证据
易失证据
当前的运行配置
接口配置
ACLs和其他防火墙规则
隧道和它们目前的状态
路由表和ARP缓存
数据包和帧统计
进程和I/O内存
历史命令
持久性证据
初始引导加载
启动配置
其他静态二进制文件
访问日志
系统外证据
防火墙日志
访问历史
配置备份
接口
Web接口
控制台命令接口(CLI)
远程控制台
简单网络管理协议(SNMP)
私有接口
日志
本地日志
控制台
缓存
简单网络管理协议
syslog
身份验证、授权和账户日志
案例
10 Web代理
为什么调查Web代理
Web代理种类
缓存代理
储存之前用过的页面,提升访问速度
内容过滤
检查Web流量的内容,根据关键字、是否被挂马或其他因素进行过滤
TLS/SSL代理
在会话层拦截Web流量,以检查经过TLS/SSL加密的Web流量的内容
匿名代理
作为中间人活动,用于保护Web冲浪者的真实身份
反向代理
提供内容检查,并过滤从互联网到内部Web服务器的入站访问请求
检查Web代理的情况
内部网络中的某个用户涉嫌违反了Web浏览器的规定
内网的某个系统被黑或可能已经通过Web下载了含恶意内容的网页
机密数据是否已经通过Web的出口被泄露出去了
一台由反向Web代理保护的Web服务器正在遭受攻击或已经被黑了
Web代理本身被黑掉
Web代理的功能
缓存
过期
Expires header
Cache-Control
验证
缓存验证器
最后修改的时间(Last-Modified)
Entity Tag(Etag)
Web服务器分配给指定URI所指向的Web对象的一个唯一的值
URI过滤
保证相关规定的顺利执行,保留带宽或提高公司员工的工作效率
内容过滤
检查Web网站是否被挂马
分布式缓存
提升性能,利润率
常用的协议
互联网缓存协议(ICP)
分布式分层Web缓存系统中各个Web缓存服务器之间通信的一种机制
互联网内容修改协议(ICAP)
用来支持透明过滤和修改请求和响应的分布式缓存代理
取证的步骤:本地硬盘->企业的Web代理中的缓存->ISP的Web代理缓存
证据
证据类型
持久存储的
HTTP和HTTPS的历史记录
被阻止的Web访问请求
用户活动的报告综述
Web代理配置的文件
邑灭失的
内存中缓存的Web流量内容
硬盘上缓存的Web流量内容
登录Web网站的身份验证信息
不存在本地的
中央日志服务器
获取证据
squid
Squid的配置文件
Squid的Access日志文件
Squid缓存
Web代理分析
Web代理日志分析工具
例子:剖析一个Squid磁盘缓存
加密的Web流量
访问加密内容的方法
有服务器的私钥
拦截代理
Sslstrip
ProxySG
案例
技巧
一个文件夹下查找字符串
grep -r "1238-27b-4a38236f5d880" squid/
将Unix时间转为正常日期
date --utc -d @1305729798.958date --utc -d @1305729798.958
高级议题
网络隧道
功能型隧道
将局域网封装在广域网(虚拟局域网)的协议
802.1Q(第二层协议)
无法通过路由器
交换机间路由(Inter-Switch Link,ISL):思科解决方案
通用路由封装(Generic Routing Encapsulation,GRE):公开IETF协议
如何在IPv4中封装ipv6
Teredo:在IPv4网络中传输IPv6
加密型隧道
IPsec
第三层协议组
隧道模式
原始IP被完整的封装在一个新的IP包里,并填上新的IP头
原来的IP包完全看不见(包括IP头部信息)
传输模式
原始的IP包头部分离,新的IP包载荷由原来的载荷和插在原来的载荷之前的IPsec头部组成。用ESP/AH保护原来的载荷(以及新增的IPsec头部本身)的机密性和完整性。原来的IP头部将会被粘到新包的最前面。
可以看到原IP包的头部信息
TLS和SSL
第四层和第五层之间
在使用TLS加密的流量中,网络层的细节:源和目标IP地址及传输层的细节:源和目标TCP端口都是明显可见的
如果不使用IPsec隧道模式那么HTTPS数据包的头部是可以看到的
隐蔽型隧道
TCP序列号
DNS隧道
为什么使用DNS协议
各种客户端需要解析新的域名,DNS操作频繁不易发现
DNS可以在内部客户端与外部远程服务器之间进行查询通信
DNS协议中含有一些可以夹带数据的理想字段
如何判断是否存在这种隧道
异常多的DNS请求和响应
大量要求解析不常见主机名的请求或者null记录之类的不常用的DNS请求
iodine开源工具
ICMP隧道
常用类型
type 8
被防火墙允许发送出去
type 0
被允许进入内部网络
常用工具
hping3
Loki
恶意软件取证
取证目标
搞清恶意软件及与之相关的漏洞,以便写出反病毒软件/IDS的特征码
检测网络上有无被感染的系统
案发后,确定被破坏的范围
感染的内容
倒追出恶意软件的来源
为庭审收集证据
恶意软件的进化趋势
僵尸网络
当前的僵尸网络实际上等于写一个比正常商用软件做得还要好得多的企业系统管理软件
加密和混淆
混淆技术
早期规避方法
会话拼接
攻击者把会话中的字符串剪切开来,分别塞入多个数据包里
碎片化技术
把一个单独的数据包拆分成许多更小的数据包
现代Web混淆/加密技术
一般基于Web
在Web页面中嵌入JavaScript代码
从最简单的base64编码异或大法到分层混淆系统
隐藏C&C通道
确保控制权
分布式命令和控制系统
早期:网络聊天室(IRC)
自动自我升级
变化形态的网络行为
Fast-Flux DNS
高级持续威胁
恶意软件的网络行为
传播
命令和控制通信
载荷的行为
未来的恶意软件和网络取证
0 条评论
下一页