ycoya/laravel-telnet-brute-force

一款用于暴力破解telnet连接的包

dev-master 2024-08-02 04:30 UTC

This package is auto-updated.

Last update: 2024-10-02 04:52:11 UTC


README

通过暴力破解从telnet服务恢复密码。

这是为了满足我自己的需求而制作的,不期望在实际的Web应用中使用。这更多的是为了学习和实践构建包。如果有人需要它,那么就在这里。

此包包含两个Artisan控制台命令,可以运行暴力破解攻击。

一个命令将使用来自文件的用户和密码列表,另一个命令则内部生成密码。

重要的是要说明,我们通过检查我们没有从telnet回复中收到“login”来确定我们是否成功猜测了密码。这样我们就可以有一个$,#,或者C:>作为提示符。所以这是针对我们不知道登录后我们会看到什么的情况。我们也可能有误报。如果有人错误地使用此工具,我概不负责。

安装

  composer require ycoya/laravel-telnet-brute-force

要求

php 8.0+

文档

使用字典进行暴力破解

php artisan telnet:attack-dict --host=127.0.0.1 
--userDb=utils/users.txt --passDb=utils/passwords.txt

要获得命令的帮助,请输入

 php artisan help telnet:attack-dict

主机选项将定义目标机器。选项 --userDB 和 --passDb 是用户和密码的来源路径。

过程是:首先选择一个用户,然后通过 password.txt 中的所有密码对这个用户进行测试,如果没有找到任何东西,然后它会选择第二个用户,并重复相同的步骤。我们也可以输入完整的路径,例如

--userDb=C:\brute-force\dictionary\utils\users.txt

相同的是

--passDb=C:\brute-force\dictionary\utils\passwords.txt

或者它可以是相对于laravel应用程序根目录的相对路径。如下所示

--userDb=utils/users.txt

如果在这个路径中找不到这个文件,那么它会在 storage/app 文件夹中尝试搜索。然后有三个选项

1-完整路径

2-相对于laravel根目录的相对路径

3-相对于(laravel_root_folder)/storage/app的相对路径。

文件应该具有每行一个字符串的结构。例如

users.txt 中,我们可以有。

root

john

juan

...

passwords.txt 中,我们可以有。

admin

password

1234

...

此命令将保存当前用户和密码列表中使用的索引。如果命令被中断或因任何原因停止,我们可以自动从停止的地方恢复。

使用密码生成进行暴力破解

php artisan telnet:attack-gp --host=172.0.0.1 --user=root
 -m CharMap.txt --min=1 --max=5

主机选项将定义目标机器。

--user 选项是用于所有生成密码的用户。

-m|char_map_path 是获取用于生成密码的字符的文件的路径

这与之前相同,char_map_path 可以包含

1-完整路径

2-相对于laravel根目录的相对路径

3-相对于(laravel_root_folder)/storage/app的相对路径。

charMap的结构是一个数组

charMap.txt

["a","b","c","d","e","f","g","h","i","j","k","l","m",
"n","o","p","q","r","s","t","u","v","w","x","y","z"]

命令将使用这些字符来组合密码。

--min 选项是设置要组合的密码的起始长度。

--max 选项是设置要组合的密码的最终长度。

从上面的示例中,我们将获得从单个长度到所有字符通过时的密码,然后它会移动到生成两个长度的密码,使用charMap组合。例如:aa, ab, ac...等等,当这完成时,它会使用长度为3的密码,依此类推,直到最大值。对于这个示例,它是5个长度的5。

如果我们只想使用特定的长度,比如一个4个字符的密码来测试所有组合,那么我们可以通过以下选项传递

php artisan telnet-attack-gp --min=4 --max=4

相同的值用于两个选项。

如果我们只传递 --max 值,那么密码长度将从 1 到这个最大值,所以在上述示例中,我们可以省略 --min=value,这些组合我们都可以使用。

有一个 --debug 选项,如果需要,会输出更多到 laravel.log,但不会在控制台显示。

此命令会保存生成的密码的进度和生成它所花费的时间。所以如果命令被中断或我们出于任何原因停止它,我们可以自动从上次停止的地方继续。

如果我们需要重新启动,那么 --reset 选项就是为此而设的。

这个进度保存在 storage/app/telnet-brute-force-gp 文件夹中。这些都是基础。如需更多帮助,请运行

php artisan help telnet:attack-dict

php artisan help telnet:attack-gp 

以获取更多选项。