syuya yuikura

概要

先日、OSWE (Offensive Security Web Expert)に合格できたので、本資格がどのようなものかを本記事で紹介したいと思う。

本資格は、Webアプリケーションのソースコードを解析し、そこに存在する脆弱性を特定し、最終的にはサーバ内で任意のOSコマンドを実行するスキルを取得するための資格だ。

セキュリティ業務の1つに脆弱性診断(WebアプリにXSS等の脆弱性が存在するか調査するサービス)があるが、その業務に関わる最も難しい資格の1つだと考えてもらってもいい。

本資格を受講すると500ページを超えるテキストと、練習用のラボ環境、試験の受講資格を得られる。生徒はおよそ1~3か月間で試験の準備をし、48時間の耐久試験を実施することになる。

試験の概要

本資格は48時間の間に2台のサーバで任意のOSコマンドを実行させることで合格となる(合格点は85/100なので、必ずしも完全回答しなくてもいい)。

試験の際は1台のサーバごとに1台のデバッグ環境を与えられる。受験者はそのデバッグ環境にログインすることで、試験用サーバで動作しているWebアプリのソースコードを手に入れることができる。受験者はそのソースコードを読み解き、脆弱性を見つけ、管理者権限を乗っ取り、サーバ内に侵入する。

試験の特徴は以下だ

・筆記ではなく実技

・48時間の試験時間

・最終的に単一のスクリプトでシステムで任意のOSコマンドを実行する攻撃コードの開発が必要

・試験後24時間以内に50~70ページの英語レポートを提出する

本資格はハッキングの試験であるため、筆記等の知識を問う試験ではなく侵入できるか/否かのみを問われる。また、大量のソースコードを読む必要があることから、48時間と常識外の試験時間が設定される。

また、本試験は最終的には脆弱性を利用した攻撃コードの開発が求められる。単純に脆弱性を見つけて終わりではなく、それらを悪用する攻撃コードを開発できて初めて合格が得られる。

つまり、受験者はソースコードの解析、脆弱性の特定、サーバへの侵入、攻撃コードの開発をそれぞれ2台のサーバに対して実施する必要があるハードな試験である。

試験で問われること

本試験に受かるためには脆弱性をソースコードから見つけるスキルが最も求められる。この脆弱性はWebアプリに限定されているが、それらはXSS, SQLインジェクション, パストラバーサル, etcetcと多岐にわたる。

そしてこの脆弱性を見つけるには、まずソースが読めることが必要だ。試験ではどの言語でソースが書かれているかは出題までわからない。教科書やラボではPHP, C#, JAVA, JS等のメジャーな言語が登場する。受験者は各言語の書き方や、各言語ごとの脆弱性を把握する必要がある。

また、個々の脆弱性の知識ももちろん必要だ。XSSとは何か?という概要的な知識はもちろん、どういうケースでその脆弱性がアプリに組み込まれるか、その脆弱性を具体的にどうすれば悪用できるか等の知識が求められる。

そして、それらを具体的に悪用する方法をコーディングする技能だ。XSSやSQLインジェクションの悪用方法をコーディングし、最終的にはそれらを1つのスクリプトとしてまとめる必要がある。

私の試験経過

私の試験の経過を記載する。

--

--

概要

本記事ではシステム侵入における初期プロセスの事例を紹介する。

最近、現場猫等の現場作業のリスク可視化の取り組みが世間でされているため、私もシステム侵入の初期段階を可能な限り端的に事例ベースで表してみようと考えた。

本記事で取り扱う事例はMITRE ATT&CKにおいて各攻撃グループが行った攻撃である。MITREには過去/現在に存在した複数の攻撃グループが登録されており、それらグループが得意とする攻撃テクニックがまとめられている。今回は、この攻撃テクニックの中でも初期アクセス(システム侵入のための取っ掛かりを得ることを目的とした攻撃)に注目し、実際に攻撃者がどのように過去システムに侵入したかを紹介する。

できる限り簡潔に書く努力をするため、各用語等が厳密な定義から外れてしまうことは了承してほしい。

Drive-by Compromise

ユーザが頻繁にアクセスするサイトを乗っ取り、そのサイトを通して攻撃を行う手法である。水飲み場攻撃ともいわれる。

典型的な攻撃としては、ターゲットが頻繁にアクセスするサイトを事前に調査し、あらかじめそのサイトを乗っ取り、ユーザがアクセスするとユーザエージェントの情報から、使用しているブラウザに脆弱性があるかを調査し、脆弱性がある場合はサイトを通して悪意のあるコードを実行する。

本攻撃はターゲットが頻繁にアクセスるサイトを調査することと、そのサイトを乗っ取るというハードルが存在するが、それらを乗り越えると後はユーザの端末内でコードが自動実行される強みを持つ。また、ユーザが頻繁にアクセスするサイトに偽造したサイトを攻撃者が作ることもある。

事例:

ある攻撃グループは人気のWebサイトに侵入し、そのサイトに難読化されたJavascriptを埋め込んだ。そのJSはユーザの環境のSMB用のハッシュを取得することを目的としており、取得すると攻撃者に送信する。

Exploit Public-Facing Application

サーバ上で動作するサービスの脆弱性をついてサーバに侵入する攻撃。おそらく最もわかりやすいテクニックと言える。ApacheやSMBには過去致命的な脆弱性が存在し、スクリプト1つでサーバへの侵入が可能である場合がある。ゼロディ攻撃のリスクがあることから、サービスを公開している限りリスクを完全に0にすることはできない。

事例:

ある攻撃グループはSMB v1が稼働しているサーバを発見し次第、MS17–010の脆弱性を利用してサーバ内に侵入する。

External Remote Services

外部向けのリモート サービスを利用してサーバに侵入する攻撃。VPNやSSH, RDP等がターゲットとなる。

正当なアカウント情報を入手した場合、VPN等を使うことで多くのセキュリティに引っかからずに正当なアカウントとしてシステムに侵入することが可能になる。そのため、そのアカウントの行動は長期間不審に思われず、被害が拡大する可能性がある。

事例:

ある攻撃者は公開されているSSHに対し、総当たり攻撃や別件で流出したID/Passwordの組み合わせ用いたリスト型攻撃を実施する。

Hardware Additions

攻撃者はターゲットのネットワークにデバイスを追加することで、ターゲットのネットワークに侵入する。

ターゲットの環境にデバイスを追加することは、物理的親友が必要であり難易度が高いが、成功した場合は盗聴やデータ改ざん等、通常の侵入より多種の攻撃が可能になる。

事例:

ある攻撃者は宅配業者や求職者を装って建物に侵入し、会議室の1つにラズパイ等のデバイスを配置し、ローカルネットワークに接続した。

Phishing: Spearphishing Attachment

メールで悪意のあるファイルをユーザに送信する攻撃。添付ファイルにはofficeドキュメント、実行ファイル、圧縮ファイル等、様々な種類がある。

本攻撃はメールがユーザの元に届き、ユーザがそのファイルを実行してしまえば攻撃が成立するというハードルの低さに特徴がある。アンチウイルスで添付ファイルをブロックする防御が有効だが、攻撃者のバイパスといたちごっこになっている現状がある。メール本文を巧妙にすることで、多くの被害が発生している。

事例:

ある攻撃者はマルウェアが含まれるエクセルマクロをパスワードzipで圧縮してユーザに送信した。zipにパスワードがついているためメールサーバのアンチウイルスがマルウェアを検出できず、ユーザは巧妙なメール本文に騙されマルウェアを実行してしまった。

Phishing: Spearphishing Link

メールで悪意のあるサイトへのURLを送信する攻撃。サイトにアクセス後は「Phishing: Spearphishing Link」や「Drive-by Compromise」に派生する。

事例:

ある攻撃者はメールにPDFの添付ファイルに見えるような短縮リンクを送信し、そのリンク先に行くとマルウェアのダウンロードが開始される。

Phishing: Spearphishing via Service

本攻撃はSNSや特定のサービスを通してユーザに悪意のある添付ファイルやURLを送信する攻撃。

一般的な例としては、SNSを介してターゲットと信頼関係を築き、ターゲットが職場のコンピューターで使用する個人端末にマルウェアを送信する。

事例:

攻撃者はLinkedIn のメッセージを使用してターゲット企業に所属するユーザに、悪意のあるサイトへのURLを送信した。

Replication Through Removable Media

リムーバブル メディア(USB等)にマルウェアを配置し、ターゲットのコンピュータに挿入されたときに自動実行させる攻撃。

ユーザの端末に特定のメディアを入れさせることは簡単ではないが、それが成功した場合マルウェアが直接実行されるメリットがある。またマルウェアが接続されているメディアにマルウェアをコピーすることで、閉じたネットワークに侵入することもある。

事例:

初期アクセスにおける攻撃の事例なし

Supply Chain Compromise: Compromise Software Dependencies and Development Tools

ターゲット上で動作しているソフトウェアと依存関係にあるライブラリ等に悪意のあるコードを挿入する攻撃。特にそのライブラリがオープンソースである場合攻撃の対象になりやすい。

事例:

攻撃者の事例ではないが、米大学の実験として(かなり批判を浴びたが)実施された。

Supply Chain Compromise: Compromise Software Supply Chain

アプリをユーザが受け取る前に改ざんする攻撃。コンパイル前のソースの改ざん、ソフトウェア配信メカニズムの改ざん等がある。

事例:

ソフトウェア配布ベンダーのシステムに侵入し、正規のソースコードに悪意のあるコードを挿入することで、バックドアのついたソフトウェアを更新時にエンドユーザに広く配布した。

Supply Chain Compromise: Compromise Hardware Supply Chain

ユーザが最終的にデバイスを受け取る前に、ファームウェア等に悪意のあるコードを埋め込む攻撃。

事例:

初期アクセスにおける攻撃の事例なし

Trusted Relationship

攻撃者はターゲットにアクセスできる組織を経由し侵入する。ターゲットに信頼されているサードパーティを先に攻撃し、信頼できるアカウントとしてサーバにRDP, VPNを通してアクセスする。

サードパーティの例として、協力会社・保守業者等が考えられる。

事例:

ある攻撃グループは、ターゲット企業のサードパーティに先に侵入し、そこでターゲットにアクセス可能なVPNアカウントを取得。そのアカウントを使用し正当なユーザとしてサーバに侵入した。

Valid Accounts:

攻撃者は様々なアカウント情報を利用してシステムに侵入する。

Default Accounts

サービスのデフォルトのアカウント。

Domain Accounts

Active Directory ドメイン サービスによって管理されるアカウント。

Local Accounts

システムまたはサービスでの管理のために、組織によって構成されたアカウント。

Cloud Accounts

クラウド サービス や SaaS アプリケーションを利用・管理するためのアカウント。

事例:

office365サービスアカウントを解析され、ユーザの電子メール情報を取得し、そこから得られた情報でサーバに侵入した。

各攻撃グループが扱うテクニック

上記が、システム侵入初期段階で利用されるテクニックの概要と事例だ。また、各攻撃グループがどのようなテクニックを扱うかをカウントしたものが下記の表になる。

ただし、これらは攻撃そのものの頻度を表しているわけではない。各攻撃グループが利用しているテクニックをカウントしただけであり、ユーザに届く攻撃の頻度そのものではない。しかし、ある程度の傾向は得られると考える。

上記の表から特に多いのがフィッシングであることがわかる。フィッシングは前提条件が少なく、直接ユーザをだます攻撃であり、だますことができれば多くのセキュリティをバイパス可能だ。そのため、各攻撃グループは本攻撃を主な手段として用いる場合が多いと考える。

まとめ

本記事ではセキュリティ被害の事例を分野別に紹介した。セキュリティインシデントは被害を受けた企業が公開しない限り不明なことが多い。そのため被害の再生産が起きていると考える。

その中でMITRE ATT&CKは過去の攻撃のナレッジベースであり、このナレッジを整理することである程度、今後発生する攻撃を予期することも可能だ。この記事を読んでくれた方が、侵入の基本を知ってもらえたなら幸いである。

PS

私に現場猫を描ける画力があれば絵にしてみたかったが、やはり難しい。誰か画力に自信のある方は是非MITREを絵で表してほしい。

--

--

概要

本記事では標的型攻撃を人間が見破ることが可能か考察してみる。

2022年、Emotetの再流行によりフィッシングメールへの注意喚起が多く飛ぶ様子が観測できる。

しかし、多くの注意喚起が「怪しいメールには注意しよう」「不審なサイトに騙されないようにしよう」という内容だ。この「怪しい」「不審」というのはなんだろうか?

言葉にしてみるなら「正規のメール・サイトではない疑わしい存在」を示しているのだろうが、これは正確に人間が判断できるものなのか?

一定のルールを決めてそれに従うことで、この怪しさを判断できるなら標的型攻撃は回避できるといえるだろう。

本記事では、フィッシングメール・サイトの「怪しい」と思われる要素が一定のルールベースで判定可能なのかを考察する。

ドメイン

標的型攻撃は特殊な状況(ドメインが乗っ取られる、MITM等で通信が偽装される)以外では非正規のドメインでメールやURLが構成される。

つまり、正しいドメインを判別できれば標的型攻撃に引っかかる可能性はかなり抑えられるといえる。

では、このドメインを確実に判別することは「人間」に可能なのか?

判別するには以下の条件がある。

  1. 正しいドメインを正確に知っている
  2. 対象が正しいドメインかを判別できる

まず「正しいドメインを正確に知っている」は意外と難しい。Amazonのような利用頻度の高いドメインなら覚えているかもしれないが、利用頻度の少ないサイトのドメインを正確に言える人は少ないはずだ。あなたは月1で利用するサイトのドメインを正確に書けるだろうか?

次に正しいドメインを知っていたとして、あなたはアドレスバーあるいはメールの細かい文字から正しいドメイン名を正確に選べるだろうか?

さて、ここでテストだ。

--

--

概要

本記事では、自動診断ツールの危険性について解説する。

まず、自動診断ツールとは何かというと、ここでは「Webアプリに対して自動的にXSSやSQLインジェクション等の脆弱性を(ほぼ)自動で検出してくれるツール」と定義する。

無料なもので有名どころはOWASP ZAPが有名だ。

OWASP ZAPはプロキシツールであるが、記録したHTTPリクエストに対して自動的にXSS等の脆弱性を検出する動的スキャン機能が実装されている。

以下の図のように、各脆弱性の有無をツールが自動的に判定してくれる。

また、有料で自動診断専門のツールとしてはAppScanやVEX等が有名だ。これら有料ツールは無料ツールに比べて、さらに高い精度で脆弱性を検出できる。

そしてこれらツール操作は簡単であり、セキュリティに詳しくないエンジニアでも十分に扱える。

では、Webアプリの脆弱性を見つけることは誰にでも簡単なことなのか?自動診断ツールさえあればWebアプリは安全なのか?もちろん、そんなうまい話はない。

自動診断ツールの原理

自動診断ツールの問題点を理解するには、自動診断ツールの原理を理解する必要がある。OWASP ZAP(以下、ZAP)をはじめとした自動診断ツールは、何をもって脆弱性を判定しているのだろうか?

原理は単純である。ZAPもVEXも以下のフローで脆弱性を判定する。

  1. ブラウジングにより対象ボタンのリクエストを発生させる
  2. プロキシツールであるZAPにそのリクエストを通す
  3. ZAPがそのリクエストを記録する
  4. 記録後、ZAPがそのリクエストを再送する
  5. 再送時にリクエストにXSS等の調査ペイロードを含める
  6. そのリクエストに対するレスポンスを分析し、脆弱性の有無を調べる

1~6までのステップを順に実践してみる。

まずブラウジングによりリクエストを発生させる。ここではLoginボタンをクリックする。

--

--

概要

本記事では資格「OSWP(Offensive Security Wireless Professional)」について解説する。

本資格はOffensiveSecurityが提供しているWi-Fiへのペネトレーションテストのために資格だ。Wi-Fiに対しての脆弱性調査や、その脆弱性を利用した攻撃方法が主な内容となる。おそらくWi-Fiという特定分野に特化したセキュリティ資格は本資格のみだろう。

本資格の受験申込からテストまでの流れはOSCPと同じであるため、よろしければ下記の記事も読んでほしい。

本記事では、本資格で学ぶことができるスキルと、試験の流れについて解説していく。

本資格で得られるスキル

本資格に申し込んだ場合、400ページほどの教科書(PDF)と、各手順を記録した動画が配布される。

教科書のシラバスは以下だ。

大雑把にいうとセキュリティプロトコル「WEP」と「WPA2-PSK」への攻撃手法が中心となる(それ以外のプロトコルについては攻撃がほぼ不可能なため、本資格では取り扱わない)。

それらへの調査・攻撃のためのツール(Aircrack-ng等)の使い方が解説される。もちろん単純にツールの使い方が列挙されているわけではなく、攻撃の意味や、攻撃時のパケットの詳細、それによる影響、エラーが出た際のトラブルシューティングが丁寧に記載されている。

スキルの演習について

OSCPとの最大の違いは、本資格には練習LABがついてこない(OSCPでは演習用の脆弱性を含んだサーバが提供される)。

そのため教科書内のスキルを練習する場合、自分で練習LABを作る必要がある(作り方については教科書内に簡易的に記載されている)。

この練習LABの作成は意外と難しい。

練習用のWi-Fiルータを用意する場合、第一にWEPに対応している必要がある。最新のルータは多くの場合WEPが設定できなくなっているため、新規に購入する場合はよく精査する必要がある。

また攻撃端末の無線LANは、専用のモード(Monitor mode)が設定可能な必要がある。通常の無線子機は許可されていない場合が多いため、これも事前に調べる必要がある。

これらガジェットはソフトウェアではないことから簡単な買い直しができず、真面目に演習しようと思えばそれなりの準備が必要になるといえる。

このため、CTFやOSCPに比べて実際に練習する難易度は高い。

勉強期間について

申し込みから試験まで最大3か月の猶予がある。

はっきり言ってしまえば、教科書を一通り理解するだけなら2週間で十分である。教科書そのものは数百ページあるが、1つの攻撃手法をかなり丁寧に記載してあるため、実際の内容はそれほど濃密ではない。練習LABを作って試す場合は多くの時間が必要だが、おそらくスキルの練習よりも、練習LABの作成の方が時間がかかるだろう。そのため練習LABを作らないという選択肢もある。

OSWPは攻撃種類そのものは少ない。無理に練習LABを作って教科書の内容をなぞるより、攻撃の流れについては付属の動画で確認するだけでも十分かもしれない。

勉強の手順としては、攻撃手法が少ないことから自分なりのチートシートを作成し、どういう状況でどういうコマンドを投げるか…という点を整理しておくことをお勧めする。

私は練習LABを作るのが面倒だったため、自分なりの攻撃用フローチャートを作成して、そのまま本番の試験を行った。

事前スキル

事前のスキルについてはほとんど必要ない。情報安全確保支援士程度の基本的なセキュリティ知識があれば、本教科書を理解するには十分だ。

試験について

次はOSWPの試験について解説する。

まず試験時刻になると、登録したメールにSSHの接続情報と、ターゲットのSSIDが3つ送られてくる。試験はこのSSHの接続先のマシンから行う。

メールが送信されてから3時間45分以内に3つのターゲットのセキュリティキーを取得するのが本試験の目的だ。3つのターゲット全てを取得できないと、その時点で試験は失格となる。

3つのターゲットは「WEP」「WPA2-PSK」のWi-Fiだと思われる。

Wi-Fiは設定項目が多くないことから、基本的には教科書通りの攻撃手法をなぞることで解ける場合が多い。少なくともOSCPのように教科書に載っていない技術を使わなければ解けないという心配は少ない(そのため難易度はOSCPに比べればかなり低い)。

ただし、時間は3時間45分と短めであるため、根本的なところで勘違いをすると簡単に時間切れとなる。冷静に解くことが求められる。

無事に3つのセキュリティキーを取得出来たら、次は24時間以内に技術レポートを提出する必要がある。

3つのターゲットについて、攻撃が再現可能な様に英語で手順書を作ろう。その際に必要なスナップ等については試験中に集める必要があるため、逐一スナップを取るか、試験をクリアした後に再度最初から手順を繰り返してエビデンスを集めることをお勧めする。

レポートを無事提出すると、数日後に合否を記載したメールが届く。

まとめ

本記事では資格「OSWP」について記載した。

Wi-Fiへのペネトレーションテスト専用の資格ということもあり、非常に限定的でマニアックな資格だ。普通のエンジニアであればWi-Fiへの攻撃など考慮する機会すらないかもしれない。

しかし、このWi-Fiへの攻撃というのは大きな脅威と考えられている。Wi-Fiは当然ながら室内だけに電波を抑えておけない。つまり、攻撃者は自宅や社内のWi-Fiを外から捕まえて、そこから社内ネットワークに侵入できる。サーバの脆弱性などを利用せずに、いきなり社内ネットワークに侵入できるというのは大きな抜け道なのだ。特に、昨今はテレワーク化により自宅から社内ネットワークに入れる。攻撃者はあなたの自宅のWi-Fiを乗っ取り、そこから企業に侵入するかもしれない。

このようにWi-Fiへの攻撃というのは意外と身近なものだ。少なくともあなたがセキュリティエンジニアであれば、攻撃者がWi-Fiに対して何をやってくるのかを考慮する必要がある。また、さらに一歩進んで学びたいのであれば、本資格を受講することをお勧めする。

--

--

概要

本記事ではMITRE ATT&CKについて、その概要を解説する。

MITRE ATT&CKは過去にサイバー犯罪者たちが扱った各種手法を網羅したデータベースである。

https://attack.mitre.org/

このデータベースを参照することで、攻撃者がどのような攻撃を行ってくるかを予想することができ、組織の安全を高めることが可能になる。

しかし、本データベースは非常に巨大であり500を超える攻撃手法が紹介されている。各紹介記事には概要、実際の攻撃例、緩和策、検出方法といった内容が記載されており、かなりボリュームのある内容になっている。

また、各記事はいくつか大きなプロセスに分類されている。

それらは「Reconnaissance」「Resource Development」「Initial Access」「Execution」「Persistence」「Privilege Escalation」「Defense Evasion」「Credential Access」「Discovery」「Lateral Movement」「Collection」「Command and Control」「Exfiltration」「Impact」といった項目だ。

本記事では、この分類がどのようなものかという点に絞って解説したいと考える。これらはサイバーキルチェーンと類似しており、攻撃者が攻撃開始から撤収までの各プロセスである。ただキルチェーンと違い、必ずしも一方方向に進むわけではない。各プロセスの概要が飲み込めれば、その中の記事の理解も早くなるため、まずはこのプロセスの内容を理解することを勧める。

Reconnaissance

日本語に直せば「偵察」の意味になる。攻撃者はターゲットの組織を攻撃する前に必ずその事前情報を公開された情報の中から探す。それはGoogleから見つけたり、その企業のサーバをスキャンしたり、その組織の人間に直接接触したりする。このように、あらゆる角度からその組織の穴を見つける試みが、このReconnaissanceといえる。

Resource Development

--

--

概要

本記事ではポートスキャンツールNmapの動作を解析する。

Nmapはサーバで動作するサービスを特定してくれるツールだ。しかし、サーバで動作するサービスを特定する作業は簡単ではない。なぜなら、サーバの任意のポートにコネクションをつないでも、サーバは自分からサービスを教えてくれない。

そのため様々な通信を行うことでNmapはサービスを特定していると考えられる。本記事ではその動作について調査する。

3ウェイハンドシェイク

まずは、基本的な3ウェイハンドシェイク(コネクションを確立する手順)をWireSharkで確認してみよう。

Netcatを使用し、10.0.2.15の80番ポートにアクセスする。

3つの通信が発生したことが確認できる。

1番上は10.0.2.4(自分)から10.0.2.15(相手)にSYNパケットが送信されている。

--

--

概要

本記事ではSSHに対する基本的な設定の種類と、それぞれに対する危険性について解説する。

SSHはネットワークに接続された別のサーバを遠隔で操作するためのプロトコルだ。実際にその端末の前にいかなくても遠隔で操作できることは、実務上大きなメリットがあり、どの現場でも使用しているだろう。

しかし、便利だからこそ攻撃者に狙われる。攻撃者からすれば本プロトコルを攻略すればそのままサーバを乗っ取れるからだ。

本記事では基本的なSSHの設定とその攻撃の種類について記載する。

パスワードによるログイン

まず前提条件として、クライアント側(10.0.2.10)、サーバ側(10.0.2.15)に分かれて実験を行う。

パスワードによるログインのプロセス

最も基本的なパスワードによるログインについて説明する。これは単純にIDとパスワードで認証を行う。

ドメイン, ID, パスワードさえ知っていれば世界中どこからでもログインできるため便利であるが、通常のプロトコルと同様に総当たり攻撃に弱い。

パスワードによるログインへの攻撃

IDとパスワードの組み合わせを攻撃者が知らなくても、総当たり(全ての組み合わせ)を試せばいつかログインできることになる。

今回はMetasploitのssh_loginモジュールを使用し、IDを固定(yuikura)し、よく使われるパスワード数千個を調査した。

--

--