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