
fireELF - Framework de Malware sin Archivos para Linux
fireELF es un framework de malware Linux sin archivos de código abierto que es multiplataforma y permite a los usuarios crear y gestionar payloads fácilmente. Por defecto viene con 'memfd_create', que es una nueva forma de ejecutar ejecutables ELF de Linux completamente desde la memoria, sin que el binario toque el disco duro.

El único payload incluido, 'memfd_create', está basado en la investigación de Stuart. Este payload crea un descriptor de archivo anónimo en memoria y luego usa fexecve para ejecutar el binario directamente desde el descriptor de archivo. Esto permite la ejecución completamente en memoria, lo que significa que si el sistema Linux se reinicia, el payload no se encontrará por ningún lado.
Por defecto, fireELF viene con 'memfd_create', pero los usuarios pueden desarrollar sus propios payloads. Por defecto, los payloads se almacenan en payloads/ y para crear un payload válido, simplemente necesita incluir un diccionario llamado 'desc' con los parámetros 'name', 'description', 'archs' y 'python_vers'. A continuación se muestra un ejemplo de diccionario desc:
desc = {"name" : "test payload", "description" : "new memory injection or fileless elf payload", "archs" : "all", "python_vers" : ">2.5"}
Además del diccionario 'desc', el punto de entrada que utiliza el motor de plugins que construí requiere una función main que automáticamente recibe dos parámetros: uno es un booleano que si es verdadero significa que se le está pasando una URL; el segundo parámetro que recibe son los datos. A continuación se muestra un ejemplo de un punto de entrada simple:
def main(is_url, url_or_payload):
return
Si tienes un método, ¡siéntete libre de enviar un payload!
Descarga las dependencias ejecutando:
pip3 -U -r dep.txt
fireELF está desarrollado en Python 3.x.x
usage: main.py [-h] [-s] [-p PAYLOAD_NAME] [-w PAYLOAD_FILENAME]
(-u PAYLOAD_URL | -e EXECUTABLE_PATH)
fireELF, Generador de Malware Linux sin Archivos
argumentos opcionales:
-h, --help muestra este mensaje de ayuda y sale
-s Suprimir banner
-p PAYLOAD_NAME Nombre del payload a usar
-w PAYLOAD_FILENAME Nombre del archivo donde escribir el payload (Altamente recomendado si no estás usando la opción de sitio de paste)
-u PAYLOAD_URL URL del payload a ejecutar
-e EXECUTABLE_PATH Ubicación del ejecutable