域用户枚举和密码喷洒攻击横向移动

发布时间 2023-06-04 17:19:10作者: 灿灿灿灿灿

域用户枚举和密码喷洒攻击横向移动

一、域内用户枚举攻击原理

正常域用户登录主机,我们可以通过 "net user /domain"来列举出域内的用户。但是当我们用非域用户进行登录时,是不能使用 "net user /domain"这条命令的。或者当主机不在域内但是能与域控通信时, 以上两种情况我们可以通过以下方法对域内用户进行枚举。

Kerberos本身是一种基于身份认证的协议,在 Kerberos 协议认证的第一阶段AS-REQ ,当用户不存在时,返回包提示错误。当用户名存在,密码正确和密码错误时,AS-REP的返回包不一样。所以可以利用这点,对域内进行域用户枚举和密码喷洒攻击。在AS-REQ阶段客户端向AS发送用户名,AS对用户名进行验证,用户存在和不存在返回的数据包不一样。所以,根据AS的返回包来对域用户进行枚举。

二、域内用户枚举工具

1、kerbrute工具

kerbrute.exe userenum --dc 域控ip -d 域名 用户名字典.txt

三、密码喷洒攻击原理

在确认用户存在后,客户端又会发送一个AS-REQ请求,如果密码正确,则返回AS-REP。否则返回 KRB5KDC_ERP_PREAUTH_FAILED。

在常规的爆破中,我们都是先用很多密码去碰撞一个账号,这样很容易导致账号被锁定。而密码喷洒就是先用一个密码去碰撞很多账号,此方法能有效的避免账号被锁定的问题。

四、密码喷洒工具

1、kerbrute工具

使用方式:

kerbrute.exe passwordspray -d candada.com 1.txt admin@123

2、CrackMapExec

CrackMapExec(⼜名 CME)是⼀款⾮常好⽤的密码喷洒攻击的⼯具,在 Kali Linux 默认已经安装好。

下载地址: https://github.com/byt3bl33d3r/CrackMapExec

使用方式:

crackmapexec smb 192.168.142.10 -u name.txt -p 'admin@123' --continue-on-success

3、DomainPasswordSpray.ps1(必须是域内用户才可以)

参数:

UserList:用户字典
Password:单个密码
PasswordList:密码字典
OutFile:输出的文件名
Domain:要爆破的域
Force:强制喷洒继续,而不提示确认。

使用方式:

Import-Module DomainPasswordSpray.ps1 导入
Invoke-DomainPasswordSpray -UserList name.txt -Domain candada.com -Password admin@123
-OutFile res.txt