Social-Engineer Toolkit (SET)は、特に人間の要素に対して高度な攻撃を行うために設計されています。SET は David Kennedy (ReL1K) によって書かれ、コミュニティからの多くの支援によって、これまでにない攻撃が組み込まれたエクスプロイト・ツールセットになりました。このツールキットに組み込まれた攻撃は、侵入テストで使用する人物や組織に的を絞った攻撃となるように設計されています。
これまで見てきた手法のほとんどは、サーバー側の脆弱性や設計上の欠陥を突いて、そこにアクセスし、データベースから情報を抜き出そうとするものです。 また、サーバーを利用して、ユーザーのソフトウェアの脆弱性を突いたり、ユーザーの持っている情報にアクセスするために、通常しないようなことをさせようとする攻撃もあります。 これらの攻撃はクライアントサイド攻撃と呼ばれる。
本章では、ソーシャルエンジニアリング、スプーフィング、ソフトウェアの脆弱性を悪用し、攻撃者がクライアントから情報を取得するために使用するテクニックをいくつか紹介します。
特にウェブアプリケーションの侵入テストとは関係ありませんが、ほとんどがウェブベースであり、クライアントを攻撃する際にアプリケーションやサーバにアクセスすることができる非常に一般的なシナリオであるため、取り上げることにしました。 そのため、侵入テスト担当者は、攻撃者がどのようにこれらのタイプの攻撃を実行するかを理解することが非常に重要です。
SETでパスワードコレクターを作成する
ソーシャルエンジニアリング攻撃は、クライアントサイド攻撃の特殊な形態と考えることができます。 このような攻撃では、攻撃者はユーザーに、攻撃者が信頼できるコピーであり、ユーザーが所有するある情報を受け取る権利があると確信させる必要がある。
SET(Social-EngineerToolkit)は下記を参照ください。Kali Linux2021.4から追加されています。
このレシピでは、SET を使ってパスワード・コレクターの Web ページを作成し、それがどのように機能するか、また攻撃者がそれを使ってどのようにユーザのパスワードを盗むことができるかを見ていきます。
操作手順
- ルート端末で、次のコマンドを入力します。
sudo setoolkit
- set>プロンプトに1(Social-Engineering Attacks)と入力し、Enterキーを押します。
- 次に、「Web Site Attack Vectors」(オプション2)を選択します。
- 次に、「Credential Harvester Attack Method」(オプション3)を選択します。
- 次にSite Cloner(オプション2)を選択します。
- Harvester/TabnabbingにPOSTバックするためのIPアドレスを要求されます。これは、収集した証明書の送信先のIPを意味します。ここでは、KaliホストのIP (例:192.168.56.1)を入力します。
- 以下、プレッサーフットがクローンするURLを聞いてくるので、対象サイトのログインフォームをクローンします。
例)http://192.168.56.102/peruggia/index. php?action=login - これでクローン作成が始まり、その後SETがApacheサーバーを開くかどうか尋ねられるので、今回はYesを選択してyと入力してEnterを押してみましょう。
- もう一度エンターキーを押します。
- http://192.168.56.1/ にアクセスして、ページをテストしてみましょう。
これで、元のログインページの正確なコピーができました。 - ここで、いくつかのユーザー名とパスワードを入力し、「Login」をクリックします。ここでは、「harvester/test」を試してみます。
- 元のログインページにリダイレクトされることが確認できます。 ここで、ターミナルに移動し、コレクターファイルが保存されているディレクトリ(Kaliではデフォルトで/var/www/ htmlになります)を入力します。
cd /var/www/html
- harvester_{日時}.txtというファイルがあるはずです。
- その内容を表示すると、次のようにすべての情報が取り込まれていることがわかります。
cat harvester_2015-11-22 23:16:24.182192.txt
これで終わりです。あとはターゲットに接続を送り、偽のログインページにアクセスさせて、パスワードを収集するだけです。
動作原理
SETはサイトのクローンを作成する際に3つのファイルを作成します。まずindex.html。これは元のページのコピーで、ログイン・フォームが含まれています。 今回のKaliで、/var/www/htmlにSETで作成したindex.htmlのコードを見てみると、以下のようなコードになっていることがわかります。
ここでは、ユーザー名とパスワードが192.168.56.1(Kaliホスト)に送られたことが、SETが作成した2番目のファイルであるpost.phpで確認できます。 このファイルが行うのは、POSTリクエストの内容を読み取り、harvester_{date and time}.txtファイルに書き込むだけです。SETが作成する3つ目のファイルには、ユーザーから送信された情報が保存されます。 データをファイルに書き込んだ後、<meta>タグは元のログインページにリダイレクトするため、ユーザーは間違ったユーザー名やパスワードを入力したと思ってしまいます。
【参考(YouTube動画)】