Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
R SATO
(佐藤 玲)
HACKING NIC:
REWRITE MAC ADDRESS
今回行うこと
NICのMACアドレス書き換え
3
MACアドレスは、ネットワーク上
で、各ノードを識別するために設
定されているLANカードなどの
ネットワーク機器のハードウェア
に(原則として)一意に割り当て
られる物理アドレスである。
MACアドレス
4
http://ja.wikiped...
NICの基本構造
RJ-45
パルス
トランス
ネットワーク
コントローラーIC
PC NW
EEPROM
5
NICの基本構造
RJ-45
パルス
トランス
ネットワーク
コントローラーIC
PC NW
EEPROM TARGET
6
EEPROM
Electrically Erasable Programmable ROM
ストレージだと思ってよい
ネットワークコントローラーICの動作に
必要な設定情報が書き込まれている
もちろんMACアドレスも含む
EEPROM...
早速やってみましょう
8
NICの解析
10
今回のターゲット:プラネックス UE-100TX-G3
11
裏蓋を外して基板を見ます
12
ネットワークコントローラーIC
13
EEPROM
ネットワークコントローラー ASIX AX88772A
シングルチップのUSB2.0 to 10M/100Mイーサネット
コントローラ
http://asix.com.tw/products.php?op=pItemdetail&PIt
...
15
データ書き換え準備
16
EEPROM の取り出し
17
EEPROM 端子の延長
18
元に戻して動作確認
19
元のMACアドレス
20
EEPROMのダンプ
データ吸出し
EEPROMの命令セットに従って、欲しい
アドレスのデータを送る
PCへシリアル経由でEEPROMのデータを
ダンプできるようにする
ちょうどGitHubにあったので活用
github.com/stratumnine/av...
22
http://www.flickr.com/photos/adafruit/9193593732/
Arduino micro
読み込みは10
書き込みは01
AT93C66の
命令セット
23
24
Arduinoに接続
25
EEPROMのプログラム
 ダンプしたファイル内のMACアド
レス部分を書き換え
 AX88772Aのデータシート参照
 書き換えたデータをEEPROMへプ
ログラム
EEPROMのプログラム
26
04Hから06Hが
MACアドレス
(Node IDs)
AX88772Aの
メモリマップ
27
28
書き換え中…
29
もう一回PCに接続
30
ASCIIで ”HaCkEd” に書き換えてみた
31
まとめ
32
ね、簡単でしょう?
33
NICの基本構造は単純
MACアドレス等、大量生産でも製品に合わせ
てカスタマイズ・変化させる部分がある
EEPROM書き換えは難しくない
0と1を送って受け取るだけ
専用品でも自作でもOK
それ、ソフトウェアでできるよね?
...
TAKE BACK
CONTROL
&
BREAKTHROUGH
34
Upcoming SlideShare
Loading in …5
×

Hacking NIC: rewrite MAC address

3,996 views

Published on

ネットワークインターフェースカードをハックしてMACアドレスを書き換えてみた記録です。

Published in: Technology
  • Be the first to comment

Hacking NIC: rewrite MAC address

  1. 1. R SATO (佐藤 玲) HACKING NIC: REWRITE MAC ADDRESS
  2. 2. 今回行うこと
  3. 3. NICのMACアドレス書き換え 3
  4. 4. MACアドレスは、ネットワーク上 で、各ノードを識別するために設 定されているLANカードなどの ネットワーク機器のハードウェア に(原則として)一意に割り当て られる物理アドレスである。 MACアドレス 4 http://ja.wikipedia.org/wiki/MAC%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9
  5. 5. NICの基本構造 RJ-45 パルス トランス ネットワーク コントローラーIC PC NW EEPROM 5
  6. 6. NICの基本構造 RJ-45 パルス トランス ネットワーク コントローラーIC PC NW EEPROM TARGET 6
  7. 7. EEPROM Electrically Erasable Programmable ROM ストレージだと思ってよい ネットワークコントローラーICの動作に 必要な設定情報が書き込まれている もちろんMACアドレスも含む EEPROM 7
  8. 8. 早速やってみましょう 8
  9. 9. NICの解析
  10. 10. 10 今回のターゲット:プラネックス UE-100TX-G3
  11. 11. 11 裏蓋を外して基板を見ます
  12. 12. 12 ネットワークコントローラーIC
  13. 13. 13 EEPROM
  14. 14. ネットワークコントローラー ASIX AX88772A シングルチップのUSB2.0 to 10M/100Mイーサネット コントローラ http://asix.com.tw/products.php?op=pItemdetail&PIt emID=97;71;101 EEPROM ATMEL AT93C66 3線式シリアルEEPROM 93C46(1KB), 93C56(2KB), 93C66(4KB)のファミリ http://www.atmel.jp/ja/jp/devices/AT93C66.aspx 14 ICチップ型番
  15. 15. 15 データ書き換え準備
  16. 16. 16 EEPROM の取り出し
  17. 17. 17 EEPROM 端子の延長
  18. 18. 18 元に戻して動作確認
  19. 19. 19 元のMACアドレス
  20. 20. 20 EEPROMのダンプ
  21. 21. データ吸出し EEPROMの命令セットに従って、欲しい アドレスのデータを送る PCへシリアル経由でEEPROMのデータを ダンプできるようにする ちょうどGitHubにあったので活用 github.com/stratumnine/avr-93cxx-burner Arduinoを使います EEPROMへ書き込む専用の機械は高い 21
  22. 22. 22 http://www.flickr.com/photos/adafruit/9193593732/ Arduino micro
  23. 23. 読み込みは10 書き込みは01 AT93C66の 命令セット 23
  24. 24. 24 Arduinoに接続
  25. 25. 25 EEPROMのプログラム
  26. 26.  ダンプしたファイル内のMACアド レス部分を書き換え  AX88772Aのデータシート参照  書き換えたデータをEEPROMへプ ログラム EEPROMのプログラム 26
  27. 27. 04Hから06Hが MACアドレス (Node IDs) AX88772Aの メモリマップ 27
  28. 28. 28 書き換え中…
  29. 29. 29 もう一回PCに接続
  30. 30. 30 ASCIIで ”HaCkEd” に書き換えてみた
  31. 31. 31 まとめ
  32. 32. 32 ね、簡単でしょう?
  33. 33. 33 NICの基本構造は単純 MACアドレス等、大量生産でも製品に合わせ てカスタマイズ・変化させる部分がある EEPROM書き換えは難しくない 0と1を送って受け取るだけ 専用品でも自作でもOK それ、ソフトウェアでできるよね? 通信相手はもちろんPC上のOS へも詐称できる ソフトウェアだけのエンジニアはハードウェ アの限界を超えられない MACアドレスによる認証?検疫?(笑) 行っている企業はIEEE 802.1xを導入しましょう
  34. 34. TAKE BACK CONTROL & BREAKTHROUGH 34

×