利用暴力攻击破解登陆密码

这篇具有很好参考价值的文章主要介绍了利用暴力攻击破解登陆密码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

长久以来,入侵远程计算机系统的工具和技术并没有发生翻天覆地的变化。例如,在许多情况下,普通用户只要知道了相关密码,就能立刻变身为管理员。虽然这些情形听起来不够曲折,但在大多数情况下,暴力攻击是通过利用密码管理缺陷来入侵系统的最简单实用的方法。

实际上,Web应用程序和Web服务很容易被密码暴力攻击所攻陷。之所以出现这种情况,是因为这种类型的软件相对容易访问,数量也很多,同时默认情况下允许远程使用,而且大部分都是自定义的,此外,它们还会随着层出不穷的Web技术而不断变化。在这篇文章中,我们将从实战的角度出发,介绍针对不同类型的Web应用程序的暴力攻击方法。与此同时,我们还将借助现成的免费网络安全工具,如AppBandit攻击代理或某些在线Fuzzer来展示攻击过程。

基本身份验证


自万维网初期开始,基本身份验证及其变体(如摘要认证,NTLM等)就成为了事实上的认证标准。在实践中,人们很早就认识到基本身份验证方式并不太安全,但开发人员好像对它情有独钟,依旧乐此不倦地讲起应用于路由器管理界面、Web服务、管理界面等。该方案之所以流传甚广,原因之一就是因为它相对比较简单,因为整个身份验证方案仅靠一个特殊构造的头部就能得以实现,即利用该头部存放以base64格式编码的用户名和密码即可。

下面,让我们介绍针对基本身份验证的暴力攻击。为此,我们可以使用AppBandit的Fuzzer或其他在线Fuzzer,只要配置相应的参数就行了。首先,我们需要设置Authorization头部,然后添加基本身份验证信息,当然,这些都是专门针对这个特定任务而构建的。

利用暴力攻击破解登陆密码

 

对于用户名,为简单起见,这里将使用一个由已知帐户组成的列表。当然,我们也可以使用某些著名的数据库所提供的通用字典。

利用暴力攻击破解登陆密码

 

对于密码,我们可以使用字典。实际上,AppBandit和Fuzzer不仅可以使用自身的字典,同时,还可以下载并使用安全社区提供的各种字典文件。为此,可以从下拉菜单中添加一个字典项目,然后搜索“password”,即可找到由最常用的密码组成的列表,以及从以往著名的数据泄露事件中收集的实际密码所组成的列表。

利用暴力攻击破解登陆密码

 

暴力破解密码时,请务必将最大并行请求数设为60或更大,并将超时时间减少为5秒,以提高攻击性能。过了一会儿,我们就找到了正确的密码——密码可以从响应代码中看到,具体如下图所示。

利用暴力攻击破解登陆密码

 

基于Pin的身份验证


许多应用程序,尤其是移动应用程序会使用一种基于PIN的身份验证方法,即使用4至6位数字代码进行认证。此外,对于那些通过电子邮件或短信发送令牌而进行的双因子身份验证来说,也属于这种类型,因为该方案的实现大都存在安全漏洞。即便如此,人们还是经常误以为PIN提供的低熵是安全的。但是,实际上只要对Pin进行暴力猜解,无论是以顺序方式还是随机方式进行,都可以轻而易举的破解它。

下面,我们以一个假想的JSON服务为例,来演示如何实施这种攻击。首先,需要配置好请求报文,以使其符合该服务的要求。在Body选项卡中,我们需要对Pin生成器进行相应的编码处理。首先,使用JSON编码器来处理这个值。然后,使用一个格式项对它进行填充,使其长度符合Pin的长度要求。这些处理在后面是非常有用的。

利用暴力攻击破解登陆密码

 

在pad项中包含了一个简单的计数器,例如for循环。计数器从0开始,遍历到9999为止,步长为1。这里之所以使用这个pad项,是因为有效的Pin必须是4位数字。所以,需要用0覆盖所有不足四位的数字。当然,这种方法同样也可以用来处理6位和8位数字的Pin。

利用暴力攻击破解登陆密码

 

接下来,根据需要设置攻击选项——即增加并发请求数和减少超时。然后,执行攻击。需要注意的是,在前面针对基本认证的暴力攻击中,使用了一种基于状态代码的机制,破解成功与否一目了然;于此不同,要想知道针对基于Pin的身份认证的攻击尝试是否成功,还得在应用程序本身上下功夫,也就是说需要自己去试探。举例来说,可以监视内容长度的变化或状态码的变化,例如302重定向可能意味着验证成功。此外,还可以根据响应的返回时间对其进行分类,即时间试探法。当然,具体方式完全由读者自己来定,不过在原理上都是一致的——试探法。

上面的配置,也适用于基于表单的身份验证,甚至基本身份验证——唯一不同之处,就是根据具体情况将生成器移动到所需的地方即可,其余部分完全相同。

基于表单的身份验证


毫无疑问,基于表单的身份验证是网上最常见的身份验证方案。实际上,几乎所有PHP应用程序对于这个方案的实现都不太理想。如果正确的实现的话,基于表单的身份验证应该对自动化的密码猜测具有很强的“弹性”,但是说起来容易做起来难呀,毕竟现实中有太多的特殊情况,而这些都是需要给予特殊处理的。

在针对基于表单的身份验证进行暴力破解时,具体设置与基本身份验证示例中的类似。不过,这里没有使用Authorization头部,因为必须按照应用程序的具体情况来设置参数。首先,可以通过AppBandit代理或HTTPView等工具捕获这些信息,注意,这些工具可以直接从浏览器中运行,而无需进行额外的设置。

在进行暴力破解时,脑子一定要灵光,特别是用户名是电子邮件的时候。例如,与其用大量密码来暴力破解一个账户,不如用一部分最常用的密码来暴力破解多个账户,同时,我们还可以动态生成帐户,就像我们接下来要做的那样。

下面,我们来为用户列表设置一个生成器。首先,我们可以定义一些变量,以提高攻击的可配置性。

利用暴力攻击破解登陆密码

 

如您所见,这里正在使用字典(大部分来自seclists)。同时,我们还动态生成了电子邮件地址。实际上,我们可以在同一次攻击中使用多个字段。

现在,让我们向同一个列表中添加100个更常用的密码。在这里,我们使用了来自seclists的另一个字典,具体如下图所示。就像您看到的那样,这种做法不仅更有创意,也更高效。

利用暴力攻击破解登陆密码

 

攻击一旦开始,就需要密切关注任务的运行情况,努力寻找提示登陆成功的线索。当然,对于大多数响应来说,结果都是一样的。对于那些包含有效凭证的请求,可以按照我们前面介绍过的那些方法进行识别。然而,有时候您需要找到自己的识别方法。不过,大多数情况下,使用内置过滤器就足以应付了。例如,您可以过滤包含有效cookie的响应,因为一般来说,找到这样的响应就表示认证成功了。

与身份验证有关注意事项


从某种意义上来说,Web认证系统非常有(gao)趣(xiao)——它们永远不可能完美。这是因为,如果它们太安全,那么就根本无法访问了。反之,如果它们太容易访问,就不太可能是安全的。因此,在使用上述任何技术破解密码时,对于下面这些事项一定要做到心里有数。

在防范暴力破解方面,最常见防御机制就是帐户锁定,然而,在某些情况下,攻击者可以利用这种机制来发动拒绝服务攻击。例如,假设用户名是可猜测的或顺序的,并设置了帐户锁定。那么,如果我们在生成有效用户名方面具有很高的胜率,这就意味着我们也可以将这些人都锁定在系统之外,即拒绝服务攻击。尽管这种攻击威胁不是很大,但仍不失为一个有效的漏洞。

同时,水平和垂直暴力攻击之间的转换也是一种常见的技术。换句话说,我们可以针对多个帐户测试一个密码,而不是针对单个帐户尝试多个密码,因为我们可以枚举帐户或以高胜率的方式生成它们。

如果某些合法的身份认证尝试来自同一个IP地址的话,有的身份认证系统就会简单粗暴地将其锁定。后来,这些系统又通过设置一些例外情况来放宽了这一限制,因为毕竟IPv4地址空间是相对较小的,所以许多客户会共享同一个IP地址——例如,许多移动网络和光纤网络实际上都是这样运作的。所以,攻击者就可以入侵例外列表中的网络,或设法让应用程序误以为他们来自例外列表中的网络,这样就可以绕过帐户锁定限制了。

类似地,如果身份验证系统根据攻击者的IP地址来阻止IP或NETBLOCK的话,那么暴力破解攻击就可能转换为拒绝服务攻击,从而导致同一网络中的所有用户都无法登录。再次重申,这对于移动网络来说影响特别大,因为移动用户不太可能拥有专用的公共IP地址,所以移动应用程序特别容易受到这个问题的影响。

最后,不要仅仅因为页面上有reCAPTCHA就认为必须使用验证码,相反,很多时候它在那里只是个摆设而已。这是因为,reCAPTCHA或其他CAPTCHA系统通常都是嵌入式的,它们经常因配置错误或代码变化的缘故而不进行相关的检查,这种情况经常发生。

实际上,有时解除身份验证并不起作用,也就是说,虽然看起来用户已注销,但实际会话并未被破坏。这样的话,以前使用的会话可能被攻击者重新使用。然而,这个话题实在有点大,需要单独进行解释。在这里,重点是要知道,有时即使不知道密码也能登录,因为还有其他方法。

小结

攻击者可以通过多种方式来完成密码破解/暴力破解,就像前面所说的那样,这种攻击是非常普遍的。到目前为止,还没有找到能够完全抵御这种攻击的安全措施。坦率地说,只要我们有赖于密码,这种攻击就无法避免。毫无疑问,双因子认证方案能够提供更高的安全性,但我们也必须承认,它也不是万能的灵丹妙药,因为在某些情况下,它们照样可以被绕过。文章来源地址https://www.toymoban.com/news/detail-450571.html

到了这里,关于利用暴力攻击破解登陆密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CTF-Show密码学:ZIP文件密码破解【暴力破解】

    萌新 隐写23 题目内容: 文件的主人喜欢用生日做密码,而且还是个90后。 在这个题目中,我们有以下已知条件: 文件的主人喜欢用生日做密码 - 这个条件告诉我们,密码可能是一个八位的纯数字密码,因为大多数人的生日在公历中都可以用八位数字表示(例如,19901231表示

    2024年02月10日
    浏览(32)
  • Burp Suite暴力破解网站密码

    注:任何未经授权的渗透测试皆为违法,本文仅供学习,维护网络安全人人有责。 一、打开dvwa暴力破解页面: 二,随便输入用户名和密码: 返回:“用户名或密码错误”,这里有个小技巧,有的网站会返回“用户名不存在”和“密码错误”,也就是说用户名输入错误时和密

    2024年02月11日
    浏览(25)
  • 利用MySQL暴力破解实现远程控制

    一、信息收集 利用nmap工具扫描靶机3306端口开启情况 nmap -sV 192.168.180.133 -p 3306 发现靶机开启3306端口,MySQL数据库 二、渗透测试 打开msfconsole渗透测试平台 搜索mysql_login漏洞模块 search mysql_login 使用auxiliary/scanner/mysql/mysql_login漏洞攻击模块 use 0 查看需要配置的参数 show options 设

    2024年02月07日
    浏览(27)
  • 网安实训(八)| Hashcat 进行密码暴力破解

    目录 一、实验目的 二、实验过程 步骤一:创建一个压缩包并对其加密 步骤二:将压缩包存放至Kali虚拟机中 步骤三:使用john查看hash值 步骤四:把hash值写入txt文件 步骤五:用字典破解 步骤六:获取到md5码对应的密码(“123”即为获取到的密码) 三、实验效果 ① 压缩文件

    2024年02月07日
    浏览(30)
  • Python暴力破解附近局域网WiFi密码

    本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网。 先来看看没有图形界面版的爆破脚本。 代码运行效果: 以上脚本需内嵌 WIFI 名、爆破字典路径,缺少灵活性。下面进行改造优化:​​​​​​​   脚本运行效果如下: 上述代码实现了依

    2024年02月11日
    浏览(33)
  • 使用Kali Linux 暴力破解wifi密码详细步骤

    使用Kali Linux 暴力破解wifi密码详细步骤所谓暴力破解就是穷举法,将密码字典中每一个密码依次去与握手包中的密码进行匹配,直到匹配成功。所以能否成功破解wifi密码取决于密码字典本身是否包含了这个密码。破解的时间取决于CPU的运算速度以及密码本身的复杂程度。如果

    2024年02月12日
    浏览(33)
  • 使用python暴力破解zip压缩包的密码

    如果你有压缩包的密码忘记了,并且压缩包的加密算法采用的是ZipCrypto,并且压缩参数如下图所示: 那么你就可以使用本文中的方法进行破解。 压缩包的加密,是根据输入的密码进行运算加密,输入不同的密码,加密后的结果就是不同的二进制流。所以在进行解密的时候,

    2024年01月21日
    浏览(31)
  • 无线网卡+kali实现wifi暴力破解(密码爆破方式)

    攻击机:kali 所采用的的无线网卡:D-LINK 采用的工具:Aircrack-ng 测试开始: 首先,打开kali,将无线网卡插入。弹出提示窗口,这里选择连接到虚拟机,选择kali虚拟机。 然后点击网络连接的标志,可以看到当前环境的wifi列表。 使用命令ifconfig和iwconfig,都可以看到wlan0已开启

    2023年04月09日
    浏览(34)
  • 怎么破解腾达路由器的登陆密码?

    怎么破解腾达路由器的登陆密码呢?由于腾达路由器设计上的原理,我们可以通过绕过Cookie来登陆其管理界面,从而达到破解登陆密码的目地。下面就是具体的操作方法。 1、第一种方法是,直接在百度中搜索“腾达路由强制进入器”来获得相关软件,也可以从小编的网盘中

    2024年02月08日
    浏览(33)
  • 1024渗透测试如何暴力破解其他人主机的密码(第十一课)

    crunch是一个密码生成器,一般用于在渗透测试中生成随机密码或者字典攻击。下面是常见的一些使用方法: 生成密码字典 生成6位数字的字典:crunch 6 6 -t @@@@@ -o dict.txt 生成12位包含数字和字母的字典:crunch 12 12 -t @@@@@@@@@@ -s ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 -o dict.txt 生成所有可能

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包