作成したばかりのフィッシング攻撃者として、私はフィッシング攻撃の経験も限られており、また、エバジョンマルウェアとバンドルに関しても改善の余地があります。この記事では、ソーシャルエンジニアリングの考え方とシナリオの構築に焦点を当てており、エバジョン技術の詳細についてはあまり説明しません。具体的なエバジョン技術については、Google で検索してください。
現在のエバジョン技術には、多くの選択肢がありますが、一般的な方法の 1 つは分離ロードを使用する方法です。ここでは、C++ で作成されたローダーを使用し、C2 として MSF を使用することにしました(当時、私のマルウェアは火绒と卡巴にしか通過しませんでした)。実装の原理について大まかに説明しますが、非常に一般的な操作手順です。
-
MSF を使用して元の形式のシェルコードを生成します。
-
シェルコードを暗号化して、セキュリティソフトに検出されにくくします。
-
暗号化されたシェルコードを画像に埋め込んで、トロイの木馬画像を生成します。
-
トロイの木馬画像を HVV が提供する VPS にアップロードし、外部からアクセス可能なサービスを起動して、被害者がアクセスしてダウンロードできるようにします。
-
被害者にローダーをクリックさせ、ローダーが VPS からトロイの木馬画像を自動的にダウンロードします。
-
ローダーはトロイの木馬画像のシェルコードを復号化し、復号化されたシェルコードをメモリに注入してオンライン化します。
この方法の利点は、一般的な画像形式をキャリアとして使用しているため、トロイの木馬がセキュリティソフトに検出されにくくなることです。また、暗号化と復号化のプロセスにより、実行プロセスの隠蔽性が高まり、エバジョン能力が向上します。
(注:MSF でシェルコードを生成する際には、混乱を引き起こすためのいくつかのパラメータを追加することができます。シェルコードローダーを作成する際には、隠蔽性を高めるためにマイナーな Windows API を選択するようにしてください。)
最終的に、地域特化の総合ウェブサイトを特定しました。このウェブサイトには、地域のフォーラム、リフォーム、車の購入、中古住宅、採用など、複数のモジュールが含まれています。このウェブサイトを選んだ理由は、採用モジュールを持っているため、フィッシング攻撃に非常に適していると考えたからです。私は、履歴書の提出プロセスを利用してフィッシングを行うのは非常に合理的な戦略だと気付きました。
ただし、重要な問題は、被害者が安全上のリスクに気付かずにトロイの木馬のリンクをクリックするようにする方法です。フィッシングの経験がなく、専門家の周りにもいない初心者として、私はこの問題を解決するためにさまざまなフォーラムで答えを探す必要がありました。最終的に、バンドルの方法を選びました。
バンドルの基本的な原理は、合法的な履歴書ファイルのように見えるものを作成し、ローダーとバンドルすることです。これにより、被害者がファイルをダウンロードして解凍すると、彼らは無意識に履歴書をクリックして表示し、ローダーを実行する可能性が高くなります。
この方法の利点は、一般的な行動パターンであるファイルのダウンロードと解凍、および応募者の一般的な操作である履歴書の表示を利用していることです。合法的な履歴書ファイルとして偽装することで、被害者が疑いを持たずにクリックして内容を表示し、ローダーを実行することができます。
バンドルの手順は、まず履歴書とシェルコードローダーを作成することです。
次に、同時にクリックして解凍を選択し、解凍画面で自己解凍形式の圧縮ファイルを作成します。
次に、[高度] -> [自己解凍オプション] を選択します。
設定の [抽出後に実行] に、ローダーの名前を書き込みます。
[モード] -> [サイレントモード] -> [すべてを非表示] を選択します。
解凍後、最終的に以下のファイルが得られます。
ただし、生成されたファイルは exe 形式であり、私は Unicode RTLO メソッドを使用して悪意のあるファイル名を構築しました。ローカルでのテストでは、ダブルクリックして成功裏にオンライン化することができました。
問題は、WeChat を介して送信すると、ファイルが EXE として表示され、Unicode RTLO メソッドで構築された悪意のあるファイル名が順序が逆になることです。
これはどうすればいいのでしょうか?時間もなく、WeChat の検出メカニズムを回避する方法を研究する余裕もありません。また、VPS 上でサービスを起動し、HR にサーバーからダウンロードさせることも試しましたが、これは実現可能でしょうか?
その後、私は 1 つの方法しか思いつきませんでした。
それは、exe バンドルマルウェアの外側にもう 1 つの圧縮ファイルを追加することで、HR がより合理的だと感じることができます。彼らは 1 つのレイヤーを解凍し、履歴書を取得せずに再度ダブルクリックする必要があり、これにより操作がより合理的になります。個人情報を保護するために、パスワードも設定しました。
したがって、現在のプロセスは次のようになります:トロイの木馬の履歴書を HR に送信する -> HR が WeChat からトロイの木馬の履歴書を受け取る -> HR が解凍して暗号化された履歴書(実際はバンドラー)を取得する -> 暗号化された履歴書をデコードする -> ローダーをトリガーする -> 私の制御下でオンライン化する -> HR が履歴書ファイルを取得する
フィッシング開始#
履歴書をクリックすると、このウェブサイトでは独自に作成した履歴書をサポートしていないことがわかりました。ウンウンと悩んでいるときに、ホームページにカスタマーサービスの QR コードがあることに気づきました。試しに WeChat で追加してみることにしましたが、企業 WeChat のためか、しばらく経っても誰も私に気づいてくれませんでした。
1 日寝てから、私は獲物を探し続けました。翌日の昼、ターゲットウェブサイトの採用モジュールの上部に小さな QR コードを見つけました。すぐにスキャンして追加し、午後には WeChat の検証に成功しました。これにより、私は勝利の喜びを感じました。フィッシングの重要な進展ですから。
すぐにターゲットにメッセージを送信し、返信を待ちました。思いがけないことに、相手はすぐに返信しました!
次に、前のステップで作成した履歴書を作成し、解凍パスワードを設定した後、ローダーと履歴書をパッケージ化し、最後にローカルでテストし、パスワードを入力してオンライン化することができました。自己祈祷してから、「履歴書」をカスタマーサービスに送信しました。
その後、私は不安な気持ちで待ちました。監視画面を見つめながら、新しいセッションがオンラインになるのを期待しました。しかし、時間は経過し、2 時間が経過しましたが、まだオンラインセッションは見つかりませんでした。
私は考え始めました。何かしらの段階でエラーが発生したのか、私のエバジョンマルウェアが発見されたのか、または他の問題が発生したのか...
自分からメッセージを送信した後、監視画面にオンラインセッションの通知が表示されるのを見つけました。確認してみると、やはりカスタマーサービスが私が送信したファイルを解凍してオンラインになっていました。それでは、楽しい情報収集の旅が始まりました。
経験とまとめ#
1. ソーシャルエンジニアリングを行う際には、最も重要なのは重要な人物を正確に特定することです。今回のフィッシング作戦が失敗した理由は、後続の情報収集でターゲットが個人PCを使用していることがわかったからです。
2. フィッシング作戦を実施する際には、広くネットを張ることが望ましいですが、特定のフィッシングの場合は、事前に相手の身元を確認することが必須です。
3. 私は後で他のバンドル技術やWordマクロマルウェアなどを拡充する予定です。私が使用したバンドルマルウェアは、解凍後に常にフォルダに残ってしまい、適切な場所に隠す方法が見つかりませんでした。これはかなり明白です。また、オンライン化後は、すぐにプロセスの移行を実行する必要があります。対象がタスクマネージャーで私のシェルコードを直接終了する可能性があるため、私たちの行動は失敗する可能性があります。