
fireELF - 파일리스 리눅스 악성코드 프레임워크
fireELF는 파일 없는 리눅스 악성코드 프레임워크로, 크로스플랫폼이며 사용자가 쉽게 페이로드를 생성하고 관리할 수 있습니다. 기본적으로 'memfd_create'가 포함되어 있으며, 이는 바이너리가 하드디스크에 닿지 않고 메모리에서 완전히 리눅스 ELF 실행 파일을 실행할 수 있는 새로운 방법입니다.

유일하게 포함된 페이로드 'memfd_create'는 Stuart의 연구를 기반으로 합니다. 이 페이로드는 메모리에 익명 파일 디스크립터를 생성하고, fexecve를 사용하여 파일 디스크립터에서 직접 바이너리를 실행합니다. 이를 통해 완전히 메모리 내에서 실행이 가능하므로, 리눅스 시스템이 재부팅되면 페이로드는 어디에서도 찾을 수 없게 됩니다.
기본적으로 fireELF는 'memfd_create'를 제공하지만 사용자가 자신만의 페이로드를 개발할 수 있습니다. 기본적으로 페이로드는 payloads/ 디렉토리에 저장되며, 유효한 페이로드를 생성하려면 간단히 'name', 'description', 'archs', 'python_vers' 파라미터를 가진 'desc'라는 딕셔너리를 포함시키면 됩니다. 아래는 desc 딕셔너리의 예시입니다:
desc = {"name" : "test payload", "description" : "new memory injection or fileless elf payload", "archs" : "all", "python_vers" : ">2.5"}
또한 'desc' 딕셔너리 외에도 제가 만든 플러그인 엔진의 진입점은 main 함수를 필요로 하며, 이 함수는 자동으로 두 개의 파라미터를 전달받습니다. 하나는 불리언 값으로, 참(true)이면 URL을 전달받는 것을 의미하고, 두 번째는 데이터를 전달받습니다. 간단한 진입점의 예는 아래와 같습니다:
def main(is_url, url_or_payload):
return
방법이 있다면 자유롭게 페이로드를 커밋해 주세요!
다음 명령어로 종속성을 다운로드하세요:
pip3 -U -r dep.txt
fireELF는 Python 3.x.x로 개발되었습니다.
usage: main.py [-h] [-s] [-p PAYLOAD_NAME] [-w PAYLOAD_FILENAME]
(-u PAYLOAD_URL | -e EXECUTABLE_PATH)
fireELF, Linux Fileless Malware Generator
optional arguments:
-h, --help show this help message and exit
-s Supress Banner
-p PAYLOAD_NAME Name of Payload to Use
-w PAYLOAD_FILENAME Name of File to Write Payload to (Highly Recommended if
You're not Using the Paste Site Option)
-u PAYLOAD_URL Url of Payload to be Executed
-e EXECUTABLE_PATH Location of Executable