Sniffer-黑客们最常用的入侵手段

Sniffer-黑客们最常用的入侵手段 

  随着Internet及电子商务的日益普及,Internet的安全也越来越受到重视。在Internet安全隐患中扮演重要角色的是Sniffer和Scanner,本文将介绍Sniffer以及如何阻止sniffer。
  大多数的黑客仅仅为了探测内部网上的主机并取得控制权,只有那些"雄心勃勃"的黑客,为了控制整个网络才会安装特洛伊木马和后门程序,并清除记录。他们经常使用的手法是安装sniffer。
  在内部网上,黑客要想迅速获得大量的账号(包括用户名和密码),最为有效的手段是使用 "sniffer" 程序。这种方法要求运行Sniffer 程序的主机和被监听的主机必须在同一个以太网段上,故而在外部主机上运行sniffer是没有效果的。再者,必须以root的身份使用sniffer 程序,才能够监听到以太网段上的数据流。
  黑客会使用各种方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。在Solaris 2.x平台上,sniffer 程序通常被安装在/usr/bin 或/dev目录下。黑客还会巧妙的修改时间,使得sniffer程序看上去是和其它系统程序同时安装的。
  大多数 "ethernet sniffer"程序在后台运行,将结果输出到某个记录文件中。黑客常常会修改ps程序,使得系统管理员很难发现运行的sniffer程序。
  "ethernet sniffer"程序将系统的网络接口设定为混合模式。这样,它就可以监听到所有流经同一以太网网段的数据包,不管它的接受者或发送者是不是运行sniffer的主机。 程序将用户名、密码和其它黑客感兴趣的数据存入log文件。黑客会等待一段时间 ----- 比如一周后,再回到这里下载记录文件。

一、什么是sniffer

  与电话电路不同,计算机网络是共享通讯通道的。共享意味着计算机能够接收到发送给其它计算机的信息。捕获在网络中传输的数据信息就称为sniffing(窃听)。
  以太网是现在应用最广泛的计算机连网方式。以太网协议是在同一回路向所有主机发送数据包信息。数据包头包含有目标主机的正确地址。一般情况下只有具有该地址的主机会接受这个数据包。如果一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为"混杂" 模式。
  由于在一个普通的网络环境中,帐号和口令信息以明文方式在以太网中传输, 一旦入侵者获得其中一台主机的root权限,并将其置于混杂模式以窃听网络数据,从而有可能入侵网络中的所有计算机。

二、sniffer工作原理 ,同上

三、 哪里可以得到sniffer

  Sniffer是黑客们最常用的入侵手段之一。你可以在经过允许的网络中运行sniffer,了解它是如何有效地危及本地机器安全。
  Sniffer可以是硬件,也可以是软件。现在品种最多,应用最广的是软件Sniffer,绝大多数黑客们用的也是软件Sniffer。
  以下是一些也被广泛用于调试网络故障的sniffer工具:
  <a> 商用sniffer:
  1. Network General.
  Network General开发了多种产品。最重要的是Expert Sniffer,它不仅仅可以sniff,还能够通过高性能的专门系统发送/接收数据包,帮助诊断故障。还有一个增强产品"Distrbuted Sniffer System"可以将UNIX工作站作为sniffer控制台,而将sniffer agents(代理)分布到远程主机上。
  2. Microsoft's Net Monitor
  对于某些商业站点,可能同时需要运行多种协议--NetBEUI、IPX/SPX、TCP/IP、802.3和SNA等。这时很难找到一种sniffer帮助解决网络问题,因为许多sniffer往往将某些正确的协议数据包当成了错误数据包。Microsoft的Net Monitor(以前叫Bloodhound)可以解决这个难题。它能够正确区分诸如Netware控制数据包、NT NetBios名字服务广播等独特的数据包。(etherfind只会将这些数据包标识为类型0000的广播数据包。)这个工具运行在MS Windows 平台上。它甚至能够按MAC地址(或主机名)进行网络统计和会话信息监视。只需简单地单击某个会话即可获得tcpdump标准的输出。过滤器设置也是最为简单的,只要在一个对话框中单击需要监视的主机即可。

  <b> 免费软件sniffer
  1. Sniffit由Lawrence Berkeley 实验室开发,运行于Solaris、SGI和Linux等平台。可以选择源、目标地址或地址集合,还可以选择监听的端口、协议和网络接口等。这个SNIFFER默认状态下只接受最先的400个字节的信息包,这对于一次登陆会话进程刚刚好。
  2. SNORT:这个SNIFFER有很多选项供你使用并可移植性强,可以记录一些连接信息,用来跟踪一些网络活动。
  3. TCPDUMP:这个SNIFFER很有名,linux,FREEBSD还搭带在系统上,是一个被很多UNIX高手认为是一个专业的网络管理工具,记得以前TsutomuShimomura(应该叫下村侵吧)就是使用他自己修改过的TCPDUMP版本来记录了KEVINMITNICK攻击他系统的记录,后来就配合FBI抓住了KEVINMITNICK,后来他写了一文:使用这些LOG记录描述了那次的攻击,HowMitnickhackedTsutomuShimomurawithanIPsequenceattack
(http://www.attrition.org/securit ... iffer/shimomur.txt)
  4. ADMsniff:这是非常有名的ADM黑客集团写的一个SNIFFER程序。
  5. linsniffer:这是一个专门设计杂一LINUX平台上的SNIFFER。
  6. Esniffer:这个也是一个比较有名的SNIFFER程序。
  7. Solsniffer:这是个Solarissniffer,主要是修改了SunSniff专门用来可以方便的在Solair平台上编译。
  8. Ethereal是一基于GTK+的一个图形化Sniffer
  9. Gobbler(for MS-DOS&Win95)、Netman、NitWit、Ethload...等等。


四、sniffer的安装使用。

  我主要以sniffit为例分别介绍在nt和linux下的应用。
  [1] 在linux下的sniffit
  <a> 安装软件的安装很简单:
  1、用tar zvfx sniffit.*.*.*.tgz将下载下来的sniffit.*.*.*.tgz解压缩到你想要的目的文件夹,如果版本是0.3.7的话,你会看到该目录下出现一个sniffit.0.3.7的目录。   
  2、cd sniffit.0.3.7
  3、./configure && make,只要在这个过程中终端上没有意外的error信息
出现,你就算编译成功了--可以得到一个二进制的sniffit文件。
  4、make clean把不用的垃圾扫掉……

  <b>、使用方法
  1、参数
  这个东东具有如下的命令选项:
  -v显示版本信息
  -t<ipnr/name>让程序去监听指定流向某IP的数据包
  -s<ipnr/name>让程序去监听从某IP流出的IP数据包,可以使用@通配符,如-t199.145.@
  -i显示出窗口界面,能察看当前在你所属网络上进行连接的机器
  -I扩展的交互模式,忽略所有其它选项,比-i强大得多……
  -c<file>利用脚本来运行程序
  -F<device>强制使程序使用网络硬盘
  -n显示出假的数据包。象使用ARP、RARP或者其他不是IP的数据包也会显示出来
  -N只运行plugin时的选项,使其它选项失效
  在-i模式下无法工作的参数:
  -b同时做-t和-s的工作……
  -d将监听所得内容显示在当前终端--以十六进制表示
  -a将监听所得内容显示在当前终端--以ASCII字符表示
  -x打印TCP包的扩展信息(SEQ,ACK,Flags),可以与'-a','-d','-s','-t','-b'一起运作,注意-- 它是输出在标准输出的,如果只用-t,-s,-b 而没有其它参数配合的话不会被写入文件。
  -R<file>将所有通信记录在文件中
  -r<file>这一选项将记录文件送往sniffit,它需要-F的参数配合指明设备,假设你用'eth0'(第一块网卡)来记录文件,你必须在命令行里面加上'-Feth0'或者'或者'或者'或者'或者'-Feth'-A遇到不认识的字符时用指定的字符代替-P<protocol>定义监听的协议,DEFAULT为TCP--也可以选IP、ICMP、UDP……
  -p<prot>定义监听端口,默认为全部
  -l<length>设定数据包大小,default是300字节。
  -M<plugin>激活插件
  -I,-i模式下的参数
  -D<device>所有的记录会被送到这个磁盘上。
  -c模式下的参数
  -L<logparam>
  其中logparam可以是如下的内容:
  raw:轻度
  norm:常规
  telnet:记录口令(端口23)
  ftp:记录口令(端口21)
  mail:记录信件内容(端口25)
  比如说"ftpmailnorm"就是一个合法的logparam

  2、图形仿真界面
  就是上面所说的-i选项啦,我们输入sniffit-i会出现一个窗口环境,从中可以看到自己所在的网络中有哪些机器正在连接,使用什么端口号,其中可用的命令如下:
  q退出窗口环境,结束程序
  r刷新屏幕,重新显示正在在连线的机器
  n产生一个小窗口,包括TCP、IP、ICMP、UDP等协议的流量
  g产生数据包,正常情况下只有UDP协议才会产生,执行此命令要回答一些
  关于数据包的问题
  F1改变来源网域的IP地址,默认为全部
  F2改变目的网域的IP地址,默认为全部
  F3改变来源机器的端口号,默认为全部
  F4改变目的机器的端口号,默认为全部

  <c>、一些示例

  假设有以下的设置:在一个子网中有两台主机,一台运行了sniffer,我们称之为sniffit.com,另一台是66.66.66.7,我们称之为target.com。
  <1>你希望检查sniffer是否能运行sniffit:~/#sniffit-d-p7-t66.66.66.7 并且开另一个窗口:
  sniffit:~/$telnettarget.com7
  你可以看到sniffer将你telnet到对方7号端口echo服务的包捕获了。
  <2>你希望截获target.com上的用户密码
  sniffit:~/#sniffit-p23-t66.66.66.7
  <3>target.com主机的根用户声称有奇怪的FTP连接并且希望找出他们的击键
  sniffit:~/#sniffit-p21-l0-t66.66.66.7
  <4>你希望能阅读所有进出target.com的信件
  sniffit:~/#sniffit-p25-l0-b-t66.66.66.7&或者sniffit:~/#sniffit-p25-l0-b-s66.66.66.7&
  <5>你希望使用用户交互界面
  sniffit:~/#sniffit-i
  <6>有错误发生而且你希望截获控制信息
  sniffit:~/#sniffit-Picmp-b-s66.66.66.7
  <7>Gowildonscrollingthescreen.
  sniffit:~/#sniffit-Pip-Picmp-Ptcp-p0-b-a-d-x-s66.66.66.7
  与之效果相当的是sniffit:~/#sniffit-Pipicmptcp-p0-b-a-d-x-s66.66.66.7
  <8>你可以用'more66*'读取下列方式记录下的密码
  sniffit:~/#sniffit-p23-A.-t66.66.66.7或者sniffit:~/#sniffit-p23-A^-tdummy.net

  <d>、高级应用

  1、用脚本执行
  这是配合选项-c的,其执行方法也很简单,比如以如下方式编辑一个叫sh的文件
  selectfromhost180.180.180.1
  selecttohost180.180.180.10
  selectbothport21
  然后执行:sniffit-csh
  说明:监听从180.180.180.1送往180.180.180.10的数据包,端口为FTP口。这里不做更多说明,你可以自己去看里面的README。
  2、插件
  要获取一个插件是很简单的,你将它放入sniffit的目录下,并且象如下方式编辑sn_plugin.h文件:
  #define PLUGIN1_NAME "Myplugin"
  #define PLUGIN1(x) main_plugin_function(x)
  #include "my_plugin.plug"
  注意:
  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不行,它们已经被定义过了……

(本文拷贝自http://bbs.wish365.com/thread-37436-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值