Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Melkor_ELF_Fuzzer — Melkor는 ELF 파서에서 기능 및 보안 버그를 찾기 위한 매우 직관적이고 사용하기 쉬운 ELF 파일 형식 퍼저입니다. | Kitploit
도구/GitHubGitHub/ioactive/melkor_elf_fuzzer
Vulnerability AnalysisFuzzingBinary Analysis
GitHubioactive/melkor_elf_fuzzer

Melkor_ELF_Fuzzer

Melkor는 ELF 파서에서 기능 및 보안 버그를 찾기 위한 매우 직관적이고 사용하기 쉬운 ELF 파일 형식 퍼저입니다.

저장소 보기
154512년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

--------------------------------~ | -- 설명 -- | --------------------------------~

Melkor - ELF 파일 포맷 퍼저

멜코르(Melkor)는 J. R. R. 톨킨의 가운데땅(Middle-earth) 레젠다리움에 등장하는 가상의 인물로, 최초의 암흑군주이자 사우론(Sauron)의 주인이었습니다. 그는 《반지의 제왕》에서 잠깐 언급되며, 다음과 같이 알려져 있습니다:

root@kitploit:~
"... 멜코르는 발라르(Valar)가 그를 공격하기 전에 
여러 엘프를 사로잡아 고문하고 타락시켜 최초의 오크를 
만들어 냈습니다." (http://en.wikipedia.org/wiki/Morgoth)

"... 멜코르는 교활했고 그 어느 때보다 악의로 가득 차 
있었습니다. 엘프들의 행복을 보고, 자신이 몰락한 것이 
바로 그들 때문임을 기억하며, 멜코르는 무엇보다 그들을 
타락시키기를 갈망했습니다." (http://lotr.wikia.com/wiki/Melkor)

"오크... 이것은 멜코르가 타락시키고 고문하며 훼손한 
엘프들로부터 그들을 길러 낸 날부터 있어 온 일입니다. 그 
엘프들은 어둠의 세력의 지배 아래에서 다른 부자연스러운 
괴물들과 교배하도록 강요당했을 수도 있습니다." 
(http://lotr.wikia.com/wiki/Orcs)

그의 이름을 기리기 위해, 이 코드는 ELF 하나를 입력받아 손상시킨 뒤 원하는 만큼 많은 오크를 생성합니다.

Melkor는 하이브리드 퍼저(변이 기반 및 생성 기반)입니다. 주어진 ELF 샘플의 기존 데이터를 변이시켜 오크(비정상적인 ELF)를 생성하지만, 값을 무작위로 변경하는(블라인드 퍼징) 대신 퍼징 규칙(지식 베이스)을 사용하여 특정 메타데이터를 준유효(semi-valid)한 값으로 퍼징합니다. C로 작성된 Melkor는 ELF 파서에서 기능적(및 보안) 버그를 찾아내는 매우 직관적이고 사용하기 쉬운 퍼저입니다.

퍼징 규칙은 다음 입력 사항을 염두에 두고 설계되었습니다:

  • ELF 사양 위반
    • TIS ELF 사양 1.2 (1995년 5월)
    • ELF-64 객체 파일 포맷 1.5 (1998년 5월)
  • 기타 아이디어 및 고려 사항
  • ELF 소프트웨어의 파싱 패턴

자세한 퍼징 규칙과 기타 도식은 docs/ 디렉터리에서 확인할 수 있습니다.

--------------------------------~ | -- 요구 사항 -- | --------------------------------~

  • make
  • gcc

--------------------------------~ | -- 컴파일 및 사용법 -- | --------------------------------~

컴파일은 매우 간단합니다. 다음과 같이 입력하기만 하면 됩니다: $make

그러면 퍼저 자체인 'melkor' 파일과 함께 templates/ 폴더 안에 일반 ELF 실행 파일, 일부 공유 라이브러리, 정적 ELF(독립 실행 파일) 및 기타 파일들 등 여러 ELF 파일이 생성됩니다.

melkor를 실행하면 옵션 목록이 표시되며, 얼마나 직관적이고 사용하기 쉬운지 알 수 있습니다. 템플릿으로 사용할 ELF 파일의 이름만 지정하면 되며, templates/ 디렉터리 안에 있는 어떤 파일이라도 사용할 수 있습니다.

테스트하려는 소프트웨어의 종류에 따라 퍼징할 메타데이터를 선택해야 합니다. 예를 들어 OS 로더를 테스트하려면 프로그램 헤더 테이블(-P) 및/또는 동적 섹션(-D)만 퍼징하고 싶을 것입니다. 반면, 바이러스 백신 엔진이나 디버거를 테스트하려면 섹션 헤더 테이블과 ELF 헤더를 퍼징하고 싶을 수도 있습니다. 컴파일러 및/또는 링커를 테스트하기 위해 재배치 가능 파일(.o) 또는 공유 라이브러리(.so)의 심볼 테이블(-s) 및/또는 재배치 테이블(-R)을 퍼징할 수 있습니다. 문자열 테이블(-Z)도 퍼징할 수 있습니다. ELF를 얼마나 심하게 손상시킬지는 전적으로 여러분의 결정에 달렸습니다 }:-)

orcs_*/ 디렉터리 안에 오크들이 생성되면, 이제 test_fuzzed.sh의 도움으로 테스트할 차례입니다. 실행할 오크가 담긴 폴더 이름만 지정하면 되며(OS 로더 테스트), 추가 매개변수를 지정해 orcs 폴더 안의 모든 비정상적인 ELF를 대상으로 테스트할 프로그램(및 해당 매개변수)을 지정할 수도 있습니다. 이 스크립트에는 일부 환경 변수(역시 퍼징 규칙으로 정의됨)를 퍼징하는 옵션도 있습니다. 스크립트를 실행한 후 #dmesg로 로그를 확인하면 어떤 프로그램/라이브러리가 충돌했는지, 충돌이 어디서 발생했는지 식별하는 데 유용할 수 있습니다. 매개변수 없이 스크립트를 실행하면 몇 가지 예제가 표시됩니다.

Windows 환경에서 비정상적인 ELF(오크)를 자동으로 테스트하려면 *NIX용 스크립트와 거의 동일한 기능을 제공하는 배치 스크립트(win_test_fuzzed.bat)가 포함되어 있습니다.

즐거운 퍼징 되세요!

--------------------------------~ | -- 디렉터리 -- | --------------------------------~

  • docs/ 퍼징 규칙의 상세 목록과 ELF 메타데이터 종속성 목록 등 관련 문서를 포함합니다.

  • templates/ melkor와 함께 컴파일된 ELF 파일들이 있으며, melkor에 입력으로 사용할 수 있습니다: foo.c -> foo.o (ELF 객체)-> foo (ELF 실행 파일) foo.c -> foo_static (ELF 정적 실행 파일) libfoo.c -> libfoo.so (ELF 공유 객체) 그 외 몇 가지가 더 있습니다. 다른 ELF 템플릿이 어떤 것들인지 자세히 보려면 "$make templ"을 입력하세요.

  • orcs_*/ 퍼징 과정 이후 생성된 비정상적인 ELF 파일들 (주어진 템플릿 파일 기반)이 저장됩니다.

  • src/ Melkor 소스 코드입니다.

--------------------------------~ | -- 버그 -- | --------------------------------~

BUGS.txt를 읽어 주세요.

--------------------------------~ | -- 연락처 -- | --------------------------------~

이름: Alejandro Hernandez H. [nitr0us] 트위터: http://twitter.com/nitr0usmx 이메일: nitrousenador [at] gmail [dot] com 웹사이트: http://www.brainoverflow.org 블로그: http://chatsubo-labs.blogspot.com

--------------------------------~ | -- 추모 -- | --------------------------------~

이 프로젝트는 제 가장 친한 친구 중 한 명이었던 Aaron Alba를 추모하며 바칩니다.

--------------------------------~ | -- 라이선스 -- | --------------------------------~

Melkor - ELF 파일 포맷 퍼저 Copyright (C) 2014 Alejandro Hernandez H. (nitr0us)

이 프로그램은 자유 소프트웨어입니다: 자유 소프트웨어 재단(Free Software Foundation)이 공표한 GNU 일반 공중 사용 허가서(GNU General Public License) 제3판 또는 (선택에 따라) 이후 버전의 조건에 따라 이 프로그램을 재배포하거나 수정할 수 있습니다.

이 프로그램은 유용하게 쓰이리라는 희망으로 배포되지만, 어떠한 보증도 제공되지 않습니다. 상품성 또는 특정 목적 적합성에 대한 묵시적 보증조차 없습니다. 자세한 내용은 GNU 일반 공중 사용 허가서를 참조하십시오.

이 프로그램과 함께 GNU 일반 공중 사용 허가서 사본을 받았을 것입니다. 받지 못했다면, http://www.gnu.org/licenses/를 참조하십시오.

도구 다운로드