Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Free CollapseScanner - Простая реверс-инженерия jar файлов

  • Автор темы Автор темы Purpl3
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
15 Окт 2021
Сообщения
215
Реакции
26
CollapseScanner
CLI сканнер для .jar | .class файлов для детекта вредоносного кода, запросов, обфускации и т.д
есть поддержка Windows и Linux (x64)​

На данный момент программа может выявить:
  • Network - IPv4, IPv6, URL
  • Crypto - алгоритмы хеширования (AES, DES, RSA), хеш функции (MD5, SHA)
  • Malicious - выявление бэкдоров, эксплойтов и т.д
  • Obfuscation - распознает различные методы обфускации, такие как: длинные названия классов/методов, необычные символы (юникод), high entropy, custom jvm (когда мэджик байты в начале класса DE AD)

Полная инструкция использования в README репозитория проекта (весь исходный код открыт):
Пожалуйста, авторизуйтесь для просмотра ссылки.

Ссылки:

Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.


Пожалуйста, авторизуйтесь для просмотра ссылки.


remapper фиксит .class файлы которые файловая система распознает как папки, чтобы их можно было декомпилировать (сканнер поддерживает сканирование такого метода обфукскации)

например из класса в .jar: dest4590/test.class/, он будет делать dest4590/test.class
инструкции об использовании есть в github repo

ОпцияОписание
pathПуть к JAR-файлу, class-файлу или директории для сканирования
--modeРежим обнаружения: network (сетевой), crypto (крипто функции и т.д), malicious (вредоносный код), obfuscation (обфускация) или all (всё, по умолчанию)
--extractИзвлекает все ресурсы из JAR-файлов
--stringsИзвлекает все строки из class-файлов
--outputУказать выходную директорию (по умолчанию: ./extracted)
--jsonЭкспортировать результаты в формате JSON
-v, --verboseВключить подробный вывод (показывает размер/энтропию и т.д.)
--threadsКоличество потоков для параллельной обработки (0 = автоматически)
--fastБыстрый режим сканирования - останавливает сканирование после нахождения первого детекта
--max-findingsМаксимальное количество находок перед остановкой (по умолчанию: 50, 0 = без ограничений)
--excludeИсключить пути, соответствующие шаблону поиска (wildcard) (можно использовать несколько раз)
--findСканировать только пути, соответствующие шаблону поиска (wildcard) (можно использовать несколько раз)

--ignore_keywords_file
Путь к файлу .txt с словами, которые будет игнорировать (по одному на строку)
 
Последнее редактирование:
на гитхабе только что выпустил огромную обнову по оптимизации
теперь программа использует LRU кеш, и энтропия файлов теперь более оптимизирована (используется заранее просчитанная таблица логарифмов)

бенчмарк новой версии vs старой:

старая:
читанее файла занимает 8 секунд, а сканирование ~30-40

новая:
читанее файла занимает 8 секунд, а сканирование 10

релиз:
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
ток что выложил 0.2.2 версию
ссылка на релиз:
Пожалуйста, авторизуйтесь для просмотра ссылки.


изменения:
[+] теперь используется LRU кеш, буфер для сохранения временных данных (если запустить сканнер с -v то он в начале скажет всю инфу)
[~] полностью переписан скан классов, теперь он более быстрый
[~] аргументы -ignore_suspicious и --ignore_crypto изменены на --ignore_keywords
[~] изменено вычисление LOG2 и энтропии
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1747303190226.png


Ахуенно :seemsgood:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
CollapseScanner
CLI сканнер для .jar | .class файлов для детекта вредоносного кода, запросов, обфускации и т.д
есть поддержка Windows и Linux (x64)​

На данный момент программа может выявить:
  • Network - IPv4, IPv6, URL
  • Crypto - алгоритмы хеширования (AES, DES, RSA), хеш функции (MD5, SHA)
  • Malicious - выявление бэкдоров, эксплойтов и т.д
  • Obfuscation - распознает различные методы обфускации, такие как: длинные названия классов/методов, необычные символы (юникод), high entropy, custom jvm (когда мэджик байты в начале класса DE AD)

Полная инструкция использования в README репозитория проекта (весь исходный код открыт):
Пожалуйста, авторизуйтесь для просмотра ссылки.

Ссылки:

Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.


Пожалуйста, авторизуйтесь для просмотра ссылки.


remapper фиксит .class файлы которые файловая система распознает как папки, чтобы их можно было декомпилировать (сканнер поддерживает сканирование такого метода обфукскации)

например из класса в .jar: dest4590/test.class/, он будет делать dest4590/test.class
инструкции об использовании есть в github repo

ОпцияОписание
pathПуть к JAR-файлу, class-файлу или директории для сканирования
--modeРежим обнаружения: network (сетевой), crypto (крипто функции и т.д), malicious (вредоносный код), obfuscation (обфускация) или all (всё, по умолчанию)
--extractИзвлекает все ресурсы из JAR-файлов
--stringsИзвлекает все строки из class-файлов
--outputУказать выходную директорию (по умолчанию: ./extracted)
--jsonЭкспортировать результаты в формате JSON
-v, --verboseВключить подробный вывод (показывает размер/энтропию и т.д.)
--threadsКоличество потоков для параллельной обработки (0 = автоматически)
--fastБыстрый режим сканирования - останавливает сканирование после нахождения первого детекта
--max-findingsМаксимальное количество находок перед остановкой (по умолчанию: 50, 0 = без ограничений)
--excludeИсключить пути, соответствующие шаблону поиска (wildcard) (можно использовать несколько раз)
--findСканировать только пути, соответствующие шаблону поиска (wildcard) (можно использовать несколько раз)

--ignore_keywords_file
Путь к файлу .txt с словами, которые будет игнорировать (по одному на строку)
гит хаб пубертат
 
CollapseScanner 1.0.2

<< CHANGELOG >>

[+] Добавлено обнаружение кодированных данных (блоки данных Base64/hex с высокой энтропией).
[+] Добавлено обнаружение использования Java API с высоким уровнем риска (рефлексия, запуск процессов, инструментирование и т. д.).
[+] Добавлено обнаружение поддельных магических байтов классов (например, заголовки 0xDEAD).
[+] Добавлено обнаружение вложенных архивов (до глубины 2) и рекурсивное сканирование.
[+] Добавлена проверка встроенных двоичных полезных нагрузок (PE, ELF, Mach-O) в JAR-файлах.
[+] Добавлено обнаружение подозрительных записей в манифесте и скриптов в JAR-файлах.
[+] Добавлено обнаружение сильно сжатых ресурсов (подозрительные соотношения).
[~] Усовершенствована оценка опасности и генерация пояснений с учетом новых находок.
[~] Стандартизированы маркеры вывода CLI (замена эмодзи на символы типа `[!]`, `[+]`, `[*]`, `[-]`).
[~] Улучшена обработка ограничений на размер файлов и маркировка записей, превышающих размер.
[~] Оптимизировано использование памяти путем замены `ConstantPoolEntry::Utf8` на `Arc<str>`.
[~] Увеличен лимит сканирования строк с 100 до 2000.
[~] Стандартизирована нормализация результатов (сортировка/дедупликация).

пример поиска:
purpl3@laptop ~/IT/CollapseScanner (main)> cargo run RichClient.jar
Compiling collapsescanner v1.0.2 (/home/purpl3/IT/CollapseScanner)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.89s
Running `target/debug/collapsescanner RichClient.jar`

╔══════════════════════════════════════════════════════════════════════════════╗
║ CollapseScanner v1.0.2 ║
║ Advanced JAR/Class Analysis Tool ║
╚══════════════════════════════════════════════════════════════════════════════╝

[+] Target:
RichClient.jar

[*] Detection Mode:
All (Comprehensive analysis of all patterns)

>>> Initializing scan...
[*] [00:00:00] ████████████████████████████████████████ 906/906 (100%) Processing: Finished processing 906 files (151 skipped, 755 analyzed)
╔══════════════════════════════════════════════════════════════════════════════╗
║ SCAN SUMMARY ║
╚══════════════════════════════════════════════════════════════════════════════╝

[#] Total Findings: 9 | Files with Findings: 9 | Risk Level: LOW RISK (3/10)
[*] Scan Time: 0.93s | Total Files Scanned: 9 | Processing Rate: 9.7 files/sec

[?] Findings Breakdown:

⬢ Suspicious Java API [MEDIUM] (5)
[1] Native bridge or Unsafe API usage
[2] Process execution API usage
[3] Reflection-based access: Likely targeting "PIPELINE_ID"
[4] Reflection-based access: Likely targeting "REGISTRY_MAP"
[5] Reflection-based access: Likely targeting "baritoneChecked"

◇ URL [LOW] (1)
[1] vk.com/idwok

◌ Obfuscation (Unicode Name) [LOW] (1)
[1] Class Name 'rich/util/render/...' (1 non-ASCII chars)

[*] SEVERITY DISTRIBUTION

[0] Critical [0] High [7] Medium [2] Low
██████████████████████████████████████████████████

[*] FINDING STATISTICS

⬢ Suspicious Java API × 7
◇ URL × 1
◌ Obfuscation (Unicode Name) × 1

[*] DETAILED FILE ANALYSIS

📄 rich/command/impl/ConfigCommand.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Process execution API usage

📄 rich/events/api/EventManager.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Reflection-based access: Likely targeting "REGISTRY_MAP"

📄 rich/mixin/LivingEntityMixin.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Reflection-based access: Likely targeting "baritoneChecked"

📄 rich/util/config/ConfigSystem.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Process execution API usage

📄 rich/util/mods/config/wave/HeartbeatManager.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Process execution API usage

📄 rich/util/network/Network.class
Risk: LOW (1/10)
◇ URL (1)
[1] vk.com/idwok

📄 rich/util/render/pipeline/TexturePipeline.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Reflection-based access: Likely targeting "PIPELINE_ID"

📄 rich/util/render/сliemtpipeline/ClientPipelines.class
Risk: LOW (1/10)
◌ Obfuscation (Unicode Name) (1)
[1] Class Name 'rich/util/render/...' (1 non-ASCII chars)

📄 rich/util/window/WindowStyle$DwmApi.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Native bridge or Unsafe API usage


╔══════════════════════════════════════════════════════════════════════════════╗
║ INTERACTIVE EXPLORER MODE ║
╚══════════════════════════════════════════════════════════════════════════════╝
Type 'help' for a list of commands.

collapse ~> q
purpl3@laptop ~/IT/CollapseScanner (main)>
 
CollapseScanner 1.0.2

<< CHANGELOG >>

[+] Добавлено обнаружение кодированных данных (блоки данных Base64/hex с высокой энтропией).
[+] Добавлено обнаружение использования Java API с высоким уровнем риска (рефлексия, запуск процессов, инструментирование и т. д.).
[+] Добавлено обнаружение поддельных магических байтов классов (например, заголовки 0xDEAD).
[+] Добавлено обнаружение вложенных архивов (до глубины 2) и рекурсивное сканирование.
[+] Добавлена проверка встроенных двоичных полезных нагрузок (PE, ELF, Mach-O) в JAR-файлах.
[+] Добавлено обнаружение подозрительных записей в манифесте и скриптов в JAR-файлах.
[+] Добавлено обнаружение сильно сжатых ресурсов (подозрительные соотношения).
[~] Усовершенствована оценка опасности и генерация пояснений с учетом новых находок.
[~] Стандартизированы маркеры вывода CLI (замена эмодзи на символы типа `[!]`, `[+]`, `[*]`, `[-]`).
[~] Улучшена обработка ограничений на размер файлов и маркировка записей, превышающих размер.
[~] Оптимизировано использование памяти путем замены `ConstantPoolEntry::Utf8` на `Arc<str>`.
[~] Увеличен лимит сканирования строк с 100 до 2000.
[~] Стандартизирована нормализация результатов (сортировка/дедупликация).

пример поиска:
purpl3@laptop ~/IT/CollapseScanner (main)> cargo run RichClient.jar
Compiling collapsescanner v1.0.2 (/home/purpl3/IT/CollapseScanner)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.89s
Running `target/debug/collapsescanner RichClient.jar`

╔══════════════════════════════════════════════════════════════════════════════╗
║ CollapseScanner v1.0.2 ║
║ Advanced JAR/Class Analysis Tool ║
╚══════════════════════════════════════════════════════════════════════════════╝

[+] Target:
RichClient.jar

[*] Detection Mode:
All (Comprehensive analysis of all patterns)

>>> Initializing scan...
[*] [00:00:00] ████████████████████████████████████████ 906/906 (100%) Processing: Finished processing 906 files (151 skipped, 755 analyzed)
╔══════════════════════════════════════════════════════════════════════════════╗
║ SCAN SUMMARY ║
╚══════════════════════════════════════════════════════════════════════════════╝

[#] Total Findings: 9 | Files with Findings: 9 | Risk Level: LOW RISK (3/10)
[*] Scan Time: 0.93s | Total Files Scanned: 9 | Processing Rate: 9.7 files/sec

[?] Findings Breakdown:

⬢ Suspicious Java API [MEDIUM] (5)
[1] Native bridge or Unsafe API usage
[2] Process execution API usage
[3] Reflection-based access: Likely targeting "PIPELINE_ID"
[4] Reflection-based access: Likely targeting "REGISTRY_MAP"
[5] Reflection-based access: Likely targeting "baritoneChecked"

◇ URL [LOW] (1)
[1] vk.com/idwok

◌ Obfuscation (Unicode Name) [LOW] (1)
[1] Class Name 'rich/util/render/...' (1 non-ASCII chars)

[*] SEVERITY DISTRIBUTION

[0] Critical [0] High [7] Medium [2] Low
██████████████████████████████████████████████████

[*] FINDING STATISTICS

⬢ Suspicious Java API × 7
◇ URL × 1
◌ Obfuscation (Unicode Name) × 1

[*] DETAILED FILE ANALYSIS

📄 rich/command/impl/ConfigCommand.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Process execution API usage

📄 rich/events/api/EventManager.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Reflection-based access: Likely targeting "REGISTRY_MAP"

📄 rich/mixin/LivingEntityMixin.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Reflection-based access: Likely targeting "baritoneChecked"

📄 rich/util/config/ConfigSystem.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Process execution API usage

📄 rich/util/mods/config/wave/HeartbeatManager.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Process execution API usage

📄 rich/util/network/Network.class
Risk: LOW (1/10)
◇ URL (1)
[1] vk.com/idwok

📄 rich/util/render/pipeline/TexturePipeline.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Reflection-based access: Likely targeting "PIPELINE_ID"

📄 rich/util/render/сliemtpipeline/ClientPipelines.class
Risk: LOW (1/10)
◌ Obfuscation (Unicode Name) (1)
[1] Class Name 'rich/util/render/...' (1 non-ASCII chars)

📄 rich/util/window/WindowStyle$DwmApi.class
Risk: MEDIUM (3/10)
⬢ Suspicious Java API (1)
[1] Native bridge or Unsafe API usage


╔══════════════════════════════════════════════════════════════════════════════╗
║ INTERACTIVE EXPLORER MODE ║
╚══════════════════════════════════════════════════════════════════════════════╝
Type 'help' for a list of commands.

collapse ~> q
purpl3@laptop ~/IT/CollapseScanner (main)>
Это лучше, чем: ratterscanner, isthisarat, jarkachecker, jlabthreatrip ? (все noad)
 
Назад
Сверху Снизу