Linux环境下黑客常用嗅探器分析

  • 来源: 驱动中国 作者: xuqingzhong   2008-07-16/14:58
  •  

     

     

        本文对Linux环境下黑客常常使用的几种嗅探器进行详细的分析,这些嗅探器往往被入侵者完成入侵以后种植在受害者服务器当中。这些嗅探器各自有不同的特点,有的只是简单的用来捕捉用户名和密码,有的则非常强大可记录所有的网络数据流。本文将对几种嗅探器进行分析。

    linsniffer
    linuxsniffer
    hunt
    sniffit
    2.linsniffer
    linsniffer是一个简单实用的嗅探器。它主要的功能特点是用来捕捉用户名和密码,它在这方面非常出色。
    ??作者:Mike Edulla
    ??条件: C和IP头文件
    ??配置文件:无
    ??位置: http://agape.trilidun.org/hack/network-sniffers/linsnifferc
    ??安全历史: 无
    注: 易于使用。但是lnsniffer需要完整的IP头文件,包括常常存储在/usr/include/net和 /usr/include/netinet的头文件,在编译前确保PATH变量包含/usr/include。
    使用下面的命令来编译lnsniffer:
    ??$cc linsniffer.c -o linsniffer
    要运行linsniffer,使用下面的命令:
    ??$linsniffer
    启动以后linsniffer将创建一个空文件:tcp.log来存储嗅探结果。
    在测试中我创建一个名为hapless的用户,密码为unaware。然后使用该用户来登录Linux服务器,并进行一些常见的用户操作。下面是进行的一次ftp过程:
    ??GNSS $ ftp 192.168.0.2
    ??Connected to 192.168.0.2.
    ??220 linux.test.net FTP server Wed Aug 19 02:55:52 MST 1998) ready.
    ??Name (192.168.0.2:root): hapless
    ??331 Password required for hapless.
    ??Password:
    ??230 User hapless logged in.
    ??Remote system type is UNIX.
    ??Using binary mode to transfer files.
    ??ftp> ls -al
    ??200 PORT command successful.
    ??150 Opening ASCII mode data connection for /bin/ls.
    ??total 14
    ??drwxrwxr-x 4 hapless hapless 1024 May 20 19:35 .
    ??drwxr-xr-x 6 root root 1024 May 20 19:28 ..
    ??-rw-rw-r-- 1 hapless hapless 96 May 20 19:56 .bash_history
    ??-rw-r--r-- 1 hapless hapless 49 Nov 25 1997 .bash_logout
    ??-rw-r--r-- 1 hapless hapless 913 Nov 24 1997 .bashrc
    ??-rw-r--r-- 1 hapless hapless 650 Nov 24 1997 .cshrc
    ??-rw-r--r-- 1 hapless hapless 111 Nov 3 1997 .inputrc
    ??-rwxr-xr-x 1 hapless hapless 186 Sep 1 1998 .kshrc
    ??-rw-r--r-- 1 hapless hapless 392 Jan 7 1998 .login
    ??-rw-r--r-- 1 hapless hapless 51 Nov 25 1997 .logout
    ??-rw-r--r-- 1 hapless hapless 341 Oct 13 1997 .profile
    ??-rwxr-xr-x 1 hapless hapless 182 Sep 1 1998 .profile.ksh
    ??drwxr-xr-x 2 hapless hapless 1024 May 14 12:16 .seyon
    ??drwxr-xr-x 3 hapless hapless 1024 May 14 12:15 lg
    ??226 Transfer complete.
    ??ftp> ls
    ??200 PORT command successful.
    ??150 Opening ASCII mode data connection for /bin/ls.
    ??total 14
    ??drwxrwxr-x 4 hapless hapless 1024 May 20 19:35 .
    ??drwxr-xr-x 6 root root 1024 May 20 19:28 ..
    ??-rw-rw-r-- 1 hapless hapless 96 May 20 19:56 .bash_history
    ??-rw-r--r-- 1 hapless hapless 49 Nov 25 1997 .bash_logout
    ??-rw-r--r-- 1 hapless hapless 913 Nov 24 1997 .bashrc
    ??-rw-r--r-- 1 hapless hapless 650 Nov 24 1997 .cshrc
    ??-rw-r--r-- 1 hapless hapless 111 Nov 3 1997 .inputrc
    ??-rwxr-xr-x 1 hapless hapless 186 Sep 1 1998 .kshrc
    ??-rw-r--r-- 1 hapless hapless 392 Jan 7 1998 .login
    ??-rw-r--r-- 1 hapless hapless 51 Nov 25 1997 .logout
    ??-rw-r--r-- 1 hapless hapless 341 Oct 13 1997 .profile
    ??-rwxr-xr-x 1 hapless hapless 182 Sep 1 1998 .profile.ksh
    ??drwxr-xr-x 2 hapless hapless 1024 May 14 12:16 .seyon
    ??drwxr-xr-x 3 hapless hapless 1024 May 14 12:15 lg
    ??226 Transfer complete.
    ??ftp> ls -F
    ??200 PORT command successful.
    ??150 Opening ASCII mode data connection for /bin/ls.
    ??total 14
    ??drwxrwxr-x 4 hapless hapless 1024 May 20 19:35 ./
    ??drwxr-xr-x 6 root root 1024 May 20 19:28 ../
    ??rw-rw-r-- 1 hapless hapless 96 May 20 19:56 .bash_history
    ??-rw-r--r-- 1 hapless hapless 49 Nov 25 1997 .bash_logout
    ??-rw-r--r-- 1 hapless hapless 913 Nov 24 1997 .bashrc
    ??-rw-r--r-- 1 hapless hapless 650 Nov 24 1997 .cshrc
    ??-rw-r--r-- 1 hapless hapless 111 Nov 3 1997 .inputrc
    ??-rwxr-xr-x 1 hapless hapless 186 Sep 1 1998 .kshrc*
    ??-rw-r--r-- 1 hapless hapless 392 Jan 7 1998 .login
    ??-rw-r--r-- 1 hapless hapless 51 Nov 25 1997 .logout
    ??-rw-r--r-- 1 hapless hapless 341 Oct 13 1997 .profile
    ??-rwxr-xr-x 1 hapless hapless 182 Sep 1 1998 .profile.ksh*
    ??drwxr-xr-x 2 hapless hapless 1024 May 14 12:16 .seyon/
    ??drwxr-xr-x 3 hapless hapless 1024 May 14 12:15 lg/
    ??226 Transfer complete.
    ??ftp> cd lg
    ??250 CWD command successful.
    ??ftp> ls -F
    ??200 PORT command successful.
    ??150 Opening ASCII mode data connection for /bin/ls.
    ??total 8
    ??drwxr-xr-x 3 hapless hapless 1024 May 14 12:15 ./
    ??drwxrwxr-x 4 hapless hapless 1024 May 20 19:35 ../
    ??rw-r--r-- 1 hapless hapless 70 Aug 22 1998 lg3_colors
    ??-rw-r--r-- 1 hapless hapless 629 Aug 22 1998 lg3_prefs #p#分页标题#e#
    ??-rw-r--r-- 1 hapless hapless 728 Aug 22 1998 lg3_soundPref
    ??-rw-r--r-- 1 hapless hapless 2024 Aug 22 1998 lg3_startup
    ??drwxr-xr-x 2 hapless hapless 1024 May 14 12:15 lg_layouts/
    ??226 Transfer complete.
    ??ftp> cd lg_layouts
    ??250 CWD command successful.
    这是一个典型的用户操作过程。现在我们看看linsniffer产生的嗅探结果:
    ??gnss => linux.test.net [21]
    ??USER hapless
    ??PASS unaware
    ??SYST
    ??PORT 172,16,0,1,4,192
    ??LIST -al
    ??PORT 172,16,0,1,4,193
    ??LIST
    ??PORT 172,16,0,1,4,194
    ??LIST -F
    ??CWD lg
    ??PORT 172,16,0,1,4,195
    ??LIST -F
    输出的内容是很直观的。首先它记录这是从GNSS到Linux主机的FTP连接:
    ??gnss => linux.test.net [21]
    然后,linsniffer捕获了hapless的用户名和密码。
    ??USER hapless
    ??PASS unaware
    最后,linsniffer记录了hapless使用的每一个命令:
    ??SYST
    ??PORT 172,16,0,1,4,192
    ??LIST -al
    ??PORT 172,16,0,1,4,193
    ??LIST
    ??PORT 172,16,0,1,4,194
    ??LIST -F
    ??CWD lg
    ??PORT 172,16,0,1,4,195
    ??LIST -F
    输出结果非常简介并且非常适于窃听密码及记录常见的活动。但是不适合于进行更加复杂的分析。这时候你也许会需要linux_sniffe。
    3.linux_sniffer
    linux_sniffer提供相对更复杂的探测结果。
    ??作者:loq
    ??要求:C和IP头文件
    ??配置文件:无
    ??下载位置: http://www.ryanspc.com/sniffers/linux_sniffer.c.
    ??安全历史:无
    注意:linux_sniffer易于使用,但是需要完全的IP头文件。
    使用下面命令编译linux_sniffer:
    ??$cc linux_sniffer.c -o linuxsniff
    下面是一次telnet会话过程,同时被linux_sniffer记录:
    ??GNSS 2# telnet 192.168.0.1
    ??Connected to 192.168.0.1.
    ??login: hapless
    ??password:
    ??[hapless@linux2 hapless]$ w
    ?? 19:55:29 up 58 min, 4 users, load average: 0.00, 0.00, 0.00
    ??USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    ??root tty1 7:44pm 27.00s 0.17s 0.06s -bash
    ??root tty2 7:46pm 1:56 0.24s 0.01s linuxsniff
    ??root tty3 7:44pm 10:43 0.17s 0.07s -bash
    ??hapless ttyp0 gnss 7:55pm 1.00s 0.26s 0.04s w
    ??[hapless@linux2 hapless]$ who
    ??root tty1 May 20 19:44
    ??root tty2 May 20 19:46
    ??root tty3 May 20 19:44
    ??hapless ttyp0 May 20 19:55 (gnss)
    ??[hapless@linux2 hapless]$ finger -l
    ??Login: root Name: root
    ??Directory: /root Shell: /bin/bash
    ??On since Thu May 20 19:44 (PDT) on tty1 35 seconds idle
    ??On since Thu May 20 19:46 (PDT) on tty2 2 minutes 4 seconds idle
    ??On since Thu May 20 19:44 (PDT) on tty3 10 minutes 51 seconds idle
    ??No mail.
    ??No Plan.
    ??Login: hapless Name: Caldera OpenLinux User
    ??Directory: /home/hapless Shell: /bin/bash
    ??On since Thu May 20 19:55 (PDT) on ttyp0 from gnss
    ??No mail.
    ??No Plan.
    同样这是一次典型的登录过程:用户登录,检测哪些用户在登录等等。linux_sniffer记录额外的地址数据,但是同样记录了一些重要的数据。首先它记录了连接:
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 ff fc 27 - ..'
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 ff fa 1f 00 50 00 28 ff - f0 ....P.(..
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 ff fa 20 00 33 38 34 30 - 30 2c 33 38 34 30 30 ff
    .. .38400,38400.
    0010 f0 ff fa 23 00 47 4e 53 - 53 3a 30 2e 30 ff f0 ff
    ...#.GNSS:0.0...
    0020 fa 18 00 49 52 49 53 2d - 41 4e 53 49 2d 4e 45 54
    ...IRIS-ANSI-NET
    0030 ff f0 - ..
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 ff fc 01 - ...
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 ff fd 01 - ...
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    随后,linux_sniffer记录了登录过程,下面用黑体表示:
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 68 - h
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 61 - a
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 70 - p
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 6c - l
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23] #p#分页标题#e#
    0000 65 - e
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 73 - s
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 73 - s
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 0d 00 - ..
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 75 - u
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 6e - n
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 61 - a
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 77 - w
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 61 - a
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 72 - r
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 65 - e
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    最后,linux_sniffer记录了所有的命令:
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 77 - w
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 0d 00 - ..
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 77 - w
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 68 - h
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 6f - o
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 0d 00 - ..
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 66 - f
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 69 - i
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 6e - n
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 67 - g
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 65 - e
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    0000 72 - r
    eth
    proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
    可以看到,linux_sniffer提供了相对更详细的内容。
    4.hunt
    hunt在你需要易于读取的结果室的另外一种选择。它具有直观的命令追踪和会话监录功能。 #p#分页标题#e#
    ??作者:Pavel Krauz
    ??条件: C, IP头, Linux 2.0.35+, 支持LinuxThreads的GlibC 2.0.7
    ??配置文件:无
    ??位置:http://www.cri.cz/kra/index.html
    ??安全历史:无
    注:作者提供有动态链接和静态连接的二进制发布。
    hunt是以tar.gz的格式发布的,文件名为hunt-1_3bin.tgz。首先需要解压缩:
    ??$tar xvfz hunt-1_3bin.tgz
    则hunt被解压缩到新创建的目录hunt-1.3种,包括以下内容:
    ??-rw-r--r-- 1 206 users 1616 Apr 2 03:54 CHANGES
    ??-rw-r--r-- 1 206 users 17983 Oct 25 1998 COPYING
    ??-rw-r--r-- 1 206 users 312 Jan 16 04:54 INSTALL
    ??-rw-r--r-- 1 206 users 727 Feb 21 11:22 Makefile
    ??-rw-r--r-- 1 206 users 27373 Feb 15 12:44 README
    ??-rw-r--r-- 1 206 users 167 Dec 4 14:29 TODO
    ??-rw-r--r-- 1 206 users 5067 Feb 13 04:23 addpolicy.c
    ??-rw-r--r-- 1 206 users 7141 Feb 21 23:44 arphijack.c
    ??-rw-r--r-- 1 206 users 25029 Apr 2 03:26 arpspoof.c
    ??drwxr-xr-x 2 206 users 1024 Apr 9 02:03 c
    ??-rw-r--r-- 1 206 users 7857 Nov 9 1998 hijack.c
    ??-rw-r--r-- 1 206 users 5066 Dec 2 12:55 hostup.c
    ??-rwxr-xr-x 1 206 users 84572 Apr 9 02:03 hunt
    ??-rw-r--r-- 1 206 users 24435 Apr 2 03:26 hunt.c
    ??-rw-r--r-- 1 206 users 16342 Mar 30 01:56 hunt.h
    ??-rwxr-xr-x 1 206 users 316040 Apr 9 02:03 hunt_static
    ??-rw-r--r-- 1 root root 265 May 20 22:22 huntdir.txt
    ??-rw-r--r-- 1 root root 2517 May 20 22:19 huntlog.txt
    ??-rw-r--r-- 1 206 users 6249 Feb 21 11:21 macdisc.c
    ??-rw-r--r-- 1 206 users 12105 Feb 21 11:35 main.c
    ??-rw-r--r-- 1 206 users 12000 Feb 6 02:27 menu.c
    ??-rw-r--r-- 1 206 users 7432 Apr 2 03:53 net.c
    ??-rw-r--r-- 1 206 users 5799 Feb 11 04:21 options.c
    ??-rw-r--r-- 1 206 users 11986 Feb 14 04:59 resolv.c
    ??-rw-r--r-- 1 206 users 1948 Oct 25 1998 rst.c
    ??-rw-r--r-- 1 206 users 9545 Mar 30 01:48 rstd.c
    ??-rw-r--r-- 1 206 users 21590 Apr 2 03:58 sniff.c
    ??-rw-r--r-- 1 206 users 14466 Feb 21 12:04 synchijack.c
    ??-rw-r--r-- 1 206 users 2692 Feb 19 00:10 tap.c
    ??-rw-r--r-- 1 206 users 4078 Feb 15 05:31 timer.c
    ??-rw-r--r-- 1 206 users 2023 Oct 25 1998 tty.c
    ??-rw-r--r-- 1 206 users 7871 Feb 11 02:58 util.c
    静态二进制发布为hunt_static,推荐使用该版本,因为有时候从源代码编译可能会出现缺少一些库的错误。使用下面命令来执行hunt:
    ??$hunt_static
    运行hunt你将惊奇地发现hunt是基于curse的,因此有非常友好的交互界面。启动以后菜单如下所示:
    ??--- Main Menu --- rcvpkt 0, free/alloc 63/64 ------
    ??l/w/r) list/watch/reset connections
    ??u) host up tests
    ??a) arp/simple hijack (avoids ack storm if arp used)
    ??s) simple hijack
    ??d) daemons rst/arp/sniff/mac
    ??o) options
    ??x) exit
    ??* >
    在整个例子中,我将从GNSS登录到linux.test.net中进行测试。
    ??GNSS 3% telnet 192.168.0.2
    ??Trying 192.168.0.2...
    ??Connected to 192.168.0.2.
    ??Escape character is '^]'.
    ??
    ??Caldera OpenLinux(TM)
    ??Version 1.3
    ??Copyright 1996-1998 Caldera Systems, Inc.
    ??
    ??login:
    ??[hapless@linux hapless]$ finger root
    ??Login: root Name: root
    ??Directory: /root Shell: /bin/bash
    ??On since Thu May 20 21:57 (PDT) on tty1 1 minute idle
    ??On since Thu May 20 22:02 (PDT) on tty2 7 minutes 19 seconds idle
    ??On since Thu May 20 21:59 (PDT) on tty3 15 seconds idle
    ??No mail.
    ??No Plan.
    ??[hapless@linux hapless]$ last root
    ??root tty2 Thu May 20 22:02 still logged in
    ??root tty3 Thu May 20 21:59 still logged in
    ??root tty1 Thu May 20 21:57 still logged in
    ??root tty2 Thu May 20 19:46 - down (00:26)
    ??root tty1 Thu May 20 19:44 - 20:12 (00:27)
    ??root tty3 Thu May 20 19:44 - down (00:28)
    ??root tty3 Thu May 20 19:42 - 19:44 (00:01)
    ??root tty1 Thu May 20 19:41 - 19:42 (00:00)
    ??root tty3 Thu May 20 19:28 - 19:41 (00:12)
    ??root tty2 Thu May 20 19:11 - 19:42 (00:31)
    ??root tty1 Thu May 20 19:07 - 19:40 (00:32)
    ??root tty1 Thu May 20 18:57 - 19:07 (00:09)
    ??root tty1 Mon May 17 22:32 - down (00:29)
    最后检查了/etc/passwd,在整个过程中都运行有hunt进行嗅探:
    ??--- Main Menu --- rcvpkt 0, free/alloc 63/64 ------
    ??l/w/r) list/watch/reset connections
    ??u) host up tests
    ??a) arp/simple hijack (avoids ack storm if arp used)
    ??s) simple hijack
    ??d) daemons rst/arp/sniff/mac
    ??o) options
    ??x) exit
    ??*> w
    ??0) 192.168.0.1 [1049] --> 192.168.0.2 [23]
    ??choose conn> 0
    ??dump [s]rc/[d]st/oth > b
    注:上面的输入(黑色字体部分)指示hunt来记录0号连接,并输出源和目的信息。
    则hunt将显示hapless的所有活动信息到终端屏幕上:
    ??22:18:43 up 21 min, 4 users, load average: 0.00, 0.01, 0.00
    ??TRL-C to break
    ??hhaapplleessss
    ??Password: unaware
    ??[hapless@linux2 hapless]$ cclleeaarr #p#分页标题#e#
    ??[hapless@linux2 hapless]$ wwhhoo
    ??root tty1 May 20 21:57
    ??ww
    ??22:18:43 up 21 min, 4 users, load average: 0.00, 0.01, 0.00
    ??
    ??[hapless@linux2 hapless]$ mmoorree //eettcc//ppaasssswwdd
    ??root:x:0:0:root:/root:/bin/bash
    ??bin:x:1:1:bin:/bin:
    ??daemon:x:2:2:daemon:/sbin:
    ??adm:x:3:4:adm:/var/adm:
    ??lp:x:4:7:lp:/var/spool/lpd:
    ??sync:x:5:0:sync:/sbin:/bin/sync
    ??shutdown:x:6:11:shutdown:/sbin:/sbin/shutdown
    ??halt:x:7:0:halt:/sbin:/sbin/halt
    ??mail:x:8:12:mail:/var/spool/mail:
    ??news:x:9:13:news:/var/spool/news:
    ??uucp:x:10:14:uucp:/var/spool/uucp:
    ??operator:x:11:0:operator:/root:
    ??games:x:12:100:games:/usr/games:
    ??gopher:x:13:30:gopher:/usr/lib/gopher-data:
    ??ftp:x:14:50:FTP User:/home/ftp:
    ??man:x:15:15:Manuals Owner:/:
    ??majordom:x:16:16:Majordomo:/:/bin/false
    ??postgres:x:17:17:Postgres User:/home/postgres:/bin/bash
    ??nobody:x:65534:65534:Nobody:/:/bin/false
    ??anon:x:100:100:Anonymous:/home/anon:/bin/bash
    ??hapless:x:500:500:Caldera OpenLinux User:/home/hapless:/bin/bash
    ??[hapless@linux2 hapless]$
    可以的看到,hunt的输出非常直观明了,易于阅读。然而hunt还提供有以下工具:
    允许指定任意一个感兴趣的连接,而不是记录所有的东西。
    允许指定任意一个连接,而不仅仅是以SYN刚刚开始的连接。It offers spoofing tools.
    提供活动会话劫持。
    其特有的特色功能和易于使用的界面,使得它对于linux入门者是一个非常好的选择。
    5.sniffit
    sniffit是针对哪些需要了解更多信息的人的。
    ??作者:Brecht Claerhout
    ??条件:C, IP 头文件
    ??配置文件:见后面的讨论
    ??安全历史:无
    注:sniffit功能非常强大,但是不易学习使用。
    ??$tar xvfz sniffit_0_3_7.tar.gz
    ??$./configure (配置命令将检测系统是否符合要求)
    ??$make (编译源代码)
    ??strip sniffit (精简二进制代码的大小)
    现在就可以使用sniffit了(sniffit的配置我们最后讨论)。
    语法:
    ??sniffit [-xdabvnN] [-P proto ] [-A char ] [-p port ] [(-r|-R) recordfile ] [-l sniflen ] [-L logparam ] [-F snifdevice ] [-D tty ] [-M plugin ] [(-t Target-IP | -s Source-IP ) | (-i|-I) | -c config-file ]
    sniffit是一个TCP/IP/ICMP协议数据报监听器,其能给出关于这些协议数据报非常详细的技术信息(SEQ,ACK,TTL,Windows,....)及符合监听条件的数据报的各种不同的格式(hex或纯文本)
    sniffit缺省的可以处理以太和PPP设备。但是也可以用在其他的设备上(参见README.FIRST和sn_config.h)。sniffit可以进行方便的配置实现对接入的数据报进行过滤。而配置文件允许非常确定地指定需要处理的数据报。 sniffit同样有一个交互式界面。
    选项:
    ??-v
    ??显示版本信息
    ??-t 目标地址
    只处理目的地址为"目标地址"的数据,和 '-s' '-c' '-v' 选项不兼容
    ??源地址
    只处理发送地址为"源地址"的数据,和'-t' '-c' '-v' 选项不兼容
    ??-c 配置文件
    在配置文件中对包过滤规则进行定义,和-t' '-s' '-v'不兼容
    ??-R 文件
    将输出结果记录到"文件"中(和'-v'不兼容)
    ??-n
    关闭IP数据报校验,使伪造的数据也可以显示出来
    ??-x
    打印TCP数据报的扩展信息到标准输出中((SEQ,ACK, Flags等),往往用来跟踪欺骗,包丢失及实现其他的网络调试测试任务。和'-i' 'I' '-v'不兼容
    ??-d
    输出到缺省的文件中,一般文件名为源目的地址的组合如:192.168.0.232.1120-192.168.0.231.80
    ??-a
    输出ascII码格式,不可打印的字符用”.”表示
    ??-P 协议
    指定需要处理的数据的协议类型,IP,TCP,ICMP,UDP等。
    ??-p 端口
    只处理目的端口为"端口"的数据。
    ??-l sniflen
    在正常模式下,记录的数据的总和(缺省为300字节),每次的连接的前sniflen个字节被记录下来。
    ??-F device
    指定监听某个设备的数据如eth0,eth1等
    ??-D tty
    所有的记录信息都被输出到指定的tty
    举例:
    要监听从192.168.0.233发往192.168.0.231的访问WWW请求数据:
    ??[root@lix /tmp]#/usr/sbin/sniffit -p 80 -P TCP -s 192.168.0.233 -d ttyp1
    ??Packet ID (from_IP.port-to_IP.port): 192.168.0.233.1060-192.168.0.231.80
    ????45 00 00 2C 6D 0B 40 00 80 06 0A A0 C0 A8 00 E9 C0 A8 00 E7 04 24 00 50 00 4E
    ????89 2A 00 00 00 00 60 02 20 00 67 19 00 00 02 04 05 B4
    注:192.168.0.231为一台运行linux的服务器
    如果希望将输出定向到一个文件,则
    ??[root@lix /tmp]# /usr/sbin/sniffit -p 80 -P TCP -s 192.168.0.233 -R /tmp/wwwlog
    如果希望查看从192.168.0.231返回给192.168.0.225的www页面数据,并且将数据存储在一个文件/tmp/wwwlog中:
    ??[root@lix /tmp]# /usr/sbin/sniffit -P TCP -t 192.168.0.225 -R /tmp/wwwlog
    注:在225上不要开别的到231的连接,如telnet 否则 数据就回混杂在一起。
    如果希望查看从192.168.0.233发给192.168.0.231的ICMP数据,并且将其显示到控制台上:
    ??[root@lix /tmp]# /usr/sbin/sniffit -P ICMP -t 192.168.0.233 -d ttyp1
    sniffit支持配置文件,通过配置文件可以提供更强大的嗅探控制。配置文件格式包含五个不同的字段,意义分别如下:
    字段 1—select 或 deselect。指示sniffit捕捉后面条件指定的数据或者不捕捉。
    字段 2—from, to, 或 both。 H指示sniffit捕捉来自、发往或双向的指定的主机的数据。 #p#分页标题#e#
    字段 3—host, port, or mhost。指定一个或多个目标主机。mhost可以用来指定多个主机,如192.168.0。
    字段 4—hostname, port number, or multiple-host 列表。
    字段 5—端口号。
    例如:
    ??select from host 192.168.0.1
    ??select from host 192.168.0.1 80
    ??select both port 23
    sniffit将捕捉来自两个主机的telnet和www的所有信息。
    ??select both mhosts 100.100.12.
    ??deselect both port 80
    ??select both host 100.100.12.2
    sniffit将捕捉100.100.12.*相关除www以外的所有数据,但是显示100.100.12.2的www数据。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多