はじめに
「ハッキングラボのつくりかた」という書籍においての備忘録
- 仮想環境OS:kali Linux
- ※定期的にapt-updateとパッケージのアップデートをしておくこと※
- ローカルログインはKali側のターミナル、リモートSSHはwindows側のTeraTermから
メモ (注意点など )
ITセキュリティ概要
1995年頃のセキュリティに関してはガバガバであり、世間的に重要視されるようになったのは
2000年頃から「セキュリティ」というものが謳われるようになったため歴史は浅いという印象
Kali Linux
Debianベースのペネトレーションテスト用のLinuxのディストリビューション
NAS
Network Attached Strage
ネットワーク接続によるハードディスク
APT
Debianに搭載されているパッケージ管理システム
ハイパーバイザー型
ホストOSはWindows、MacOSなどの上に仮想化ソフトを入れる
ホストOSの部分がハイパーバイザーになっているのがハイパーバイザー型
隠しファイル
Linuxにおいて .から始まるファイルは隠しファイルとして扱われる
locateコマンド
作成したばかりのファイルはDBに登録されていないため表示がでない
Windowsにてイベントビュアーという画面からPC自体のログの確認ができる
おおよそ使用される主なイベントとそのイベントID
- 12 OS起動
- 13 OSシャットダウン
- 6008 エラー:シャットダウンが正常にされなかった後の起動
- 7001 ログオン
- 7002 ログオフ
Windows power shell
マイクロソフトがコマンドプロンプトをよりpower upしたCUI
windowsPCをコマンド管理できる
コマンドプロンプトより強力なもの
msinfo32
「ファイル名を指定して実行」>「msinfo32」
システム情報実行ファイル
現在PCのスペックやGPUなど一覧で確認できる
VirtualBox
(個人的にinstallやセットアップしていたのでほぼ読み飛ばしてます。)
VirtualBox Extension Pack
ディスクの暗号化やリモートデスクトップ機能などが備えられる機能、現在のVirtualBoxのバージョンと統一してダウンロードする
VirtualBoxにて終了する際
3通りある、作業状態を保存するかの可否を確認して終了すること
- 「保存終了」
- 「OS終了」
- 「強制終了」
Kali 環境構築
-
ユーザ名、パス共にデフォは「kali」
-
グローバルIPアドレス確認方法
ブラウザの環境変数をチェックするサービスにアクセスする
ブラウザの環境変数には、グローバルIPアドレスが含まれているため
など…確認するための外部サイトを利用する。
それかルータの設定画面にアクセスして機器状態で確認ができる
仮想アプライアンスのインポート
- アプライアンス
イメージファイルなどとして提供される仮想マシンのこと
インポートが完了するとVirtualBox左側に仮想マシンが作成される
日本語パッケージの導入
既存のパッケージを最新に更新する
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install -y task-japanese task-japanese-desktop
日本語表示の設定
$ sudo dpkg-reconfigure locales
スクロールして、ja_JP.UTF-8 UTF-8をスペースキーで選択
次の画面にて同じように、ja_JP.UTF-8を選択
$ sudo update-locale LANG=ja_JP.UTF-8
リスタートすることで反映される
[shift + space] にて全角半角の変換がされるようになった
IPアドレス設定
条件
- LANに端末を配属させるためにはLANアダプタにIPアドレスを割り当てる必要がある
- kaliからLAN内の端末にアクセスできる
- ホストOSから Kali にアクセスして操作できるようにする
- ネットに接続できるようにする
1. 設定ファイルを編集する
/etc/network/interfaces に設定をする
/etc/network/interfacesとは
VirtualBox画面にて設定をしてもKallが認識をしてくれない仕様になっている、そのため”直接設定してKaliにIPアドレスを認識させる必要”がある、そのためのファイル名
設定をrestartコマンドで反映させる
$ sudo vi ...
とすることで無事に編集保存ができた
Kaliに2つのLANアダプタを設定する(動的アドレス編)
Kaliに2つのLANアダプタを設定し静的IPアドレスを設定したい、がKaliに複数のLANアダプタを設定する際気をつけることがある
→それを確認するため動的IPを設定する
1. 仮想LANアダプタを「仮想マシンの設定」にて追加する
2. ホストオンリーネットワークを設定する
ホストオンリーネットワークとは
外部ネットワークとは通信できないがホストOSやゲストOS間でネットワークを構成するモード
「ファイル」>「環境設定」>「ネットワーク」にて編集
アイコンを選択してIPアドレス等詳細を編集
3. LANアダプタの設定状況を確認する
右下の「ネットワークボタン」にてケーブルの接続状況を確認する
4. 片方しか接続されないため設定を変更する
2つのネットワークを設定後に”右下にあるネットワークボタン”にて接続されているネットワークを確認することができる
LANとNetwork共に有効にしたいが、片方のみネットワークが繋がれ片方しか有効にならない
→Debian仕様のため
→/etc/network/interfacesファイルに直接書き込む必要がある
→ホストオンリーネットワークに関してはVirtualBox内左上「ホストネットワークマネージャー」から
LANアダプタを設定する場合は仮想マシン一覧(左側の縦一覧のタブ)から「右クリック」>「設定」>「ネットワーク」から
それぞれ設定をする
サポートにも記載があるが一度Kali自体を落としてからではないとアダプタの追加ができないため ”再起動” や ”シャットダウンしてから作業する” などはもろもろ把握しながら動かすこと
Kali に2つのLANアダプタを設定する方法(静的アドレス編)
1. ホストオンリーアダプタ側を静的IPアドレスに変更する
2. ifconfigにてアドレスが設定されているか確認
3. ルーティングテーブルやPingにて疎通を確認
ネットにいつまでもつながらなかった
$ apt update
$ apt upgrade
して再起動など試したところ繋がった
ifconfig にてIP設定できているかつ、VirtualBox内にてNATの設定をしていてKali内にアダプタが反映されている状態であれば接続できているはず
SSHアクセスを有効にする、KaliにSSHパスワード接続する
Kali側にsshdを起動しwindows側にSSHクライアントを設定する必要がある
SSHクライアントとは
TeraTermやPuttyなどのソフト
事前に設定するための条件
root以外のユーザーを作成しておき、そのユーザーでログインできるようにする
rootのパスワードを変更しておく(権限がtoorだと奪われる可能性があるため)
ホストオンリーネットワークを通じて、ホストOSからKaliに接続できる。そのときアクセスしやすいように、静的IPアドレスとする
1. SSH鍵を再生成する
2. sshdを起動しているか確認し、service ssh startにて起動させる
3. Kali のterminalからSSHコマンドでログインができるか確認
4. ホストOSのコマンドプロンプトにてPingで疎通確認する
問題がなければTeraTermでログインをする
SSHでrootログインを許可する
sshdの設定ファイルはrootではデフォルトでログインができない仕様になっている
1. /etc/ssh/sshd_configにてファイルの編集をしてrootでログインできるようにする
2. 再起動してログイン
SSH公開鍵認証アクセス
1. 鍵を生成する
TeraTerm内にて「設定」>「鍵生成」
パスフレーズを設定>公開鍵生成、秘密鍵をそれぞれ id_rsa.pub id_rsaのファイル名で作成保存する
2. 鍵を設定する
TeraTermにてSSHパスワード認証にてログインをして「ファイル」>「SSH SCP」を選択してFromに先程生成した id_rsa.pubを選択する
Sendを押したことによりローカルのホームディレクトリに公開鍵のファイルが置かれる
3. root ユーザにて $ ls -la id_rsa.pubを探してみる
4. そのファイルの内容を autorized_keysファイルにコピーをする
5. 公開鍵認証を nano /etc/ssh/sshd_config にて編集をして有効にする
6. 再起動する
7. TeraTermでログインする際「RSA/..鍵を使う」にチェックを入れ秘密鍵(id_rsa)ファイルを選択しログインする
8. 成功した場合はパスワード認証を無効にする
ホストOS設定
隠しファイル、隠し拡張子を表示させる
「コンパネ」>「エクスプローラーオプション」>上のタブの「表示」にて拡張子や隠しファイルの項目のチェックを外す
ホストOSとゲストOS間のファイル共有の設定
FTPサービスなど様々ある
VirtualBoxファイル共有機能設定
1.C:\shareフォルダを作成し中に sample.txtを作成する
2.VirtualBox設定画面にて「共有フォルダ」を選択
- パス C:\share
- ファイル名 share
- 自動マウント ON
3.Guest Additionsを起動する
4.CD内のファイルをデスクトップに仮作成した「Vbox」というファイル内にすべてコピーする
5.chmod +x VboxLinuxAdditions.run 、sh ./ VboxLinuxAdditions.run起動させる
6.sf/shareというファイルが共有のファイルになり、存在する
7.ls -laやcat コマンドにて /media内にあるファイルを確認するとホストOS内で作成したファイルと同一であり共有されたことがわかる
PCの共有設定
C:\Usersのプロパティを確認すると「共有フォルダ」と設定がデフォルトでなっている
PC間でファイルの受け渡しをするには便利な機能だが、その反面危険
→ローカルアカウントのパスワードが攻撃者に知られている場合、LAN内から共有フォルダー内のファイルに自由にアクセスされてしまうことになる
- 秘密の共有フォルダにするためには、フォルダ末尾に「 $」を加える
共有名を正確に知らないと、共有フォルダーが表示されなくなる
まだまだ事前準備段階です。
軽く一通り書籍を拝読して目を通して触ってみたいのもあるので
のんびりハッキング内容は投稿更新していきたいです。
参考文献
ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習
出版社:翔泳社
著者:IPUSIRON