一.工作原理
Acccheck是一款針對微軟的SMB協定的探測工具(字典破解使用者名和密碼),本身不具有漏洞利用的能力。
SMB協定:SMB(Server Message Block)通信協定主要是作為Microsoft網絡的通訊協定,它是一種網絡層次協定,使用了NetBIOS的應用程式接口(API),最近微軟又把 SMB 改名為 CIFS(Common Internet File System)。
首先提到的是NetBios,NetBios是Network Basic Input/Output System的縮寫,提供了一種允許區域網路内不同電腦能夠通信的功能。嚴格來說,NetBios是一套API,而并不是一個網絡協定。如今,我們使用的網絡協定棧是TCP/IP協定棧,在Windows作業系統上,NetBios運作在NetBios over TCP/IP的協定上,NetBios over TCP/IP(簡稱NBT)是一個網絡協定,允許以前使用NetBios API的應用程式能夠在現代的TCP/IP網絡中。如下圖:

再說SMB,它有兩種運作方式,第一種運作在NBT(NetBIOS over TCP/IP)上,如下圖:
使用的是UDP的137和138端口以及TCP的137和139的端口。
第二種是直接運作在TCP和UDP協定之上,使用的是445端口,可以稱為"Direct hosting of SMB over TCP/IP"。
總結:Windows主機上檔案列印、檔案共享等都通過SMB協定來實作,而SMB通過兩種方式運作在139和445端口之上。
二.指令格式
acccheck [-t{IP}|-T{FILE}][-p,-P,-u,-U,-v]
三.常用參數
#以下兩個選項必須使用一個來确定目标
-t #使用單個ip位址目标
-T #使用包含多個ip位址的檔案
#常用選項
-p #單個密碼
-P #密碼字典檔案
-u #單個使用者名
-U #使用者字典檔案
-v #輸出詳細破解内容
四.實踐
舉例說明用法:
acccheck -t 10.10.10.1 #Administrator+空密碼
acccheck -t 10.10.10.1 -P password.txt #Administrator+密碼字典
acccehck -t 10.10.10.1 -U users.txt -P password.txt #使用者名字典+密碼字典
acccheck -t 10.10.10.1 -u administrator -p password #使用者名+密碼
首先在虛拟機中打開win7系統,開啟SMB服務,并且建立一個使用者名和密碼都是test的賬戶,在cmd中輸入netstat -ano檢視打開的端口
可以看到139和445端口都是開放的,這是在kail中輸入指令
# acccheck -t 192.168.56.101 -u test -p test -v
Host:192.168.56.101, Username:'test', Password:'test'
SUCCESS.... connected to 192.168.56.101 with username:'test' and password:'test'
End of Scan
可以看到成功的連接配接上了win7,同時還可以自己添加字典檔案進行破解。