Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Melkor_ELF_Fuzzer — Melkor — это очень интуитивно понятный и простой в использовании фаззер формата ELF, предназначенный для поиска функциональных ошибок и уязвимостей безопасности в парсерах ELF. | Kitploit
Инструменты/GitHubGitHub/ioactive/melkor_elf_fuzzer
Анализ уязвимостейФаззингАнализ Бинарных Файлов
GitHubioactive/melkor_elf_fuzzer

Melkor_ELF_Fuzzer

Melkor — это очень интуитивно понятный и простой в использовании фаззер формата ELF, предназначенный для поиска функциональных ошибок и уязвимостей безопасности в парсерах ELF.

Репозиторий
154512 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

--------------------------------~ | -- ОПИСАНИЕ -- | --------------------------------~

Melkor — фаззер формата файлов ELF

Мелкор, вымышленный персонаж легендариума Средиземья Дж. Р. Р. Толкина, был первым Тёмным Властелином и повелителем Саурона. Он кратко упоминается во «Властелине Колец» и известен тем, что:

«... Мелкор захватил несколько ЭЛЬФОВ до того, как Валар напали на него, и он пытал и развращал их, выведя первых Орков.» (http://en.wikipedia.org/wiki/Morgoth)

«... Мелкор был хитёр и преисполнен злобы сильнее, чем когда-либо. Видя блаженство ЭЛЬФОВ и помня, что из-за них он был низвергнут, Мелкор превыше всего желал развратить их.» (http://lotr.wikia.com/wiki/Melkor)

«Орки... Так было с самого дня, когда они были выведены Мелкором из развращённых, замученных и искалеченных ЭЛЬФОВ, которых, возможно, также принуждали к спариванию с другими противоестественными мерзостями во владениях Тёмных Сил.» (http://lotr.wikia.com/wiki/Orcs)

В честь его имени этот код берёт ELF-файл, искажает его и создаёт столько Орков, сколько вы пожелаете.

Melkor — гибридный фаззер (мутационный и генерационный). Он мутирует существующие данные в предоставленном образце ELF, создавая орков (повреждённые ELF-файлы), однако не изменяет значения случайным образом (слепой фаззинг), а вместо этого фаззит определённые метаданные полувалидными значениями с помощью правил фаззинга (базы знаний). Написанный на C, Melkor — очень интуитивный и простой в использовании фаззер для поиска функциональных (и связанных с безопасностью) ошибок в парсерах ELF.

Правила фаззинга были разработаны с учётом следующих источников:

  • Нарушения спецификации ELF
    • TIS ELF Specification 1.2 (май 1995)
    • ELF-64 Object File Format 1.5 (май 1998)
  • Прочие идеи и соображения
  • Шаблоны разбора в ПО, работающем с ELF

Детальные правила фаззинга и некоторые другие схемы вы найдёте в каталоге docs/.

--------------------------------~ | -- ТРЕБОВАНИЯ -- | --------------------------------~

  • make
  • gcc

--------------------------------~ | -- КОМПИЛЯЦИЯ И ИСПОЛЬЗОВАНИЕ -- | --------------------------------~

Компиляция очень проста, просто введите: $make

Будет создан файл 'melkor' — сам фаззер, а также некоторые другие ELF-файлы в папке templates/, включая обычные ELF-файлы: обычный исполняемый файл ELF, несколько общих библиотек, статический ELF (автономный исполняемый файл) и некоторые другие.

При запуске melkor будет показан список опций, и вы поймёте, что он очень интуитивен и прост в использовании. Вам нужно лишь указать имя ELF-файла, который будет использоваться в качестве шаблона; это может быть любой из файлов в каталоге templates/.

В зависимости от того, какое ПО вы хотите тестировать, вам нужно выбрать, какие метаданные фаззить. Например, если вы хотите протестировать загрузчик ОС, вероятно, вам стоит фаззить только таблицу программных заголовков (-P) и/или динамический раздел (-D). С другой стороны, возможно, вы захотите фаззить таблицу заголовков секций и ELF-заголовок для тестирования антивирусного движка или отладчика. Фаззинг таблиц символов (-s) и/или таблиц перемещений (-R) в перемещаемых файлах (.o) или общих библиотеках (.so) — для тестирования компиляторов и/или компоновщиков. Таблицы строк также можно фаззить (-Z). Решать, насколько сильно вы хотите исказить ELF, только вам }:-)

Как только орки созданы в каталоге orcs_*/, наступает время протестировать их с помощью test_fuzzed.sh, где вы можете просто указать имя папки с орками для запуска (тестирование загрузчика ОС) или добавить дополнительный параметр, чтобы указать, какую программу (и её параметры) вы хотите протестировать на каждом повреждённом ELF-файле в папке с орками. Этот скрипт имеет опцию фаззинга некоторых переменных окружения (также определённых как правила фаззинга). Просмотр логов с помощью #dmesg после запуска скрипта может быть полезен для определения того, какая программа/библиотека упала и где произошло падение. Некоторые примеры показаны при запуске скрипта без параметров.

Если вы хотите автоматически тестировать повреждённые ELF-файлы (орков) в среде Windows, включён пакетный скрипт (win_test_fuzzed.bat) с почти той же функциональностью, что и скрипт для *NIX.

Счастливого фаззинга!

--------------------------------~ | -- КАТАЛОГИ -- | --------------------------------~

  • docs/ Содержит связанную документацию, такую как подробный список правил фаззинга, а также список зависимостей метаданных ELF.

  • templates/ Содержит некоторые ELF-файлы, скомпилированные одновременно с melkor; их можно использовать для «скармливания» melkor: foo.c -> foo.o (объектный файл ELF) -> foo (исполняемый файл ELF) foo.c -> foo_static (статический исполняемый файл ELF) libfoo.c -> libfoo.so (разделяемый объектный файл ELF) и некоторые другие. Введите «$make templ», чтобы подробно посмотреть, какие ещё ELF-шаблоны создаются.

  • orcs_*/ Будет содержать повреждённые ELF-файлы (на основе указанного файла шаблона), созданные в процессе фаззинга.

  • src/ Исходный код Melkor.

--------------------------------~ | -- ОШИБКИ -- | --------------------------------~

Пожалуйста, прочтите BUGS.txt

--------------------------------~ | -- КОНТАКТЫ -- | --------------------------------~

Имя: Alejandro Hernandez H. [nitr0us] Twitter: http://twitter.com/nitr0usmx Email: nitrousenador [at] gmail [dot] com Website: http://www.brainoverflow.org Blog: http://chatsubo-labs.blogspot.com

--------------------------------~ | -- В ПАМЯТЬ -- | --------------------------------~

Этот проект посвящён памяти одного из моих лучших друзей, Аарона Альбы.

--------------------------------~ | -- ЛИЦЕНЗИЯ -- | --------------------------------~

Melkor — фаззер формата файлов ELF Copyright (C) 2014 Alejandro Hernandez H. (nitr0us)

Эта программа является свободным программным обеспечением: вы можете распространять её и/или изменять её на условиях Стандартной общественной лицензии GNU в том виде, в каком она опубликована Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.

Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. Подробнее см. Стандартную общественную лицензию GNU.

Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если вы её не получили, см. http://www.gnu.org/licenses/.

Скачать инструмент