前回でとりあえずの環境は整ったので、今回は無線LANハックをする環境を整える。
最終的なVagrantfileなどはGithubに上げておいた。
死ぬほど参考にさせていただいたサイト
基本的には上記のサイトのままいけば大丈夫。(タメになる記事ありがとうございます)
ただ、上記のサイトはVirtualBoxのディスプレイモードを利用した形のものなので、Vagrantで環境を構築する際は少し差異がある。
なのでこの記事ではVagrantでの設定の仕方と記事を読んでいて詰まったところを紹介していく。
vagrant upしたら「Stderr: VBoxManage: error: Implementation of the USB 3.0 controller not found!」と出る
これはVirtualboxのExtensionPackがインストールされていないからだった。
ただ一つ罠があるのが、最新のExtensionPackをインストールしてはいけないということ。
正確にはVirtualboxのバージョンと同じExtensionPackをインストールしなければならないということだ。
自分が引っかかったのは「Virtualbox > アップデートを確認」で下記画像のように最新のVirtualBoxがインストールされていることを確認し、公式サイトからExtensionPackをダウンロードしてインストールをした。
しかし相変わらずエラーが出るのでVirtualboxのバージョンを確認したら5.2.26だった。対してダウンロードしたExtensionPackは6.0.4。これではダメだ。
下記サイトから5.2.6のExtensionPackをダウンロードしてインストールしたらエラーは出なくなった。 https://download.virtualbox.org/virtualbox/5.2.6/
ちなみにVirtualBoxを起動するたびに下記画像のようにアラートがでるが華麗に無視すること。
VagrantでNat Networkの構築
Kali LinuxをPC/Macにインストールする – 暗号通貨 とセキュリティ – Medium
上記サイトでネットワークの設定をしているが、VirtualBoxでNatNetworkを構築してもvagrant up
をすると下記画像のようにvboxnet1
に戻ってしまう。
VirtualBoxではなくVagrantfileに設定を記述しなければならなかった。 なのでVagrantfileに以下を記載。
config.vm.provider :virtualbox do |v| v.customize [ "modifyvm", :id, "--nic2","NatNetwork"] v.customize [ "modifyvm", :id, "--nictype2","82540EM"] v.customize [ "modifyvm", :id, "--nicpromisc2","allow-all"] end
これでvagrant up
をしてもNat Networkが設定されている状態になった。
USB認識がうまくいかない
USB-WifiをVagrant環境で認識させようとしたらかなり詰まった。
vboxusersの追加やVagrantfileにUSB認識を記述するスタイル等色々試したが、決定的だったのはUSBを指すタイミングだった。
いやそんなことないだろ馬鹿らしいと思うかもしれないが、今VagrantでUSB認識に詰まっている人は騙されたと思ってやってみてほしい。(自分も調べている時にタイミングのことを言っている記事を見つけたが、そんなことあるかッと思いスルーしていた)
・ダメなパターン(VirtualBoxにてUSBの登録は済んでいる状態)
MacにUSB-Wifiを挿す
↓
vagrant upする
↓
kaliにログインしiwconfigを打つ
↓
認識しない...
# iwconfigの実行結果
eth1 no wireless extensions.
eth0 no wireless extensions.
lo no wireless extensions.
・正解のパターン
vagrant upする # ここ!USBを挿す前にkaliを立ち上げておく ↓ MacにUSB-Wifiを挿す ↓ kaliにログインしiwconfigを打つ ↓ 認識される # iwconfigの実行結果 eth1 no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry short long limit:2 RTS thr:off Fragment thr:off Encryption key:off Power Management:off lo no wireless extensions. # lsusbの実行結果 Bus 001 Device 003: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
認識された時は感動した。ifconfig
をしてもちゃんとwlan0
が増えていた。
[root@kali-linux-2018:~]$ ifconfig eth0:...(略) eth1:...(略) lo:...(略) wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether ca:9b:b6:22:c7:88 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ちなみに使用したUSB-Wifiは記事にも紹介されていたAlfa AWUS036NEH。
一応他にも試したことを書いておく。
vboxusersグループにVirtualboxを起動するユーザーを所属させる
これは結局意味があるのかわからない。が、一応今でも設定しているので書いておく。
(virtualboxを起動するユーザーって誰やねん...って感じなので合っているかわからん)
# そもそもvboxusersがいなかったので作成 [root@kali-linux-2018:~]$ groupadd vboxusers # vagrantユーザーを所属させる [root@kali-linux-2018:~]$ gpasswd -a vagrant vboxusers Adding user vagrant to group vboxusers # 一応rootも所属させてみた [root@kali-linux-2018:~]$ sudo gpasswd -a root vboxusers Adding user root to group vboxusers # 確認 [root@kali-linux-2018:~]$ groups root root : root vboxusers [root@kali-linux-2018:~]$ groups vagrant vagrant : vagrant vboxusers
VagrantfileにUSBの設定を記述する
下記のようにVagrantfileにUSBの設定を記述してみたが、これは結局意味がない。最終的なVagrantfileには書いていない。
Vagrantfile
config.vm.provider :virtualbox do |v| v.customize [ "modifyvm", :id, "--usb", "on"] v.customize [ "modifyvm", :id, "--usbehci", "on"] v.customize [ "usbfilter", "add", "0", "--target", :id, "--name", "Ralink 802.11 n WLAN [0101]", "--vendorid", "0x148f", "--productid", "0x3070", "--manufacturer", "Ralink" ] end
また、上記をVagrantfileに記述するとvagrant up
するたびに下記画像のようにUSBが増えていってしまう。(これは何か回避策があるのかな)
まとめ
いや色々と詰まる箇所が多かったけれども道中出くわすエラーを調べている内にVagrantやLinuxについて色々知ることができたのでとっても楽しかった。
ようやく念願のMonitorモードを試せるのでワクワクしてる。