6
4

More than 1 year has passed since last update.

【ハッキングラボ】第1章~第3章 「事前準備」

Last updated at Posted at 2021-08-22

はじめに

「ハッキングラボのつくりかた」という書籍においての備忘録

  • 仮想環境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 ...

とすることで無事に編集保存ができた

ipaddress_set.png

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内にアダプタが反映されている状態であれば接続できているはず

internet.png

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. 再起動してログイン

key2.png

SSH.png

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内で作成したファイルと同一であり共有されたことがわかる

Inkedwindows.share.fire_LI.jpg

share.file.png

PCの共有設定

C:\Usersのプロパティを確認すると「共有フォルダ」と設定がデフォルトでなっている
PC間でファイルの受け渡しをするには便利な機能だが、その反面危険
→ローカルアカウントのパスワードが攻撃者に知られている場合、LAN内から共有フォルダー内のファイルに自由にアクセスされてしまうことになる

  • 秘密の共有フォルダにするためには、フォルダ末尾に「 $」を加える
    共有名を正確に知らないと、共有フォルダーが表示されなくなる

まだまだ事前準備段階です。
軽く一通り書籍を拝読して目を通して触ってみたいのもあるので
のんびりハッキング内容は投稿更新していきたいです。

参考文献

ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習
出版社:翔泳社
著者:IPUSIRON

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4