Saltar al contenido
Aback Tools Logo

Ofuscador de cadenas de PowerShell

Ofusque literales de cadena de PowerShell con 5 técnicas diferentes: Base64 + [System.Text.Encoding]::UTF8.GetString, matriz [char] + -join, matrices de bytes cifradas con XOR y descifrado -bxor, concatenación dividida con operador de formato (-f) y secuencias de escape con acento grave. Cada método genera código PowerShell válido que produce la cadena original en tiempo de ejecución. Compare todos los métodos lado a lado, filtre por técnica y copie el código generado: todo gratis, privado y sin registro.

PowerShell String Obfuscator

Obfuscate PowerShell string literals using 5 different techniques: Base64 + [System.Text.Encoding]::UTF8.GetString, [char] array + -join, XOR-encrypted byte arrays, format operator (-f) split concatenation, and backtick escape sequences. Each method generates valid PowerShell code that produces the original string at runtime. Compare all methods side by side or focus on one.

Examples:

Enter a PowerShell string above to obfuscate it using 5 different techniques. Choose from Base64 + Encoding.GetString, [char] array + -join, XOR encryption, format operator (-f) split, or backtick escape sequences. Click any example below the input to get started.

Características

  • 5 métodos de ofuscación: elija entre Base64 + Encoding.GetString, matriz [char] + -join, cifrado XOR, división con operador de formato (-f) y secuencias de escape con acento grave. Cada uno genera código PowerShell válido que produce la cadena original en tiempo de ejecución.
  • Comparación lado a lado: vea los 5 métodos simultáneamente para comparar el tamaño del código, la legibilidad y la fuerza de la ofuscación. Filtre para centrarse en un solo método cuando encuentre el que se ajuste a sus necesidades.
  • Análisis del impacto en el tamaño: cada método muestra el recuento de caracteres y el aumento de tamaño respecto a la cadena original, lo que ayuda a equilibrar la fuerza de la ofuscación y el tamaño del código. Se incluyen estadísticas medias de todos los métodos.
  • Ejemplos predefinidos: pruebe rápidamente con cadenas de PowerShell realistas: claves de API, cadenas de conexión, rutas de scripts y frases comunes. Vea al instante cómo transforma cada método distintos tipos de contenido.

¿Qué es la ofuscación de cadenas de PowerShell?

La ofuscación de cadenas de PowerShell transforma literales de cadena legibles en representaciones equivalentes que resultan difíciles de entender para las personas y para las herramientas de detección automatizadas. En lugar de escribir 'Hello' , puede usar [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('SGVsbG8=')) o ([char[]](72,101,108,108,111) -join '') . Ambos producen la misma cadena en tiempo de ejecución, pero son mucho más difíciles de detectar mediante análisis estático.

Cómo funciona la ofuscación

El Ofuscador de cadenas de PowerShell aplica cinco técnicas de transformación distintas. La codificación Base64 envuelve la cadena en Convert.FromBase64String(). Las matrices [char] representan cada carácter como un punto de código entero. El cifrado XOR aplica XOR a cada byte con una clave aleatoria. La división con operador de formato fragmenta la cadena en varios argumentos. Los escapes con acento grave convierten los caracteres especiales en secuencias `xNN. Cada técnica usa aleatorización para obtener una salida distinta en cada generación.

Relevancia en las pruebas de seguridad

PowerShell es una herramienta fundamental tanto para la administración de Windows como para operaciones adversarias. La ofuscación de cadenas se utiliza habitualmente en pruebas de penetración y ejercicios de red team para eludir AMSI (Anti-Malware Scan Interface), evadir la detección basada en firmas y evitar la exposición en texto plano en los registros de scripts. Comprender estas técnicas ayuda tanto a atacantes como a defensores a reconocer patrones de ofuscación comunes.

Privacidad y seguridad

Esta herramienta se ejecuta por completo en su navegador mediante JavaScript del lado del cliente. Sus cadenas de entrada y las salidas ofuscadas generadas nunca salen de su dispositivo. No hay llamadas a API, ni procesamiento del lado del servidor, ni almacenamiento de datos, ni seguimiento. El motor de ofuscación usa los métodos de cadena y número integrados de JavaScript para todas las transformaciones: todo es local y privado.

Preguntas frecuentes

La ofuscación de cadenas de PowerShell transforma literales de cadena legibles en scripts de PowerShell en representaciones equivalentes pero difíciles de leer. Por ejemplo, "Hello" puede convertirse en [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("SGVsbG8=")) o ([char[]](72,101,108,108,111) -join ''). Ambos producen la misma cadena en tiempo de ejecución, pero son mucho más difíciles de detectar mediante análisis estático.

La herramienta admite 5 métodos: Base64 + [System.Text.Encoding]::UTF8.GetString, matriz [char] + -join, matrices de bytes cifradas con XOR con descifrado en tiempo de ejecución mediante -bxor, concatenación dividida con operador de formato (-f) y secuencias de escape con acento grave (`xNN). Cada método genera código PowerShell válido que funciona en PowerShell 5.1 y PowerShell 7+.

El cifrado XOR y las matrices [char] ofrecen la ofuscación más fuerte porque la cadena original no se puede recuperar directamente sin ejecutar la transformación. La codificación Base64 es muy conocida y fácil de reconocer. La división con operador de formato añade la ventaja de fragmentar la cadena en varios argumentos, lo que dificulta la coincidencia de patrones.

La ofuscación de cadenas puede ayudar a eludir AMSI (Anti-Malware Scan Interface) al eliminar las firmas de texto plano de su código de PowerShell. Sin embargo, AMSI también analiza en tiempo de ejecución cuando la cadena se desofusca. Combinar la ofuscación de cadenas con otras técnicas de evasión ofrece una protección más sólida.

Sí. Todo el código generado es compatible con PowerShell 5.1 (Windows) y PowerShell 7+ (multiplataforma). Las clases [System.Convert] y [System.Text.Encoding] están disponibles desde PowerShell 1.0. El operador -bxor y el operador -join funcionan en todas las versiones modernas.

Por supuesto. El ofuscador de cadenas de PowerShell se ejecuta por completo en su navegador. Sus cadenas de entrada y la salida ofuscada nunca se envían a ningún servidor. Todo el procesamiento ocurre localmente en su dispositivo. No se requiere registro.

El método XOR convierte cada carácter en su valor de byte ASCII y luego aplica XOR a cada byte con una clave de un solo byte elegida aleatoriamente. La salida incluye tanto los valores de la matriz de bytes con XOR como la clave en forma de enteros. En tiempo de ejecución, PowerShell usa el operador -bxor para revertir el XOR de cada byte, convierte a [char] y los une.

Sí. La ofuscación de cadenas complementa marcos de ofuscación de PowerShell como Invoke-Obfuscation, Out-EncodedCommand e ISE Steroids. Aplique la ofuscación de cadenas a cadenas individuales y luego envuelva el script completo con codificación adicional para una protección de varias capas.

Sí: 100 % gratis, sin registro, sin cuenta y sin límites de uso. Los 5 métodos de ofuscación, la comparación lado a lado y la función de copia están disponibles sin restricciones.