弱口令密码破解
弱口令密码破解
hihopkc弱口令和暴力破解
弱口令
弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)
猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令。
公共弱口令
公共弱口令就是常见的密码,也就是根据大量的密码数据统计得出的出现频率较高的弱口令。如
123456、admin、88888888 及默认密码
常见默认密码:
https://forum.ywhack.com/password.php
https://github.com/ibaiw/2023Hvv/blob/main/默认密码.md
https://192-168-1-1ip.mobi/default-router-passwords-list/
https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/default-passwords.csv
条件弱口令
往往与这个人的个人信息(姓名,生日,手机号,特殊昵称,爱好,社交软件账号,常用username,邮箱…),关系成员(家庭成员,男女朋友…),所处环境(车牌号,公司信息比如公司名称,公司成立时间或地点,公司domain等…),还有特殊的指定字符(数字,单词…)等相关
弱口令示例
1 | 简单数字组合: 000000 111111 11111111 112233 123123 |
弱口令原因
与个人习惯、意识相关,为了避免忘记密码,使用一个非常容易记住的密码,或者是直接采用系统的默认密码等。相关的安全意识不够,总认为不会有人会猜到我这个弱口令的。
暴力破解
顾名思义,暴力破解的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的!
但实际发送的数据并不像想象中的那样简单——“ 每次只向服务器发送用户名和密码字段即可!”,实际情况是每次发送的数据都必须要封装成完整的 HTTP 数据包才能被服务器接收。但是你不可能一个一个去手动构造数据包,所以在实施暴力破解之前,我们只需要先去获取构造HTTP包所需要的参数,然后扔给暴力破解软件构造工具数据包,然后实施攻击就可以了。Web暴力破解通常用在,已知部分信息,尝试爆破网站后台,为下一步的渗透测试做准备。
弱口令密码破解方法
密码破解介绍
指用枚举的方式来爆破用户信息。具体的流程是用事先收集好的数据集成一个字典,然后用字典不断进行枚举,直到枚举成功
暴力破解工具
- BurpSuite
- Hydra
- Metasploit
- SNETCracker:https://github.com/shack2/SNETCracker
暴力破解字典
- 通用弱口令字典
历年弱口令top100,github上搜索弱口令字典
https://github.com/k8gege/PasswordDic
https://github.com/danielmiessler/SecLists
https://github.com/Dormidera/WordList-Compendium
- 创建自定义字典
- Crunch
1 | crunch 4 6 0123456789ABCDEF -o crunch1.txt |
- cewl
1 | cewl [options] <url> |
- pydictor
https://github.com/LandGrey/pydictor
1 | -h, --help 显示帮助信息 |
弱口令密码破解实例
Tomcat弱口令
由于管理员安全意识不足,设置了弱口令导致了可以被爆破从而部署war包getshell。(需要注意的是tomcat 6版本之后针对爆破设置了锁定机制,爆破超过一定频率后账户会被锁定,即使账密正确也无法登录)
漏洞环境搭建
1 | docker pull betsy0/tomcat |
Tomcat
- Tomcat默认页面
- 抓取登录包
发现其账户密码是经过base64加密的,组合为asd:asd
Burpsuite爆破
使用burpsuit爆破的思路就是,先从用户名爆破文件里面导入用户名,再在每一个用户名后面加一个冒号,最后再在每一个冒号后面添加所有可能的密码,再把这三个的结合体使用base64加密后发送给服务器,逐个尝试得到正确账号密码。也就是说我们需要给burpsuit导入三样东西,即:用户名表、冒号、密码表。
将抓到的包发送到爆破模块。快捷键 ctrl+i
爆破成功
后台GetShell
登录到后台后可以通过部署war包进行getshell
- 什么是war包
war包是用来进行Web开发时一个网站项目下的所有代码,包括前台HTML/CSS/JS代码,以及后台JavaWeb的代码。当开发人员开发完毕时,就会将源码打包给测试人员测试,测试完后若要发布也会打包成War包进行发布。War包可以放在Tomcat下的webapps或word目录,当Tomcat服务器启动时,War包即会随之被解压得到源代码并自动部署。
- war包制作方法
1 | jar –cvf *.war *.jsp |
爆破MySQL
这里使用超级弱口令检查工具,该工具包含许多爆破模块,支持ssh,rdp,mysql等爆破。使用简单,直接导入IP及用户名密码字典就可以使用。
并且内置了许多字典
直接输入ip,也可以导入ip列表批量爆破,导入用户名及密码字典,选中服务,就可以得到用户名密码
Hydra爆破MySQL
Hydra是一款开源的暴力破解工具,支持FTP、MSSQL、MySQL、PoP3、SSH等暴力破解
1 | 参数介绍 |
MSF模块爆破SSH
1 | use auxiliary/scanner/ssh/ssh_login |
这里metasploit在探测ssh弱口令时,如果发现存在,则会返回一个linux shell,注意此时不是meterpreter shell。接下来可以使用sessions –u id进行升级
验证码爆破
captcha-killer-modified: https://github.com/f0ng/captcha-killer-modified
参考:https://mp.weixin.qq.com/s/_P6OlL1xQaYSY1bvZJL4Uw
下载并安装插件
下载插件: captcha-killer-modified-0.24.1-jdk8.jar
https://github.com/f0ng/captcha-killer-modified/releases
安装插件:
验证码识别服务安装
验证码识别服务安装
1 | https://github.com/sml2h3/ddddocr |
- docker启动ocr_api_server
1 | docker run -d -p 9898:9898 ytdock/ocr_server:v1 |
配置及使用插件
- Pbcms靶场搭建:
1 | docker run -d -p 9899:80 vulfocus/pbootcms-cve_2018_16356:latest |
- 获取验证码请求,发送到 captcha panel
- 获取验证码图片
- 配置验证码识别接口
接口URL:http://127.0.0.1:9898,填写你启动 ocr_api_server 所在的WEB服务
Request template:
1 | POST /ocr/b64 HTTP/1.1 |
验证码爆破实例
- 发送登录请求到Intruder模块,在Positions选项卡下,选择攻击模式为 Pitchfork,给要爆破的密码字段、验证码字段添加标记
- 在Payloads选项卡下设置攻击Payload
- 点击Start attack,开始爆破,成功爆破得到账号密码
- 验证码识别结果