暴力破解漏洞

暴力破解

概念

暴力破解,其实就是利用大量猜测和穷举的方式来尝试获取用户口令的攻击方式,如果身份验证模块设计的不好攻击者可以利用自动化攻击进行暴力破解,大大增加了密码被破解的风险。

暴力破解的测试方法是针对账号和或密码进行逐一比较,直到找到正确的账号和密码。

一般分为三种情况:

  1. 在已知账号的情况下,加载密码字典针对密码进行穷举测试;
  2. 在未知账号的情况下,加载账号字典,并结合密码字典进行穷举测试;
  3. 在未知账号和密码的情况下,利用账号字典和密码字典进行穷举测试

测试流程

暴力破解漏洞_第1张图片

 

暴力破解测试场景

暴力破解漏洞_第2张图片

 

账户探测

探测存在与否

  1. 方案一:Top500用户名、手机号
  2. 方案二:邮箱、员工编号

指定口令爆破用户名

  1. 指定类123456口令爆破用户名
  2. 正常的top500,top10000帐号;
  3. 单个字母、两个字母、三个字母、四个字母随机组合的帐号

 小工具pydictor值得推荐 一个强大实用的黑客暴力破解字典建立工具

           python pydictor.py -base L --len 2  3

      https://github.com/LandGrey/pydictor

密码爆破

  1. top500, top3000,top10000,自定义密码
    1. Top 系列,几乎安全从业都有自己的弱口令字典,常规就好,太大的字典跑起来也费劲,关键是定制
    2. 定制字典,pydictor值得推荐:https://github.com/LandGrey/pydictor
    3. 社工库的使用,指定用户的历史密码,是一种尝试
  2. 厂商特色口令生成,如baidu@123
    1. 适用于应用管理员类人员以及主机协议类密码
    2. 更多定制类字典也可以pydicor

短信/邮箱验证码爆破

  1. 部分登录验证码的分类也可适用于此
  2. 验证码的本身绕过
    1. 返回包回显(包括返回包、输出在cookie等)
    2. JS控制
    3. 返回包控制:True&false控制(0&1),修改返回包可绕过

  1. 4位数字,验证码爆破,很快
  2. 6位数字,验证码爆破;

可根据多线程的前提进行多进程处理,0-199999一波;200000-399999一波…(依次类推);也可以看频率,哪块区间分布的概率较高可重点关注;也可以指定前一位或两位进行爆破。

  1. 弱token
    1. 例:奇虎360任意用户密码修改漏洞,发送给邮箱的验证链接里面的vc值为时间戳的md5加密;作为一种检验参数可被猜测。
    2. 基于密码找回的手机号、UID、邮箱等遍历,结合客户端源码可能的些蛛丝马迹

协议口令爆破

  1. SSH RDP FTP MySQL MSSQL …

a)Fenghuangscan值得推荐,Hydra (Kali自带)值得拥有;

b)Nmap 也可完成部分破解工作,本身是一个基础工具,但script下的脚本能让你做出不基础的事情

c)毕竟直接拿到远控权限事半功倍,可直接获取数据,对于测试来讲还可获取源码,以半审计的方法进行挖掘。

  1. SMTP、VPN协议类

a)第一点提到的一些协议,初具成熟均不公开于互联网(当然意识和测试情况也有),但SMTP 和 VPN 类,大部分都有,也是入侵的概率很大的入口点

b)翻到邮箱,根据信息检索,信息很精准,很有可能获得认证信息

c)获得VPN认证。

  1. 特殊服务类未授权访问或者弱认证

a)Redis未授权访问

b)Jenkins未授权访问

c)MongoDB未授权访问

判断成功

针对http协议的爆破主要分为

有返回特征:有明显的错误提示特征,如当用户登录错误后有错误提示。

无返回特征:没有明显的错误提示,但是可以通过正确的页面大小或者返回的状态码进行判断是否成功

攻击防御

1. 登录界面暴力破解,哪些加固方法?

  1. 阈值的设立

           i.单位时间内超过额定请求次数,封帐号&封IP段时间

           ii.支持逆向思路

  1. 密码输入错误次数达到3次后增设验证码

           i.验证码自身的安全性参考下一个问题

  1. 自身应用系统的健壮性

           i.强制要求用户注册时满足口令复杂度要求

           ii.定期检索数据库弱口令帐号的存在,可比对top500的密文值

2. 图形验证码自身常见的加固方法?

1)字体扭曲

2)字体粘连

3)字体镂空

4)字体混用

5)主体干扰线

6)背景色干扰

7)背景字母干扰

8)公式验证码

9)加减法验证码

10)逻辑验证码

3. 安全登录流程设计?

  1. 系统设置一个固定的盐值,该盐值最好足够复杂,如:1qaz2wsx3edc4rfv!@#$%^&**qqtrtRTWDFHAJBFHAGFUAHKJFHAJHFJHAJWRFA
  2. 用户注册、修改密码时,将用户的原始密码与我们的固定盐值拼接,然后做md5运算。
  3. 传递至后端,保存进数据库(数据库中保存的密码是用户的原始密码拼接固定盐值后,md5运算后的结果)。
  4. 登录时,将用户的原始密码与我们的固定盐值进行拼接,然后做md5运算,运算后的结果再拼接上我们的随机码,再次md5运算,然后提交。
  5. 后端接收到登录请求后,将从数据库中查询出的密码与session中的随机码拼接后,md5运算,然后与前端传递的结果进行比较。

   注:这种登录流程对于数据包重放来讲的确有效,但对于正常的selenium浏览器输入爆破仍需要结合阈值和验证码来防御。

4.针对验证码可多次重用的加固方法?

        暴力破解漏洞_第3张图片

 

实践操作

操作一 面向WEB登录的暴力破解(tomcat登录爆破)

漏洞分析

  1. 密码强度太弱
  2. 无验证机制

漏洞验证利用

设置页面

  1. IP设置:在此处添加扫描IP的范围。当将起始IP和终止IP设置 为同一个IP时,意味着只针对单个IP进行扫描。
  2. 设置用户名字典。将准备好的用户名字典内容全部复制到该区域即可。
  3. 设置密码字典。将准备好的密码字典内容全部复制到该区域即可
  4. 批量导入IP列表进入扫描。
  5. 设置端口和扫描间隔。Tomcat默认的服务端口为8080,视具体案例下tomcat的实际端口设置。对扫描间隔进行设置,这里默认为10毫秒。暴力破解漏洞_第4张图片

 

信息页面

信息页面也可以理解为扫描结果输出页面。

  1. 最终扫描爆破结果。将匹配成功的账户密码以及URL输出到此处。
  2. 将需要扫描的IP添加到地址段中。
  3. 显示正在扫描的 IP列表。
  4. 将枚举匹配的过程输出到此处。暴力破解漏洞_第5张图片

 

拓展知识

开启tomcat WEB访问日志便于监控系统是否被恶意暴力破解。具体的操作如下:

  1. 需要修改的配置文件是tomcat/conf/server.xml文件。
  2. 需要修改的位置如下:

 

将图中第141-142行内容取消注释即可。

  1. 重启tomcat服务。
  2. 然后访问tomcat等操作就会被记录下来。

   ​​​​​​​暴力破解漏洞_第6张图片

 

操作二 针对带验证码的暴力破解(74cms 3.5.1爆破)

漏洞分析

  1. 验证码不刷新:这里指,只要不刷新登录或者操作页面,验证码就一直不刷新,与操作(或者登录)成功失败无关,这种情况下只要保持页面不刷新,就可以爆破。(后端程序在接受一次其你去后,并没有主动请求刷新验证码)
  2. 弱口令密码
  3. 未限制账户密码固定时间内的错误次数
  4. 未设置验证码错误次数和超时

漏洞验证利用

  1. 配置浏览器代理
  2. 切换到74cms后台登录界面,默认情况下我们是不知道账户密码的,因此我们这时候模仿输入一个错误的账户及密码口令和验证码。
  3. 抓包将输入的账户、密码口令以及验证码数据抓取到。
  4. 右键“Send to Intruder”暴力破解漏洞_第7张图片

 

  1. 在Positions下设置attack Type为 Cluster Bomb、然后添加需要暴力破解的变量admin_name和admin_pwd字段。暴力破解漏洞_第8张图片

 

  1. 加载爆破字典(其中Payload Sets中的Payload set值是按序的,例如上一步中你第一个设置变量是username那么,1则代表username,2代表password)。暴力破解漏洞_第9张图片

 

  1. 设置完成后,开始暴力破解,依次选择左上角Intruder à Start attack暴力破解漏洞_第10张图片

 

  1. 当看到下图中不同status(状态),不同响应字段长度和下方的Response信息就表明暴力破解成功了。

暴力破解漏洞_第11张图片


 

操作 BurpSuite破解一句话

概述

    我们发现了之前的疑似一句话木马,但是我们还不知道一句话的密码是什么,无法用工具进行连接,本篇文章,我们利用burpsuite对一句话木马进行暴力破解。

暴力破解

eval可用于执行任意的php代码,中国菜刀是通过POST的方式来提交命令,来达到列目录操作文件等的目。

我们是不是可以构造一句代码用post的方式提交,来获取一个返回呢? 

  我们利用火狐浏览器的Hackbar,构造post数据pass=echo OK;

pass是一句话的木马密码,如果此代码为真,浏览器就会返回OK的字样,我们就用这个原理进行暴力破解

我们在火狐中发送数据,用burp进行截取

暴力破解漏洞_第12张图片

 

右键把数据包发送到Intruder模块,选中pass这个参数,点击add,把他添加到自定义的参数当中

加载burp自带的密码字典

暴力破解漏洞_第13张图片

 

点击start开始爆破

暴力破解漏洞_第14张图片

 

破解我们点击Length让他排序下,看看有没有同的页面长度,我们可以看到password这个值的长度为194与其他值不同这个应该就是一句话的密码了。

暴力破解漏洞_第15张图片

 

验证

爆破万密码我们验证一下

首先是我们构造的数据,可以看到,密码为password时成功打印了OK字样

暴力破解漏洞_第16张图片

 

我们再用中国菜刀进行进一步验证。

暴力破解漏洞_第17张图片

 

成功连接

暴力破解漏洞_第18张图片

 

操作Burp暴力破解操作

漏洞分析

Phpmyadmin在登录的过程中会将用户登录错误的信息进行返回,可以根据返回的页面大小进行判定是否破解成功

暴力破解

通过浏览器访问http://www.test.com/phpmyadmin/查看phpmyadmin页面,在暴力破解之前确保URL后面是没有任何参数的,如果有删除重新刷新页面并将浏览器的历史记录清除即可。然后随机输入一下账户和密码,点击执行,即可在burpsuite上抓到请求数据包。

 

暴力破解漏洞_第19张图片

 

将请求数据发送到“intruder”选项中:

暴力破解漏洞_第20张图片

 

切换到“intruder”下后,选择“positions”,通过“clear”将被添加了变量形式的数据还原,然后通过“add”选项将“pma_password”添加为变量形式。

暴力破解漏洞_第21张图片

 

暴力破解漏洞_第22张图片

 

在“Positions”下我们选择“Attack type”为第四项即可“Cluster bomb”

暴力破解漏洞_第23张图片

 

接下来切换到“Payloads”选项。

默认“Payload Sets”的选择,然后依次在“Paylaod Options”à“Load”中加载上我们准备用来暴力破解的密码字典,因为我们需要暴力破解的是两个变量参数,所以需要在“Payload Sets”中设置加载两份字典

暴力破解漏洞_第24张图片

 

暴力破解漏洞_第25张图片

 

接下来设置返回的暴力破解返回值长度是否有序,也就是长度值在True或者False的时候返回的是否是有规律的。我们依次选择“Intruder”à“Options”下的“Redirections”,默认选项为“never”。这里我们勾选为“Always”,并且将下面的“Process cookies in redirections”也勾选完成即可。

暴力破解漏洞_第26张图片

 

加载好评字典后最后依次点击“Intruder”à“Start attack”开始暴力破解即可。

暴力破解漏洞_第27张图片

 

然后根据字节长度的变化查找暴力破解成功的账户即可。我们可以看到在账号密码错误的时候返回值都是一样的,而正确的返回值则是有别于其他的长度值的。

暴力破解漏洞_第28张图片

 

目录路径遍历漏洞

概念

遍历漏洞常见的有两种:目录遍历和路径遍历。一般来讲目录遍历是因为服务配置不当造成的;而路径遍历多是因为代码控制不严导致可跨目录读取。

漏洞原理

一是因为服务其配置不当导致的目录遍历漏洞,通常在IIS服务和Apache服务中比较常见。例如当IIS开启了“浏览目录”功能时,会导致目录遍历;Apache则是因为Apache配置文件httpd.conf,把

Options Indexes FollowSymLinks ……中多了一项Indexes,删除;额Indexes即可防止目录遍历。

二是程序没有充分过滤用户输入的../之类的目录跳转符,导致用户可以通过提交目录跳转来遍历服务器上的任意文件。使用多个..符号,不断向上跳转,最终停留在根/,通过绝对路径去读取任意文件。暴力破解漏洞_第29张图片

 

实践操作

操作一 基于服务器配置不当

漏洞分析

  1. IIS服务配置下的“目录浏览”功能被开启
  2. 未设置“启用默认内容文档”中未添加引导页,例如(index.html、index.asp等)

漏洞验证利用

访问靶场环境,发现可以进行目录遍历,且可以在网站路下任意切换目录。暴力破解漏洞_第30张图片

 暴力破解漏洞_第31张图片

 

操作二 基于代码缺陷

漏洞分析

漏洞验证利用

  1. 根据实验需求安装CMS
  2. 输入测试payload,可以看到测试效果。

http://localhost/[PATH]/Programs/gallery/admin/jQueryFileUploadmaster/server/php/index.php?path=../../ 暴力破解漏洞_第32张图片

 

密码重置漏洞

概念

随着互联网的快速发展,在线支付业务的日渐成熟,大批的网上商城涌入互联网.为了方

便网上商城的快速上线,很多该类型的应用程序在未能严格审查源码的情况下就开始上线,导致很多逻辑错误类型的漏洞出现在应用程序中,而密码重置漏洞便是其中的一种。

漏洞位置在找回密码处,由于验证设计过于简单,而且对校验码的校验使用次数没有

进行限制,导致正确的验证码可以被枚举爆破,从而重置密码。此方法也是最常见的重置密

码的方式,因为大多数厂商最开始的设置都是采取的 4-6 位纯数字验证码的验证方式,而且是没有防止爆破的设计。

当然除了上述的由于验证不严格导致的密码重置案例,还有诸如:敏感信息泄露(把明

文密码通过 e-mail 发送给用户)重置密码消息劫持(攻击会者接收到密码重置信息)这些都是在密码重置功能中比较常见的漏洞

漏洞类型

暴力破解漏洞_第33张图片

 

相关参考:任意用户密码重置的10种姿势 | 阿德马Web安全 

漏洞测试

暴力破解漏洞_第34张图片

 

实践操作

操作二 Metinfo 5.3.19管理员密码重置漏洞

环境准备

  1. 操作系统:Windows 2003  kali linux
  2. 网站环境:UPUPW 5.3
  3. 使用工具:burpsuite 1.6 beta

漏洞分析

  1. 密码重置过程中验证不严。
  2. 漏洞涉及到的几个文件分别是:

admin/admin/getpassword.php

include/common.inc.php

include/jmail.php

include/export.func.php

  1. 具体的文章分析可参照:【Web渗透】Metinfo 5.3.19 管理员密码重置漏洞分析 | h3h3da's Blog 

漏洞验证利用

  1. 在攻击机上使用nc进行端口监听

nc -lvvp 80

 

  1. 配置浏览器代理
  2. 利用Burp Suite或者其他工具构造出如下的HTTP请求

POST /admin/admin/getpassword.php?met_host=IP地址 HTTP/1.1暴力破解漏洞_第35张图片

 

  1. 点击“Go”发送请求数据,然后返回nc监听的主机,我们可以看到返回的响应信息,其中便包含着密码重置的链接。暴力破解漏洞_第36张图片

 暴力破解漏洞_第37张图片

 

  1. 将获取到的密码重置链接复制到浏览器中访问,即可重置管理员admin的密码口令。暴力破解漏洞_第38张图片

 暴力破解漏洞_第39张图片

 

操作三 zzcms 8.2前台密码重置漏洞

环境准备

  1. 操作系统:Windows 2003
  2. 网站环境:UPUPW 5.3
  3. 使用工具:burpsuite 1.6 beta

漏洞分析

  1. 漏洞的原因是,程序是通过前端的代码来最终判断验证码是否正确,但是开发者却忽视了前端代码我们是可以控制的,因此可以绕过验证码,从而可以重置密码。
  2. 涉及到的漏洞代码文件:

ajax/ajax/yzm_check_ajax.php

  1. 可参考该文章

漏洞验证利用

  1. 首先注册一个普通用户test,密码为123456。暴力破解漏洞_第40张图片

 

  1. 注册成功后,访问会员登录页面,点击“忘记密码”选项。暴力破解漏洞_第41张图片

 

  1. 跳转到“找回密码”页面,按照提示输入我们想要重置账户名(test)

 

  1. 进入第二步“进行安全验证”随意填写一个验证码,例如1234等等,确保输入后点击

下一步一定要快,在出现下方红色的警告前,点击下一步,可绕过验证,进入到重置密码界面。

      ​​​​​​​暴力破解漏洞_第42张图片

 

  1. 按照提示输入新密码,便可重置test账户的密码口令。暴力破解漏洞_第43张图片

 暴力破解漏洞_第44张图片

 

https://pino-hd.github.io/2018/06/19/zzcms8-2%E4%BB%BB%E6%84%8F%E7%94%A8%E6%88%B7%E5%AF%86%E7%A0%81%E9%87%8D%E7%BD%AE/  

https://bbs.ichunqiu.com/thread-35237-1-1.html

你可能感兴趣的:(web安全,网络安全,渗透测试)