嗅探网络中传输的TFTP配置文件就像监听其他任何UDP端口69(TFTP服务默认端口)上传输的流量一样简单。可以应用各种抓包工具来获取这些信息。如"枚举TFTP服务器"部分中,这个过程只需要了解配置文件的真实文件名。应用tcpdump或者Wireshark(即以前的Ethereal),可以相当容易地完成此类操作。
- tcpdump dst port 69
- tcpdump: listening on eth0
- 02:43:18.899478 192.168.1.55.20000 > 192.168.1.103.tftp:
- 22 RRQ "unidencom.txt"
- 02:43:19.028863 192.168.1.55.19745 > 192.168.1.103.tftp:
- 31 RRQ "uniden00e011030397.txt"
- 02:43:37.878042 192.168.1.52.51154 > 192.168.1.103.tftp:
- 31 RRQ "CTLSEP001562EA69E8.tlv" [tos 0x10]
- 02:43:37.899329 192.168.1.52.51155 > 192.168.1.103.tftp:
- 32 RRQ "SEP001562EA69E8.cnf.xml" [tos 0x10]
- 02:43:37.919054 192.168.1.52.51156 > 192.168.1.103.tftp:
- 28 RRQ "SIP001562EA69E8.cnf" [tos 0x10]
- 02:43:37.968715 192.168.1.52.51157 > 192.168.1.103.tftp:
- 23 RRQ "SIPDefault.cnf" [tos 0x10]
- 02:43:38.017358 192.168.1.52.51158 > 192.168.1.103.tftp:
- 30 RRQ "./SIP001562EA69E8.cnf" [tos 0x10]
- 02:43:38.058998 192.168.1.52.51159 > 192.168.1.103.tftp:
- 27 RRQ "P0S3-07-5-00.loads" [tos 0x10]
- 02:43:56.777846 192.168.1.52.50642 > 192.168.1.103.tftp:
- 23 RRQ "SIPDefault.cnf" [tos 0x10]
- 02:43:56.943568 192.168.1.52.50643 > 192.168.1.103.tftp:
- 30 RRQ "./SIP001562EA69E8.cnf" [tos 0x10]
- 02:43:59.031713 192.168.1.52.50651 > 192.168.1.103.tftp:
- 21 RRQ "RINGLIST.DAT" [tos 0x10]
- 02:43:59.432906 192.168.1.52.50652 > 192.168.1.103.tftp:
- 21 RRQ "dialplan.xml" [tos 0x10]
如上可见,现在就知道了TFTP服务器上的配置文件的名称。于是,我们就可以从容地从TFTP服务器、应用Linux或者Windows的命令行直接下载这些文件。
- % tftp 192.168.1.103
- tftp> get SIP001562EA69E8.cnf
很多配置文件包含着敏感信息,如明文方式保存的用户名和密码。
TFTP嗅探对策
由于TFTP天生的不安全性,没有什么方法可以来保障这种通信方式的安全。可以采用的一个方法是为电话和TFTP服务器的通信创建一个单独的VLAN。这种方法的前提是TFTP服务器只为这些电话提供关于配置文件的服务。另外,应用防火墙ACL确保只有合法的IP地址段(如电话的DHCP IP地址段)能够访问TFTP服务器也能提高安全性。
【编辑推荐】