web漏洞利用之弱口令
转载:https://mp.weixin.qq.com/s/hCX447Kb2RE_ORMjk0wXnQ
一、定义
弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令,例如“123”、“abc”等,因为这样的口令很容易被别人破解,从而使用户的计算机面临风险,因此不推荐用户使用。
近些年来有关信息泄露的事件层出不穷,其中有相当部分是因为弱口令引起的。2015年春运前夕,有网友在“乌云-漏洞报告平台”发表一篇帖子称,大量12306用户数据在互联网传播售卖,传闻黑客是通过“撞库”获取的12306用户数据。以下是安全爱好者对12306泄露密码的统计结果:
弱口令产生的原因在于个人安全意识不够强,比如为了方便记忆直接将密码设定为一组简单数字组合(123456),或者设置为自己的生日及直接采用系统默认密码等。在当前绝大部分信息系统都以账户和密码鉴权登录的情况下,通过这些简单的弱口令,攻击者可以直接获取系统控制权限。
系统的弱口令是常见的渗透入口点之一,不论是web还是如VPN、堡垒机、边界路由器防火墙一类,以及结合特定公司场景、业务场景生成的弱口令的情况。通过登录用户上传webshell 获取读取敏感信息、注册用户信息甚至获取到系统shell的情况,可能会造成更大的风险。
二、弱口令字典生成
有很多人为了方便记忆自己的密码,经常将个人身份信息嵌入其中。如果是对某用户有一定的了解,通过收集用户信息,包括生日,手机号,用户名,车牌号,网站名称,地址等(包含中文信息可以使用拼音),可以通过暴力破解的方式尝试出用户密码。而且绝大多数人都会将多个账户设定为相同的密码,即如果你破解了某人的QQ密码,很可能你也找到了他的论坛、邮箱、微博、游戏账号密码……
当针对某个公司&团体生成弱口令字典时,可以在从一些网站收集相关信息:
1 | 全国社会组织查询 |
类似这样的网站还有很多
另外现在越来越多的后台弱口令使用@、*、&以及.等特殊字符作为增强密码复杂度的手段,虽然增加了爆破成本但是依然有规律可循。比如test@公司名或者当年年份@公司名,可以使用字典生成器来有针对性的生成字典。(白鹿社工字典生成器——https://github.com/HongLuDianXue/BaiLu-SED-Tool)
比如admin@huawei,可以将上述密码构成分为3项:信息项、符号项、弱字符串项。
其中,信息项为和目标有关的信息,如:Admin、Huawei等;符号项为:密码组合中会用到的符号,如:空格、@、_、!、#、$等;弱字符项为:密码组合中常用到的“弱口令”字符串,如:123、001、abc、2012等。“A项”输入框:初始内容为空,需自行输入前面所提到的社工弱口令的“信息项”;此外该工具还有“结果去重”选择框:勾选此项将会对最终生成的字典文件执行去除重复行操作。
三、弱口令密码爆破
1、 最常见的弱口令检测方法:使用Burp的intruder模块
先使用代理模式抓包,然后右键选择Send to Intruder
在Intruder模式中设置密码变量(假定已知管理员账户为admin,同时也可锁定密码爆破用户名,或者同时跑用户名&密码字典)
在payloads选项卡中选择load选择密码路径,加载密码字典。然后点击右上角的start attack开始尝试爆破admin账户密码
根据返回包长度的不同,发现admin账户的弱口令密码为admin
此外还有爆破SSH,FTP等弱口令的工具,使用方法大同小异,前段时间写过一篇爆破SSH的文章,感兴趣的可以看一下
2、超级弱口令检查工具
https://github.com/shack2/SNETCracker
这是一款Windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。
首先选择需要检查的服务(可多选),然后在目标处输入检查的IP、域名或IP范围,可以是单个IP或IP段,IP范围格式必须为:192.168.1.1-192.168.200.1、192.168.1.1-192.168.1.200。也可导入地址,导入地址必须是单个IP一行,然后可设置账户字典或密码字典,可以选择字典文件,也可自己填写单个账户或密码,其他选项根据需求选择,点开始即可检查。
3、web_pwd_common_crack
我们团队大佬开发的web通用弱口令破解脚本,旨在批量检测那些没有验证码的管理后台
项目地址:https://github.com/TideSec/web_pwd_common_crack
安装方式
从Github上拖下来:git clone https://github.com/TideSec/web_pwd_common_crack
安装requirements.txt依赖pip install -r requirements.txt
运行脚本即可
python web_pwd_crack.py url.txt 50
url.txt为待检测URL地址,可以自己写个脚本批量从搜索引擎获取,也可以自己用目录枚举工具去搜集,50为线程数,默认为50。
4、 以下为常见不同的后台类型的弱密码:
数据库(phpmyadmin):账号: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
5、安全设备弱口令(网上大佬分享的设备弱口令)
天融信防火墙,不需要证书 登录地址:https://192.168.1.254 用户名:superman 密码:talent 技术支持热线:8008105119
天融信防火墙,不需要证书 登录地址:https://192.168.1.254:8080 用户名:superman 密码:talent!23 遇到设备需要把旧设备配置备份下来,再倒入新设备基于console口登陆,用户名,密码跟web界面一致 system config reset 清除配置 save 保存
联想网御防火墙,需要证书(最好用IE浏览器登录)登录地址:https://10.1.5.254:8889 用户名:admin 密码:leadsec@7766、administrator、bane@7766 技术支持热线:4008107766 010-56632666
深信服防火墙(注安全设备管理地址不是唯一的) https://10.251.251.251https://10.254.254.254 用户名:admin 密码:admin 技术支持热线:4006306430
启明星辰 https://10.1.5.254:8889 用户名:admin 密码:bane@7766 https://10.50.10.45:8889 用户名:admin 密码:admin@123 电脑端IP:10.50.10.44/255.255.255.0 技术支持热线:4006243900
juniper 登录地址:https://192.168.1.1 用户名:netscreen 密码:netscreen
Cisco 登录地址:https://192.168.0.1 用户名:admin 密码:cisco
Huawei 登录地址:http://192.168.0.1 用户名:admin 密码:Admin@123
H3C 登录地址:http://192.168.0.1 用户名:admin 密码:admin 技术支持热线:4006306430
绿盟IPS https://192.168.1.101 用户名: weboper 密码: weboper 配置重启生效
网神防火墙GE1口 https://10.50.10.45 用户名:admin 密码:firewall 技术支持热线:4006108220
深信服VPN:51111端口 delanrecover
华为VPN:账号:root 密码:mduadmin
华为防火墙:admin Admin@123 eudemon
eudemon Juniper防火墙:netscreen netscreen
迪普 192.168.0.1 默认的用户名和密码(admin/admin_default)
山石 192.168.1.1 默认的管理账号为hillstone,密码为hillstone
安恒的明御防火墙 admin/adminadmin
某堡垒机 shterm/shterm
天融信的vpn test/123456
如何寻找网络上的这些设备
Shodan 是一个搜索引擎,但它与 Google 这种搜索网址的搜索引擎不同,Shodan 是用来搜索网络空间中在线设备的,你可以通过 Shodan 搜索指定的设备,或者搜索特定类型的设备
例如搜索位于南京的海康威视网络摄像头:Hikvision-Webs country:”CN” city:”Nanjing”
根据ip地址访问后可尝试弱口令登陆
(2)钟馗之眼
例如搜索weblogic服务器:app:”Oracle WebLogic Server”
四、加固建议
防止弱口令的一些方法:
不使用空口令或系统缺省的口令,因为这些口令很容易被攻击者进入甚至不需要任何成本,为典型的弱口令。
设置高长度&高复杂度字符口令。
口令不要设置连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(123123)。
口令使用复杂组合,如大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。
口令中尽量不要包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail地址等等与本人有关的信息,以及字典中的单词。
口令不应该为用数字或符号代替某些字母的单词。
定期更换口令。
关于如何防止暴力攻击的一些方法:
限制验证次数,或者设置较长的密码和各种组合,延长暴力破解的时间。
尽可能的使密码足够的复杂。
发现同一IP错误登录次数过多时,进行其他验证或者封锁IP。
如果错误次数超过五次或者十次以上,那么就采用验证码登录,或者使用短信验证,设置有限的验证次数。
可以添加延迟来延长暴力破解的时间,这样可以减缓一些单线程攻击,但对多线程攻击则效果不好。