
Krakerは、使いやすさに重点を置いた分散型パスワードブルートフォースシステムです。
Kraker は、hashcat をさまざまなサーバーやワークステーション上で実行・管理できる分散パスワードブルートフォースシステムで、使いやすさに重点を置いています。設計・開発においては、分散ハッシュクラッキングのための最もシンプルなツールを作成することと、耐障害性を持たせることの 2 つが主な目標でした。
Kraker はサーバーとエージェントの 2 つの主要コンポーネントで構成され、REST API を通じて通信します。インストールと設定については以下をご覧ください。
Kraker は現在も開発中です。新しい機能、ドキュメント、アップデートは随時リリースされます。改善の提案、開発への参加、バグの発見がありましたら、お気軽に Issue や Pull Request を開くか、@_w34kp455 または @_asSheShouldBe までご連絡ください。
ここでは、独自のサーバーをセットアップし、ソースからエージェントをビルドして実行する方法を説明します。あらかじめビルドされたリリースをダウンロードして実行することもできます。
サーバーは Laravel で書かれており、ブルートフォースタスクを作成するための Web インターフェースを提供し、エージェントの管理も行います。
sudo apt update
sudo apt-get -y install unzip git
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.sh
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo systemctl enable docker
git clone https://github.com/zzzteph/kraker
cd kraker/server
sudo docker-compose build app
sudo docker-compose up -d
sudo docker-compose exec app composer install
sudo docker-compose exec app php artisan key:generate
sudo docker-compose exec app php artisan migrate
sudo docker-compose exec app php artisan db:seed --class=HashtypeSeeder
sudo docker-compose exec app php artisan db:seed --class=UserSeeder
サーバーの IP アドレスにアクセスし、次の認証情報を入力します。
エージェントは .NET Core 5 で書かれており、このフレームワークが利用可能な Linux、Windows、MacOS(未テスト)など、任意の OS で動作します。エージェントはサーバーから受け取ったブルートフォースタスクを実行します。
エージェントをホスト上で動作させるには、.NET Core 5 をインストールする必要があります。以下のリンクからダウンロードできます。
https://dotnet.microsoft.com/download/dotnet/5.0
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y apt-transport-https
sudo apt-get update
sudo apt-get install -y dotnet-sdk-5.0
dotnet publish --configuration Release。その後、Kracker.App/bin/Release/net5.0 フォルダにビルドされたプロジェクトが生成されます。Kracker.App/bin/Release/net5.0 内の appsettings.json を編集し、ServerURL と Hashcat.Path を次のように設定します。{
"HashCat":{
"Path": "/home/admin/Kraker/agent/Kracker.App/bin/Release/net5.0/hashcat/hashcat.bin", //hashcat のパス
"SilencePeriodBeforeKill": 5, //デフォルト - 60 分
"RepeatedStringsBeforeKill": 100, //デフォルト 1000 文字列
"NeedForce": true,
"Options": "--quiet --status --status-timer=1 --machine-readable --logfile-disable --restore-disable --outfile-format=2"
},
"ServerUrl": "http://8.8.8.8/", //サーバーの URL
"InventoryCheckPeriod": 600,
"HearbeatPeriod": 15
}
dotnet run Kraker.app.dll コマンドを使用します。
リリースには以下が含まれています:
リリースからエージェントを実行する手順:
Kracker.App/bin/Release/net5.0 内の appsettings.json を編集し、ServerURL と Hashcat.Path を設定します。dotnet Kraker.app.dll コマンドを使用します。