ばぁど・うぉっちんぐ

セキュリティに強いWeb屋。自由と春を求めて羽ばたく渡り鳥。

このブログはGoogle Analyticsを利用しています

フィッシングサイトを構築できる SocialFish を使ってみる

本記事に書かれていることは決して悪用しないでください。 本記事に書かれている内容を使用して不都合が起きたり、何かのトラブルに巻き込まれた場合でも筆者は一切責任を取りません。筆者は情報処理安全確保支援士であり、自己研鑽のためこれらの技術に触れ傾向と対策を勉強しております。

SocialFIshとは

Educational Phishing Tool & Information Collector

フィッシングツールを学ぶためのものです。 また情報を収集するためのツールとして役立てることができます。

Python で書かれています。

github.com

フィッシングとは

人間の脆弱性を悪用してくる攻撃手法です。 主に人を騙すことで、秘匿情報であるWebへのユーザー名やパスワード、銀行の暗証番号やクレジットカードの番号などを盗み取ろうとします。

例えばフィッシングメールや、フィッシングサイトのことを指します。

ダウンロード(git clone)

$ git clone https://github.com/UndeadSec/SocialFish.git
Cloning into 'SocialFish'...
remote: Enumerating objects: 1203, done.
remote: Total 1203 (delta 0), reused 0 (delta 0), pack-reused 1203
Receiving objects: 100% (1203/1203), 14.75 MiB | 1.43 MiB/s, done.
Resolving deltas: 100% (522/522), done.

下準備( pip install)

$ python3 -m pip install -r requirements.txt 

実際に使ってみる

python3 SocialFish.py [username] [password]

$ python3 SocialFish.py [username] [password]


                          '
                        '   '  UNDEADSEC | t.me/UndeadSec 
                      '       '  youtube.com/c/UndeadSec - BRAZIL
                 .  '  .        '                        '
             '             '      '                   '   '
  ███████ ████████ ███████ ██ ███████ ██       ███████ ██ ███████ ██   ██ 
  ██      ██    ██ ██      ██ ██   ██ ██       ██      ██ ██      ██   ██ 
  ███████ ██    ██ ██      ██ ███████ ██       █████   ██ ███████ ███████ 
       ██ ██    ██ ██      ██ ██   ██ ██       ██      ██      ██ ██   ██ 
  ███████ ████████ ███████ ██ ██   ██ ███████  ██      ██ ███████ ██   ██ 
      .    '   '....'               ..'.      ' .
         '  .                     .     '          '     '  v3.0Nepture
               '  .  .  .  .  . '.    .'              '  .
                   '         '    '. '      Twitter: https://twitter.com/A1S0N_
                     '       '      '       Site: https://www.undeadsec.com
                       ' .  '
                           
Go to http://0.0.0.0:5000/neptune to start
 * Serving Flask app "SocialFish" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

http://0.0.0.0:50000/neptune にアクセスした結果

f:id:UltraBirdTech:20200329151618p:plain

ユーザー名、パスワードは起動時に指定したものが入る。

ログイン後

QRコードやアクセストークンを確認できるので、これを Config.py に記載する必要がある。 f:id:UltraBirdTech:20200329152330p:plain

core/config.py

  1 # COMPRESS APP ------------------------------------------------------------------------------    --------------------
  2 COMPRESS_MIMETYPES = ['text/html', 'text/css', 'text/xml', 'application/json', 'application/j    avascript']
  3 COMPRESS_LEVEL = 6
  4 COMPRESS_MIN_SIZE = 500
  5 # -------------------------------------------------------------------------------------------    --------------------
  6 # LOCAL CONFIGS------------------------------------------------------------------------------    --------------------
  7 DATABASE = "./database.db"
  8 url = 'https://github.com/UndeadSec/SocialFish'
  9 red = 'https://github.com/UndeadSec/SocialFish'
 10 sta = 'x'
 11 APP_SECRET_KEY = '★ここに記載する★'
 12 # -------------------------------------------------------------------------------------------    --------------------
~                          

GitHub のフィッシングサイト

f:id:UltraBirdTech:20200329152822p:plain

画像のようにフィッシングサイトとしてコピーしたいサイトの情報を入力します。 左がコピー元のURLで、右側が情報入力後に遷移する先のURLです。(基本はどちらも同じで大丈夫) ログインURLを入力した後に雷アイコンをクリックすると、同IPアドレス上にGitHubのフィッシングサイトが立ち上がる。

f:id:UltraBirdTech:20200329153000p:plain

試しに ユーザ名: test, パスワード test でログイン処理を行ってみると、リダイレクト後として設定している https://github.com/login に遷移する。

情報の搾取が成功すると画面下部にログが表示される。 f:id:UltraBirdTech:20200329153431p:plain

「VIEW」をクリックするとフィッシングで得られた情報を取得することができる。 f:id:UltraBirdTech:20200329153516p:plain

テストで入力したユーザー名:test , パスワード:test を取得することができた。

あー。。。これは悪い。

おまけ・フィッシングサイトに対する対策法

なんか、対策をしっかり書いておかないと逮捕されそうだったので

フィッシングサイトに対する対策を列挙します。

1. URL欄を確かめる

フィッシングサイトに対してはURLをしっかりと確認することが重要です。 下記画像の赤枠部分ですね。 本来であれば、GitHubは [ github.com/login ] というのが、ログインのURLになります。このURLを確認した上で、正当なログインページかどうかを確認する必要があります。 f:id:UltraBirdTech:20200329153945p:plain

ただ、気をつけて欲しいことは攻撃者は我々を騙すために似たようなURLを取得してくること。例えば GitHub なのであれば、i を 1にしたりですかね。例(g1thub.com/login

また、合わせて偽ページだと思わしきWebページの証明書の確認もしておくと良いでしょう。

下記は実際の GitHub の証明書です。正規のWebサイトであれば下記のような証明書を確認することで、フィッシングサイトかどうかを見分けるためのヒントとなります。 f:id:UltraBirdTech:20200329154159p:plain

2. 送られてきたURLを安易に開かない

一般的にこれらのフィッシングサイトへ誘導するURLはメールなどで送りつけられてきます。 いわゆる標的型攻撃の対象となってしまった企業に所属している従業員のメールアドレスに大量にフィッシングサイトへ誘導するようなメールを送り、情報を搾取しようとします。

メールだけでなく、不特定多数の人が投稿できる掲示板や、SNS(TwitterFacebookなど)に投稿されているURLなども気をつけたほうがいいでしょう。

3. 多要素認証を設定する

※ユーザー名、パスワードが盗まれた時のみの対策です

フィッシングサイトに対する直接的な対策にはなりませんが、フィッシングによってユーザー名、パスワードを盗まれてしまった時の一時的な対策にはなります。

例え盗まれたユーザー名、パスワードで攻撃者がログインしようとしても、認証する要素を追加しておくことで不正ログインを防ぐことができます。

最近のWebサービスですと、新しい端末からログインが施行されようとした場合登録済みのメールアドレスへ通知するような機能を持っていたりするので、多要素認証で食い止めている間に早急にパスワードを変更するなどの対策が必要です。

まとめ

  • SocialFish はフィッシングサイトを立ち上げるためのツール
  • 悪いことに使っちゃダメ絶対!