700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 弱口令与暴力破解

弱口令与暴力破解

时间:2021-02-08 09:19:38

相关推荐

弱口令与暴力破解

文章目录

弱口令含义公共弱口令条件弱口令弱口令实例弱口令原因暴力破解密码暴力破解暴力破解工具暴力破解字典创建自己的字典暴力破解场景实际利用Tomcat弱口令环境分析爆破思路后台Getshell

弱口令

含义

弱口令( weak password ) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令。

公共弱口令

公共弱口令就是常见的密码,也就是根据大量的密码数据统计得出的出现频率较高的弱口令。

条件弱口令

往往与这个人的个人信息(姓名,生日,手机号,特殊昵称,爱好,社交软件账号,常用 username ,邮箱…),关系成员(家庭成员,男女朋友…),所处环境(车牌号,公司信息比如公司名称,公司成立时间或地点,公司 domain 等…),还有特殊的指定字符(数字,单词…)等相关。

弱口令实例

简单数字组合: 000000 111111 11111111 112233 123123

顺序字符组合:abcdef abcabc abc123 a1b2c3 aaa111

临近字符组合:123qwe Qwerty qweasd

特殊含义组合:admin password p@ssword Iloveyou 514

弱口令原因

与个人习惯、意识相关,为了避免忘记密码,使用一个非常容易记住的密码,或者是直接采用系统的默认密码等。相关的安全意识不够,总认为不会有人会猜到我这个弱口令的。

暴力破解

暴力破解的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的!

密码暴力破解

指用枚举的方式来爆破用户信息。具体的流程是用事先收集好的数据集成一个字典,然后用字典不断进行枚举,直到枚举成功。

暴力破解工具

Burpsuite

Hydra

Metasploit

SNETCracker

/shack2/SNETCracker

暴力破解字典

创建自己的字典

Crunch工具

在Linux下自动生成字典文件

crunch 4 6 0123456789ABCDEF -o crunch1.txt#长度从4到6用哪个字母crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha#只有长度4使用字符集mixalpha@ :小写字母字符, :大写字母字符% :数字字符^ :特殊字符,包括空格crunch 7 7 -t ,@@^^%%

Cewl

ruby编写的应用程序,可以将给定的URL爬行到指定的深度,能有选择的跟随外部链接,并返回一个单词列表,这些单词可用于密码破解。

cewl [options] <url>Options:-h,--help:显示帮助。-k,-keep:保留下载的文件。-d <x>,-depth <x>:到达蜘蛛的深度,默认为2。--m,--min_word_length:最小字长,默认为3。--o,--offsite:让蜘蛛访问其他站点。-w,--write:将输出写入文件。-u,--ua <agent>:要发送的用户代理。-n,--no-words:不输出单词表。--with-numbers:接受带有数字以及字母-a,--meta的单词:包括元数据。--meta_file文件:元数据的输出文件。-e,--email:包括电子邮件地址。--email_file <文件>:电子邮件地址的输出文件。--meta-temp-dir <dir>:exiftool解析文件时使用的临时目录,默认为/ tmp。-c,--count:显示找到的每个单词的计数。-v,--verbose:详细。--debug:额外的调试信息。Authentication--auth_type:摘要或基本。--auth_user:身份验证用户名。--auth_pass:验证密码。proxy--proxy_host:代理主机。--proxy_port:代理端口,默认为8080--proxy_username:代理的用户名(如果需要)。--proxy_password:代理的密码(如果需要)。header--header,-H:格式为name:value-可以传递多个。<url>:蜘蛛站点。

cewl -d 2 -m 5 -w words.txt

#对网站 进行深度为2的爬行,生成最小长度为5的字典words.txt

pydictor

使用方法,在pydictor.py的目录下打开终端,执行命令:pydictor.py --sedb

在执行show options查看条件

配合 set … 设置条件

最终run生成字典

暴力破解场景

不含验证码后台 不失效的验证码 各种常见应用程序,比如: phpmyadmin 、 tomcat 、 mysql各种协议:ftp、ssh、rdp爆破大马

实际利用

Tomcat弱口令

由于管理员安全意识不足,设置了弱口令导致了可以被爆破从而部署 war 包

getshell 。(需要注意的是tomcat 6版本之后针对爆破设置了锁定机制,爆破超过

一定频率后账户会被锁定,即使账密正确也无法登录)

刚进入靶场页面

环境分析

随意点击一个模块进入登录页面:

http://192.168.1.149:8080/manager/html

发送 登录请求后,使用burp抓包

将数据包发送到Repeater模块分析

Authorization: Basic YWRtaW46MTIzNDU2进行选项查看

得到 Authorization: Basic admin:123456,admin和123456正是我在浏览器请求时使用的用户名和密码,但是使用了base64 加密,并且在用户名和密码之间增加了冒号分割

爆破思路

先从用户名爆破文件里面导入用户名,再在每一个用户名后面加一个冒号,最后再在每一个冒号后面添加所有可能的密码,再把这三个的结合体使用 base64 加密后发送给服务器,逐个尝试得到正确账号密码。也就是说我们需要给 burpsuit 导入三样东西,即:用户名表、冒号、密码表。

发送到Intruder模块,开始构造payload

payload类型选择使用自定义迭代

这个“1”对应的是冒号前面的用户名

这个“2”对应的只有冒号 “:” 这个“3”对应的就是冒号后面的密码 设置base64编码 开始爆破

爆破后查看响应数据包的长度可以得到一个不同的数据包

用户名:tomcat

密码:tomcat

后台Getshell

登录到后台后可以通过部署 war 包进行 getshell

war包原理

war 包是用来进行 Web 开发时一个网站项目下的所有代码,包括前台 HTML/CSS/JS 代 码,以及后台 JavaWeb 的代码。当开发人员开发完毕时,就会将源码打包给测试人员测试,测试完后若要发布也会打包成 War 包进行发布。 War 包可以放在 Tomcat 下的webapps 或 word 目录,当 Tomcat 服务器启动时, War 包即会随之被解压得到源代码并自动部署。

war包生成

需要在前端代码文件的当前目录下打开终端,并且执行命令进行生成war包

jar -cvf mm.war *.jsp

通过tomcat管理员后台直接上传war包并部署,使用蚁剑连接,getshell。

at 下的webapps 或 word 目录,当 Tomcat 服务器启动时, War 包即会随之被解压得到源代码并自动部署。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。