Linux教程Linux
首页
基础知识
Linux业界
Linux系统
Linux人物
Linux文化
Linux资讯
Linux综合
当前位置:
Linux教程
-
Linux
- L0pht AntiSniff 技术文档
L0pht AntiSniff 技术文档
LinuxByte注:本站有
antisniff下载
概 述
--------
L0pht Heavy Industries开发的AntiSniff工具用于
满足检测本地网络是否有机器处于混杂模式(即监听模
式)。
一台处于混杂模式的机器通常是两种含义之一:它
已被入侵并用于窃听网络中的口令或数据;或者它正被
用于合法的正常的网络监听。对于网络管理员和网络安
全专家而言,了解哪台机器正处于混杂模式以作进一步
的调查研究是非常重要的。
AntiSniff Version 1.X被设计为运行在以太网的
Windows NT系统中,并提供了简单易用的用户图形界
面。该工具以多种方式测试远程系统是否正在捕捉和分
析那些并不是发送给它的数据包。这些测试方法与其操
作系统本身无关。
使用AntiSniff V1.X
------------------
AntiSniff运行在本地以太网的一个段上。例如,如
果在非交换式的C类网络中运行时,AntiSniff能监听整
个网络;如果网络被按工作组分组并用交换机隔离,则
每个工作组中都需要运行一个AntiSniff。原因是某些特
殊的测试使用了无效的以太网地址和某些测试需要进行
混杂模式下的统计(如响应时间,包丢失率等)。
AntiSniff V1.X的用法非常简单直观。在工具的图
形界面中选择需要进行检查的机器(单台或多台),并
且指定检查频率。对于除网络响应时间检查外的测试,
每一台机器会返回一个确定的正值或负值。返回的正值
表示该机器正处于混杂模式。还可以根据这个返回值定
义报警或提示。
对于网络响应时间测试的返回值,建议用户根据第
一次返回的数值计算标准值,然后再对在flood和非
flood两次测试的返回结果有较大变化的机器进行检查。
一旦这些机器退出混杂模式返回到正常操作模式下,A
ntiSniff的下一次测试将会记录到混杂模式和非混杂模
式的差值(正值)。
建议尽可能周期性地运行这个工具。这个周期值根
据不同的站点、不同的网络负荷、测试的机器数量和网
站策略等而不同。
AntiSniff的技术细节
-------------------
目前的AntiSniff V1.X实现了三种类型的测试:操
作系统类特殊测试、DNS测试和网络响应时间测试。每种
测试都能单独或与其它测试一起确定机器的运行状态。
AntiSniff V1.X主要工作在非交换环境下的本地网段
中,如果运行在交换环境下其功能将大打折扣。
AntiSniff V2.0将不但能在本地网段中,而且能够穿过
路由器和交换机进行工作。
◆ 操作系统类特殊测试
Linux 内核测试
旧版本的Linux内核存在一个奇怪的特性,可被用于
确定机器是否处于混杂模式。在正常情形下,网卡会过
滤和丢弃那些目标地址不是本机MAC地址或以太网广播地
址的数据包。如果数据包的目标地址为本机以太网地址
或广播地址,将传送给内核进行处理,因为其认为该以
太网数据帧包含了本机的正确IP地址或该网络广播地
址。如果网卡处于混杂模式,则每个数据包都会传递给
操作系统进行分析或处理。许多版本的Linux内核只检查
数据包中的IP地址以确定是否存放到IP堆栈中进行处
理。为了利用这一点,AntiSniff构造一个无效以太网地
址而IP地址有效的数据包。对于使用了这些内核版本和
处于混杂模式的Linux系统,由于只检查到IP地址有效而
将其接收并存放到相应堆栈中。通过在这个伪造的以太
网数据帧中构造一个ICMP ECHO请求,这些系统会返回响
应包(如果处于混杂模式)或忽略(如果不处于混杂模
式),从而暴露其工作模式。当伪造的以太网数据帧中
的IP地址设置为网络广播地址时这个测试非常有效。
AntiSniff的使用者可以修改伪造的以太网址,缺省值为
66:66:66:66:66:664。
NetBSD
许多NetBSD内核具有与上述Linux内核相同的特性,
不过伪造以太网数据帧中的IP地址必须设为广播地址。
Windows 95,98,NT
根据对网络驱动程序头文件的了解,可以知道当处
于混杂模式时,Microsoft的操作系统会确切地检查每个
包的以太网地址。如果与网卡的以太网地址匹配,将作
为目标IP地址为本机的数据包存放到相应堆栈中处理。
可以被利用的一点是系统对以太网广播包的分析。在正
常情形下,例如机器工作在非混杂模式下,网卡只向系
统内核传输那些目标以太网址与其匹配或为以太网广播
地址(ff:ff:ff:ff:ff:ff)的数据包。如果机器处于混
杂模式下,网络驱动程序仍然会检查每个数据包的以太
网地址,但检查是否为广播包时却只检查头8位地址是否
为0xff。因此,为了使处于混杂模式的系统返回响应信
息,AntiSniff构造以太网地址为ff:00:00:00:00:00且
含有正确目标IP地址的数据包,当Microsoft的操作系统
接收到这个数据包时,将根据网络驱动程序检查到的细
微差别而返回响应包(如果处于混杂模式)或丢弃这个
数据包(如果处于非混杂模式)。
需要注意的是,这个检查与使用的网络驱动程序有
关。Microsoft缺省的网络驱动程序具有以上特性,大多
数的厂商为了保持兼容性也继承了这些特性。不过有些
网卡会在其硬件层中检查以太网地址的头8位,所以可能
会无论系统真正的状态是什么都总是返回正值。关于这
类网卡和驱动程序请访问AntiSniff V1.X的web网站。
◆ DNS 测试
进行DNS测试的原因是许多攻击者使用的网络数据收
集工具都对IP地址进行反向DNS解析,因为他们希望根据
域名寻找更有价值的主机。例如joepc1.foo.bar对攻击
者的吸引力往往不如payroll.foo.bar这种商业域名。此
时这些工具就由被动型网络工具变为主动型网络工具
了。而不监听网络通讯的机器不会试图反向解析数据包
中的IP地址。为了利用这一点,AntiSniff V1.X使自身
处于混杂模式下,向网络发送虚假目标IP地址的数据
包,然后监听是否有机器发送该虚假目标IP地址的反向
DNS查询。伪造数据包的以太网地址、检查目标、虚假目
标IP地址可由用户定制。
◆ 网络和主机响应时间测试
这种测试已被证明是最有效的。它能够发现网络中
处于混杂模式的机器,而不管其操作系统是什么。警
告,这个测试会在很短的时间内产生巨大的网络通讯流
量。
进行这种测试的理由是不处于混杂模式的网卡提供
了一定的硬件底层过滤机制。也就是说,目标地址非本
地(广播地址除外)的数据包将被网卡的固件丢弃。在
这种情况下,骤然增加、但目标地址不是本地的网络通
讯流量对操作系统的影响只会很小。而处于混杂模式下
的机器则缺乏此类底层的过滤,骤然增加、但目标地址
不是本地的网络通讯流量会对该机器造成较明显的影响
(不同的操作系统/内核/用户方式会有不同)。这些变
化可以通过网络通讯流量工具监视到。
根据以上要点,AntiSniff V1.X首先利用ICMP ECHO
请求及响应计算出需要检测机器的响应时间基准和平均
值。在得到这个数据后,立刻向本地网络发送大量的伪
造数据包。与此同时再次发送测试数据包以确定平均响
应时间的变化值。非混杂模式的机器的响应时间变化量
会很小,而混杂模式的机器的响应时间变化量则通常会
有1-4个数量级。
为了对付攻击者和入侵者们最常用的多种工具,
AntiSniff进行了三种网络饱和度测试:
SIXTYSI、TCPSYN和THREEWAY。
* SIXTYSIX测试构造的数据包数据全为0x66。这些
数据包不会被非混杂
模式的机器接收,同时方便使用常见的网络监听/
分析工具(如tcpdump
和snoop等)记录和捕获。
* TCPSYN测试构造的数据包包含有效的TCP头和IP
头,同时TCP标志域的
SYN位被设置。
* THREEWAY测试采取的原理基本上与TCPSYN一样,
但更复杂些。在这种测
试中两个实际不存在的机器间多次建立完整的TCP
三方握手通讯。它能
够更好地欺骗那些骇客工具。
AntiSniff V1.X中能够通过以上三种数据包测试发
现正处于混杂模式机器的测试方法最好周期性地进行和
与以前的数据比较。响应时间测试第一次运行的数据还
能够用于分析一个大型网络在flooding和非flooding状
态时的性能,并帮助工程师调整网络性能。一旦确信本
地网络已运行在正常(没有未经允许而处于混杂模式的
机器)状态,就应该设置AntiSniff工具周期性运行。只
要发现某台机器性能(响应时间)发生数量级的变化,
一般就能确定其正处于混杂模式。这种方法不需比较两
台独立系统间的性能数据,而只需比较同一台机器不同
时候的数据就能确定该机器是否处于混杂模式。
发布人:netbull 来自:中国网络安全技术联盟
怎么从 NTLoader 双启动windows 2000或是linux?
QT的信号与槽机制介绍
在 Linux 上安装 PostgreSQL
linux初学者帮助之---如何添加新硬盘
GPL的中文Postscript字型安装、原理及使用
◆NeoMail线上邮局完全安装手册◆
一个使用getopt()函数获取命令行参数的例子
LinuxAid 网站配置实例(一)
Linux下的GTK图形界面编程
用 GDB 调试程序
Solaris安全手册
Linux操作系统网络驱动程序编写
SCO UNIX 讲座
如何评 估OS 安 全
UNIX系统管理员安全(2)
站点导航
Linux教程
Php
Linux
非技术类
指令大全
Shell
安装启动
Xwindow
Kde
Gnome
输入法类
美化汉化
网络配置
存储备份
杂项工具
编程技术
网络安全
内核技术
速度优化
Apache
Email
Ftp服务
Cvs服务
代理服务
Samba
域名服务
网络过滤
其他服务
Nfs
Oracle
Dhcp
Mysql
Ldap
RedHat
赞助商链接