首页 > 其他分享 >Satori指纹识别原理及dhcp分析

Satori指纹识别原理及dhcp分析

时间:2023-06-04 18:01:28浏览次数:34  
标签:Satori 指纹识别 指纹 dhcp DHCP 识别 数据包 客户端


Satori指纹识别原理及dhcp分析_DHCP

Satori是被动识别中的一款独树一帜的软件,和ettercap等软件不同,它专门采用dhcp进行识别。本文通过对satori进行测试、读源码对其识别机制进行简单的分析,并在最后一部分对Satori开发者的paper进行了解读。

Satori指纹识别原理及dhcp分析_客户端_02

解压后有如下几个文件

Satori指纹识别原理及dhcp分析_客户端_03

其中,dhcp.xml和tcp.xml在下文会详细分析,p0f.fp,p0fa.fp是和p0f的指纹库相同的,稍微了解即可,如下所示。

P0f.fp是分析syn指纹

Satori指纹识别原理及dhcp分析_客户端_04

P0fa.fp是分析synack的指纹

Satori指纹识别原理及dhcp分析_DHCP_05

Satori指纹识别原理及dhcp分析_DHCP_06

运行测试一下

Satori指纹识别原理及dhcp分析_客户端_07

1和149都是win7,但是没有非常精确地识别出来

因为我命令里加了-d,所以会打印出指纹,猜想应该是根据收到的数据包对比指纹库,然后给出结果

Satori指纹识别原理及dhcp分析_DHCP_08

以192.168.96.1为例

Satori指纹识别原理及dhcp分析_客户端_09

[12] 表明可能属于该系统的权重,值越大,越有可能

该数字来源于dhcp.xml中给出的特征及权重

在dhcp.xml中找到vista的指纹

Satori指纹识别原理及dhcp分析_权重_10

结合上一张截图,第一条

Satori指纹识别原理及dhcp分析_DHCP_11

,权重为5

第二条

Satori指纹识别原理及dhcp分析_客户端_12

,权重为5

第三条

Satori指纹识别原理及dhcp分析_权重_13

,权重为2

5+5+2=12;所以192.168.96.1为vista的权重为12

在试一下windows2000,验证一下猜想

Windows2000的指纹如图

Satori指纹识别原理及dhcp分析_客户端_14

它所有特征中只匹配

Satori指纹识别原理及dhcp分析_DHCP_15


Satori指纹识别原理及dhcp分析_权重_16

权重加起来是7

我又测了一台centos

Satori指纹识别原理及dhcp分析_客户端_17

Satori没有猜测出可能是什么系统

我手动在指纹库中匹配,也没有找到

Satori指纹识别原理及dhcp分析_权重_18

结合抓包分析

Satori指纹识别原理及dhcp分析_DHCP_19

以192.168.96.1为例

在探测时,输出的是

Satori指纹识别原理及dhcp分析_客户端_20

对应satori.pcap第一个包

Satori指纹识别原理及dhcp分析_权重_21

Option分别是53,61,12,60,55,255(末尾,可忽略)

命中指纹库中的

Satori指纹识别原理及dhcp分析_权重_22

Satori指纹识别原理及dhcp分析_DHCP_23

Option55展开,分别是1,15,3,6,44,46,47,31,33,121,249,43,252

命中指纹库中的

Satori指纹识别原理及dhcp分析_DHCP_24

Option60展开

Vendorclass identifier为MSFT5.0

Satori指纹识别原理及dhcp分析_DHCP_25

命中指纹库

Satori指纹识别原理及dhcp分析_权重_26

所以vista的权重为5+5+2=12

结合DHCP协议分析:

DHCP一共有8种报文,分别为DHCPDiscover、DHCPOffer、DHCPRequest、DHCPACK、DHCPNAK、DHCPRelease、DHCPDecline、DHCPInform。各种类型报文的基本功能如下:

Satori指纹识别原理及dhcp分析_权重_27

以这次抓到的流量来看,有三种报文,分别是DHCPRqeuest,DHCP ACK,DHCP Inform.

只分析DHCPInform的option

Satori指纹识别原理及dhcp分析_客户端_28

53表示报文类型

RFC2132(https://tools.ietf.org/html/rfc2132?spm=a2c4e.11153940.blogcont491032.62.60a34540ToTPN5)可以看到type为8表示inform

Satori指纹识别原理及dhcp分析_DHCP_29

Satori指纹识别原理及dhcp分析_DHCP_30

61(RFC2132)是客户端ID,DHCP客户端使用此选项指定其唯一标识符,可以包含硬件类型和硬件地址

Satori指纹识别原理及dhcp分析_客户端_31

Satori指纹识别原理及dhcp分析_客户端_32

12(RFC2132)表示hostname,指定客户端名称

Satori指纹识别原理及dhcp分析_权重_33

Satori指纹识别原理及dhcp分析_客户端_34

60被用来选择性地标识DHCP客户端的供应商类型和配置

Satori指纹识别原理及dhcp分析_DHCP_35

Satori指纹识别原理及dhcp分析_DHCP_36

这里存在如下对应关系

MSFT5.0 <--> windows

dhcpcd4.0.1 <--> 安卓2.2

dhcpcd4.0.15 <--> 安卓3.0

dhcpcd-5.2.10<--> 安卓4.0

dhcpcd-5.2.10:Linux-3.0.13:armv7l:MT6577<--> 小米手机

dhcpcd-5.5.6<--> 安卓4.2

udhcp1.19.4 <--> 极路由或其它路由器

55被用来请求指定配置参数的值。请求的参数列表指定为n个八位字节,其中每个八位字节是RFC2312中定义的有效DHCP选项代码

Satori指纹识别原理及dhcp分析_客户端_37

Satori指纹识别原理及dhcp分析_DHCP_38

255表示有效信息的结束

Satori指纹识别原理及dhcp分析_DHCP_39

Satori指纹识别原理及dhcp分析_权重_40

Satori指纹识别原理及dhcp分析_权重_41

开发Satori的人写了篇paper介绍如何通过dhcp数据包被动识别os指纹(http://chatteronthewire.org/papers.htm,chatter-dhcp.pdf),这部分是我根据paper写出理解后的笔记:

对于被动指纹识别而言,DHCP的一个优点就是它是广播包,当一个dhcp客户端要加入时,他们会向所有人发送广播(所以在wireshark抓到的包中目的地址是255.255.255.255)。

作者首先介绍了最麻烦的方案:

利用捕获中显示的数据包的实际时间,每个DHCP数据包之间的差异,数据包的类型,存储在SecondsElapsed字段中的值以及该数据包集合上的TransactionID等等来区分操作系统,如windows95和windows98等版本的比较

Satori指纹识别原理及dhcp分析_DHCP_42

Satori指纹识别原理及dhcp分析_权重_43

Satori指纹识别原理及dhcp分析_客户端_44

Satori指纹识别原理及dhcp分析_DHCP_45

Satori指纹识别原理及dhcp分析_权重_46

Satori指纹识别原理及dhcp分析_权重_47

再介绍了简单的方案:

通过options识别操作系统。

Satori指纹识别原理及dhcp分析_DHCP_48

首先介绍通过option55(Satori最主要的方案):

利用选项55中请求的参数以及请求它们的顺序来识别操作系统

比如window各个版本的差异

Satori指纹识别原理及dhcp分析_DHCP_49

Fedora和centos的

Satori指纹识别原理及dhcp分析_客户端_50

由于很多linux底层dhcp堆栈相同,如下图所示

Satori指纹识别原理及dhcp分析_客户端_51

使用option55不足以识别,所以针对linux,作者提出可以加以option51(客户希望的租用时间),option57(告诉DHCP服务器它可以接受的DHCP数据包的大小)辅助。

然后又介绍了通过其他options辅助识别os

option61,用作将客户端链接到其租约的唯一标识符

可用于识别MSRRAS服务器

Satori指纹识别原理及dhcp分析_客户端_52

上图是一台MSRRAS Server,value等于01+ RAS + ‘ ‘ + MAC + 000000000000

而下图是一台思科的设备

Satori指纹识别原理及dhcp分析_客户端_53

Option77是用户类信息,它通常用于帮助识别某种类型的计算机或用户类别

比如下图

Satori指纹识别原理及dhcp分析_权重_54

接着介绍从PXEboot中进行区分

Satori指纹识别原理及dhcp分析_权重_55

相关的option包括:

Option93,客户端系统的架构;通过option93可以识别底层硬件

Satori指纹识别原理及dhcp分析_客户端_56

Satori指纹识别原理及dhcp分析_客户端_57

Option94,客户端网络设备接口

Satori指纹识别原理及dhcp分析_客户端_58

最后作者指出,可以利用租约信息来进行识别

可以观察当租约到期时,有多少操作系统实际更新了他们的IP地址,哪些等待直到下次重启来识别。

下面是继续使用ip地址的系统

Satori指纹识别原理及dhcp分析_DHCP_59

下面是当前已经拥有地址,然后发送dhcprenewel请求的系统

Satori指纹识别原理及dhcp分析_DHCP_60

Satori指纹识别原理及dhcp分析_DHCP_61


Satori指纹识别原理及dhcp分析_客户端_62


标签:Satori,指纹识别,指纹,dhcp,DHCP,识别,数据包,客户端
From: https://blog.51cto.com/u_14601424/6411517

相关文章

  • 华为—DHCP中继实验配置-通过两种配置方法实现功能
     实验说明本实验将通过两种中继配置方法实现DHCP中继功能  第一种:在接口下直接指定DHCP服务器IP地址  第二种:通过在接口下调用DHCP服务器组实验拓扑图实验要求1、将路由器R1作为DHCP服务器,创建全局地址池分配地址;2、通过DHCP中继实现为PC1和PC2分配不同网段地址 ......
  • DHCP是什么
    DHCP1.DHCP是什么协议,一种应用层的网络协议,他可以动态地分配网络中的IP地址和其他网络配置的参数以及网络设备,通俗一点讲,每台设备的IP地址,子网掩码,网关等网络参数信息都是由他来完成的。1.1DHCP服务器和DHCP的关系DHCP服务器是实现DHCP协议的网络设备或软件,它负责为客户......
  • windows平台的dhcp服务软件、dhcp服务器netbootm工具用法介绍
    使用深度远程启动管理器配置管理口IP方法1、将笔记本IP设置为需要配置的IP同网段的一个IP;2、用网线将笔记本网口与服务器管理口连接;3、打开深度远程启动管理器,点击选项配置按钮,选择DHCP选项卡4、配置下图红框中的选项,启始地址为需要配置的IP的第一个地址,子网掩码以及网关与客户要......
  • DHCP服务器配置实验
    参考:(36条消息)计算机网络基础实验三—DHCP服务器的配置和管理_混时魔王的博客-CSDN博客实验原理1.概念动态主机配置协议DHCP(DynamicHostConfigurationProtocol)是一种用于集中对用户IP地址进行动态管理和配置的技术。其由RFC2131定义,采用客户端-服务器通信模式,由客户端(DHC......
  • Debian 10 DHCP
    实验环境:准备两台Debian一台服务端,一台客户端。服务端:#安装dhcp服务#修改dhcp默认下发网卡#下发网卡为ens33ipv4类型的ip地址。#进入启动项配置文件#编辑配置文件#重启服务客户端:#进入网卡配置文件#修改网卡为自动获取#重启网卡,获取ip地址......
  • linux DHCP
    目录一、DHCP概念 二、DHCP工作过程三、DHCP实验              一、DHCP概念概念:动态主机配置协议,自动为计算机分配tcp/ip参数DHCP的优点:1.减少管理员的工作难度2.避免错误的可能3.避免IP......
  • MSTP-VRRP-DHCP-OSPF-BFD实验(三)
    配置核心交换机SVI[HX_SW1]intvlanif2[HX_SW1-Vlanif2]ipadd192.168.2.25324[HX_SW1-Vlanif2]intvlanif3[HX_SW1-Vlanif3]ipadd192.168.3.25324[HX_SW1-Vlanif3]intvlanif4[HX_SW1-Vlanif4]ipadd192.168.4.25324[HX_SW1-Vlanif4]intvlanif5[HX_SW1-Vlanif5......
  • MSTP-VRRP-DHCP-OSPF-BFD实验(二)
    所有交换机需启用MSTP服务[JR_SW7]stpregion-configuration[JR_SW7-mst-region]region-nameaa[JR_SW7-mst-region]revision-level1[JR_SW7-mst-region]instance1vlan23200[JR_SW7-mst-region]instance2vlan456[JR_SW7-mst-region]activeregion-configuration......
  • H3C DHCP配置使用
    1.查看DHCPIP地址池IP使用情况<Core_1#_3F_01_CCTV>disdhcpserverip-in-useIPaddressClient-identifier/LeaseexpirationTypeHardwareaddress192.168.13.701e0-508b-b3bc-9bMay1308:58:592023Auto(C)......
  • 三层交换机 DHCP 中继
    三层交换机DHCP中继拓扑图:推荐步骤:➢在SW1_3L创建VLAN10和VLAN20,给VLAN10和VLAN20配置IP地址,将DHCP_Server和VLAN20_PC1加入到指定的VLAN中➢开启➢给路由器➢在实验步骤:在SW1_3L创建VLAN10和VLAN20,给VLAN10和VLAN20配置IP地址,将DHCP_Server和VLAN20_PC1加入到指定的V......