Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Empire — Empire es un agente de post-explotación en PowerShell y Python. | Kitploit
Herramientas/GitHubGitHub/empireproject/empire
Escalada de PrivilegiosGeneración de PayloadsMecanismos de PersistenciaExplotaciónMovimiento LateralPost-ExplotaciónPruebas de PenetraciónComando y ControlRed TeamingArchived
GitHubempireproject/empire

Empire

7.9k2.9k2hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Empire es un agente de post-explotación en PowerShell y Python.

Ver RepositorioSitio web

Invoke-Obfuscation v1.8

Invoke-Obfuscation Screenshot

Introducción

Invoke-Obfuscation es un ofuscador de comandos y scripts de PowerShell compatible con PowerShell v2.0+.

Antecedentes

En el otoño de 2015 decidí comenzar a investigar la flexibilidad del lenguaje de PowerShell y empecé a catalogar las diversas formas de llevar a cabo un puñado de técnicas comunes que la mayoría de los atacantes utilizan de forma regular.

Inicialmente centrándome en sintaxis de comandos codificados y descargas remotas (cradles), descubrí que varios caracteres de escape que no obstaculizaban la ejecución del comando persistían en los argumentos de la línea de comandos, tanto en el proceso en ejecución como en lo que se registra en los registros de eventos de Security EID 4688 y Sysmon EID 1.

Esto me llevó a explorar sistemáticamente formas de ofuscar cada tipo de "token" encontrado en cualquier comando o script de PowerShell.

Luego exploré formas más oscuras de realizar ofuscación a nivel de cadenas, varias técnicas de codificación/cifrado (como ASCII/hex/octal/binary e incluso SecureString), y finalmente técnicas de lanzamiento de PowerShell para abstraer los argumentos de la línea de comandos de powershell.exe y empujarlos de vuelta al proceso padre e incluso al abuelo.

Propósito

Los atacantes y el malware comercial han comenzado a usar técnicas de ofuscación extremadamente básicas para ocultar la mayor parte del comando de los argumentos de la línea de comandos de powershell.exe. Desarrollé esta herramienta para ayudar al Equipo Azul a simular comandos ofuscados basados en lo que actualmente sé que es sintácticamente posible en PowerShell 2.0-5.0, para que puedan probar sus capacidades de detección de estas técnicas.

El único propósito de la herramienta es romper cualquier suposición que nosotros como defensores podamos tener sobre cómo los comandos de PowerShell pueden aparecer en la línea de comandos. Mi esperanza es que aliente al Equipo Azul a cambiar a buscar Indicadores de Ofuscación en la línea de comandos, además de actualizar el registro de PowerShell para incluir el registro de Módulos, ScriptBlock y Transcripción, ya que estas fuentes simplifican la mayoría de los aspectos de las técnicas de ofuscación generadas por esta herramienta.

Uso

Si bien todas las capas de ofuscación se han construido en scripts separados, la mayoría de los usuarios encontrarán que la función Invoke-Obfuscation es la forma más fácil de explorar y visualizar las técnicas de ofuscación que este marco admite actualmente.

Instalación

El código fuente de Invoke-Obfuscation está alojado en Github, y puede descargarlo, bifurcarlo (fork) y revisarlo desde este repositorio (https://github.com/danielbohannon/Invoke-Obfuscation). Informe problemas o solicitudes de funciones a través del rastreador de errores de Github asociado con este proyecto.

Para instalar:

root@kitploit:~
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation

Licencia

Invoke-Obfuscation se publica bajo la licencia Apache 2.0.

Notas de la versión

v1.0 - 2016-09-25 DerbyCon 6.0 (Louisville, Kentucky, EE. UU.): Lanzamiento PÚBLICO de Invoke-Obfuscation.

v1.1 - 2016-10-09 SANS DFIR Summit (Praga, República Checa): Se agregó funcionalidad de reordenación del operador -f a todas las funciones de ofuscación TOKEN aplicables. También se agregaron opciones de sintaxis adicionales para establecer valores de variables.

v1.2 - 2016-10-20 CODE BLUE (Tokio, Japón): Se agregó ofuscación de TOKEN Tipo (casting directo de tipo con opciones de ofuscación de cadena para el nombre del tipo).

v1.3 - 2016-10-22 Hacktivity (Budapest, Hungría): Se agregaron dos nuevos LAUNCHERs: CLIP+ y CLIP++. También se agregó una sintaxis de conversión de caracteres de matriz adicional (y más simple) para todas las funciones ENCODING que no requiere For-EachObject/%.

v1.4 - 2016-10-28 BruCON (Gante, Bélgica): Se agregó una nueva función ENCODING BXOR. También se mejoró la aleatorización de mayúsculas/minúsculas para todos los componentes de todas las funciones ENCODING, así como para las banderas de ejecución de PowerShell para todos los LAUNCHERs. Finalmente, se agregó la opción abreviada -EP para -ExecutionPolicy a todos los LAUNCHERs, así como la representación entera opcional del flag de ejecución de PowerShell -WindowStyle: Normal (0), Oculto (1), Minimizado (2), Maximizado (3).

v1.5 - 2016-11-04 Blue Hat (Redmond, Washington, EE. UU.): Se agregó el LAUNCHER WMIC con cierta aleatorización de los argumentos de la línea de comandos de WMIC.

v1.6 - 2017-01-24 Blue Hat IL (Tel Aviv, Israel):

  • Se agregó funcionalidad de CLI: P.ej., Invoke-Obfuscation -ScriptBlock {Write-Host 'CLI FTW!'} -Command 'Token\All\1, Encoding\1,Launcher\Stdin++\234,Clip' -Quiet -NoExit
  • Se agregó funcionalidad UNDO para eliminar una capa de ofuscación a la vez.
  • Se eliminó la ofuscación de espacios en blanco de Token\All\1 para acelerar la ofuscación de scripts grandes.
  • Se agregó salida de Árbol de Argumentos de Proceso para todos los lanzadores para ayudar a los defensores.
  • Se agregó funcionalidad de detección automática del menú base para evitar la necesidad de usar BACK o HOME: P.ej., si ejecutó TOKEN luego ALL luego 1, simplemente escriba LAUNCHER y llegará al menú LAUNCHER sin necesidad de escribir HOME o BACK para volver al menú principal.
  • Se agregó sintaxis de múltiples comandos utilizada por CLI y modo interactivo: P.ej., Token\All\1,String\3,Encoding\5,Launcher\Ps\234,Clip
  • Se agregó capacidad de regex a todos los comandos de menú y ofuscación: P.ej., Token**,String[13],Encoding(1|6),Launcher.*[+]{2}\234,Clip
  • Se agregó funcionalidad de un solo comando OUT FILEPATH.
  • Se agregó decodificación si se ingresa la sintaxis powershell -enc como un valor SCRIPTBLOCK.
  • Se agregó el alias ForEach a las opciones de sintaxis aleatorizada ForEach-Object/% en todas las funciones ENCODING.
  • Se agregaron opciones de sintaxis de subcadena -Key -Ke -K KEY a Out-SecureStringCommand.ps1.
  • Se agregó aleatorización más exhaustiva de mayúsculas/minúsculas a todas las funciones de ofuscación \Home\String.
  • Se agregaron banderas -ST/-STA (Single-Threaded Apartment) a las funciones de lanzador CLIP+ y CLIP++ ya que son necesarias si se ejecuta en PowerShell 2.0.
  • Se agregó sintaxis Get-Item/GI/Item en todos los lugares donde se usa Get-ChildItem para obtener valores de variables.
  • Se agregó sintaxis de instanciación de variable Set-Item a la función de ofuscación TYPE.
  • Se agregó sintaxis adicional de Invoke-Expression/IEX utilizando variables automáticas de PowerShell y concatenaciones de valores de variables de entorno en la función Out-EncapsulatedInvokeExpression de Out-ObfuscatedStringCommand.ps1 y se copió a todos los lanzadores, funciones STRING y ENCODING para agregar numerosas sintaxis de línea de comandos para IEX.
  • Se agregaron dos nuevas sintaxis JOIN para String\Reverse y todas las opciones de ofuscación ENCODING:
  1. Se agregó sintaxis JOIN [String]::Join('',$string)
  2. Se agregó sintaxis JOIN de variable OFS (Output Field Separator - variable automática)
  • Se agregaron dos sintaxis SecureString adicionales a Encoding\5:
  1. PtrToStringAnsi / SecureStringToGlobalAllocAnsi
  2. PtrToStringBSTR / SecureStringToBSTR
  • Se agregaron seis sintaxis alternativas de GetMember para varios miembros de SecureString:
  1. PtrToStringAuto, ([Runtime.InteropServices.Marshal].GetMembers()[3].Name).Invoke
  2. PtrToStringAuto, ([Runtime.InteropServices.Marshal].GetMembers()[5].Name).Invoke
  3. PtrToStringUni , ([Runtime.InteropServices.Marshal].GetMembers()[2].Name).Invoke
  4. PtrToStringUni , ([Runtime.InteropServices.Marshal].GetMembers()[4].Name).Invoke
  5. PtrToStringAnsi, ([Runtime.InteropServices.Marshal].GetMembers()[0].Name).Invoke
  6. PtrToStringAnsi, ([Runtime.InteropServices.Marshal].GetMembers()[1].Name).Invoke
  • Se actualizó Out-ObfuscatedTokenCommand.ps1 para que la ofuscación VARIABLE no encapsule variables en ${} si ya están encapsuladas (así ${${var}} no ocurrirá ya que esto causa errores).
  • Se reemplazó Invoke-Obfuscation.psm1 con Invoke-Obfuscation.psd1 (gracias @Carlos_Perez).
  • Se corrigieron varios errores de ofuscación a nivel TOKEN reportados por @cobbr_io y @IISResetMe.

v1.7 - 2017-03-03 nullcon (Goa, India):

  • Se agregaron 3 nuevos LAUNCHERs: RUNDLL, RUNDLL++ y MSHTA++
  • Se agregaron cadenas de variables comodín adicionales de ExecutionContext

v1.8 - 2017-07-27 Black Hat (Las Vegas, Nevada, EE. UU.):

  • Se agregaron 2 nuevas opciones ENCODING: Caracteres Especiales y Espacios en Blanco
Descargar herramienta