TryHackMe Phishing Basics

このルームでは、フィッシングの技術やツールについて学びます。フィッシングは、人間の心理の隙をつくソーシャルエンジニアリングの代表的な手法です。

Task1 Introduction

強固なファイアウォールや侵入検知システムなどの技術的対策が万全な組織であっても、人間という要素(セキュリティにおける最大の脆弱性)を完全に保護することは不可能です。

フィッシングは、この「人の心理」を巧みに突き、騙し、操作することで組織への初期アクセスを奪取する、ペンテスターにとって極めて強力な手法として位置づけられています。たった1通の巧妙なメールが技術的制御をすり抜け、マルウェアの感染や資格情報の窃取を引き起こし、ターゲットネットワークへの侵入を許してしまいます。

本ルームではこれらを踏まえ、以下の5つの学習目標を掲げています。

  1. フィッシングの定義とペンテストにおける役割
  2. フィッシングの背後にある心理学
  3. 一般的なフィッシング攻撃の手法
  4. フィッシングキャンペーンの構造・分析
  5. フィッシングで用いられるツール

Question

No answer needed

Task2 Phising 101

フィッシングとは、技術的脆弱性ではなく「人の心理」を突き、実在する正当な組織を装って機密情報の窃取やマルウェア感染を狙うソーシャルエンジニアリング手法です。その手口は主にターゲットの範囲によって以下の3つに分類されます。

  1. 通常型(Phishing): 不特定多数に同じ偽メールを一斉送信するバラマキ型。
  2. スピアフィッシング(Spear Phishing): 特定の個人や組織を標的に、業務内容等に合わせて巧妙にカスタマイズされた攻撃。
  3. ホエーリング(Whaling): スピアフィッシングの一種で、CEOやCFOなど権限を持つ経営幹部・意思決定者を狙い、巨額の資金移動や制御の無効化を画策する攻撃。

ペネトレーションテストにおいてフィッシングは、組織の人的脆弱性を評価するために不可欠です。倫理的ハッカーは実害のない模擬メールを送信し、開封率やリンクのクリック率などのメトリクスを追跡・分析します。これにより組織は実際の脅威への露出度を把握し、セキュリティ体制を強化できます。

Question

What is the primary channel used during a smishing attack? 
スミッシング攻撃の際に主に利用される手段は何ですか?

Answer

You are a CEO and have just received a phishing email sent only to you. What type of phishing is this? 
あなたはCEOであり、自分だけに送られてきたフィッシングメールを受け取ったところです。これはどのような種類のフィッシングでしょうか?

Answer

Task3 Psychology of Phishing

攻撃者は、人間の感情や意思決定を操作するために以下の6つの原則を悪用します。

  • 希少性(Scarcity): 数量限定などで焦りを生む
  • 緊急性(Urgency): カウントダウンを設けて冷静な確認を防ぐ
  • 権威(Authority): IT管理者や上司を装い従わせる
  • 恐怖(Fear): アカウント停止などの脅しで即座に行動させる
  • 好奇心(Curiosity): 思わせぶりな件名で警戒心を緩めさせる
  • 信頼(Trust): 見慣れたブランドや同僚を騙る

また、事実より感情や経験を優先してしまう「認知バイアス」も悪用されます。「自分は騙されない」と油断する過信バイアス、待ち望む連絡だと疑わずに信じる確証バイアス、目上の人間を無条件に信じる権威バイアスがその代表例です。

ペンテスターは、これらの心理的戦術を模擬メール等に組み込むことで、組織がソーシャルエンジニアリング攻撃にどれだけ耐えられるかを正確にテストできます。

Question

You receive an email stating that a special offer for the new iPhone will expire in 24 hours if you don’t act now.Which principle is being used?
「今すぐ行動しないと、新型iPhoneの特別オファーは24時間後に終了します」という内容のメールが届きました。これはどのような心理的原則を利用しているのでしょうか?

Answer

 An executive requests sensitive data via email, emphasising their position within the company.Which principle is being used? 
ある幹部が、社内の地位を強調しながら、メールで機密データの提供を依頼してきた。これはどの原則に基づいているか。

Answer

You receive a message promising exclusive access to a new product no one else knows about if you click on a link. Which principle is being used? 
リンクをクリックすれば、まだ誰も知らない新製品への限定アクセス権が得られるというメッセージが届きました。これはどのような原理を利用しているのでしょうか?

Answer

You receive an email claiming that your account credentials were found in a recent data breach. Which principle is being used? 
「最近のデータ漏洩事件で、あなたのアカウントの認証情報が発見された」と主張するメールが届きました。これはどの原則を利用しているのでしょうか?

Answer

Task4 Phishing Techniques

フィッシング攻撃の主な技術的アプローチとして、以下の4点が挙げられます。

  1. URL・ドメイン偽装: リンク表記を偽装するURLマスキング、視覚的な類似文字を悪用するホモグラフ攻撃、打ち間違いを狙うタイポスクワッティング、短縮URLの悪用。
  2. メール偽装(Spoofing): SMTPの仕様を突き、ヘッダーの送信元表記や表示名を偽装する。組織はSPF、DKIM、DMARC等の技術で対抗します。
  3. 認証情報の窃取(Credential Harvesting): 本物そっくりのログイン画面(クローンページ)へ誘導し、入力されたパスワード等を攻撃者のサーバーに送信・記録する。
  4. 悪意あるペイロード: 開封後にマクロ有効化を促すWord文書などを送り、バックグラウンドで不正コマンドを実行させる(ペンテストでは実害のない通信で成功判定を行う)。

ペンテスターがキャンペーン管理に用いる主要ツールとして、テンプレート作成や統計分析を行う「GoPhish」、MFAをバイパスする「EvilNginx」、多様な攻撃を自動化する「SET」があります。

Question

Which technique relies on users making a typo? 
どの手法が、ユーザーの入力ミスを前提としているのでしょうか?

Answer

Which three security measures help organisations defend against email spoofing?
Answer format: Alphabetical order, separated by commas 
組織が電子メールのなりすましから身を守るために役立つセキュリティ対策は、次の3つです。
回答形式:アルファベット順、カンマで区切る 

Answer

Task5 Anatomy of a Phishing Campaign

フィッシングキャンペーンのプロセスは以下の5つのステージに分かれています。

  1. 計画とスコープ定義: 対象グループや手法、測定基準を決定し、法的承諾や緊急停止手段(キルスイッチ)などのルールを明文化します。
  2. 偵察(Reconnaissance): 公開情報(OSINT)のみを利用し、組織のWebサイトやLinkedInなどから、もっともらしい口実(事前テキスト)を収集します。
  3. シナリオ・ペイロード開発: 収集した情報を基に本物に近い模擬メールを作成します。実害のあるマルウェアは使わず、安全な追跡リンク等を用います。
  4. 悪用と事後悪用: 計画に沿って配信し、開封やクリックをリアルタイムで監視します。
  5. 報告と報告会: 個人の特定を避け、組織全体のクリック率や報告率などのメトリクス(成果指標)を分析します。

報告書では、業界のベンチマーク(基準値)と比較した指標(リンククリック率8〜14%、資格情報入力率2〜5%など)を基に、多要素認証(MFA)の導入や不審な添付ファイルの扱いに関するトレーニングといった、組織が次に取るべき実践的なセキュリティ改善策を提案します。

Question

Your campaign shows a credential entry rate of 6%. According to the benchmarks, what risk level does this represent?
貴社のキャンペーンの認証情報入力率は6%となっています。ベンチマークによると、これはどの程度のリスクレベルに相当しますか?

Answer

Which metric measures the percentage of users who open an attachment?
添付ファイルを開くユーザーの割合を測定する指標はどれですか?

Answer

A client has a click rate of 10%. Which single recommendation from the table would you give them? 
あるクライアントのクリック率は10%です。表にある推奨事項のうち、どれをそのクライアントに提案しますか?

Answer

Task6 The Social Engineering Toolkit

以下のシナリオに基づいて、SET(Social Engineering Toolkit)を利用して、フィッシング用のWebアプリを作成して、ターゲットの資格情報を取得します。

シナリオ

OSINT調査の結果、ついにスピアフィッシング攻撃の有力な標的を特定しました。それは、TryAccountingの財務責任者であるボブです。LinkedInを通じて、bob@tryaccounting.thmというメールアドレスを見つけました。同社が募集していたサイバーセキュリティエンジニアの求人情報から、以下のことがわかりました。

厳格なパスワードポリシーを採用している(フィッシングメールの口実として有効)

メールセキュリティ対策を実施しているため、基本的なメールのなりすましが必要になる可能性がある

我々の目的はボブの認証情報を入手することであるため、それらを収集するためのフィッシングWebアプリを作成する。

Question

Answer

ルームのVMを起動します。起動したら、Kali LinuxからSETを利用するためにルームのVMにSSH接続します。

Kali Linux
┌──(kali㉿kali)-[~/Downloads]
└─$ ssh attacker@10.49.151.196
~省略~
attacker@tryhackme-2404:~$    

SETを起動して、[Social-Enginnering Attacke]を選択します。

Kali Linux
attacker@tryhackme-2404:~$SET
~省略~
 Select from the menu:

   1) Social-Engineering Attacks
   2) Penetration Testing (Fast-Track)
   3) Third Party Modules
   4) Update the Social-Engineer Toolkit
   5) Update SET configuration
   6) Help, Credits, and About

  99) Exit the Social-Engineer Toolkit

set> 1 

次に[Website Attacke Vectors]を選択して、さらに[Credential Harvester Attack Method]を選択します。

Kali Linux
Select from the menu:

   1) Spear-Phishing Attack Vectors
   2) Website Attack Vectors
   3) Infectious Media Generator
   4) Create a Payload and Listener
   5) Mass Mailer Attack
   6) Arduino-Based Attack Vector
   7) Wireless Access Point Attack Vector
   8) QRCode Generator Attack Vector
   9) Powershell Attack Vectors
  10) Third Party Modules

  99) Return back to the main menu.

set> 2 
Kali Linux
   1) Java Applet Attack Method
   2) Metasploit Browser Exploit Method
   3) Credential Harvester Attack Method
   4) Tabnabbing Attack Method
   5) Web Jacking Attack Method
   6) Multi-Attack Web Method
   7) HTA Attack Method

  99) Return to Main Menu

set:webattack>3 

3番目のオプション[Custom Import]を選択し、独自のHTMLファイルを使用できるようにします。実際のキャンペーンでは、[Site Cloner]オプションを使用して、ターゲットのWebアプリとそっくりなコピーを作成します。POSTバック用のIPアドレスの入力を求められたら、そのIPアドレスが 10.49.151.196 と同じであることを確認してください:

Kali Linux
  1) Web Templates
   2) Site Cloner
   3) Custom Import

  99) Return to Webattack Menu

set:webattack>3
[-] Credential harvester will allow you to utilize the clone capabilities within SET
[-] to harvest credentials or parameters from a website as well as place them into a report

-------------------------------------------------------------------------------
--- * IMPORTANT * READ THIS BEFORE ENTERING IN THE IP ADDRESS * IMPORTANT * ---

The way that this works is by cloning a site and looking for form fields to
rewrite. If the POST fields are not usual methods for posting forms this 
could fail. If it does, you can always save the HTML, rewrite the forms to
be standard forms and use the "IMPORT" feature. Additionally, really 
important:

If you are using an EXTERNAL IP ADDRESS, you need to place the EXTERNAL
IP address below, not your NAT address. Additionally, if you don't know
basic networking concepts, and you have a private IP address, you will
need to do port forwarding to your NAT IP address from your external IP
address. A browser doesn’t know how to communicate with a private IP
address, so if you don't specify an external IP address if you are using
this from an external perspective, it will not work. This isn't a SET issue
this is how networking works.

set:webattack> IP address for the POST back in Harvester/Tabnabbing [10.49.151.196]:  

次に、index.html のパスとして /home/attacker/setoolkit/ を指定し、最初のオプション[Copy just the index.html]を選択します。最後に、次の URL を入力します:http://tryacounting.thm、そして Enter キーを押します:

Kali Linux
set:webattack> Path to the website to be cloned: /home/attacker/setoolkit/
[*] Index.html found. Do you want to copy the entire folder or just index.html?

1. Copy just the index.html
2. Copy the entire folder

Enter choice [1/2]: 1
[-] Example: http://www.blah.com
set:webattack> URL of the website you imported: http://tryacounting.thm

The best way to use this attack is if username and password form fields are available. Regardless, this captures all POSTs on a website.                                                                
[*] The Social-Engineer Toolkit Credential Harvester Attack
[*] Credential Harvester is running on port 80                                                      
[*] Information will be displayed to you as it arrives below:  

ターミナルウィンドウは開いたままにしておいてください。ここでターゲットの認証情報を取得するからです。

ドメイン名に意図的なタイプミスがあることに注目してください。「c」が1つ抜けています。フィッシング攻撃において、タイポスクワッティングされたドメインを掌握することは、成功の可能性を最大限に高めるのに役立ちます。ブラウザで http://10.49.151.196 にアクセスすると、資格情報を収集するWebページが表示されます。

次にフィッシングメールを作成して送信します。 ブラウザから http://10.49.151.196:8080  にアクセスし、メールアドレス attacker@phisher.thm とパスワード attacker1234 を使用してRainloopクライアントにログインしてください。

bob@tryaccounting.thmへメールを送信すると、メール送信のエラーが返されます。

Rainloopでは、エイリアスを使って基本的ななりすましを行うことができます。

[New Message]ボタンをクリックし、作成されたメール画面で[From]フィールドで[support@tryaccounting.thm]を選択して、あたかも社員がbob@tryaccounting.thm宛てに社内メールを送っているかのように見せます。そして説得力のある以下のようなメールの文面を記入して送信します。

[Subject] : Action Required : Password Expiration Notice

[Message]
Dear Bob,
As part of our security policy, we require all TryAccounting employees to change their passwords every 3 months. Please log in to our internal portal and update your password before Friday:
http://tryacounting.thm
Thank you,
TryAccounting Support Team

SETのターミナルウィンドウに戻ると、収集した資格情報を確認できます。

Kali Linux
[*] WE GOT A HIT! Printing the output:
POSSIBLE USERNAME FIELD FOUND: username=bob.wilkinson                                               
POSSIBLE PASSWORD FIELD FOUND: password=THM{you_just_got_phished!}                                  
[*] WHEN YOU'RE FINISHED, HIT CONTROL-C TO GENERATE A REPORT.