30代未経験ネットワークエンジニアのshin@セキュリティエンジニアになるため、勉強中です。
今回は、Kali Linuxを使用して、DNSスプーフィングをやってみました。
Kali Linuxのインストール方法は以下サイトを参考にしてください。
DNSスプーフィングとは
前回のARPスプーフィングと似たようなもので、ARPスプーフィングはARPテーブルを書き換えましたが、DNSスプーフィングはDNSを書き換えます。
DNSを書き換えることで、本来アクセスしたいWEBサイトではなく、攻撃者が準備したWEBサイトに誘導され、最終的に情報を盗まれてしまう怖い攻撃です。
※ちなみにDNSとは、「Domain Name System」のことで、ドメイン名からIPアドレスを解決するためのプロトコルです。
例えば、Google先生にアクセスするときに、まずはURLバーに「http://google.com」を入力してGoogle先生にアクセスしますよね。
その中の「google.com」というのがドメインです。
ただ、パソコン上では、Google先生にアクセスする場合、基本的にはIPアドレスでアクセスしに行っています。
IPアドレスでアクセスしてみましょう。
http://216.58.221.174
ただ人がランダムなIPアドレスを覚えるのは大変なため、DNSを使ってドメイン名とIPアドレスを紐づけしてドメインで目的のWebサイトにアクセスできるようにしています。
話しがそれました。本題に戻りましょう。
DNSスプーフィングを簡単に言うと、メールの宛先のアドレスを途中で盗んで、自分のアドレスに書き換えて中身を見るみたいなイメージです。
ARPスプーフィングのDNS版ですね。
それでは実際にやってみましょう。
※何度も書いていますが公共の場や、会社では迷惑がかかるので自宅の環境で行ってください!
環境
・ターゲットPC(Windows)
・攻撃用PC(Kali Linux)
・ルータ
構成
●端末情報
内容 | 攻撃者PC | ターゲットPC | ルータ |
IPアドレス | 192.168.89.169 | 192.168.89.157 | 192.168.89.2 |
MACアドレス | 00:0c:29:b4:30:60 | – | 00:50:56:e0:94:64 |
●DNS情報
内容 | スプーフィング前 | スプーフィング後 |
サイト | Webサイト | Webサイト |
IPアドレス | x.x.x.x | 192.168.89.169 |
今回の目的
今回の目的は、ターゲットPCをDNSスプーフィングで攻撃者が作成したサイトにアクセスさせ、ID/PWを入手することです。
対象のサイトは「楽天サイト」のログイン画面とします。
(楽天さんターゲットにしてすいません。いつも利用しているので、お許しください。。)
以下のSTEPに沿って行います。
- ターゲットPCをARPスプーフィングとDNSスプーフィングを仕掛ける
- Kali LinuxでWebサイトのコピーを作成する
- ターゲットPCを楽天のログインサイトにアクセスさせ、入力したID/PWを入手する
STEP1 ターゲットPCをARPスプーフィングとDNSスプーフィングを仕掛ける
ARPスプーフィングの詳細な手順は前回を参照ください。
ARPスプーフィングをやってみた
動画だけでよければ以下の動画を参照してみてください。
それでは、DNSスプーフィングを仕掛けていきます。
●手順
- Kali Linuxのターミナルより、「leafpad /etc/ettercap/etter.dns」を実行
- 「# microsoft sucks ;)~」の記載の下に以下を追加し、保存する「rakuten.co.jp* A 192.168.89.169」
- Ettercap>「plugins」>「Manage the plugins」>「dns_spoof」をダブルクリックする
以上で、DNSスプーフィングの設定は完了です。
以下の動画でも手順を確認できますので、よかっから観てください。
※補足
スプーフィングされる前と後の、nslookupの結果です。
STEP2 Kali LinuxでWebサイトのコピーを作成する
サイトのコピーをするには、SET(Social-Engineer Toolkit)を使用します。
●手順
- Kali Linuxのターミナル>setoolkit
- 1を選択「1) Social-Engineering Attacks」
- 2を選択「2) Website Attack Vectors」
- 3を選択「3) Credential Harvester Attack Method」
- 2を選択「2) Site Cloner」
- コピーサイトを作成するIPアドレスを入力
今回は、そのままKali LinuxのPCに作成するため、何もせずにEnter - コピーするサイトのURLを入力します以下のURLを入力し、Enterを押す
URL:https://grp01.id.rakuten.co.jp/rms/nid/vc?__event=login&service_id=top
※上のURLは楽天のログインのURLです。 - もう一度Enterを押す
- サイトがコピーされたので、一応確認のため、Kali LinuxのFireFOXを開いて、
URLに「localhost」を入力して、Enterを押す - 楽天のログイン画面が表示されたことを確認します
次は、ターゲットPCにDNSスプーフィングを仕掛けます。
STEP3 ターゲットPCをコピーサイトにアクセスさせID/PWを入手する
●手順
- ターゲットのPCのブラウザ(IE)を立ち上げます
- ブラウザに以下URLを入力
301 Moved Permanently - ID/PWに以下を入力し、ログインを選択
ID:TEST-ABC
PW:TEST-ABC - リダイレクトされ、本物のサイトへ移動する
- Kali Linux側のターミナルを確認すると、3で入力した、ID/PWが表示されている
以上が、ARPスプーフィングを行いID/PWまでを入手する方法でした。
本物のサイトをコピーしているため、見分けがつきませんよね。
かつ、ログイン後に本物のサイトにリダイレクトされるため、ID/PWの入力間違いをしたのかと勘違いしてしまいますよね。
対策について
今回の攻撃について対策ですが、基本的には以下になるかと思います。
- ARPスプーフィング対策を行うこと
- 前回のSSLストリップでも書いた、ID/PWを入力する画面のURLには、SSLの鍵マークがついているかを確認すること
- GoogleChomeを使うこと
※GoogleChomeで同じ「rakuten.co.jp」と入力しても、クローンサイトにはアクセスされずに、正しい楽天のサイトへアクセスされました。
参考本
コメント