
Windowsアーティファクト分析ツールキット。AV検出をPEオフセット、セクション、RVA/VA、文字列にマッピングし、YARA、AMSI、capa、マルチエンジンスキャンおよびJSON/HTMLレポートを提供します。
Created by St0rn / CybersecurIT
静的PE分析、YARA相関、Windows AMSI、マルチエンジンAVスキャン、PDB/ソースマッピング、プレフィックスベースの検出境界絞り込み、構造的スクリプト分析、フォレンジックレポート。
SigLensは、アーティファクトのトリアージ、シグネチャ診断、誤検知調査、レッドチーム/検出エンジニアリングのワークフロー向けに構築されたローカルWindowsセキュリティ分析ツールキットです。静的分析およびローカルにインストールされたセキュリティエンジンからの検出結果を、分析対象のアーティファクトを変更することなく元のファイルレイアウトに相関付けます。
バイナリアーティファクトの場合、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が指定されていない限り、ポータブルClamAVエンジンをインストール/更新する;ライセンスが必要な商用セキュリティ製品はサイレントインストールされません。
.\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
narrowはまず設定されたAVエンジンで完全なファイルをスキャンします。ファイルが検出された場合、SigLensは異なる長さのプレフィックスをテストして、再現可能なCLEAN -> DETECTEDの遷移を特定するプレフィックスベースの絞り込みを実行します。
典型的なトレース:
Prefix end Status
0x0230B000 DETECTED
0x01185800 CLEAN
0x01A47C00 DETECTED
0x015E6A00 CLEAN
...
最終候補は以下を報告します:
CLEANプレフィックス境界;DETECTEDプレフィックス境界;報告される境界はプレフィックススキャンによって推測されたものです。Microsoft Defenderまたは他のAVエンジンが提供するネイティブバイトオフセットであるとは主張されません。エンジンがネイティブオフセットを公開している場合、SigLensはその値を別途保持し、そのソースを識別します。
表示コンテキストはアナリストの検査専用であり、エンジン判定自体とは別のものです。
component-scan - PEセクションとオーバーレイ.\dist\SigLens.exe component-scan C:\Samples\sample.exe --engines .\dist\engines.json
元のファイルオフセットとRVAを保持しながら、固定PE構造領域をスキャンします。
dissect - PE構造.\dist\SigLens.exe dissect C:\Samples\sample.exe
セクション、生オフセット、RVA、サイズ、エントロピー、ハッシュ、リソース、オーバーレイメタデータを報告します。
inspect-offset - ローカルバイトコンテキスト.\dist\SigLens.exe inspect-offset C:\Samples\sample.exe 0x005C0000
file offset -> PE section -> RVA -> VA -> image baseをマッピングし、ローカルhexdumpとASCII/UTF-16LE文字列を表示します。
.\dist\SigLens.exe inspect-offset sample.exe 0x005C0000 --preview-bytes 512
locate - 関数 / PDB / ソース相関.\dist\SigLens.exe locate C:\Samples\sample.exe 0x18A20 --symbol-path .\symbols
相関パス:
file offset -> PE section -> RVA -> VA -> x64 .pdata runtime function -> local PDB symbol -> source line
.\dist\SigLens.exe scan C:\Samples\sample.exe --yara .\rules --symbol-path .\symbols
YARAマッチオフセットはネイティブYARAオフセットであり、PE/シンボル情報に相関付けることができます。
.\dist\SigLens.exe scan C:\Samples\sample.exe --iocs
印刷可能なコンテンツからURL、IPv4アドレス、ドメイン、Windowsパスを抽出します。
.\dist\SigLens.exe scan C:\Samples\sample.exe --capa
capa.exeが利用可能な場合、その出力はレポートに埋め込まれます。
compare - ビルドの比較.\dist\SigLens.exe compare .\old.exe .\new.exe
ハッシュ、サイズ、エントロピー、PE情報、および変更されたバイナリ範囲を比較します。
path-test - Windowsファイルアクセス診断