Aterm WG1800HP2のrootを取る
ハードウェアでガチャガチャ遊びたくなった!!ので中古の安いwifiルーターでrootシェルを取ってファイルシステムを覗いてみる
攻略対象
- NEC Aterm WG1800HP2
- https://www.aterm.jp/product/atermstation/product/warpstar/wg1800hp2/
- 2014/10/9 発売
- 現在はサポート終了済
ガワ調査
- ルーターなのでLANポートがついている
- ここから接続できる?
- TCP/23でtelnetが動作中
- Google検索したところパスワードは公開されていなさそうだった
- とりあえず時間の無駄そうなので別の方法で攻略する
- 基盤チェック
- ルーターはUnix/Linuxで動いていることが多い
- 組み込みのUnix/Linux
- テスト用にUARTのポートがあることが多い
- 見分け方
- 4~5個のテストピンやテストパッドが基盤に実装されている
- 見分け方
Tips: UARTについて
UART (Universal Asynchronous Receiver Transmitter)
最低3本の線でシリアル通信ができる通信規格
GNDなくても動くケースが多いが、ノイズ対策の観点から使うべき
- Tx: 送信
- Rx: 受信
- GND: 基準電圧
クロックの指定が結線上に存在していないため、ボーレートをデバイス側で指定する必要がある
基盤を眺めると怪しいテストポートがある
- テストポートが5つの場合は以下のものが想定される
- VCC (3.3V or 5V)
- GND
- Rx
- Tx
- 多目的使用 or N.C.
- テスターを利用して探していく
- テストポートが5つの場合は以下のものが想定される
各ポートの調査のコツ
- 最初にVCCとGNDを探す
- テスターを利用して3.3V / 5Vを拾えたら残りをguessする
- Txのポートは伝送時に電圧がHighになる
- Rxのポートは大きく動かない
- スペクトラムアナライザがあると便利
- UARTの通信を拾うくらいならラズパイピコで作れるので作ることをオススメ
- 最初にVCCとGNDを探す
調査の結果、こんな感じに
ポートにはんだ付け
- GNDのはんだがあまりにも汚い
- みんなはフラックスをちゃんと…使おうね!
- GNDのはんだがあまりにも汚い
BusPirateにTx, Rx, GNDを接続
- 注意: Tx-Rx, Rx-Txとデバイス間でTx, Rxの接続は逆になる
- なぜか手元のFTDIチップのシリアル変換ボードで動作しなかった
- いまだに理由がわかってない
- 家に転がってたBus Pirateで対応
シェルアクセス
ターミナルを開いていろいろ見ていく
シェルのログイン画面が見えるが、ID/パスワードがわからない
- ブルートフォースは現実的ではない
- ブルートフォースは現実的ではない
root奪取
- シングルユーザーモードで立ち上げる必要がある
- ブートローダーであるUbootをどうにかする必要がある
- ルーター起動中に
Ctrl-C
を連打することでシングルユーザーモードに入れる
ファイルシステム探訪
ルーターのWebアプリケーションして動作するCGIを発見
シングルユーザーモードなのでネットワーク環境がない
どうやって持ち帰るか
USBが生えているのでこいつでUSBをマウントできるか試す
USBメモリを刺すとマスストレージとして認識
- マウントしたら使えそう
- マウントしたら使えそう
Mountコマンドがない
使えそうなバイナリを調査
- mount_ffs
- mount_kernfs
- mount_msdos
- mount_procfs
- mount_tinyfs
- →
mount_msdos
,mount_tinyfs
が使えそう
- →
USBを刺し、それをmsdosでフォーマット、mount_msdosでマウントする
あとはddとかで好き勝手ファイルをコピーしまくるだけ
- お持ち帰りしたファイルを思う存分味わおう!
- お持ち帰りしたファイルを思う存分味わおう!
おわりに
この業界をひたすら走り続けている大破.net氏に大いなる経緯を表します
本記事の一部では大破氏の過去記事を参考にさせていただきました
また、分解したwifiルーターの使用については法的な部分から怪しくなるので廃棄済みです
そもそも古いwifiルーターをおもちゃとしてメルカリで超格安で買ったので問題ないな!ヨシ!
暇があればハードウェアネタも書いていこうと思います