本文对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
??-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]
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提供了相对更详细的内容。
zyy_hz 于 2013-06-28 13:22:08发表:
谢谢分享!
sunspotlv 于 2013-06-24 17:23:36发表:
顶一下
657129880@qq.co 于 2013-04-21 18:06:19发表:
谢谢分享!!!