Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
PowerShell-Obfuscation-Bible — Una colección de técnicas, ejemplos y un poco de teoría para ofuscar manualmente scripts de PowerShell para lograr la evasión de AV, compilada con fines educativos. El contenido de este repositorio es el resultado de una investigación personal, incluida la lectura de materiales en línea y la realización de intentos de prueba y error en laboratorios y pruebas de penetración. | Kitploit
Herramientas/GitHubGitHub/t3l3machus/powershell-obfuscation-bible
Evasión de IDS/IPSPruebas de PenetraciónAprendizaje y EducaciónRed TeamingRecursos CuradosDesarrollo de Payloads
GitHubt3l3machus/powershell-obfuscation-bible

PowerShell-Obfuscation-Bible

Ver Repositorio
1.2k13911hace 2 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 →

Acerca de

Una colección de técnicas, ejemplos y un poco de teoría para ofuscar manualmente scripts de PowerShell para lograr la evasión de AV, compilada con fines educativos. El contenido de este repositorio es el resultado de una investigación personal, incluida la lectura de materiales en línea y la realización de intentos de prueba y error en laboratorios y pruebas de penetración.

Compartir

Biblia de Ofuscación de PowerShell

Python License

Una colección de técnicas, ejemplos y un poco de teoría para ofuscar manualmente scripts de PowerShell y evadir la detección basada en firmas, recopilada con fines educativos. El contenido de este repositorio es el resultado de una investigación personal, que incluye lectura de materiales en línea y la realización de intentos de prueba y error en laboratorios y pruebas de penetración. No deberías dar nada por sentado.

Presentación en vídeo de YouTube: youtube.com/watch?v=tGFdmAh_lXE

⚠️ Aviso legal: El uso de las técnicas y conceptos descritos en este repositorio para obtener acceso no autorizado a sistemas que no tienes permiso de probar es ilegal. Eres responsable de tus acciones. No seas malvado.

Tabla de contenidos

  1. Entropía
  2. Identificar los desencadenantes de detección
  3. Renombrar objetos
  4. Ofuscar valores booleanos
  5. Interrupción con comillas en cmdlets
  6. Interrupción con intercalación (^) en cmdlets
  7. Técnica Get-Command
  8. Sustituir bucles
  9. Sustituir comandos
  10. Jugar con cadenas
  11. Añadir basura
  12. Añadir o eliminar comentarios
  13. Aleatorizar mayúsculas y minúsculas
  14. Reorganizar componentes del script
  15. Ejecutar el script línea por línea

Entropía

El término científico entropy, que generalmente se define como la medida de aleatoriedad o desorden de un sistema, es importante en la evasión de antivirus. Esto se debe a que el malware a menudo contiene código altamente aleatorizado, cifrado y/o codificado (ofuscado) para dificultar su análisis y, por tanto, su detección. Como uno de los diversos métodos, los productos antivirus utilizan el análisis de entropía para identificar archivos y payloads potencialmente maliciosos.

Es importante entender este concepto porque, al ofuscar código, debes tener en cuenta la variación de entropía que generan los cambios que decidas hacer. Romper firmas es fácil, pero si no prestas atención al nivel de entropía, los AV/EDR sofisticados lo verán.

Un principio a tener en cuenta: Cuanto mayor sea la entropía, más probable es que los datos estén ofuscados o cifrados, y más probable es que el archivo/payload sea malicioso. Afortunadamente, hay formas de reducirla.

Claude E. Shannon introdujo una fórmula en su artículo de 1948 A Mathematical Theory of Communication que puede utilizarse para medir la entropía de un conjunto de datos. Aquí tienes una implementación sencilla en Python de la Shannon Entropy que puedes usar para medir la entropía de los payloads que desarrolles:

#!/bin/python3
# Usage: python3 entropy.py <file>

import math, sys

def entropy(string):
    "Calculates the Shannon entropy of a UTF-8 encoded string"

    # decode the string as UTF-8
    unicode_string = string.decode('utf-8')

    # get probability of chars in string
    prob = [ float(unicode_string.count(c)) / len(unicode_string) for c in dict.fromkeys(list(unicode_string)) ]

    # calculate the entropy
    entropy = - sum([ p * math.log(p) / math.log(2.0) for p in prob ])

    return entropy


f = open(sys.argv[1], 'rb')
content = f.read()
f.close()

print(entropy(content))

También puedes usar esta calculadora de entropía de Shannon en línea o el Sigcheck.exe de Microsoft con la opción -a.

Identificar los desencadenantes de detección

Lo maduro y elegante antes de lanzarse a pruebas de ofuscación por ensayo y error para conseguir una variación de payload que no sea marcada, es identificar la(s) parte(s) de un script que desencadenan la detección de malware. Especialmente en scripts cortos como los comandos C2, puede que consigas hacer cambios insignificantes y pasar desapercibido al instante.

Una gran herramienta para identificar estos desencadenantes es AMSITrigger. Aquí tienes un ejemplo de uso con un archivo que contiene un script malicioso. La zona roja señala la parte sobre la que debería aplicarse la ofuscación:

imagen

También puedes identificar los desencadenantes manualmente ejecutando un script trozo a trozo.

Renombrar objetos

Al ofuscar scripts, debería ser una prioridad sustituir los nombres de variables/clases/funciones por otros aleatorios. De ese modo, en combinación con otras técnicas, podrás evadir la detección fácilmente. Pero debes tener en cuenta la entropía de los payloads que desarrolles. Ten en cuenta el siguiente script estándar de reverse shell que generalmente detectan la mayoría, por no decir todos, los AV:

imagen

Ahora considera la siguiente versión ofuscada:

imagen

En esta versión, todos los nombres de variables se han sustituido por nombres aleatorios de 32 caracteres. También he reemplazado (pwd).Path por $(gl). El payload tiene una Shannon entropy de 4.96. Al momento de escribir esto, no es detectado por MS Defender y un montón de otros productos:

imagen

Descargar herramienta