DNSスプーフィングをやってみた

Pocket

30代未経験ネットワークエンジニアのshin@セキュリティエンジニアになるため、勉強中です。

今回は、Kali Linuxを使用して、DNSスプーフィングをやってみました。
Kali Linuxのインストール方法は以下サイトを参考にしてください。

https://doruby.jp/users/r357_on_rails/entries/Kali-Linux-2017-3

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に沿って行います。

  1. ターゲットPCをARPスプーフィングとDNSスプーフィングを仕掛ける
  2. Kali LinuxでWebサイトのコピーを作成する
  3. ターゲットPCを楽天のログインサイトにアクセスさせ、入力したID/PWを入手する

STEP1 ターゲットPCをARPスプーフィングとDNSスプーフィングを仕掛ける

ARPスプーフィングの詳細な手順は前回を参照ください。
ARPスプーフィングをやってみた

動画だけでよければ以下の動画を参照してみてください。

それでは、DNSスプーフィングを仕掛けていきます。

●手順
  1. Kali Linuxのターミナルより、「leafpad /etc/ettercap/etter.dns」を実行
  2. 「# microsoft sucks ;)~」の記載の下に以下を追加し、保存する「rakuten.co.jp* A 192.168.89.169」
  3. Ettercap>「plugins」>「Manage the plugins」>「dns_spoof」をダブルクリックする

以上で、DNSスプーフィングの設定は完了です。
以下の動画でも手順を確認できますので、よかっから観てください。

※補足
スプーフィングされる前と後の、nslookupの結果です。

STEP2 Kali LinuxでWebサイトのコピーを作成する

サイトのコピーをするには、SET(Social-Engineer Toolkit)を使用します。

●手順

  1. Kali Linuxのターミナル>setoolkit
  2. 1を選択「1) Social-Engineering Attacks」
  3. 2を選択「2) Website Attack Vectors」
  4. 3を選択「3) Credential Harvester Attack Method」
  5. 2を選択「2) Site Cloner」
  6. コピーサイトを作成するIPアドレスを入力
    今回は、そのままKali LinuxのPCに作成するため、何もせずにEnter
  7. コピーするサイトのURLを入力します以下のURLを入力し、Enterを押す
    URL:https://grp01.id.rakuten.co.jp/rms/nid/vc?__event=login&service_id=top
    ※上のURLは楽天のログインのURLです。
  8. もう一度Enterを押す
  9. サイトがコピーされたので、一応確認のため、Kali LinuxのFireFOXを開いて、
    URLに「localhost」を入力して、Enterを押す
  10. 楽天のログイン画面が表示されたことを確認します

次は、ターゲットPCにDNSスプーフィングを仕掛けます。

STEP3 ターゲットPCをコピーサイトにアクセスさせID/PWを入手する

●手順

  1. ターゲットのPCのブラウザ(IE)を立ち上げます
  2. ブラウザに以下URLを入力
    http://rakuten.co.jp/
  3. ID/PWに以下を入力し、ログインを選択
    ID:TEST-ABC
    PW:TEST-ABC
  4. リダイレクトされ、本物のサイトへ移動する
  5. Kali Linux側のターミナルを確認すると、3で入力した、ID/PWが表示されている

以上が、ARPスプーフィングを行いID/PWまでを入手する方法でした。
本物のサイトをコピーしているため、見分けがつきませんよね。
かつ、ログイン後に本物のサイトにリダイレクトされるため、ID/PWの入力間違いをしたのかと勘違いしてしまいますよね。

対策について

今回の攻撃について対策ですが、基本的には以下になるかと思います。

  1. ARPスプーフィング対策を行うこと
  2. 前回のSSLストリップでも書いた、ID/PWを入力する画面のURLには、SSLの鍵マークがついているかを確認すること
  3. GoogleChomeを使うこと
    ※GoogleChomeで同じ「rakuten.co.jp」と入力しても、クローンサイトにはアクセスされずに、正しい楽天のサイトへアクセスされました。

参考本

Pocket

「DNSスプーフィングをやってみた」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です