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

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

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

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

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

Категории

Все категории
Loading categories
ShellSweep — ShellSweeping зло. | Kitploit
Инструменты/GitHubGitHub/splunk/shellsweep
Статический анализСканеры уязвимостейВеб-безопасностьАнализ вредоносных программОбучение и ОбразованиеОбнаружение Аномалий
GitHubsplunk/shellsweep

ShellSweep

ShellSweeping зло.

Репозиторий
1842081 месяц назадПроверено Kitploit

Популярное

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

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

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

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

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

ShellSweep

Выметаем зловредные оболочки

Зачем нужен ShellSweep

«ShellSweep» — это инструмент на PowerShell/Python/Lua, предназначенный для обнаружения потенциальных веб-шеллов в указанном каталоге.

ShellSweep и его набор инструментов вычисляют энтропию содержимого файлов, чтобы оценить вероятность того, что файл является веб-шеллом. Высокая энтропия указывает на большую случайность, что характерно для зашифрованного или обфусцированного кода, часто встречающегося в веб-шеллах.

  • Обрабатываются только файлы с определёнными расширениями (.asp, .aspx, .asph, .php, .jsp), которые обычно используются в веб-шеллах.
  • Можно исключить определённые каталоги из сканирования.
  • Файлы с определёнными хешами можно игнорировать во время сканирования.

Как ShellSweep находит шеллы?

Энтропия в контексте теории информации или науки о данных — это мера непредсказуемости, случайности или беспорядка в наборе данных. Это понятие ввёл Клод Шеннон в своей статье 1948 года «Математическая теория связи».

Применительно к файлу или строке текста энтропия помогает оценить случайность данных. Вот как это работает: Если файл состоит из полностью случайных данных (каждый байт с одинаковой вероятностью может быть любым значением от 0 до 255), энтропия высокая, близкая к 8 (поскольку log2(256) = 8).

Если файл состоит из сильно структурированных данных (например, текстовый файл, где большинство байтов — ASCII-символы), энтропия ниже. В контексте поиска веб-шеллов или вредоносных файлов энтропия может быть полезным индикатором:

  • Многие обфусцированные скрипты или зашифрованные полезные нагрузки могут иметь высокую энтропию, потому что процесс обфускации или шифрования делает данные похожими на случайные.
  • Обычный текстовый файл или HTML-файл, как правило, будет иметь более низкую энтропию, поскольку читаемый человеком текст имеет шаблоны и структуру (определённые буквы встречаются чаще, слова обычно разделяются пробелами и т. д.). Таким образом, файл с необычно высокой энтропией может быть подозрительным и заслуживать дальнейшего исследования. Однако это не является абсолютным признаком вредоносности — существует множество легитимных причин, по которым файл может иметь высокую энтропию, и множество способов, которыми вредоносное ПО может избежать высокой энтропии. Это лишь один из инструментов в более крупном наборе для обнаружения потенциальных угроз.
Скачать инструмент

ShellSweep включает функцию Get-Entropy, которая вычисляет энтропию содержимого файла следующим образом:

  • Подсчитывает, как часто каждый символ встречается в файле.
  • Использует эти частоты для вычисления вероятности каждого символа.
  • Суммирует -p*log2(p) для каждого символа, где p — вероятность символа. Это формула энтропии в теории информации.

Зачем нужен ShellSweepX?

ShellSweepX выводит основную функциональность ShellSweep на новый уровень, предлагая несколько преимуществ по сравнению с традиционными решениями EDR (Endpoint Detection and Response):

  1. Специализированная направленность: В отличие от решений EDR, которые охватывают широкий спектр, ShellSweepX специально разработан для обнаружения веб-шеллов. Такая специализация позволяет более точно и эффективно выявлять именно эти угрозы.

  2. Низкое потребление ресурсов: ShellSweepX лёгкий и не требует постоянных фоновых процессов или системного мониторинга, в отличие от многих решений EDR. Это означает меньшее влияние на производительность системы.

  3. Настраиваемость и прозрачность: Открытый исходный код ShellSweepX обеспечивает полную прозрачность методов обнаружения. Вы можете легко настраивать и точно подстраивать параметры обнаружения под свою среду.

  4. Отсутствие зависимости от внешних сервисов: ShellSweepX работает локально, не полагаясь на облачный анализ или постоянные обновления, что гарантирует, что ваши конфиденциальные данные остаются под вашим контролем.

  5. Многоуровневое обнаружение: ShellSweepX использует различные методы обнаружения, включая анализ энтропии, сопоставление шаблонов и эвристический анализ, обеспечивая комплексный подход к обнаружению веб-шеллов.

  6. Детальная отчётность: ShellSweepX предоставляет подробную информацию о потенциальных угрозах, включая значения энтропии, методы обнаружения и оценки уверенности, что позволяет принимать более обоснованные решения.

  7. Кроссплатформенная совместимость: Благодаря версиям на PowerShell, Python и Lua ShellSweepX может быть развёрнут в различных средах.

Хотя ShellSweepX не является заменой полноценного решения EDR, он служит мощным специализированным инструментом в вашем арсенале безопасности, особенно в средах, где веб-шеллы представляют значительную угрозу.

Сравнение функций

Функция/АспектShellSweepShellSweepPlusShellSweepX
Обнаружение на основе базовых значенийИспользует жёстко заданные значения энтропии для конкретных расширений файловДинамическое обнаружение на основе базовых значений, вычисляющее энтропию на летуИспользует комбинацию обнаружения на основе энтропии и прогнозирования с помощью машинного обучения
Расширения файловОбрабатывает файлы с расширениями: .asp, .aspx, .asax, .jspx, .html, .ashxОбрабатывает файлы с расширениями: .asp, .ashx, .asax, .jspx, .html, .aspxНастраиваемые расширения файлов через API
Вычисление энтропииВычисляет энтропию содержимого файла для обнаружения потенциальных веб-шелловУлучшенное обнаружение на основе энтропии с перекрёстной проверкой по подозрительным ключевым словамРасширенное вычисление энтропии с анализом на основе блоков
Функция исключенияМожет исключать определённые каталоги из сканированияМожет исключать определённые каталоги из сканированияНастраиваемые исключения через API
Игнорирование хешейИгнорирует файлы с определёнными хешамиИгнорирует файлы с определёнными хешамиНастраиваемое игнорирование хешей через API
ВыводЕсли найдены потенциальные веб-шеллы, выводит имя файла, значение энтропии и хеш. В противном случае выводит «No evil identified today.»Если найдены потенциальные веб-шеллы, выводит имя файла, значение энтропии, хеш, дату последнего изменения, метод обнаружения и оценку уверенности в формате JSON. В противном случае выводит «No potential web shells detected.»Подробный вывод в формате JSON, включающий метаданные файла, энтропию, результаты прогнозирования и совпадения с YARA
Энтропия и стандартное отклонениеИспользует значения энтропииВычисляет среднее и стандартное отклонение значений энтропии для каждого расширения файлаВычисляет как энтропию, так и стандартное отклонение для расширенного анализа
Смешанный режим обнаруженияОтсутствуетИспользует комбинацию обнаружения на основе энтропии, обнаружения на основе стандартного отклонения и смешанного режима (использование стандартного отклонения с жёстко заданными порогами)Сочетает обнаружение на основе энтропии, прогнозирование с помощью машинного обучения и сопоставление с YARA-правилами
Статический анализ кодаОтсутствуетМеханизм обнаружения на основе шаблонов, анализирующий код статически для выявления и пометки известных вредоносных шаблоновИспользует YARA-правила для обнаружения на основе шаблонов

ShellScan

ShellScan обеспечивает возможность сканирования нескольких известных каталогов с вредоносными веб-шеллами и вывода среднего, медианного, минимального и максимального значений энтропии по расширениям файлов.

Передайте ShellScan.ps1 несколько каталогов с веб-шеллами любого размера. Я использовал:

  • https://github.com/tennc/web shell
  • https://github.com/BlackArch/web shells
  • https://github.com/tarwich/jackal/blob/master/libraries/

Это даст достойный обучающий набор для получения значений энтропии.

Пример вывода:

root@kitploit:~
Statistics for .aspx files:
Average entropy: 4.94212121048115
Minimum entropy: 1.29348709979974
Maximum entropy: 6.09830238020383
Median entropy: 4.85437969842084
Statistics for .asp files:
Average entropy: 5.51268104400858
Minimum entropy: 0.732406213077191
Maximum entropy: 7.69241278153711
Median entropy: 5.57351177724806

ShellCSV

Сначала давайте разберём использование ShellCSV и то, как он помогает определить энтропию «хороших» файлов на диске. Идея в том, что защитники могут запускать его на веб-серверах для сбора всех файлов и значений энтропии, чтобы лучше понять, какие пути и расширения наиболее распространены в их рабочей среде.

Пример вывода см. в ShellCSV.csv.

ShellSweep

Блог: Ghost in the Web Shell: Introducing ShellSweep

Сначала выберите версию: Python, PowerShell или Lua.

  • На основе результатов ShellScan или ShellCSV при необходимости измените значения энтропии.
  • При необходимости измените расширения файлов. Нет смысла искать ASPX в приложении, не использующем ASPX.
  • Измените пути. Я не рекомендую просто сканировать весь C:, это потребует много фильтрации.
  • При необходимости измените фильтры.
  • Запускайте!

Если вы дошли до этого места, то это этап, на котором вы итеративно настраиваете инструмент. Нашли новый шелл? Соберите энтропию и измените значения.

ShellSweepPlus

Блог: Introducing ShellSweepPlus: Open-Source Web Shell Detection

ShellSweepPlus — это продвинутый скрипт PowerShell, предназначенный для обнаружения и анализа потенциальных веб-шеллов в веб-средах. Он основан на основной функциональности ShellSweep, предлагая расширенные возможности и возможности обнаружения.

Ключевые особенности:

  1. Динамическое сканирование: Настраиваемые параметры сканирования, включая пути к каталогам, исключения и игнорирование хешей.
  2. Точные пороги энтропии: Использует сложную вложенную хеш-таблицу для индивидуальных порогов энтропии для различных расширений файлов.
  3. Многоуровневое обнаружение: Объединяет методы обнаружения на основе энтропии, стандартного отклонения, смешанного режима и эвристики с динамическими весами.
  4. Продвинутый статический анализ кода: Использует обширный список подозрительных шаблонов для углублённого обнаружения.
  5. Анализ энтропии: Вычисляет и анализирует энтропию содержимого файла для выявления потенциально обфусцированного или зашифрованного вредоносного содержимого.
  6. Детальное представление результатов: Выводит потенциальные угрозы в структурированном формате JSON для лёгкого разбора и анализа.
  7. Комплексное логирование: Включает подробное логирование для детального понимания операций скрипта.
  8. Эвристический анализ: Реализует обнаружение на основе эвристики для выявления аномалий и потенциальных веб-шеллов нулевого дня.

Использование:

  1. Укажите каталоги для сканирования в переменной $DirectoryPaths.
  2. Настройте $suspiciousPatterns по мере необходимости для вашей среды.
  3. Используйте $excludePaths, чтобы пропустить определённые каталоги.
  4. Используйте $ignoreHashes или $ignoreHashesFilePath, чтобы исключить известные безопасные файлы.
  5. Запустите скрипт в PowerShell версии 5.1 или новее.

Пример вывода:

root@kitploit:~
json
{
"TotalFilesScanned": 1000,
"Potential web shells": 5,
"ScanDuration": "00:05:30"
}

ShellSweepPlus предоставляет мощное и гибкое решение для обнаружения веб-шеллов, объединяя несколько методов анализа для повышения точности и выявления даже сложных угроз.

Вопросы

Не стесняйтесь открывать вопрос в Git или обращаться к Wiki.

Спасибо

Если вам понравился этот проект, обязательно поставьте ему звезду и поделитесь с семьёй и друзьями.

Эвристический анализОтсутствуетВводит функцию Perform-HeuristicAnalysis для обнаружения аномалий на основе эвристических правил, улучшая обнаружение веб-шеллов нулевого дняРеализует прогнозирование на основе машинного обучения для эвристического анализа
Детальное представление результатовОтсутствуетПредставляет потенциальные угрозы в структурированном формате JSON, включая путь к файлу, энтропию, стандартное отклонение, хеш, дату последнего изменения, метод обнаружения и оценку уверенностиПредоставляет исчерпывающие результаты, включающие все методы анализа в структурированном формате JSON
Комплексное логированиеОтсутствуетВключает команды Write-Verbose на протяжении всего скрипта для детального логирования и прозрачности операцийРеализует подробное логирование в компонентах агента и сервера
Оценка уверенностиОтсутствуетВычисляет оценку уверенности на основе метода обнаружения и корректирует её в зависимости от наличия подозрительных шаблоновИспользует уверенность прогноза машинного обучения и комбинирует её с другими методами обнаружения для комплексной оценки
Модульный дизайнОтсутствуетИспользует отдельные функции для различных задач (например, Process-File, Create-ResultObject, Adjust-ConfidenceScore), способствуя повторному использованию и поддерживаемости кодаВысоко модульный дизайн с отдельными компонентами для агента, сервера и функций анализа
Кроссплатформенная поддержкаТолько PowerShellТолько PowerShellПоддерживает реализации на PowerShell, Python и Bash
Интеграция с APIОтсутствуетОтсутствуетКомплексный API для настройки, отправки результатов и управления
Анализ на основе ИИОтсутствуетОтсутствуетВключает возможности триажа и анализа на основе ИИ
Управление YARA-правиламиОтсутствуетОтсутствуетПозволяет добавлять, обновлять и удалять YARA-правила через API
Веб-интерфейсОтсутствуетОтсутствуетПредоставляет веб-интерфейс для визуализации результатов и анализа