域渗透之密码喷洒攻击

目录

密码喷洒攻击(Password Spraying)

利用 DomainPasswordSpray

CrackMapExec 对域内进⾏密码喷洒


密码喷洒攻击(Password Spraying)

在实际渗透中,许多渗透测试人员和攻击者通常都会使用一种被称为 “密码喷洒”(Password Spraying)的技术来进行测试和攻击。对密码进行喷洒式的攻击,这个叫法很形象,因为它属于自动化密码猜测的一种。这种针对所有用户的自动密码猜测通常是为了避免帐户被锁定,因为针对同一个用户的连续密码猜测会导致帐户被锁定。所以只有对所有用户同时执行特定的密码登录尝试,才能增加破解的概率,消除帐户被锁定的概率。普通的爆破就是用户名固定,爆破密码,但是密码喷洒,是用固定的密码去跑用户名。

下面我们演示一下 Password Spraying 的具体攻击思路与过程。

利用 DomainPasswordSpray

项目地址:GitHub - dafthack/DomainPasswordSpray: DomainPasswordSpray is a tool written in PowerShell to perform a password spray attack against users of a domain. By default it will automatically generate the userlist from the domain. BE VERY CAREFUL NOT TO LOCKOUT ACCOUNTS!

DomainPasswordSpray 是用 PowerShell 编写的工具,用于对域用户执行密码喷洒攻击。默认情况下,它将利用 LDAP 从域中导出用户列表,然后扣掉被锁定的用户,再用固定密码进行密码喷洒。

Import-Module .\DomainPasswordSpray.ps1 #导入模块
Invoke-DomainPasswordSpray -Password <密码>

可以看到运行结果

当然我们可以以字典的形式进行爆破

Invoke-DomainPasswordSpray -UserList users.txt -Domain GOD.org -PasswordList passlist.txt -OutFile sprayed-creds.txt

UserList:用户字典

Password:单个密码

PasswordList:密码字典

OutFile:输出的文件名

Domain:要爆破的域名

Force:强制喷洒继续,而不提示确认。

CrackMapExec 对域内进⾏密码喷洒

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

下载地址: GitHub - Porchetta-Industries/CrackMapExec: A swiss army knife for pentesting networks

crackmapexec smb 10.10.10.12 -u users.txt -p 'admin!@#45' --continue-on-success
#creakmapexec smb IP -u <要爆破的用户列表> -p <密码> 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以上代码是程序的主要逻辑,包含了一系列操作。让我逐步解释代码的含义: 1. `document.getElementById("go").style.display = 'none';`:隐藏了ID为"go"的HTML元素。 2. `debug("---------- Phase 1: Obtaining Relative R/W Primitive ----------");`:调用了一个名为`debug`的函数,输出调试信息。此处输出了一个描述信息。 3. `var arr = [1];`:创建了一个包含一个元素1的数组。 4. `arr.length = 0x100000;`:将数组的长度设置为0x100000(1048576)。 5. `arr.splice(0, 0x11);`:从数组的索引0开始删除17个元素,相当于将数组的长度减少了17。 6. `arr.length = 0xfffffff0;`:将数组的长度设置为0xfffffff0(4294967272)。 7. 创建目标对象数组:通过循环创建了一个名为`targetButterflies`的目标对象数组,循环次数由`sprayMax`变量控制。 - 在每次循环中,创建一个空数组并将其赋值给`targetButterflies[i]`。 - 设置这个数组的属性`p0`到`p9`的值分别为0.0到0.9。 - 使用嵌套循环,将数组的前16个元素设置为一个特定的64位浮点数对象,其值为(0x7FFFFFFF, 0x7FEFFFFF)。 8. `arr.splice(0x1000, 0x0, 1);`:在数组的索引0x1000处插入一个值为1的元素。这个操作将导致内存内容的偏移,从而触发了对被修改的数组的越界写入。 9. `var targetIdx = -1;`:初始化一个变量`targetIdx`,并将其赋值为-1。 10. 在接下来的代码中,可能会继续寻找被破坏的`ArrayWithDouble`对象来实现相对读写操作,但是在提供的代码中并没有给出后续的代码。根据注释,后续代码可能会用于寻找破坏的数组对象和执行内存相关的操作。 以上就是代码的解释。根据代码中的注释,它主要涉及了创建数组、设置数组长度、填充数组元素、触发内存越界写入等操作。这些操作可能是为了实现后续的漏洞利用或内存相关的攻击

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怰月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值