Hacking with Powershell

En esta entrada vemos la resolución de la sala Hacking with Powershell de TryHackme. También puede servir de una suerte de "Cheatsheet" ya que se incluyen los comandos más básicos para entender cómo funcionan los cmdlets y vemos cómo se enumeran diferentes recursos de una máquina con este lenguaje de scripting. Espero que te sea de utilidad.

Tarea 3 - Comandos básicos de Powershell

Cuál es la ubicación del archivo "interesting-file.txt"

Get-ChildItem -Path C:\ -Recurse | where {$_.Name -match '<NOMBRE_ARCHIVO>'}

C:\Program Files

Especifique el contenido de este archivo

type "C:\Program Files\interesting-file.txt.txt"

notsointerestingcontent

¿Cuántos cmdlets hay instalados en el sistema (sólo cmdlets, no funciones ni alias)?

Get-Command | Where-Object -Property CommandType -eq Cmdlet | Measure-Object

6638

Obtén el hash MD5 de interesting-file.txt

Get-FileHash -Algorithm MD5 "C:\Program Files\interesting-file.txt.txt"

49A586A2A9456226F8A1B4CEC6FAB329

¿Cuál es el comando para obtener el directorio de trabajo actual?

Get-Location

¿Existe la ruta "C:\Users\Administrator\Documents\Passwords" (Y/N)?

cd "C:\Users\Administrator\Documents\Passwords"

N

¿Qué comando utilizarías para hacer una petición a un servidor web?

Invoke-WebRequest

Base64 decode the file b64.txt on Windows

[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('dGhpcyBpcyB0aGUgZmxhZyAtIGlob3BleW91ZGlkdGhpc29ud2luZG93cwp0aGUgcmVzdCBpcyBnYXJiYWdlCnRoZSByZXN0IGlzIGdhcmJhZ2UKdGhlIHJlc3QgaXMgZ2FyYmFnZQp0aGUgcmVzdCBpcyBnYXJiYWdlCnRoZSByZXN0IGlzIGdhcmJhZ2UKdGhlIHJlc3QgaXMgZ2FyYmFnZQp0aGUgcmVzdCBpcyBnYXJiYWdlCnRoZSByZXN0IGlzIGdhcmJhZ2UKdGhlIHJlc3QgaXMgZ2FyYmFnZQp0aGUgcmVzdCBpcyBnYXJiYWdlCnRoZSByZXN0IGlzIGdhcmJhZ2UKdGhlIHJlc3QgaXMgZ2FyYmFnZQp0aGUgcmVzdCBpcyBnYXJiYWdlCnRoZSByZXN0IGlzIGdhcmJhZ2U='))

ihopeyoudidthisonwindows

Tarea 4 - Enumeración

¿Cuántos usuarios hay en la máquina?

Get-LocalUser

5

¿A qué usuario local pertenece este SID (S-1-5-21-1394777289-3961777894-1791813945-501)?

WMIC useraccount get name,sid

Guest

¿Cuántos usuarios tienen los valores requeridos de la contraseña establecidos en "False"?

Get-LocalUser | select PasswordRequired

4

¿Cuántos grupos locales existen?

Get-LocalGroup | Measure-Object

24

¿Qué comando utilizaste para obtener la información de la dirección IP?

Get-NetIPAddress

¿Cuántos puertos en escucha aparecen listados?

Get-NetTcpConnection | Where-Object -Property State -Match Listen | measure

20

¿Cuál es la dirección remota del puerto local que escucha en el puerto 445?

Get-NetTcpConnection | Where-Object -Property LocalPort -eq 445

::

¿Cuántos parches se han aplicado?

Get-HotFix | measure

20

¿Cuándo se instaló el parche con ID KB4023834?

Get-HotFix | Where-Object -Property HotFixID -eq KB4023834

6/15/2017 12:00:00 AM

Buscar el contenido de un archivo de copia de seguridad

Get-ChildItem -Path C:\ -Include *.bak* -Recurse

backpassflag

Buscar todos los archivos que contengan API_KEY

Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue | Select-String -Pattern "API_KEY" -List | select Path
type C:\Users\Public\Music\config.xml

fakekey123

¿Qué comando hace para listar todos los procesos en ejecución?

Get-Process

¿Cuál es la ruta de la tarea programada llamada new-sched-task?

Get-ScheduledTask | Where-Object -Property TaskName -eq new-sched-task

\

¿Qué usuario es el propietario de la unidad C:\?

Get-Acl C:\ | Select-Object Owner

NT SERVICE\TrustedInstaller

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

Espero que este Writeup te haya sido de utilidad, si tienes alguna duda, sugerencia o simplemente te interesa este tipo de contenido no dudes en seguirme a través de cualquiera de mis redes sociales:

📝 LinkedIn ⮞ https://www.linkedin.com/in/david-rodriguez-ramos/ ▶️ YouTube ⮞ https://www.youtube.com/c/xerosec 🐦 Twitter ⮞ https://twitter.com/xerosec 🔴 Twitch ⮞ https://www.twitch.tv/xerosec 💬 Discord ⮞ https://discord.gg/E4AjK2XsFm

¡Gracias por llegar hasta aquí!

Última actualización