认证崩溃(上)之弱口令

发布时间 2023-10-24 03:41:33作者: 大象只为你

★关于道德伦理的忠告★

关于一些网络安全实战内容,我还是不厌其烦的写上这些忠告,请见谅。

以下内容摘自《Metasploit渗透测试指南》

作为一名渗透测试者,我们可以击败安全防御机制,但这是仅仅是我们工作的一部分。当你进行渗透攻击时,请记住如下的忠告:

  • 不要进行恶意的攻击;

  • 不要做傻事;

  • 在没有获得书面授权时,不要攻击任何目标;

  • 考虑你的行为将会带来的后果;

  • 如果你干了些非法的事情,天网恢恢疏而不漏,你总会被抓到牢里的。

1、认识弱口令

1.1、认证崩溃是什么?

认证崩溃是错误使用应用程序的身份认证或会话管理功能,攻击者能够破译密码、密钥或会话令牌。一般有3种方式可以预防:多因素认证,防止暴力破解;检查弱口令,模拟爆破操作;生成高复杂的会话ID且设置超时失效。

常见一些的风险场景:允许默认口令、弱密码;使用弱或无效的凭据,恢复和忘记密码找回;使用明文、加密或弱hash的密码;使用损坏的或无效的多因子认证等。

多因子认证(Multi-Factor Authentication,MFA)是一种身份验证方法,要求用户提供多个不同类型的凭证,验证其身份。目的是增加安全性。多因子认证有4种常见的凭证类型:知识因子、所有权因子、生物特征因子、位置因子。

知识因子:指只有用户自己知道的信息,比如密码、PIN码、安全问题答案等。
所有权因子:指物理设备或令牌,用于证明用户的所有权,比如手机、USB安全密钥、智能卡等。
生物特征因子:指生物特征识别,用于验证用户的生物特征,比如指纹、视网膜扫描、声纹等。
位置因子:指基于用户当前位置的验证,比如IP地址、GPS等信息。

1.2、什么是弱口令

没有严格和准确的定义,通常认为容易被别人猜测到或破解工具破解的口令均为弱口令。仅包含简单数字和字母的口令,比如abc,123等。可按公共弱口令和条件弱口令分为两类,公共弱口令就是一些常见的密码,根据大量的密码数据统计得出的出现频率较高的弱口令;条件弱口令是与个人信息、关系成员、所处环境、特殊指定字符相关。

个人信息:姓名、生日、手机号、特殊昵称、爱好、社交软件账号、常用username、邮箱等
关系成员:家庭成员、男女朋友等
所处环境:车牌号、公司信息(名称、成立时间、地址、域名等)、特殊指定字符等

1.3、常见密码规则

规则 举例
完整域名作为网站后台的管理密码 www.tesla.com、tesla.com
公司名+年份 tesla2019、Tesla2018
公司名+特殊字符+年份 tesla@2019、tesla#2019、Tesla@2019
公司名+特殊字符/简单数字组合 tesla123、tesla@123、123/@123、1234/@1234
季节/季度/月份+年份+特殊字符 Winter2019!、Spring2019!、June2019!
员工姓名简拼+简单数字/生日日期 zs123
员工姓名全拼 zhangshan
符合密码强度策略(键盘顺序) 1qaz2wsx!@#、1qazxsw2#@!、Pas$$w0rd等
最常见密码top200 123456、password、admin等
奇葩情况 空/1/123等

1.4、弱口令示例

数据库
账号:root
密码: root、root123、123456
tomcat
账号:admin、tomcat、manager
密码:admin、tomcat、admin123、123456、manager
jboss
账号: admin、jboss、manager
密码:admin、jboss、manager、123456
weblogic
账号: weblogic、admin、manager
密码: weblogic、admin、manager、 123456

1.5、25个中国版弱口令样本

(图片来源网络)

1.6、弱口令产生的原因和危害

主要是与个人习惯和安全意识相关,为了避免忘记密码使用一个非常容易记住的密码或直接采用系统的默认密码。常见的危害有4种:通过弱口令,攻击者可以进入后台修改资料;进入金融系统盗取钱财;进入OA系统可以获取企业内部资料;进入监控系统可以进行实时监控等。

可以通过增加口令的复杂度或定期修改账号密码的方式来避免。

1.7、常用弱口令字典

https://github.com/rootphantomer/Blasting_dictionary

https://github.com/k8gege/PasswordDic

https://github.com/danielmiessler/SecLists

2、渗透思路

2.1、信息收集

网站无意间向用户泄露敏感信息,根据上下文,网站可能会将各种信息泄露给潜在的攻击者。内容包含有关其他用户的数据、敏感的商业数据、有关网站及其基础架构的技术细节等。

2.2、漏洞利用

通过利用大量猜测和穷举的方式来尝试获取用户口令的攻击方式。攻击者一直枚举进行请求,判断是否爆破成功,对比数据包的长度,因为爆破成功和失败的长度不一样,一般成功的长度值是固定的,不同失败类型的长度值也不一样。

这部分在暴力破解部分实战演示。

2.3、内网渗透

当口令爆破成功后,也就是登录成功了。那么从4个维度进行内网渗透:框架漏洞、逻辑漏洞、跨站请求伪造、文件上传等。

框架漏洞:使用含有已知漏洞组件;应用程序技术栈中使用的框架、库、工具爆出了漏洞等。
逻辑漏洞:未授权访问漏洞;在攻击者没有获取登录权限或未授权情况下,不需要输入密码等。
跨站请求伪造:CSRF攻击利用网站对于用户网页浏览器的信任,挟持用户当前已登录的Web应用程序,去执行非用户本意的操作。
文件上传:用户上传了一个可执行的脚本文件,通过该脚本文件获得执行服务器端命令的能力。

2.4、清除痕迹

最后一个步骤清除痕迹。

3、弱口令工具

hydra是一款开源的暴力密码破解工具,支持多种协议密码的破解,可暴力破解内网windows登录密码等,不适用于http(s)的破解,如果需要,请用burpsuit进行破解。window需要安装,kali系统自带。我建议使用kali系统自带就好,不用再安装一次。

3.1、windows安装

解压hydra安装包到指定目录(由自己决定),然后在地址栏输入cmd按enter键调出命令行窗口,输入hydra -h 判断工具是否可用?


3.2、使用命令

# 破解SSH密码,默认端口
hydra -L user.txt -P password.txt ssh://IP地址
# 破解SSH密码,非默认端口,使用-s 端口号 指定 
hydra -L user.txt -P password.txt ssh://IP地址 -s 40
# 将破解的密码存储到指定文件,破解成功的密码保存下来 -o 文件名.txt
hydra -L user.txt -P password.txt ssh://IP地址 -s 40 -o ssh.txt
# hydra爆破rdp/windows远程桌面, 前提:目标的远程连接可以访问
hydra -l Administrator -P password.txt rdp://IP地址
# hydra爆破mysql,前提:目标的mysql可远程访问
hydra -l root -P password.txt IP地址 mysql
# hydra爆破sql server , 前提:目标的mssql可远程访问
hydra -l sa -P password.txt IP地址 mssql
# hydra爆破http:( http-get or http-form-post)
hydra -l admin -P password.txt IP地址 http-get /login.php
hydra -l admin -P password.txt IP地址 http-form-post "/dvwa/login.php:user=^USER^&pass=^PASS^:<title>invalide</title"
# user,pass改为账户密码提交表单<label for="">的值

4、题外话

由于周日(2023-10-29)下午我有一个自考科目要考试,接下来几天还是要临时抱佛脚再次突击下。所以本周就只分享这一篇了。下一篇内容是暴力破解,属于实战部分。

5、资料获取

如果需要弱口令工具hydra,请关注我的公众号:大象只为你,后台回复:hydra。