
Набор инструментов для анализа артефактов Windows, который сопоставляет обнаружения антивирусов со смещениями PE, секциями, RVA/VA и строками, с поддержкой YARA, AMSI, capa и многодвижкового сканирования, а также отчётов в форматах JSON/HTML.
Создано St0rn / CybersecurIT
Статический анализ PE, корреляция YARA, Windows AMSI, многодвижковое сканирование AV, сопоставление PDB/исходного кода, сужение границы обнаружения на основе префиксов, структурный анализ скриптов и формирование отчётов для форензики.
SigLens — это локальный набор инструментов для анализа безопасности Windows, созданный для триажа артефактов, диагностики сигнатур, исследования ложных срабатываний и рабочих процессов Red Team / detection engineering. Он сопоставляет результаты статического анализа и локально установленных движков безопасности с исходной структурой файла, не изменяя анализируемый артефакт.
Для бинарных артефактов SigLens может сканировать фиксированные области PE, а также выполнять сужение границы обнаружения AV на основе префиксов. Сначала сканируется полный файл, затем последовательно проверяются более короткие или более длинные префиксы, чтобы ограничить воспроизводимый переход CLEAN -> DETECTED. Полученная граница выводится на основе повторяющихся вердиктов движка; она не представляется как нативное смещение, возвращаемое AV-движком. Для скриптовых форматов SigLens использует другую модель: AMSI сканирует полный буфер файла, тогда как SigLens отдельно строит структурную карту функций и блоков скрипта, чтобы аналитик мог определить области, заслуживающие проверки.
Artifact
|
+-- hashes / entropy / strings / IOCs
+-- PE sections / resources / overlay
+-- YARA -> exact native match offsets
+-- offset -> section -> RVA -> VA
| +-- x64 .pdata function boundary
| `-- PDB symbol / source line
+-- Microsoft Defender / ClamAV / configurable AV CLIs
+-- AMSI full-buffer scan
+-- structural script analysis (PowerShell / JS / VBS / WSF / text)
+-- fixed PE-region scan
+-- prefix-based AV detection-boundary narrowing
`-- JSON / HTML reports
SigLens создан St0rn / CybersecurIT.
.\dist\SigLens.exe about
SigLens
Created by St0rn / CybersecurIT
Windows Artifact Analysis and Multi-Engine Scanner
Разрешить скрипты только в текущем процессе PowerShell:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Установить SigLens и зависимости для разработки:
.\scripts\Install.ps1 -Dev -AddToUserPath
Установщик:
.venv;siglens;-SkipAVInstall;Коммерческие продукты безопасности, требующие лицензии, не устанавливаются скрытно.
.\scripts\Build.ps1
Результат:
dist\SigLens.exe
Сборка также копирует engines.json и engines.example.json в dist\.
.\scripts\Test.ps1
.\dist\SigLens.exe scan C:\Samples\sample.exe
Полный статический анализ/анализ движками:
.\dist\SigLens.exe scan C:\Samples\sample.exe `
--yara .\rules `
--capa `
--iocs `
--dissect `
--amsi `
--engines .\dist\engines.json
scan — консолидированный анализ артефактовscan — основная команда оркестрации. В зависимости от выбранных опций она может собирать:
Пример:
.\dist\SigLens.exe scan C:\Samples\sample.exe `
--yara .\rules `
--symbol-path .\symbols `
--iocs `
--dissect
Отчёты записываются в reports\ в форматах JSON и HTML.
multi-scan — несколько локальных движков безопасности.\dist\SigLens.exe multi-scan C:\Samples\sample.exe --engines .\dist\engines.json
Адаптеры/шаблоны охватывают Microsoft Defender, ClamAV, ESET Endpoint Security, Sophos Endpoint / Intercept X, Avast Business, Malwarebytes Toolset и универсальные локальные сканеры командной строки.
Сканер может вернуть DETECTED, CLEAN, UNKNOWN, UNAVAILABLE или ERROR. Точные байтовые смещения отображаются только тогда, когда базовый движок предоставляет их нативно.
amsi-scan — AMSI по полному буферу.\dist\SigLens.exe amsi-scan C:\Samples\sample.ps1
SigLens передаёт полный буфер файла через Windows AmsiScanBuffer и отображает как нормализованный статус, так и необработанную информацию о результате AMSI:
AMSI_RESULT_CLEAN
AMSI_RESULT_NOT_DETECTED
AMSI_RESULT_BLOCKED_BY_ADMIN
AMSI_RESULT_DETECTED
amsi-scan не разделяет, не перезаписывает, не патчит и не обфусцирует содержимое.
script-analyze — AMSI + структурная диагностика скриптовДля PowerShell, JavaScript, VBScript, WSF и текстовых артефактов:
.\dist\SigLens.exe script-analyze C:\Samples\sample.ps1
Типичный вывод:
SigLens - AMSI Analysis
File : sample.ps1
Encoding : UTF-8
Size : 18432 bytes
AMSI : DETECTED
Structural regions
-------------------------------------------------------------
Lines 1-34 module/imports
Lines 36-81 function Invoke-Example
Lines 83-117 function Resolve-Target
Lines 119-143 main script block
Candidate context
Lines : 83-117
Byte offsets : 0x000018F0 - 0x000024A8
AST type : FunctionDefinitionAst
Classification : CANDIDATE_REGION
Как это работает:
Область-кандидат не утверждается как автономная сигнатура AMSI. Обнаружение может зависеть от контекста, нескольких фрагментов, типа содержимого, потребителя AMSI или связанного антивирусного провайдера.
Если AMSI обнаруживает полный буфер, но ни одну область нельзя уверенно атрибутировать, SigLens сообщает:
CONTEXT_DEPENDENT
Опции:
.\dist\SigLens.exe script-analyze sample.ps1 --context-lines 5
.\dist\SigLens.exe script-analyze sample.ps1 --max-file-size 20
.\dist\SigLens.exe script-analyze sample.ps1 --json
Распознаваемые расширения:
.ps1 .psm1 .psd1 .js .jse .vbs .vbe .wsf .txt
Определение кодировки:
narrow — сужение границы обнаружения AV на основе префиксов.\dist\SigLens.exe narrow C:\Samples\sample.exe --engines .\dist\engines.json