Phishing Methodology
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)
被害者をリコン
被害者のドメインを選択します。
被害者が使用しているログインポータルを探すために、いくつかの基本的なウェブ列挙を実行し、なりすますポータルを決定します。
OSINTを使用してメールアドレスを見つけます。
環境を準備する
フィッシング評価に使用するドメインを購入します。
メールサービス関連のレコード(SPF、DMARC、DKIM、rDNS)を設定します。
gophishでVPSを設定します。
キャンペーンを準備する
メールテンプレートを準備します。
認証情報を盗むためのウェブページを準備します。
キャンペーンを開始します!
キーワード: ドメイン名は元のドメインの重要なキーワードを含みます(例: zelster.com-management.com)。
ハイフン付きサブドメイン: サブドメインのドットをハイフンに変更します(例: www-zelster.com)。
新しいTLD: 同じドメインを使用して新しいTLDを使用します(例: zelster.org)。
ホモグリフ: ドメイン名の文字を似たような文字に置き換えます(例: zelfser.com)。
転置: ドメイン名内の2つの文字を入れ替えます(例: zelsetr.com)。
単数化/複数化: ドメイン名の末尾に「s」を追加または削除します(例: zeltsers.com)。
省略: ドメイン名から1つの文字を削除します(例: zelser.com)。
繰り返し: ドメイン名内の1つの文字を繰り返します(例: zeltsser.com)。
置換: ホモグリフのようですが、あまりステルスではありません。ドメイン名の1つの文字を、元の文字の近くにあるキーボードの文字で置き換えます(例: zektser.com)。
サブドメイン化: ドメイン名内にドットを挿入します(例: ze.lster.com)。
挿入: ドメイン名に文字を挿入します(例: zerltser.com)。
欠落ドット: ドメイン名にTLDを追加します(例: zelstercom.com)。
自動ツール
ウェブサイト
いくつかのビットが保存されているか通信中に自動的に反転する可能性があります。これは、太陽フレア、宇宙線、またはハードウェアエラーなどのさまざまな要因によるものです。
この概念がDNSリクエストに適用されると、DNSサーバーによって受信されたドメインが、最初にリクエストされたドメインと同じでない可能性があります。
例えば、ドメイン「windows.com」の1ビットの変更により、「windnws.com」に変わることがあります。
攻撃者は、被害者のドメインに似た複数のビットフリッピングドメインを登録することでこれを利用するかもしれません。彼らの意図は、正当なユーザーを自分たちのインフラにリダイレクトすることです。
詳細については、こちらを読んでください。
https://www.expireddomains.net/で使用できる期限切れのドメインを検索できます。 購入する期限切れのドメインがすでに良好なSEOを持っていることを確認するために、以下のサイトでそのカテゴリを検索できます:
https://phonebook.cz/ (100%無料)
より多くの有効なメールアドレスを発見するか、すでに発見したものを確認するために、被害者のSMTPサーバーをブルートフォースできるか確認できます。メールアドレスの確認/発見方法についてはこちらを学んでください。 さらに、ユーザーがメールにアクセスするためのウェブポータルを使用している場合、それがユーザーネームブルートフォースに対して脆弱であるか確認し、可能であればその脆弱性を悪用することを忘れないでください。
https://github.com/gophish/gophish/releases/tag/v0.11.0からダウンロードできます。
それを/opt/gophish
内にダウンロードして解凍し、/opt/gophish/gophish
を実行します。
出力にポート3333の管理ユーザー用のパスワードが表示されます。したがって、そのポートにアクセスし、その資格情報を使用して管理者パスワードを変更します。そのポートをローカルにトンネルする必要があるかもしれません。
TLS証明書の設定
このステップの前に、使用するドメインをすでに購入している必要があり、gophishを設定しているVPSのIPにポイントしている必要があります。
メール設定
インストールを開始します: apt-get install postfix
次に、ドメインを以下のファイルに追加します:
/etc/postfix/virtual_domains
/etc/postfix/transport
/etc/postfix/virtual_regexp
/etc/postfix/main.cf内の以下の変数の値も変更します
myhostname = <domain>
mydestination = $myhostname, <domain>, localhost.com, localhost
最後に、ファイル /etc/hostname
と /etc/mailname
をあなたのドメイン名に変更し、VPSを再起動します。
次に、DNS Aレコード mail.<domain>
をVPSのIPアドレスにポイントさせ、DNS MXレコードを mail.<domain>
にポイントさせます。
では、メールを送信するテストを行いましょう:
Gophishの設定
gophishの実行を停止し、設定を行いましょう。
/opt/gophish/config.json
を以下のように変更します(httpsの使用に注意):
gophishサービスの設定
gophishサービスを作成し、自動的に起動し、サービスとして管理できるようにするには、次の内容でファイル/etc/init.d/gophish
を作成します:
サービスの設定を完了し、次の操作を行って確認します:
ドメインが古いほど、スパムとして捕まる可能性は低くなります。そのため、フィッシング評価の前にできるだけ長く(少なくとも1週間)待つべきです。さらに、評判の良い分野に関するページを作成すれば、得られる評判はより良くなります。
1週間待たなければならなくても、今すぐにすべての設定を終えることができることに注意してください。
VPSのIPアドレスをドメイン名に解決するrDNS(PTR)レコードを設定します。
新しいドメインのためにSPFレコードを設定する必要があります。SPFレコードが何か分からない場合は、このページを読んでください。
https://www.spfwizard.net/を使用して、SPFポリシーを生成できます(VPSマシンのIPを使用してください)。
これは、ドメイン内のTXTレコードに設定する必要がある内容です:
新しいドメインのためにDMARCレコードを設定する必要があります。DMARCレコードが何か分からない場合は、このページを読んでください。
次の内容でホスト名 _dmarc.<domain>
を指す新しいDNS TXTレコードを作成する必要があります:
新しいドメインのためにDKIMを設定する必要があります。DMARCレコードが何か分からない場合は、このページを読んでください。
このチュートリアルは次に基づいています: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
DKIMキーが生成する両方のB64値を連結する必要があります:
https://www.mail-tester.com/を使用してそれを行うことができます。 ページにアクセスして、彼らが提供するアドレスにメールを送信してください:
あなたはまた、メール設定を確認するために check-auth@verifier.port25.com
にメールを送信し、レスポンスを読むことができます(これには、ポート25を開く必要があり、メールをrootとして送信した場合はファイル /var/mail/root でレスポンスを確認します)。
すべてのテストに合格していることを確認してください:
あなたはまた、あなたの管理下にあるGmailにメッセージを送信し、Gmailの受信トレイでメールのヘッダーを確認することができます。dkim=pass
はAuthentication-Results
ヘッダー欄に存在する必要があります。
ページ www.mail-tester.com は、あなたのドメインがspamhouseによってブロックされているかどうかを示すことができます。あなたのドメイン/IPの削除をリクエストするには、https://www.spamhaus.org/lookup/ にアクセスしてください。
あなたのドメイン/IPの削除をリクエストするには、https://sender.office.com/ にアクセスしてください。
送信者プロファイルを識別するための名前を設定します
フィッシングメールを送信するアカウントを決定します。提案: noreply, support, servicedesk, salesforce...
ユーザー名とパスワードは空白のままにできますが、「証明書エラーを無視する」をチェックすることを確認してください。
すべてが正常に動作していることを確認するために、"テストメールを送信"機能を使用することをお勧めします。 テストを行う際にブラックリストに載らないようにするため、テストメールを10分メールアドレスに送信することをお勧めします。
テンプレートを識別するための名前を設定します
次に、件名を書きます(特に奇妙なことはなく、通常のメールで読むことができる内容にします)
"トラッキング画像を追加"にチェックを入れていることを確認してください
メールテンプレートを書きます(以下の例のように変数を使用できます):
メールの信頼性を高めるために、クライアントからのメールの署名を使用することをお勧めします。提案:
存在しないアドレスにメールを送信し、返信に署名が含まれているか確認します。
info@ex.comやpress@ex.com、public@ex.comのような公開メールを検索し、メールを送信して返信を待ちます。
発見された有効なメールに連絡を試み、返信を待ちます。
名前を記入
ウェブページのHTMLコードを記入します。ウェブページをインポートすることもできます。
送信データをキャプチャとパスワードをキャプチャにチェックを入れます。
リダイレクトを設定します。
通常、ページのHTMLコードを修正し、ローカルでいくつかのテストを行う必要があります(おそらくApacheサーバーを使用して)結果に満足するまで。その後、そのHTMLコードをボックスに記入します。 HTML用に静的リソース(CSSやJSページなど)を使用する必要がある場合は、_/opt/gophish/static/endpointに保存し、/static/<filename>_からアクセスできます。
リダイレクトについては、被害者の正当なメインウェブページにユーザーをリダイレクトするか、例えば_/static/migration.html_にリダイレクトし、5秒間スピニングホイール(https://loading.io/)を表示してから、プロセスが成功したことを示すことができます。
名前を設定
データをインポートします(例のテンプレートを使用するには、各ユーザーの名、姓、メールアドレスが必要です)。
最後に、名前、メールテンプレート、ランディングページ、URL、送信プロファイル、グループを選択してキャンペーンを作成します。URLは被害者に送信されるリンクになります。
送信プロファイルは、最終的なフィッシングメールがどのように見えるかを確認するためにテストメールを送信することを許可します。
テストメールは10分メールアドレスに送信することをお勧めします。テスト中にブラックリストに載るのを避けるためです。
すべてが準備できたら、キャンペーンを開始してください!
何らかの理由でウェブサイトをクローンしたい場合は、次のページを確認してください:
いくつかのフィッシング評価(主にレッドチーム向け)では、バックドアを含むファイルを送信したい場合があります(C2かもしれませんし、認証をトリガーするだけのものかもしれません)。 いくつかの例については、次のページを確認してください:
前述の攻撃は非常に巧妙で、実際のウェブサイトを偽装し、ユーザーが設定した情報を収集しています。残念ながら、ユーザーが正しいパスワードを入力しなかった場合や、偽装したアプリケーションが2FAで設定されている場合、この情報では騙されたユーザーを偽装することはできません。
ここで、evilginx2、CredSniper、muraenaのようなツールが役立ちます。このツールはMitMのような攻撃を生成することを可能にします。基本的に、攻撃は次のように機能します:
実際のウェブページのログインフォームを偽装します。
ユーザーは資格情報を偽のページに送信し、ツールはそれを実際のウェブページに送信し、資格情報が機能するか確認します。
アカウントが2FAで設定されている場合、MitMページはそれを要求し、ユーザーが入力すると、ツールはそれを実際のウェブページに送信します。
ユーザーが認証されると、(攻撃者として)資格情報、2FA、クッキー、ツールがMitMを実行している間のすべてのインタラクションの情報をキャプチャします。
もし被害者を元のページと同じ外観の悪意のあるページに送るのではなく、実際のウェブページに接続されたブラウザのVNCセッションに送るとしたらどうでしょうか?彼が何をしているかを見ることができ、パスワード、使用されるMFA、クッキーを盗むことができます。 これをEvilnVNCで行うことができます。
当然のことながら、バストされたかどうかを知る最良の方法の1つは、ブラックリスト内で自分のドメインを検索することです。リストに表示されている場合、何らかの形であなたのドメインが疑わしいと検出されました。 ドメインがブラックリストに表示されているかどうかを確認する簡単な方法は、https://malwareworld.com/を使用することです。
ただし、被害者が野外で疑わしいフィッシング活動を積極的に探しているかどうかを知る他の方法もあります。
被害者のドメインに非常に似た名前のドメインを購入することができます。または、あなたが制御するドメインのサブドメインのために証明書を生成することができます。被害者のドメインのキーワードを含むものです。被害者がそれらと何らかのDNSまたはHTTPインタラクションを行う場合、彼が積極的に探していることがわかり、非常にステルスである必要があります。
Phishiousを使用して、あなたのメールがスパムフォルダに入るか、ブロックされるか、成功するかを評価します。