#134 Evilginx
サイバーセキュリティの現場でよく言われる格言は、
という言葉です。どれだけ強固な防御をしていたとしても、ちょっとしたほころびから崩壊につながった例は枚挙に暇がありません。
また、「システムの最大の弱点は、人間である」というのもよく言われることです。英数記号を含む16桁のパスワードも、付箋に書いてデスクに貼ってあったら意味ないですよね。間違えて変なボタンを押しちゃう人だってたくさんいるでしょう。
このような、人をターゲットにしたサイバー攻撃のことをソーシャルエンジニアリングと呼びます。中でもフィッシングは、誰でもターゲットになりうる上、高度で洗練された攻撃も増えてきているため、危険性を増しています。
彼を知り己を知れば百戦殆からず。
敵を知るためにも、一流の釣り師にならなければいけません。フィッシングを起点にした中間者攻撃によく使われるEvilginxを動かしてみました。
Evilginxとは
悪性リンクにアクセスしてきた人のログイン情報などを盗みとるためのフレームワークです。
正規のページでログインさせるので、気づかれにくく、多要素認証のバイパスも可能になります。こわ!
動かしてみる
ソースコードはGitHubで公開されています。ビルド済みのバイナリも配布されているので、今回はこちらを使います。
v3.3.0
開発者モードで起動してみます。
./evilginx --developer
すると、Evilginxのコンソールが立ち上がります。まずは設定が必要です。テストなので、適当なドメインとIPアドレスを設定します。
: config domain phishing.com
: config domain 127.0.0.1
Phishlets
Evilginxでは、特定のサイトをターゲットにした設定をPhishletとして読み込むことができます。大手SNSサイトをはじめ、様々なPhishletが公開されているので、目的に応じて利用できます。今回は、例として用意されている"example"を使います。
phishlets hostname example test.phishing.com
phishlets enable example
phishlets get-hosts example
実際に公開サーバーで運用する場合は、管理しているドメインを使用します。サーバー証明書は、Let's Encryptで自動発行してくれます。
ローカルでのテストの場合はそうもいかないので、/etc/hostsに設定を書き足します。
127.0.0.1 academy.test.phishing.com
ページにアクセスすると、ブロックされたようで別のページに飛ばされました。
https://academy.test.phishing.com/
[16:38:25] [war] [example] unauthorized request: https://academy.test.phishing.com/ (Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:127.0) Gecko/20100101 Firefox/127.0) [172.31.0.1]
[16:38:25] [war] blacklisted ip address: 172.31.0.1
Lures
先程のページは、ダミーのランディングページでした。フィッシング用のリンクは、Luresとして作成しなければいけません。
: lures create example
: lures get-url 0
https://academy.test.phishing.com/GiXSqYLE
生成されたリンクにアクセスすると、Evilginxの学習サイトに遷移します。画面には、本物のサイトが表示されていますが、URLをよく見ると、先ほど立ち上げたフィッシングサイトのものになっています。
フィッシングサイトを中継して本物のサイトに通信が流れるので、認証情報などを間で盗むことができるという仕組みですね。
試しにログイン画面からユーザーネーム・パスワードを入力してみると…
[16:52:31] [+++] [0] Username: [test@phished.com]
[16:52:31] [+++] [0] Password: [SecretPassword]
しっかり抜き取られました!あぶな!!
Sessions
ちゃんとログインが成功すると、SessionとしてCookie情報などが保存され、いつでも使えるようになります。
※要検証
Redirectors
フィッシングサイトからユーザーを守るため、怪しいサイトをスキャンしてブロックするなど、様々な対策が取られています。そうした正義の力からフィッシングサイトを守るための機能が、Redirectorです。本丸のフィッシングサイトを開く前にワンクッション挟むことで、自動スキャンを検知して弾くことができます。
※要検証
Proxy
プロキシサーバを使うこともできます。
※要検証
Blacklist
既知の正義のIPアドレスは、Blacklistに登録すると、ダミーのランディングページに飛ばすことができます。自動スキャナなどに、無害なサイトであると勘違いさせることができるかもしれません。
まとめ
フィッシングに詳しいわけではないですが、オペレーションに必要な機能が十分備わっているように感じました。Phishletsを工夫すれば、あらゆるサイトに対応できそうです。GoPhishなど他のフレームワークとの組み合わせで、強力な攻撃になりそうなことは想像に難くありません。
メールのリンクには気をつけよう!!!
EOF
この記事が気に入ったらサポートをしてみませんか?