Análisis de frecuencias de palabras en un texto con PowerShell (parte 4)

Script sin comas y puntos

Análisis de frecuencias de letras en un texto con PowerShell (parte 3)

Análisis de frecuencias de letras en un texto con PowerShell (parte 2)

Win32 Classes (Windows)

Windows Post Exploitation Cmdlets Execution (PowerShell)

Presence

This section focuses on information gathering about the victim host and the network that it’s attached to.

System

shows-all-current-environmental-variables-macos

WMI

Networking

Users

Configs

Finding important files

Files to pull

Remote system access

Software

Auto­Start directories


Persistance

This section focuses on gaining a foothold to re­gain, or re­obtain access to a system through means of authentication, backdoors, etc..

Download

Compress or expand ZIP archive

Reg command exit

Deleting logs

Uninstalling software „Antivirus“

Invasive or altering commands

1. Introducción a PowerShell para administradores de sistemas

Introducción

PowerShell es una línea de comandos con tecnología de scripting basada en tareas que proporciona a los administradores de tecnologías de la información (TI) un control integral y la posibilidad de automatizar las tareas de administración del sistema.

PowerShell se ha creado sobre Common Language Runtime (CLR) y .NET Framework.

Consola

Para ejecutar la línea de comandos de Powershell hay que ejecutar el programa powershell.exe.

powershellexe

powershell-mac-os-shell

Versiones

Hay distintas versiones de Powershell, cada versión incorpora nuevas ventajas respecto a la anterior.

version-powershell-windows

Cmdlets

Los comandos (cmdlets, se pronuncia command-let) de PowerShell son sencillos de recordar usan el sistema verbo-nombre para llamar a los comandos, los verbos y los nombres están en inglés.

Los cmdlets se puede ver con el comando:

get-command

powershell-mac-os-get-command

Ayuda

Para obtener ayuda de un cmdlet hay que ejecutar el cmdlet:

get-help

powershell-mac-os-get-help

Alias

Los cmdlets se puede llamar de forma abreviada mediante un alias.

get-alias-powershell-windows

alias-en-powershell-mac-os

Canalizaciones

Concepto importante que permite unir dos cmdlets de la siguiente forma: la entrada de un cmdlet es la salida de otro cmdlet.

canalizacion-powershell-windows

Utilidades básicas

Seleccionar

Selecciona objetos o propiedades del objeto.

get-process-select-object-name-powershell-windows

powershell-mac-os-select-objectAgrupar

Agrupa objetos que contienen el mismo valor para las propiedades especificadas.

get-process-group-object-name-windows-powershell

powershell-mac-os-group-objectOrdenar

Ordena objetos por el valor de las propiedades.

get-process-sort-object-name-powershell-windows

powershell-mac-os-sort-objectContar

Cuenta elementos de los objetos o las propiedades de los mismos.

count-powershell-windows

powershell-mac-countComparar

Compara dos conjuntos de objetos.

Dar formato

Utiliza una vista personalizada para dar formato a la salida.

get-process-select-object-threads-format-custom-powershell-windows

powershell-mac-os-format-customEntrada y salida

Envía la salida a un archivo.

get-process-out-file-procesos-txt-powershell-windows

powershell-mac-out-fileWhere

Proporciona una forma para filtrar los datos devueltos por otros cmdlets.

get-process-where-object-cpu-lt-5-powershell-windows

powershell-mac-where-objectGrid

Envía la salida interactiva en una ventana separada.

get-process-where-object-cpu-lt-5-out-gridview-powershell-windowsMeasure

Proporciona una manera de generar rápidamente estadísticas (contar, valores máximos promedio, suma, mínimos y medios) para un objeto.

get-process-measure-object-property-cpu-minimum-maximum-average-powershell-windows

Seguridad

El cmdlet Get-ExecutionPolicy le permite ver qué secuencias de comandos de Windows PowerShell se permite ejecutar en el equipo.

get-executionpolicy-windows-powershell

El cmdlet Set-ExecutionPolicy le permite cambiar qué secuencias de comandos de Windows PowerShell (si los hay) se permitirá ejecutar en el equipo.

Windows PowerShell tiene cuatro diferentes políticas de ejecución:

  • Restringido – Las secuencias de comandos no se pueden ejecutar. Windows PowerShell sólo se puede utilizar en modo interactivo.
  • AllSigned – Sólo guiones firmados por un editor de confianza se pueden ejecutar.
  • RemoteSigned – Los guiones descargados deben ser firmados por un editor de confianza antes de que se pueden ejecutar.
  • Unrestricted – No hay restricciones de libre disposición; todos los scripts de Windows PowerShell se pueden ejecutar.

set-executionpolicy-windows-powershell

Entorno de scripting integrado (ISE)

La versión ISE se llama powershell_ise.exe.

powershell_iseexe

Scripting

Windows Powershell tiene su propio lenguaje de scripting para crear secuencias de comandos.

Añadir los nombres de los procesos a una ArrayList y buscar un elemento