8089 - Pentesting Splunkd
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Splunkは、データの収集、分析、可視化において重要な役割を果たすログ分析ツールです。その初期の目的はSIEM(セキュリティ情報およびイベント管理)ツールとして機能することではありませんでしたが、セキュリティ監視やビジネス分析の分野で人気を博しています。
Splunkのデプロイメントは、機密データを保存するために頻繁に利用され、システムを侵害することに成功した場合、潜在的な攻撃者にとって貴重な情報源となる可能性があります。デフォルトポート: 8089
Splunkウェブサーバーはデフォルトでポート8000で実行されます。
Splunk Enterpriseのトライアルは60日後に無料版に変わります。この無料版は認証を必要としません。システム管理者がSplunkのトライアルをインストールしてテストすることは珍しくなく、その後忘れ去られることがあります。これにより、認証のない無料版に自動的に変わり、環境にセキュリティホールが生じます。一部の組織は予算の制約から無料版を選択することがありますが、ユーザー/ロール管理がないことの影響を十分に理解していません。
古いバージョンのSplunkでは、デフォルトの資格情報は**admin:changeme
**であり、ログインページに便利に表示されています。
しかし、最新のSplunkのバージョンでは、インストールプロセス中に資格情報が設定されます。デフォルトの資格情報が機能しない場合は、admin
、Welcome
、Welcome1
、Password123
などの一般的な弱いパスワードを確認する価値があります。
Splunkにログインすると、データをブラウズしたり、レポートを実行したり、ダッシュボードを作成したり、Splunkbaseライブラリからアプリケーションをインストールしたり、カスタムアプリケーションをインストールしたりできます。 また、コードを実行することもできます:Splunkには、サーバーサイドのDjangoアプリケーション、RESTエンドポイント、スクリプト入力、アラートスクリプトなど、コードを実行するための複数の方法があります。Splunkサーバーでリモートコード実行を得る一般的な方法は、スクリプト入力を使用することです。
さらに、SplunkはWindowsまたはLinuxホストにインストールできるため、Bash、PowerShell、またはBatchスクリプトを実行するためのスクリプト入力を作成できます。
Splunk build
カスタムアプリケーションはPython、Batch、Bash、またはPowerShellスクリプトを実行できます。 SplunkにはPythonがインストールされているため、WindowsシステムでもPythonコードを実行できます。
こちらのSplunkパッケージを使用して支援できます。このリポジトリの**bin
**ディレクトリには、PythonとPowerShellの例があります。これをステップバイステップで進めていきましょう。
これを達成するために、まず次のディレクトリ構造を使用してカスタムSplunkアプリケーションを作成する必要があります:
bin
ディレクトリには、私たちが実行することを意図した スクリプト(この場合、PowerShell リバースシェル)が含まれ、デフォルトのディレクトリには inputs.conf
ファイルがあります。私たちのリバースシェルは PowerShell ワンライナー になります:
inputs.conf ファイルは、Splunk に どのスクリプトを実行するか およびその他の条件を指示します。ここでは、アプリを有効に設定し、Splunk にスクリプトを 10 秒ごとに実行するよう指示します。間隔は常に秒単位であり、この設定が存在する場合にのみ入力(スクリプト)が実行されます。
.bat
ファイルが必要で、これはアプリケーションがデプロイされるときに実行され、PowerShellのワンライナーを実行します。
次のステップは、Install app from file
を選択し、アプリケーションをアップロードすることです。
悪意のあるカスタムアプリをアップロードする前に、Netcatまたはsocatを使用してリスナーを開始しましょう。
Upload app
ページで、ブラウズをクリックし、以前に作成したtarballを選択してUpload
をクリックします。アプリケーションをアップロードするとすぐに、アプリケーションのステータスが自動的にEnabled
に切り替わるため、リバースシェルが受信されます。
Linuxホストを扱っている場合、カスタム悪意のあるアプリをtarballとして作成してアップロードする前に、rev.py
Pythonスクリプトを編集する必要があります。残りのプロセスは同じで、Netcatリスナーでリバースシェル接続を取得し、すぐに進むことができます。
以下のページでは、このサービスが特権を昇格させ、持続性を得るためにどのように悪用されるかの説明を見つけることができます:
Splunk LPE and PersistenceAWSハッキングを学び、練習する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、練習する:HackTricks Training GCP Red Team Expert (GRTE)