概要
無線LANの暗号方式「WEP」には脆弱性があります。今回はAircrack-ngというツールを使ってWEPのパスワードを解析します。
WEPの脆弱性について
WEPの概要
WEP(Wired Equivalent Privacy)は、無線LANの暗号化方式で、「共通鍵」を使用して通信の暗号化を行います。
※WEPでは「RC4」という暗号アルゴリズムを使って暗号化を行います。
RC4は共通鍵で暗号化/複合を行うストリーム暗号です。
WEPの脆弱性
WEPの脆弱性は共通鍵の生成方法にあります。
- 共通鍵のもとになるWEPキーが鍵が同じであること
- 共通鍵に含まれるIVは暗号化されずにデータに付加されて送られること
- 共通鍵長が104bitもしくは40bitで解読されやすいこと
上記脆弱性のため、無線APと端末間でやり取りされている通信を収集することでWEPキーを解析することができます。
環境設定
今回は以前構築したKali Linuxの環境で行いました。環境の構成イメージは以下の通りです。
無線APの設定
無線APは以前ほかの人よりいただいたCisco Aironet1231Gを使いました。
以下は今回のコンフィグです。(太字は設定箇所)
ap#sh run
Building configuration...Current configuration : 1360 bytes
!
version 12.3
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname ap
!
enable secret 5 $1$/L4D$2vOPmpdjIdJz6/emIwI1b0
!
ip subnet-zero
!
!
no aaa new-model
!
dot11 ssid test-wep
authentication open
guest-mode
!
!
!
username Cisco password 7 106D000A0618
!
bridge irb
!
!
interface Dot11Radio0
no ip address
no ip route-cache
!
encryption key 1 size 40bit 7 1C3A6F2CBFBC transmit-key
encryption mode wep mandatory
!
ssid test-wep
!
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0 54.0
channel least-congested 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467 2472
station-role root
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
bridge-group 1 spanning-disabled
!
interface FastEthernet0
no ip address
no ip route-cache
duplex auto
speed auto
bridge-group 1
no bridge-group 1 source-learning
bridge-group 1 spanning-disabled
!
interface BVI1
ip address 192.168.1.252 255.255.255.0
no ip route-cache
!
ip http server
no ip http secure-server
ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
!
bridge 1 route ip
!
!
!
line con 0
line vty 0 4
login local
!
end
※コンフィグ上はWEPキーは暗号化されて「encryption key 1 size 40bit 7 1C3A6F2CBFBC transmit-key」のように表示されますが、実際設定時は「encryption key 1 size 40bit 0 1234567890 transmit-key」で設定しています。
実行結果
実行結果としてKali Linuxのコンソールを動画にまとめました。
実行したコマンド
- sudo airmon-ng start wlan0
(Kali Linuxの無線インタフェースをモニタ化) - sudo airodump-ng wlan0mon
(キャプチャした無線の情報を表示) - sudo airodump-ng --channel 対象のチャネル --bssid 対象のMACアドレス -w 出力ファイル名 wlan0mon
(解析対象のSSIDを指定) - aircrack-ng 出力されたファイル.cap
(収集したファイルからWEPキーを解析)
参考にさせていただいたサイト