【備忘録】新しいKali Lunuxで1行ターミナルに戻す。
いつからか、新しくKaliをインストールすると、zshになっていたり ターミナルが2行になっていたりで違和感あるのでもとに戻す。
$ chsh -s /bin/bash
$ sudo vim .bashrc 62 PROMPT_ALTERNATIVE=twoline ←onelineに 63 NEWLINE_BEFORE_PROMPT=yes ←をnoに 修正後 62 PROMPT_ALTERNATIVE=oneline 63 NEWLINE_BEFORE_PROMPT=no
ペネトレーションテスト用ディストリビューションのKali LinuxをWindows Subsystem for Linux(WSL)で使う
Windows10のWindows Subsystem for Linux(WSL)でKaliが使えるぽいので試してみた。
メリット
- 仮想化製品をインストールする必要がない。ライセンスの必要がない。
実際ペネトレーションテストを実施する歳、仮想マシンの中に専用のKaliのイメージを使って診断する。というところが多いが、VMwareでは、Playerでも診断で利用する場合商用利用に該当するために、購入しなければらないが、この手法だと、ライセンス料を節約できる。(しかしvirtual boxで代用可能)
- 標準の作業環境が、Windows利用者である場合にサクッと使える。
具体的な例としては、セキュリティ診断会社では、診断端末 & 事務端末など複数のマシンを与える場面が多いく、セキュリティ診断端末は外に持ち出す前提なので、適用される社内ルールなどの違いから、診断結果を、事務用端末に移動するに手間がかかる。が、この方法を用いれば、事務端末(Windows10)の中でKaliを動かすことができる。
デメリット
- rawソケットの欠如
このディストリビューションでセキュリティ診断を実施した場合、WSLではrawソケットが利用できないため、nmapなどポートスキャン、他様々な結果が、前回と、べき等にならないなどの問題が生じる可能性がある。
- カスタマイズされた、kaliのカーネルを利用できない
ここについては意識したことがなかったが、そのように公式には記載されている。
んでどーすんの
某ゲーム(FEZ)では、themida protectedのVMProtectにより、仮想マシンのNICがインストールされていると、ゲームがプレイできないという仕様は、さながら人権が存在しない後進国のようなのだが、そのため、別端末にNested ESXiで仮想化機能を使い、SSHで繋いで操作しているのだが、これにより、ゲームをインストールしているPCでもKaliが利用できる、自分向けソリューションだった
やり方教えろ
- git for windows (コマンドプロンプトで利用)やpython(自分は3.6)をダウンロードし、空気を読んでインストールしておく。chocolateyがある場合は以下のコマンドでインストール
choco install git python -y
- 管理用のPowerShellウィンドウを開き、ワンライナーでWindowsサブシステムをインストールする。一度終了すると再起動が必要になる。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
lxrun /install
- WSL Switcherをセットアップしてインストールし、Kaliのベースをダウンロードしてディスクに展開する。
git clone https://github.com/RoliSoft/WSL-Distribution-Switcher.git cd WSL-Distribution-Switcher python get-prebuilt.py kalilinux/kali-linux-docker python install.py rootfs_kalilinux_kali-linux-docker_latest.tar.gz lxrun /setdefaultuser root
bash
- この時点で、Kaliの中にいるので、通常どおりにパッケージ、ツールなどをインストールして使用することができる。あとは、いつものお作法。
export LANG=C apt-get update apt-get dist-upgrade
参考文献
以上