うさブロ

ぼっちなうさぎのセキュリティラボ

ご注文はスマホですか? 【NetHunterの作り方(Nexus 5)】

f:id:appleseedj073:20171230002835p:plain

12月2日にこんな話をする機会をいただきました。

speakerdeck.com

ハッキングガジェットに関する話で、実際の展示とかを失敗を交えながら披露させてもらえましたw

 

 

今回はLTで紹介した「NetHunter(Nexus5)」の作り方をまとめてみた。

そもそもNetHunterとは何かと言うと、Androidスマホスマホ用にカスタマイズしたKali  Linuxペネトレーションツール)をインストールしたってことでいいかなw(←テキトー)

f:id:appleseedj073:20171217003330j:plain

Kali Linuxのサイトに行く度にちらほらと名称は見かけていたんだけどなかなか手が出せなかった(いろんな意味でw)

でも今回、覚悟を決めて中古のNexus5を購入し作ってみた!

---注意!---

ここから先の内容は、Androidのメーカー保証を受けれなくなるような改造を含みます。正規の使用法を完全に逸脱する内容です。何か起きても自己責任になります。それでも良い!と言うようなお金持ちか、私と同じくらい狂ってる人だけがこの先を見てください。

 

 

 

 

 

 

 

 

 

 

 

 

ここまできたって事は、だいぶ変態ですねw 

材料

Nexus 5

環境

MacBook Pro (Sierra)

PCからAndroidをいじくるには、「adb」とか、「fastboot」と呼ばれるものが必要になります。これらのインストールについて語ると長くなるし、ググればそれぞれの環境にあったインストール方法を紹介してくれるサイトがわんさかあるので、既にインストール完了している前提で話は進みます。

 

とりあえずオフィシャルのリンクは以下に貼っておきます。

github.com

このサイトにはAndroidのどのバージョンがサポートされているかがまとめてある。(てか、やりようによってはNexusじゃなくてもインストール可能らしい)

ダウンロード

安定版は以下のサイトからダウンロードすればOK

www.offensive-security.com

多少不安定でもいいから最新のイメージを使いたいなら以下のサイトからダウンロードするように書いてあるので自己責任でどうぞw

https://build.nethunter.com/nightly/

この時、注意しなくてはならないのが、新規インストールの場合は「nethunter-generic-[arch]-kalifs-*.zip」と「kernel-nethunter-[device]-[os]-*.zip」が必要になり、最後にカーネルをフラッシュしてやる必要があるとかないとか書いてある。

セットアップ

ツールの準備

今回、自分の環境がMacなんで、LinuxOSX用に用意された「NetHunter Linux Root Toolkit(LRT)」を使ってインストールしていく。(Windowsは、Nexus用のGUIツールがあるらしい)

Linux/OSX

github.com

Windows

www.wugfresh.com

まずは、上記GithubからLRTをダウンロードして展開する。この後は、ここに書いてある通りに必要なものを集めるだけ!

「Nethunter-LRTディレクトリに移動する。

 cd Nethunter-LRT/

中はこんな感じ

f:id:appleseedj073:20180101174156p:plain

Factory Imageのダウンロード

次にGoogle から、Nexus5の Factory Imageをダウンロードしてきて「stockImage」に入れる。下のリンクからFactory Imageのダウンロードサイトに飛んでNexus5の項目を見つけてダウンロード。公式でインストールできるバージョンが、5.1.1と6.0.1と言っている。今回は5.1.1を選択(それでも一番新しそうな奴を選んでみる)

https://developers.google.com/android/images

f:id:appleseedj073:20180101162013p:plain

TWRPのダウンロード

次の手順は、以下のTWRP WEBから、Nexus5のTWRP Imageをダウンロードして「twrpImage」に入れる。

twrp.me

サイトにアクセスしてデバイス名(ここではNexus5)を入力すると候補が出てくるので「LG Nexus 5(hammerhead)」を選択してダウンロードしてくる。

f:id:appleseedj073:20180101162850p:plain

SuperSu(BETA)のダウンロード

同じく、以下のサイトからSuperSuをダウンロードする。

f:id:appleseedj073:20180101164057p:plain

全てのファイルをダウンロードして配置した状態はこんな感じ

f:id:appleseedj073:20180101174325p:plain

 この時、ダウンロードしてきたzipファイルや、imageファイルの名前を変更しちゃダメです。

 

デバックの有効化(開発者向けオプション)

1.Nexusの設定から端末情報を選択

f:id:appleseedj073:20180101180037p:plain

2.ビルド番号を何回かタップする

f:id:appleseedj073:20180101180137p:plain

 

3.端末情報の上に開発者向けオプションが表示される

f:id:appleseedj073:20180101180251p:plain

4.USBデバックを許可する

f:id:appleseedj073:20180101180405p:plain

 

f:id:appleseedj073:20180101180428p:plain

これでNexusの準備は完了

 

インストール

NexusをPCに接続してコンソールを起動する。

 

1.次のスクリプトを実行して端末のロックを解除する。

 ./oemUnlock.sh

f:id:appleseedj073:20180108001143p:plain

全ての処理が終了するともう一度開発者向けオプションを有効化してUSBデバッグを有効にする事を示される。

そして次の手順として「stockFlash.sh」を使用してイメージを入れ直すか、TWRPとsuperSUとNethunterがインストールされる「twrpFlash.sh」を実行する事を示される。今回は「stockFlash.sh」を使用してイメージを入れ直す。

 

2.再度端末のUSBデバッグを有効にした後に以下のコマンドを実行しダウンロードしてきたファクトリーイメージを書き込む。

 ./stockNexusFlash.sh

f:id:appleseedj073:20180108002822p:plain

 

f:id:appleseedj073:20180108002651j:plain

何度か自動で再起動するので待機(5分くらい?)

f:id:appleseedj073:20180108003016p:plain

コンソールでここまでくると処理は終了してして端末側が初回起動状態になってる。とりあえず適当に入力して再度、USBデバッグを有効にするところまで実行

上の図のように次の手順が示されている。

 

3.TWRP、superSU、Nethunterのインストールを実行する「twrpFlash.sh」を実行

 ./twrpFlash.sh

f:id:appleseedj073:20180108003625p:plain

再起動した後にTWRPがインストールされてユーザからの入力待ち状態になる。

f:id:appleseedj073:20180108003950p:plain

端末側

f:id:appleseedj073:20180108004219j:plain

この状態で、端末側では何も操作せずコンソール側で何かキーを押す。

インストールが始まり、端末側とコンソール側で以下のような感じになる。

f:id:appleseedj073:20180108004639p:plain

のんびりと・・・

優雅に・・・

 

待機w(それなりに時間かかる)

f:id:appleseedj073:20180108005227p:plain

最後にコンソールに上図のようなメッセージが流れたら無事に終了!

f:id:appleseedj073:20180108005439j:plain

端末側でもKALIの起動ロゴアニメーションが表示されている。

 

4.最後にカーネルのアップデートを行うので、一度電源を落としてボリュームダウンボタンと電源ボタンを押して起動。するとブートローダーが起動するのでリカバリモードを選択してTWRPを起動する。

用意していたカーネルを端末のダウンロードディレクトリに入れておく。(別に自分がわかるなら何処でもOKだと思う)

f:id:appleseedj073:20180108010432p:plain

端末側はTWRPのメニューから一番左上のインストールを選択

f:id:appleseedj073:20180108011305j:plain

次の画面ではダウンロードディレクトリを選択

f:id:appleseedj073:20180108011357j:plain

カーネルを選択して、右下のインストールイメージを選択

f:id:appleseedj073:20180108011435j:plain

画面下をスワイプしてインストール開始

f:id:appleseedj073:20180108011523j:plain

インストールが終了したら右下の再起動ボタンを選択

f:id:appleseedj073:20180108011600j:plain

Nethunterを起動すると一度だけ聞かれるので許可する。

f:id:appleseedj073:20180108011951j:plain

これでインストールが完了!

f:id:appleseedj073:20180108012117j:plain

 

まとめ

Nexusへのインストールに関しては資料やツールも多いので簡単に作れると思うw いちおオフィシャルではNexus以外の端末でもインストール可能と表示しているがちょっと敷居が高そうにも思える(個人的には)今、Nexus5や、6あたりは中古市場で安いのが出回っているのでインストールして見るのも楽しいかもしれない⁉︎