一.工作原理
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,同時還可以自己添加字典文件進行破解。