Tutoriales

Herramientas que manipulan varios aspectos de un ejecutable compilado (.Exe o DLL) para evitar la detección de EDR

Munger es una herramienta para manipular varios aspectos de un ejecutable compilado (.exe o DLL). Mangle puede eliminar cadenas conocidas basadas en IoC y reemplazarlas con caracteres aleatorios, alterar archivos para evitar EDR aumentando su tamaño y puede clonar certificados de firma de código de archivos legítimos. Al hacerlo, Mangle ayuda al cargador a eludir los escáneres de disco y memoria.

contribuir

Mangle se desarrolla en Golang.

Instalar

Como siempre, el primer paso es clonar el repositorio. Antes de compilar Mangle, debe instalar las dependencias. Para instalarlos, ejecute los siguientes comandos:

go get github.com/Binject/debug/pe

entonces constrúyelo

go build Mangle.go

importante

Si bien Mangle está escrito en Golang, muchas funciones están diseñadas para funcionar con ejecutables en otros idiomas. En el momento del lanzamiento, la única característica específica de Golang es la parte de manipulación de cadenas.

uso

./mangle -h

	   _____                        .__
	  /     \ _____    ____    ____ |  |   ____
	 /  \ /  \\__  \  /    \  / ___\|  | _/ __ \
	/    Y    \/ __ \|   |  \/ /_/  >  |_\  ___/
	\____|__  (____  /___|  /\___  /|____/\___  >
		\/     \/     \//_____/   	  \/
					(@Tyl0us)
Usage of ./Mangle:
  -C string
        Path to the file containing the certificate you want to clone
  -I string
        Path to the orginal file
  -M    Edit the PE file to strip out Go indicators
  -O string
        The new file name
  -S int
        How many MBs to increase the file by

cuerda

Mangle toma el ejecutable de entrada y busca cadenas conocidas que los productos de seguridad buscan o advierten. Estas cadenas por sí solas no son los únicos puntos de detección. A menudo, estas cadenas se usan junto con otros puntos de datos y fragmentos de telemetría para detección y prevención. Mangle encuentra estas cadenas conocidas y reemplaza los valores hexadecimales con valores aleatorios para eliminarlos. Importante: Mangle reemplaza el tamaño exacto de la cadena que está manipulando. No agrega más o menos, ya que eso crearía desalineación e inestabilidad en el archivo. Usos de Mangle -M opciones de la línea de comandos.

Actualmente, Mangle solo maneja archivos Golang, pero se agregarán otros idiomas con el tiempo. Si sabe algún otro idioma, abra el ticket y envíelo.

delantero

espalda

hinchar

Casi todos los EDR no pueden escanear discos o archivos de memoria de un cierto tamaño al mismo tiempo. Esto se debe simplemente a que los archivos grandes tardan más en verse, escanearse o monitorearse. EDR no quiere afectar el rendimiento al reducir la productividad del usuario. Mangle infla los archivos creando un relleno de bytes nulos (cero) al final del archivo. Esto asegura que nada dentro del archivo se vea afectado.Para aumentar el ejecutable, utilice -S Opciones de línea de comando y el número de bytes para agregar al archivo. Las cargas útiles grandes ya no son una cuestión de qué tan rápido es Internet, es decir, no se recomienda crear archivos de 2 gigas.

Según los casos de prueba en una gran cantidad de EDR de kernel y espacio de usuario, se recomienda aumentar el tamaño entre 95 y 100 megabytes. Dado que el proveedor no verifica si hay archivos grandes, esta actividad pasa desapercibida, lo que da como resultado una ejecución exitosa del shellcode.

ejemplo:

Certificado

Mangle también incluye la capacidad de obtener la cadena completa y todos los atributos de un certificado de firma de código legítimo de un archivo y copiarlo en otro archivo. Esto incluye fechas de firma, contrafirmas y otros atributos medibles.

Si bien esta característica puede sonar similar a otra herramienta que he desarrollado, destacar, la principal diferencia entre los dos es que Limelighter crea un certificado falso basado en el dominio y lo firma con la fecha y hora actuales, en lugar de usar una propiedad válida que obtiene la marca de tiempo del archivo original.Esta opción se puede copiar usando un archivo DLL o .exe usando -C Opciones de la línea de comandos y la ruta al archivo desde el que copiar el certificado.

LEER  Una pequeña caja de herramientas para jugar con Microsoft Kerberos en C

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba