docker を使って debian に kali をインストールしてみた ー 覺へ書き

docker のインストールについて

https://docs.docker.com/engine/install/debian/

に 色々説明がのってゐる
それを 参考にした

sudo apt update

必要なものを インストール

sudo apt install ca-certificates curl gnupg lsb-release

キーを取得

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

リポジトリを追加

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update

docker をインストール

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

インストールできたか 確認

sudo docker run hello-world

kali をインストールする

sudo docker pull kalilinux/kali-rolling

kali が入ったか確認

sudo docker image ls        

なんかする

sudo docker run -itd --rm kalilinux/kali-rolling

これで出た ID らしきものを コピー する

sudo docker exec -it コピーしたID /bin/bash

これで kali らしきものが 起動する

apt update

sudo をつけると エラーになった

apt install kali-linux-default

いろいろインストールされる
詳しい インストールの種類は

https://www.kali.org/tools/kali-meta/

ちなみに この kal-linux-default のインストールを始めてから この記事を書き出したんだけど
まだ 全然インストール終ってない(36%と表示されてる)

これを書くにあたって

DebianにDockerをインストールする - Qiita

を参考にしたけど リポジトリの追加部分とか うまく行かなかった (結局變なリポジトリを追加してしまった)
リポジトリの追加に失敗して 變なものを加へてしまったばあい
/etc/apt/sources.list を編集する
私の場合 vimを使ってゐるので

sudo vi /etc/apt/sources.list

として 問題のリポジトリを削除した
あと 次の記事も参考にした

DockerでKali Linuxコンテナをインストール - Qiita

いま 49%になった なげーよ (11時18分)
ちなみに 55% のときに kismet だっけ なんか インストールするか聞かれた (11時21分)
怪しげだったので no にした(まあ あとでもインストールできるっしょ)
Change MAC automatically? と聞かれた
ここは yes にした (60%のとき)(11時23分)
そもそも kali をインストールしたかったのは

www.hackthebox.com

をやるときに debianから直接 openvpnを使ってやると
色々なツールがインストールされてなくて 面倒臭い と思ったからだ
kaliなら hackingに關するツールが もともと入ってゐるので便利だと思ふ
windows11 に wsl を入れて kaliが動くやうにしてあるので
windowsからやればいい話だが debianもよく使ふので (なるべく 色々なことを こっちでやりたい)
こんなことをしやうと思ったわけだ
しかし どうしても 面白いゲームの中には windowsにしか對應してないものも多く
windowsは なかなか難しいだらう
googleよりは 全然簡單な氣はするけど(笑)
やべーな 暇をもてあまして どうでもいいこと書いてるぞ・・・

みなさんは ご存知だらうか
我々が google王国に居るといふことを・・・ (ちゅーにもーど)

いまや googleのプラットホームで 國の重要な情報までが やりとりされる時代
スマホしかり Youtubeしかり
學校教育には chrome book が導入されてゐる
本人確認も google認証が どんどん必須化してゐる
google基準で あらゆる価値が決まり 規制が決まる
国家元首でさへ googleの取り決めによって 情報の伝達が制限されるのだ

そして とても興味深いのは これらの現象を
人々の多くが 意識せずに 受け入れてゐること
誰も ひとつの會社が これだけ世界に影響力を持ってゐることに關して
危機感など 抱かないのだ

まあ これは Lineの使はれかたを見てゐれば よく分かることなのだが
要は 便利で みんなが使ってゐるものに 乗っかっていくのが 「正常」なのであって
それを疑問視したり 一企業が強大な情報力と 影響力を持つことに對して 危機感を抱くことは
「異常」であり あまり理解されないのである

やっと 71 % と思ったら そこで止まってゐて キーボードレイアウトを聞かれてゐた
こんな どうでもいいことを書いてたから 氣づかなかった〜
そのあと すぐに
Should non-superusers be able to capture packets?
ときかれた
セキュリティーリスクがあるから デフォルトでは no になってゐるようなので
no にしておいた (11時47分) 77%のところで
Please choose the character set --
などと聞かれた
なんか 良くわからなかったし 日本語的なのも選択肢にないので 1 にしておいた(11時56分)
83%のところで sslh について聞かれた
2 の standalone にしておいた (12時2分)
そろそろ ごはん食べやうかな〜 (ごはん炊いてあるし)
卵と チーズがある
親子鍋(ひらたいやつ)で目玉焼きをしつつ いい感じのところで塩少々
水加えて蓋
いい感じの焼き具合から モッツアレラチーズで蓋
丼にごはんをよそい 目玉焼きをのせる
最高だぜ!!
たまには味噌汁も飲むか〜
といふことで レトルトの味噌と具を 食べ終わった丼にあけ お湯をそそぐ
うまいっ!
あまりにも美味いので ごはん追加の おじやにする
なんてことをして 12時20分 インストールは終わってゐた

exit

で kali を抜ける

sudo docker container ls

として IDを確認
左側のID部分をコピー

sudo docker commit コピーしたID mykali

mykali の部分は適當な名前をつける
なんか 時間がかかる (12時34分)
おっ 終わったみたい(12時36分)
sha256のハッシュを吐いて終わってる

sudo docker run -it --rm mykali

で立ち上がることを確認

exit

でぬけて
.bashrc にエイリアスを追加する

cd ~
vi .bashrc

次を追加

alias kali='sudo docker run -it --rm mykali'

ターミナルを再起動
これで

kali

としてから パスワードを入力すれば起動する

追記
debian と kali 間のファイル転送について
まず コンテナIDを確認する

sudo docker container ls

mykaliのコンテナIDをコピー
debianから kaliに ファイルをコピー

sudo docker cp starting_point_yokoP.ovpn コピーしたID:/home/

上の例では starting_point_yokoP.oven といふファイルを kali の /home/ フォルダヘコピー
cp の引數の順番を逆にすれば kaliからdebianに ファイルをコピーできる
次のページを参考にした

dockerコンテナにファイルを転送する - Qiita

hack the box をやる場合 openvpndebianにインストールしておき

sudo apt install openvpn

debian

sudo openvpn starting_point_yokoP.ovpn

などとした後 kaliを起動して(もともと起動してゐてもよい)
kali上でネットワークへ接触できる
ちなみに kaliで openvpnを實行したが うまく行かなかった
だが このやり方なら debianから kaliにファイルを移動する必要もなく ある意味樂でよいと思ふ

(2.21 追記) 實行したkaliの環境(インストールプログラムなど)を變更後 何もやらないと その變更が反映されない
kaliを實行してゐる状態で
元のOSターミナルから(別にターミナルを開いて)

sudo docker container ls

として CONTAINER ID を確認する (これはkaliのシェルでも表示されてゐる)
ここで そのまま

sudo docker commit CONTAINER_ID(コピーしたやつ) mykali

とする(ここで mykali は もともと名前をつけてあったもの)
そして

sudo docker container stop CONTAINER_ID

とする
ここで 實行してゐた kali から exit して抜け出す
この作業で kaliの状態が新しくなってゐる筈
とりあへず 自分はこの方法で更新できた
もっとちゃんとした(てっとり早い)やり方があるんだらうけどね・・・