设为主页 | 加入收藏 | 繁體中文

Sniffer:黑客入侵最常用的手段


  注意:
  a)你可以让plugin从0-9,以是从PLUGIN0_NAME到PLUGIN1_NAME……不用是连续的
  d)#include"my_plugin.plug"这是我的插件源代码安排的地方。要是想详细相识的话,还是看看里面的plugin.howto吧。
  3、介绍tod
  这东东即是sniffit最有名的一个插件了,为什么叫TOD呢--touchofdeath,它可以轻易地堵截一个TCP连接,原理是向一个TCP连接中的一台主机发送一个断开连接的IP包,这个IP包的RST位置1,便可以了。
  将下载下来的tod.tar.gz拷贝到sniffit地点目录下,解压安装后ln-stodsniffit_key5就可以将这相步伐与F5键连接起来,想堵截哪台呆板的话,只要在窗口中将光标指到必要断线的呆板上按下F5键就可以了。你可以自在地定义成别的的F功效键--F1~F4不可,它们已经被定义过了……
  [2] 在NT下的sniffit
  Sniffit 0.3.7推出了NT版本,也支持WINDOWS2000,这个sniffit必要WinPcap包,就是雷同与libpcap的包,支持WIN32平台上可以信息包捕获和网络分析,是基于UNIX的libpcap和BPF(Berkeley 分帧过滤器)模型的包。它包括内核级的包过滤驱动步伐,低级动态连接库(packet.dll),和初级体系无关性库(libpcap,基于0.4a6版本)。
  这个WinPcap信息包捕获启动步伐可把设备驱动增加在Windows 95, Windows 98, Windows NT 和 Windows 2000 上,可以有能力捕获和发送经过原始套接口的信息包(raw packets),Packet.dll是一个能用来直接访问BPF驱动步伐的API。
  WinPcap在http://netgroup-serv.polito.it/windump和http://netgroup-serv.polito.it/analyzer这两个东西中乐成应用。最新的WinPcap是版本2.02,修补了2.01版本中的一些缺陷,并且支持WIN2000。详细信息和源代码可以在下面这个站点找到:
  http://netgroup-serv.polito.it/winpcap/
  下面是在WIN2K中安装的步骤:
  1)先下载packet.exe这个步伐后睁开安装。
  2)打开WINDOWS2000的控制面板
  3)从控制面板中双击"网络和拨号连接"图标,在打开"当地连接"图标,并选择属性选项。
  4)在表现的对话框中选择"安装",安装网络组件。
  5)再在出现的对话框中选择"协议",点击"增加"。
  6)在出现的对话框中选择"从磁盘安装",选择正确路径,就是刚才你解压的网络设备驱动步伐(这个文件夹中必须包含packet.inf和packet.sys)的地方,在选择确定。
  7)在选择"Packet capture Driver v X.XX ",并按照指示来完成安装,往往要你WINDOWS2000的安装光盘。
  8)检察网络组件中有没有 Packet capture Driver v X.XX 这一行,有的话说明这个驱动步伐已经创建并绑定了网络接口。
  再重新启动呆板。然后解压sniffit_nt.0.3.7.beta,再利用命令行模式,我简单的利用了一个命令行,刚开始是利用sniffit -t 192.168.0.1 -p 21,想监视下21 FTP端口的密码捕获成不可功,但出现"Automatic network device lookup not yet supported in Win32 version... use '-F \Device\Packet_{31BB7ED2-125E-11D4-8F11-D79985727802}' to force the choice,Read the README.FIRST on how to force network devices.的提示,于是我按照其提示所示,利用了sniffit -F \Device\packet_{31BB7ED2-125E-11D4-8F11-D79985727 802} -t 192.168.0.1 -p 21命令,这时出现下面的提示:
  Forcing device to \Device\packet_{31BB7ED2-125E-11D4-8F1 quested)...
  Make sure you have read the docs carefully.
  Sniffit.0.3.7 Beta is up and running.... (192.168.0.1)
  这就表明sniffit在事情了,于是在FTP到NT的端口,输入密码,随即就可以在刚才SNIFFIT的目录下看到一个关于192.168.0.2.1281-192.168.0.1.21的文件,打开后检察里面的内容如下所示:
  USER xundi
  PASS xxxxxxx-------->我隐藏了,XIXI
  SYST
  PORT 192,168,0,2,5,2
  LIST
  PORT 192,168,0,2,5,3
  LIST
  CWD g:
  CWD c
  PORT 192,168,0,2,5,26
  LIST
  CWD hack
  PORT 192,168,0,2,5,88
  LIST
  看,是不是很整齐啊,至于文件名为何是这样192.168.0.2.1281-192.168.0.1.21,那是应该是一个客户/服务器模式,客户端的连接是随意开一个1281端口地点和192.168.0.1的21口连接。
  --------------------------------------------------------------------------------
  五、如何监测主机正在窃听(sniffed)
  如何才知道有没有sniffer在我的网上跑呢?这也是一个很难说明的问题,比力有压服力的来由证明你的网络有sniffer如今有这么几条:
  1、你的网络通讯掉包率变态的高。
  经过一些网络软件,你可以看到你的信息包传送情况(不是sniffer),向ping这样的命令会告诉你掉了百分几的包。要是网络中有人在听,那么你的信息包传送将无法每次都顺畅的流到你的目的地。(这是由于sniffer拦截每个包导致的)
  2、你的网络带宽将出现变态。
  经过某些带宽控制器(通常是火墙所带),你可以及时看到如今网络带宽的分布情况,要是某台呆板永劫间的占用了较大的带宽,这台呆板就有可能在听。在非高速信道上,如56Kddn等,要是网络中存在sniffer,你应该也可以察觉出网络通讯速度的变革。
  3、通常一个sniffer的记录文件会很快增大并填满文件空间。在一个大型网络中,sniffer显着减轻呆板负荷。这些警告信息往往能够帮助管理员发现sniffer。
  4、一个主机上的sniffer会将网络接口置为稠浊模式以接收所有数据包。对付某些UNIX体系, 经过监测到稠浊模式的网络接口。虽然可以在非稠浊模式下运转sniffer,但这样将只能捕获本 时机话。只要稠浊模式下的 sniffing才能捕获以太网中的所有会话,别的模式只能捕获本时机话。
  对付SunOS、linux和别的BSD Unix体系,如下命令:
  "ifconfig -a"
  会表现所有网络接口信息和能否在稠浊模式。DEC OSF/1和IRIX等体系必要指定设备。要找到体系中有什么网络接口,可以运转如下命令:
  # netstat -r
  Routing tables
  Internet:
  Destination Gateway Flags Refs Use Interface
  default iss.net UG 1 24949 le0
  localhost localhost UH 2 83 lo0
  然后经过如下命令检查每个网络接口:  
  #ifconfig le0
  le0: flags=8863
  inet 127.0.0.1 netmask 0xffffff00 broadcast 255.0.0.1
  入侵者经常会更换ifconfig等命令来避开检查,因而肯定要检查命令步伐的校验值。
  在ftp.cert.org:/pub/tools/的cpm步伐(SunOS平台)可以检查接口能否有稠浊模式标志。
  这些命令只在sniffer与内核存在链接时有用。而在缺省情况,sniffer是没有与内核链接的。大多数的Unix体系,比方Irix、Solaris、SCO等,都没有任何标志来指示能否处于稠浊模式,因而入侵者能够窃听整个网络而却无法监测到它。
  要是呆板上利用两块网卡,把一块设置为杂乱模式,并把IP地点设置为0.0.0.0,另一块卡处于正常的模式并是正确的地点,这样将很难发现SNIFFER的存在。
  注意:要监测只采集数据而不对任何信息举行响应的窃听设备,必要逐个细致检查以太网上所有物理连接,不可能仅经过长途发送数据包或ping就可以检查盘算机能否正在窃听.
  六、如何阻止sniffer
  <1>互换
  随着互换机的成本和代价的大幅度降低,互换机已成为非常有用的使sniffer生效的设备。如今最常见的互换机在第三层(网络层)根据数据包目标地点举行转发,而不太采取集线器的播送方法,从理论上讲,经过互换设备对网络举行分段后,sniffer将无法透过界限而窥探另一边的数据包。但是,请注意:这是在界限设备不转发播送包的情况下(这也是通常的网络情况)。一旦入侵者利用spoofer诱骗某个界限设备而将本身的播送包流入不应进入的网段后,原理上还是在一个共享设备端利用sniffer,而实际大将是听到了界限的另一边).固然,这样会扳连到ip欺诈和Mac欺诈的问题,但是,你别忘了,sniffer和spoofer是很少离开来的。
  <2>加密
  如今有很多软件包可用于加密连接,从而使入侵者即使捕获到数据,但无法将数据解密而失掉窃听的意义。
  <3>入侵检测
  利用诸如Tripwire之类的东西,生成文件体系的MD5"数据指纹",及时发现被修正的体系文件;
  <4)利用antisniffer软件
  一些盛行的检测SNIFFER的步伐:
  http://www.attrition.org/security/newbie/security/sniffer/promisc.c --是一个很小的C步伐,当编译好后,会查找当地呆板上任何处于杂乱模式的NIC网络适配卡。
  http://www.attrition.org/security/newbie/security/sniffer/neped.c --是一个用来长途检查任何嗅探运动的步伐,可惜它只在LINUX下编译,固然你也可以简单的利用'ifconfig-a'来检查你的UNIX呆板能否有PROMISC标志。
  http://www.l0pht.com/antisniff/这是L0pht写的很好的反SNIFFER步伐,L0PHT还打算公然LINUX版本上的源码版本。
  下面我介绍一下sentinel的用法
  Sentinel主要是设计思想是portable,arrcurate implementation,就是说玲珑点,准确实现几个熟知的杂乱方法探测技能。其中Sentinel支持三种方法的长途杂乱探测模式:DNS测试,Etherping测试,和ARP测试,其中还有一种ICMP ping Latency(ICMP PING反合时间)正在开辟中。
  此步伐必要Libnet和libpcap库来支持,各人可以到下面的地点去下载:
  LIbnet 1.0: http://www.packetfactory.net/Projects/libnet
  libpcap 0.4: ftp://ftp.ee.lbl.gov/libpcap-0.4.tar.Z
  首先说下它其中利用的三种模式:
  --ARP测试模式:
  这种方法是接纳发送一个ARP请求,其中包含所有正确信息除了伪造的目标主机MAC硬件地点给我们的目标主机,这样要是目标主机没有处于杂乱模式,它将不会答理这些信息包,因为这些信息包其认为不是指定给它们的,以是不会举行响应和复兴,但要是此目标呆板处于杂乱模式,ARP请求就会产生并举行内核处置惩罚,经过呆板的回应信息我们就可以知道其处于杂乱模式。这种方法联合内核的特性来检察呆板的运作形态,请看下面的Etherping 测试模式。
  -- DNS测试模式:
  DNS测试主要是针对网络数据收集东西能实行IP到名字反转解析来提供DNS名字来代替IP地点(The DNS tests operate on the premise that many attacker network data gathering tools perform IP to name inverse resolution to provide DNS names in place of IP addresses)。在实行反转盘问中,东西会从主动网络东西模式变化为自动网络东西,而那些没有监视网络布告的东西就不会去解析信息包中的IP地点。利用这种信息,ANTI SNIFFER东西可以自身在当田主机中变为杂乱模式并在我们网络中发送有数个伪造的主机,这样,ANTI SNIFFER东西就可以嗅探DNS请求来检察目标能否在请求解析那些不存在主机。
  --Etherping 测试模式:
  Etherping 测试模式依赖于目标主机的内核,也就所谓的内核测试。在通常情况下,硬件网络接口卡过滤和丢弃那些MAC地点差别于本身呆板上的MAC地点的信息包或者不是播送Ethernet 地点的地点。就是说信息包是正确和实际的Ethernet地点或者是播送Ethernet地点,接口就会把这些地点COPY和传递给内核举行进一步处置惩罚。
  但某些体系假定包含在以太帧中的数据包含某个目标主机中正确的IP地点或者播送地点,但具有差别于当田主机的MAC地点,当NIC设置为杂乱模式,发送给目标主机的每个数据包它还是傻傻的传递给操纵体系举行分析。这样经过发送包含正确IP地点和不正确MAC地点的ICMP ECHO包给要检测的主机,要是目标主机回应了我们的请求,我们就知道其处于杂乱模式了。
  多种LINUX内核存在这种问题,其中NETBSD也可以利用这个问题来检测杂乱模式,但必要利用播送地点的信息包,这种信息包利用带伪造ether帧的IP地点,如66:66:66:66:66:66.
  关于WINDOWS95,98,NT的操纵体系在杂乱模式中确实是检查信息包ETHER地点的,要是信息包的NIC ETHER地点切合当田主机就让堆栈来处置惩罚。但WINDOWS对播送的ether信息包存在问题,在普通环境下,如呆板不在杂乱模式下,NIC只把含有起本身MAC地点的信息包或者ether地点是ff:ff:ff:ff:ff:ff传递给内核。但当在杂乱模式中驱动步伐是检查ETHER地点,但它只检查ETHER地点的第一个八未组能否为Oxff就来果断信息包能否为播送或者其他,因而要是我们创建一个包含EHTER地点为ff:00:00:00:00:00的IP正确的信息包并发送给目标呆板,要是其举行了响应的回应,就表示起处于杂乱模式。
  但对WINDOWS的这种方法是依赖于所用的驱动步伐的,默认的微软驱动步伐有此特性并且大多数供应商的驱动步伐也有此特性,但某些NIC过滤播送只是依靠第一个八为组,以是这些卡不得当此方法。
  --网络和呆板的反合时间测试(也可以说ICMP PING反合时间):
  这种模式是比力有用的测试方法,依据是靠对操纵体系的影响来测试。但其中的弊端就是这些测试会在短期内产生一些多数目的网络通讯。
  这些测试假定当网络卡不处于杂乱模式时提供硬件过滤,这样的话,信息包不是指定给本身呆板的将被网络卡丢弃。当在这中情况下,在网络通讯信息量将动态增长对操纵体系的影响很小,相反的处于杂乱形态的呆板由于不对这层举行过滤,就把这些信息传递给体系或者用户模式举行过滤,会对操纵体系产生比力大的影响。简单的说,我们先正常情况下PING一呆板,再我们构建很多伪造的TCP连接来ping步伐来ping目标,并且注意RTT(round trip time),这样处于杂乱模式的呆板由于会处置惩罚这些垃圾信息包,并影响体系并导致网络反合时间增加,然厥后比力各个RTT,经过多次测试和人工果断就能决议目标呆板上能否存在SNIFFER。
  Sentinel是根据这些方法来举行测试的步伐,是有源代码形式发放的。利用于OPENBSD 2.6 ;FREEBSD 3.X;NETBSD 1.4.1;LINUX2.2.X平台。
  编译后利用方法为:
  #./sentinel -t 192.168.0.1 -a 是ARP测试。
  #./sentinel -t 192.168.0.1 -e 是etherping test;
  #./sentinel -t 192.168.0.1 -f 1.1.1.1 -d 是DNS测试;
  #./sentinel -t 192.168.0.1 -f 1.1.1.1 -d -a -e 是容许所有模式举行测试。
 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: