网络扫描:文件共享服务
文件共享是指主动在网络上共享自己的计算机文件,最常见的文件共享服务有AFP和NFS等。本文介绍对文件共享服务实施扫描的方法。
1. 苹果AFP服务
AFP服务是基于TCP协议工作的,其工作在TCP的548端口。我们可以借助Nmap的afp-serverinfo脚本来获取对应的服务信息。获取的信息包括服务器的主机名、IPv4和IPv6地址及硬件类型。使用该脚本的语法格式如下:
nmap -sV --script=afp-serverinfo.nse [--script-args=afp.password=password,afp.username=username]
该脚本可使用的参数及含义如下。
afp.password:指定AFP服务认证的密码。
afp.username:指定AFP服务认证的用户名。
实施AFP服务扫描。执行命令如下:
root@daxueba:~# nmap -sV -p548 --script=afp-serverinfo.nse 208.83.1.237
Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-10 14:57 CST
Nmap scan report for 208.83.1.237
Host is up (0.32s latency).
PORT STATE SERVICE VERSION
548/tcp open afp Apple AFP (name: training-mac; protocol 3.4; VMware 7.1)
| afp-serverinfo:
| Server Flags: #服务标志
| Flags hex: 0x9ff3 #十六进制值
| Super Client: true #超级客户端
| UUIDs: true #UUID
| UTF8 Server Name: true #UTF-8服务名
| Open Directory: true #打开的目录
| Reconnect: true #重新连接
| Server Notifications: true #服务通知
| TCP/IP: true #TCP/IP
| Server Signature: true #服务签名
| Server Messages: false #服务消息
| Password Saving Prohibited: false #禁止保存密码
| Password Changing: true #修改密码
| Copy File: true #复制文件
| Server Name: training-mac #服务名
| Machine Type: VMware7,1 #主机类型
| AFP Versions: AFP3.4, AFP3.3, AFP3.2, AFP3.1, AFPX03 #AFP版本
| UAMs: DHCAST128, DHX2, Recon1, Client Krb v2, GSS #安全策略
| Server Signature: 564d26a7799b0b7776d7ac94e7314059 #服务签名
| Directory Names: #目录名称
| afpserver/training-mac.local@LOCAL
|_ UTF8 Server Name: training-mac #UTF-8服务名
Service Info: OS: Mac OS X; CPE: cpe:/o:apple:mac_os_x
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 29.38 seconds
从输出信息中可以看到获取到AFP服务的相关信息。例如,服务名为training-mac、主机类型为VMware7,1、AFP版本为AFP 3.4、AFP 3.3、AFP 3.2、AFP 3.1和AFP X03等。
2. 苹果DAAP服务
DAAP服务是基于TCP协议工作的服务,其工作在TCP的3689端口。我们可以借助daap-get-library.nse脚本来实施扫描,该脚本通过从DAAP服务中获取音乐列表,该列表包括艺人名字、专辑和歌曲标题。使用该脚本实施DAAP服务扫描的语法格式如下:
nmap -p 3689 --script=daap-get-library [--script-args=daap_item_limit=number]
其中,daap_item_limit用于设置输出的歌曲数,默认是100。
实施苹果DAAP服务扫描。执行命令如下:
root@daxueba:~# nmap -p 3689 --script=daap-get-library.nse 182.245.41.110
Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-10 15:06 CST
Nmap scan report for 182.245.41.110
Host is up (0.090s latency).
PORT STATE SERVICE
3689/tcp open rendezvous
| daap-get-library:
| Abby-cloud-ex2
| unknown
| unknown
| \xE7\x90\xB4\xE9\x9F\xB5\xE8\x8C\xB6\xE5\xBF\x83\xE8\x83\x8C\
xE6\x99\xAF\xE9\x9F\xB3\xE4\xB9\x901.mp3 #歌曲名
| \xE7\x90\xB4\xE9\x9F\xB5\xE8\x8C\xB6\xE5\xBF\x83\xE8\x83\x8C\xE6\x99\xAF\xE9\x9F\xB3\xE4\xB9\x9011\xE5\x88\x86.mp3 #歌曲名
| \xE7\x8E\x8B\xE8\x8F\xB2
| \xE5\xB9\xBD\xE5\x85\xB0\xE6\x93\x8D
| \xE5\xB9\xBD\xE5\x85\xB0\xE6\x93\x8D
|_Output limited to 100 items
Nmap done: 1 IP address (1 host up) scanned in 8.23 seconds
从输出信息中可以看到目标主机上开启的DAAP服务,并且成功获取到了其音乐列表。
3. NFS服务
NFS服务是基于TCP协议工作的服务,其工作在TCP的111端口。可以借助nfs-ls、nfs-showmount和nfs-statfs这3个脚本实施扫描,以获取该服务的相关信息。下面介绍使用这3个脚本扫描NFS服务的方法。
(1)使用nfs-ls.nse脚本
nfs-ls.nse脚本用于获取NFS服务中共享的文件列表。语法格式如下:
nmap -p 111 --script=nfs-ls.nse
使用nfs-ls.nse脚本实施扫描。执行命令如下:
root@daxueba:~# nmap -p 111 --script=nfs-ls.nse 192.168.1.6
Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-10 15:13 CST
Nmap scan report for 192.168.1.6 (192.168.1.6)
Host is up (0.00040s latency).
PORT STATE SERVICE
111/tcp open rpcbind
| nfs-ls: Volume /
| access: Read Lookup Modify Extend Delete NoExecute
| PERMISSION UID GID SIZE TIME FILENAME
| drwxr-xr-x 0 0 4096 2012-05-14T03:35:33 bin
| drwxr-xr-x 0 0 4096 2010-04-16T06:16:02 home
| drwxr-xr-x 0 0 4096 2010-03-16T22:57:40 initrd
| lrwxrwxrwx 0 0 32 2010-04-28T20:26:18 initrd.img
| drwxr-xr-x 0 0 4096 2012-05-14T03:35:22 lib
| drwx------ 0 0 16384 2010-03-16T22:55:15 lost+found
| drwxr-xr-x 0 0 4096 2010-03-16T22:55:52 media
| drwxr-xr-x 0 0 4096 2010-04-28T20:16:56 mnt
| drwxr-xr-x 0 0 4096 2012-05-14T01:54:53 sbin
| drwxr-xr-x 0 0 4096 2010-04-28T04:06:37 usr
|_
MAC Address: 00:0C:29:3E:84:91 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.48 seconds
从输出信息中可以看到,目标主机开放了NFS服务,并且显示出了共享的文件。在输出的结果中,显示出了共享文件的权限(PERMISSION)、UID(用户ID)、GID(组ID)、SIZE(文件大小)、TIME(时间)和文件名(FILENAME)6列信息。
(2)使用nfs-showmount.nse脚本
nfs-showmount.nse脚本用来显示NFS共享目录。语法格式如下:
nmap -p 111 --script=nfs-showmount [host]
使用nfs-showmount.nse脚本扫描NFS共享目录。执行命令如下:
root@daxueba:~# nmap -p 111 --script=nfs-showmount.nse 192.168.1.6
Starting Nmap 7.70 ( https://nmap.org ) at 2021-08-10 15:16 CST
Nmap scan report for 192.168.1.6 (192.168.1.6)
Host is up (0.00026s latency).
PORT STATE SERVICE
111/tcp open rpcbind
| nfs-showmount:
|_ / *
MAC Address: 00:0C:29:3E:84:91 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.38 seconds
从输出信息中可以看到,目标主机上NFS服务共享的目录为根目录(/)。
