Ejecutar cmdlets en PowerShell leyendo desde un fichero utilizando SendKeys

ejecutar-cmdlets-en-powershell-leyendo-desde-un-fichero-utilizando-sendkeys

Windows processes

Formas de descargar y ejecutar ficheros desde un servidor en PowerShell

 

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.

Ejecutar un script con cmdlets codificados en Base64 sin cambiar la directiva de ejecución

 

Seguridad informática con PowerShell

Introducción

  • Confidencialidad

  • Integridad

  • Disponibilidad
  • Autenticación
  • No repudio

Seguridad física

  • Analizar el hardware de los equipos de la empresa

  • Ver dispositivos conectados (móviles, almacenamiento USB, etc.)


Seguridad lógica

  • Ver información sobre usuarios y grupos (usuario que ha iniciado sesión)

  • Crear usuarios y grupos (procedimiento de creación)

  • Analizar el software de los equipos de la empresa

  • Analizar los programas que están instalados en los equipos de la empresa y ver la relación que tienen con los procesos y servicios

  • Analizar los programas que están instalados en los equipos de la empresa y ver la relación que tienen con los procesos y servicios (también se pueden analizar hilos)

  • Ver las actualizaciones instaladas en el sistema

  • Procesos que se están ejecutando

  • Ruta de ejecución de los procesos

  • Procesos y usuarios

  • Procesos y conexiones de red

UDP

TCP

  • Servicios y conexiones de red

UDP

TCP


Antivirus

  • Analizar

  • Definiciones


Copias de seguridad

  • Realizar y restaurar copias de seguridad


Red

  • Escanear equipos

  • Monitorizar

  • Logs


Criptografía

  • Cifrar y descifrar

Cifrar

Descifrar


Forense

  • Analizar sistema de archivos (rutas, fechas, etc.)

  • Artefactos

  • Crear un fichero de volcado de memoria de un proceso


Pentesting

  • Fuerza bruta

Windows PowerShell aliases

 

Registry Hack to set Internet Explorer Start Page