暴力破解笔记

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.mzph.cn/news/773176.shtml

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

相关文章

33岁TVB「御用少妻」近况曝光,中戏毕业后跑龙套8年终于上位。

日前,33岁无线小花刘温馨应邀出席了「香港首个女性健康运动与艺术文化慈善嘉年华」,并开心写道:「好开心参与到~香港首个女性健康运动与艺术文化慈善嘉年华 H.E.R Festival。片一:请找亮点。」片中刘温馨暂时其柔软的身…

3.26学习总结

java 实例变量和局部变量 实例变量是记录这个类中对象的特点的每一个对象的实例变量都可以不同(例如名字,性别等),其中一个对象的实例变量改变不会影响其他的变量. 类变量是一种特殊的实例变量,他的特殊在于所有的对象的类变量都是相同的,当一个对象改变了类变量那么所有对象…

雷卯推荐多种系列汽车级TVS供您选择

1. 车规级TVS的应用 2.车规级TVS系列表格如下 3.方案推荐 12V汽车电源浪涌保护方案 方案优点:用于满足前装汽车的ISO7637-2 5A5BA测试,可采用单独大功率的TVS或PTCTVS的组合方案,满足ISO10605-2, 等级4,接触放电15K…

初识云原生、虚拟化、DevOps

文章目录 K8S虚拟化DevOpsdevops平台搭建工具大数据架构 K8S master 主节点,控制平台,Master节点负责核心的调度、管理和运维,不需要很高性能,不跑任务,通常一个就行了,也可以开多个主节点来提高集群可用度…

uniapp 使用命令行创建vue3 ts 项目

命令行创建 uni-app 项目: vue3 ts 版 npx degit dcloudio/uni-preset-vue#vite-ts 项目名称注意 Vue3/Vite版要求 node 版本^14.18.0 || >16.0.0 如果下载失败,请去gitee下载 https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts…

2024 解决 Failed to launch process [ElasticSearch]

操作系统:centos 7 (x86) sonarQube不能使⽤root账号进⾏启动,所以需要创建普通⽤户及其⽤户组 一、问题描述:使用root启动时,一直反馈 SonarQube is not running 问题原因:不能够使用root用户进行启动 解决方案…

【Effective Web】html/css优化和技巧

html/css优化和技巧 html/css可以做到一些js的功能&#xff0c;减少js操作dom的高昂成本。 巧用伪类 显示勾选时文案 checkbo勾选时触发&#xff0c;实现checkbox的简单选中事件处理 <template><input type"checkbox" /><span class"checkb…

深入理解TCP/IP协议:网络通信的基石

提示&#xff1a;本系列文章重点学习TCP/IP协议 深入理解TCP/IP协议&#xff1a;网络通信的基石 简介一、TCP/IP协议的基本原理二、TCP/IP协议的工作机制三、TCP面向连接建立连接&#xff1a;断开连接&#xff1a; 四、分层传输五、TCP流量控制滑动窗口机制流量控制的工作流程优…

ABAP - 上传文件模板到SMW0,并从SMW0上下载模板

upload file template to SMW0 and download the template from it 首先上传文件到tcode SMW0 选择新建后,输入文件名和描述,再选择想要上传的文件 上传完成后: 在表WWWPARAMS, WWWDATA里就会有信息存进去 然后就可以程序里写代码了: 屏幕上的效果:

iOS - Runtime - Class的结构

文章目录 iOS - Runtime - Class的结构前言1. Class的结构1.1 Class的结构1.1.1 objc_class1.1.2 class_rw_t1.1.3 class_ro_t 1.2 class_rw_t和class_ro_t的区别1.3 class_rw_t和class_ro_t的关系1.3.1 分析关系1.3.2 原因 1.4 method_t1.4.1 Type Encoding1.4.2 types iOS - …

langchain调用语言模型chatglm4从智谱AI

目录 ​0.langchain agent 原理 ReAct 1.langchain agent使用chatgpt调用tools的源代码 2.自定义本地语言模型的代码 3.其他加速方法 背景&#xff1a;如果使用openai的chatgpt4进行语言问答&#xff0c;是需要从国内到国外的一个客户请求-->openai服务器response的一个…

pytorch反向传播算法

目录 1. 链式法则复习2. 多输出感知机3. 多层感知机4. 多层感知机梯度推导5. 反向传播的总结 1. 链式法则复习 2. 多输出感知机 3. 多层感知机 如图&#xff1a; 4. 多层感知机梯度推导 简化式子把( O k O_k Ok​ - t k t_k tk​) O k O_k Ok​(1 - O k O_k Ok​)起个别名…

[自研开源] 数据集成之分批传输 v0.7

开源地址&#xff1a;gitee | github 详细介绍&#xff1a;MyData 基于 Web API 的数据集成平台 部署文档&#xff1a;用 Docker 部署 MyData 使用手册&#xff1a;MyData 使用手册 试用体验&#xff1a;https://demo.mydata.work 交流Q群&#xff1a;430089673 介绍 本篇基于…

嵌入式下C/C++调用sqlite3简单开发

交叉编译sqlite3请关注我第一篇博文 sqlite3 交叉编译-CSDN博客 sqlite3的命令的简单使用&#xff08;增删改查&#xff0c;创建/删除表&#xff09;请关注我的上一篇博文 sqlite3嵌入式使用以及C/C代码开发-CSDN博客 一、新建文件夹 此文件夹用于放置工程&#xff0c;比如…

SQLite中的原子提交(四)

返回&#xff1a;SQLite—系列文章目录 上一篇:SQLite数据库成为内存中数据库&#xff08;三&#xff09; 下一篇&#xff1a;SQLite使用的临时文件&#xff08;二&#xff09; 1. 引言 SQLite等事务数据库的一个重要特性 是“原子提交”。 原子提交意味着所有数据库都在…

深度学习十大算法之图神经网络(GNN)

一、图神经网络的基础 图的基本概念 图是数学中的一个基本概念&#xff0c;用于表示事物间复杂的关系。在图论中&#xff0c;图通常被定义为一组节点&#xff08;或称为顶点&#xff09;以及连接这些节点的边。每个边可以有方向&#xff0c;称为有向边&#xff0c;或者没有方向…

学习笔记:MYSQL数据库基础知识

MYSQL数据库基础知识学习笔记 MYSQL基础学习数据库相关概念现主流数据库排名数据模型SQL分类SQL数据库基础操作 2024/3/27 学习资料&#xff1a;黑马程序员:MYSQL MYSQL基础学习 数据库和数据库管理系统(DBMS) 数据库: 是存储数据的集合&#xff0c;包括表、视图、索引等对象…

存内计算:释放潜能的黑科技

什么是存内计算&#xff1f; 存内计算技术是一种新型的计算架构&#xff0c;它将存储器和计算单元融合在一起&#xff0c;以实现高效的数据处理。存内计算技术的优势在于能够消除数据搬运的延迟和功耗&#xff0c;从而提高计算效率和能效比。目前&#xff0c;存内计算技术正处…

苹果Find My产品需求增长迅速,伦茨科技ST17H6x芯片供货充足

苹果的Find My功能使得用户可以轻松查找iPhone、Mac、AirPods以及Apple Watch等设备。如今Find My还进入了耳机、充电宝、箱包、电动车、保温杯等多个行业。苹果发布AirTag发布以来&#xff0c;大家都更加注重物品的防丢&#xff0c;苹果的 Find My 就可以查找 iPhone、Mac、Ai…

jupyter notebook导出含中文的pdf(LaTex安装和Pandoc、MiKTex安装)

用jupyter notebook导出pdf时&#xff0c;因为报错信息&#xff0c;需要用到Tex nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install…