每日一句:
结果出来之前,一切皆有可能
本文内容:
~常见的加密方式
~密码生成工具
~查找爆破模块
~实战密码爆破
一、常见的加密方式
1,MD5加密
问:为什么介绍md5?
答:通常的密码都以md5这种加密算法加密,网站登陆一般用md5进行加密
定义:
常用于密码验证的一种算法。是hash(散列函数)的一种。
拓展:
哈希算法主要有MD4、MD5、
SHA【SHA-0,SHA-1,SHA-2(SHA-224、256、384、512)】
目前除了SHA-2相对安全,其他的算法已经存在风险
特点:
正向快速:原始数据可以快速计算出哈希值
逆向困难:通过哈希值基本不可能推导出原始数据
输入敏感:原始数据只要有一点变动,得到的哈希值差别很大
冲突避免:很难找到不同的原始数据得到相同的哈希值
作用:
基于以上特点,一般有两个作用
~加密一些敏感信息(如密码)
~验证一些文件是否被修改
补充:
win系统自带工具验证hash值,上命令:
certutil /? 查看帮助
certutil -hashfile 1.jpg MD5 查看该文件的MD5值
问:为什么要去验证hash值?
每一个文件都存在一个唯一值,也就是我们说的指纹信息。
我们通过校验文件,来验证文件是否被修改以及是否损坏
问:如何找到软件真正的hash值?
一般来说在下载正版软件的时候,对方会提供这个md5值。
问:如何解密md5值?
可以使用在线解密网站,例如 https://cmd5.com/
问:明文密码存在有哪些危害性?
一般而言,密码存在规律性,可破解性,对应性。
我们通过找到密码,进行归类,然后形成密码群,进行精确进行攻击
2,栅栏密码
定义:
所谓栅栏密码,就是把要加密的明文分成N个一组,
然后把每组的第1个字连起来,形成一段无规律的话。
不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。
(一般不超过30个,也就是一、两句话)
例如:
明文: abcd 1234
abcd
1234
a1 b2 c3 d4
密文: a1b2c3d4
当然,分组的话。不一定4个一组,如:
明文:ab cd 12 34
ab
cd
12
34
ac 13 bd 24
密文: ac13bd24
拓展:
凯撒密码:
定义:
据传是古罗马恺撒大帝用来保护重要军情的加密系统。
(既是今天我们所说的:替代密码)
它是一种置换密码,通过将字母按顺序推后起3位起到加密作用,
如将字母A换作字母D,将字母B换作字母E。
据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。
例子:
明文: abc
密文: cde
同样的,这个移位也不一定移动3个,可以移动很多个如4个、5个等
补充:
常见的密码加密还有:维吉尼亚密码、 猪圈密码、培根密码等等
原理都挺简单、不过多叙述。
3,一些在线小工具
https://cmd5.com/ md5加密解密
tool.bugku.com 栅栏密码在线
二、密码生成工具
1,密码生成工具 - genpAss
评价:中国特色的弱口令生成器
指令:
-n 名字
-u 用户名
-q QQ号
-e 邮箱
-m 手机号
-b 生日:格式:2000-01-01
-c 公司名
-o 导出文件
补充:
这是github上的一个小工具、和之前提到过的一些网站很类似
https://www.bugku.com/mima/
不在多提了,同学们 一看就懂。这个在线生成密码也可以自己下载源码配合phstudy在本机完成
问:怎么给自己起一个安全的密码?
~小网站注册,随便一些,不要和qq、微信、支付宝等等一样
~可以姓名拼写+古诗词缩写
如: 张三,床前明月光 zschuangqianmingyueguang等等
~加密md5取其前4位+后4位等
问:如何知道自己的密码有没有被泄露?
答:密码泄露查询:https://haveibeenpwned.com/Passwords
三、查找爆破模块
0,使用搜索功能查找模块的作用
通过搜索来缩小我们寻找模块的范围、更加精确找到我们想要的模块
1,查找msf中爆破模式的姿势:
前提:先进入MSF
~search type:auxiliary login
//查找辅助模块的登录功能
//查找关键词
~search type:auxiliary name:ssh
//查找服务名
~search type:auxiliary name:phpmyadmin logon
//查找服务名+关键词
通过搜索功能快速找到我们想要的模块,缩小范围、精确定位
四、实战密码爆破
0,前言
通过“信息收集”进行针对性的密码爆破
具体:
~收集网站管理员信息,通过密码生成工具,生成特色的一些弱密码
~将生成的密码保存到一个txt文本中
1,SSH密码爆破
ssh是什么?
linux的一种远程连接服务,类似win的3389端口的远程连接
ssh的端口号是22
模块名:“auxiliary/scanner/ssh/ssh_login”
use auxiliary/scanner/ssh/ssh_login //使用该爆破模块
options //查看需要配置什么
例如:
set rhosts 192.168.221.135 //设置目标IP
set username admin //设置用户名,如果知道的话,可以不设置
set pass_file/root/password.txt //设置跑密码的字典
run //运行,开始爆破
说明:程序结束后,出现一个+,便证明成功了
2,MySql密码爆破
模块名:“auxiliary/scanner/mysql/mysql_login”
use auxiliary/scanner/mysql/mysql_login
options
set rhosts 192.168.221.2
set username root
set pass_file/root/password.txt
run
同理,进程结束后,有+代表成功了
3,phpmyadmin登录验证爆破
模块名:“auxiliary/scanner/http/phpmyadmin_login”
和上边的步骤一致
在实战中,得到目标网站
上御剑直接扫目录
扫除url/phpmyadmin/
直接爆破,可以用上述命令,
但是都涉及到网页了,是不是也可以直接上burp了呢(不要被思维所限制)
补充一下,msf中两个命令,来加深印象:
back 返回上一层
quit 退出控制台
五、其他知识补充:
问:在爆破目录中可以去找类似的源码猜吗?
可以的,我们不能放过一些有利的信息
问:在登陆的时候万能密码有什么用?
通过爆破来验证是否存在sql注入漏洞
问:在运行MSF的模块时用exploit不是run吗?
exploit和run的作用是一样的,都是运行模块
问:在msf中好慢,是不是可以通过修改第一个设置来修改线程数?
在我们的模块中设置,threads 这个选项即可
问:一些工具,如蚁剑 从github下载的时候;火绒爆存在后门,那个蚁剑没有问题吧?
没有问题,可以在虚拟机里面运行
问:我如果下载东西到虚拟机,发现下载东西有病毒的话,病毒会不会渗透到我的主机上?
可能会,存在虚拟机逃逸。当然,我们一般使用net模式,有一定的防护作用。
问:如何测试mysql爆破?
自己搭建一个phpstudy在数据库创建一个用户,默认%
问:设置msf模块的时候怎么看要设置那些东西?
看他yes还是no,并且考虑本次要设置的模块和要测试的目标。