Skip to content

PoC oltre il confine

Valentino Aglianรณ edited this page Jun 16, 2026 · 12 revisions

๐Ÿ›ก๏ธ๐Ÿš€โ˜ข๏ธ Capitolo 9: La Difesa Oltre il Confine
(๐Ÿซ™๐ŸŒ๐Ÿช๐ŸŽฏ Sandbox Browser Hook Target)

Note

๐ŸŒ€๐Ÿงช Questo Capitolo:

  • รจ un Concept Architetturale di Sicurezza ๐Ÿ” ( PoC ). per proteggere un framework JavaScript che, per sua natura, risiede all'interno di una ๐Ÿซ™ Sandbox Browser...

  • Livello di Classificazione:
    ๐Ÿš€ MISSION CRITICAL โ˜ข๏ธ

๐Ÿ“– Il presente documento definisce la procedura tecnica per l'implementazione

dell'A4 Sentinel ๐Ÿš€โ˜ข๏ธ, sistema di difesa attiva progettato per operare in modalitร  Out-of-Sandbox ๐Ÿ”๐Ÿซ™ per la salvaguardia dell'integritร  del framework Panzer v7.6+ ๐Ÿช–.
Il sistema รจ una ๐ŸŒ€๐Ÿงช Proof of Concept (PoC) concepita per proteggere un framework JavaScript che, per sua natura, risiede all'interno di una sandbox browser limitata, estendendo la sua resilienza oltre i confini del processo di navigazione.

๐Ÿ•ต๏ธ๐Ÿชฑ Analisi della Minaccia e Difesa:

La sandbox del browser ๐Ÿซ™ รจ un perimetro di difesa statico che isola l'esecuzione, ma lascia il processo esposto a tecniche di Memory Hooking ๐Ÿ“ฆ๐Ÿช e Dumping ๐Ÿ”ป๐Ÿ“ฆ. L'A4 Sentinel ๐Ÿš€โ˜ข๏ธ agisce come sentinella esterna non rilevabile, Operando in ambiente Kernel/User-mode โš›๏ธ non convenzionale. Lo scopo รจ prevenire l'hooking della memoria attraverso una risposta cinetica automatizzata.

Procedure di Deployment e Compilazione ๐Ÿ—๏ธ

  • โš™๏ธ๐Ÿ’ป Compilazione: Utilizzare il compilatore Aut2Exe con flag /obfuscator attivo per rendere la struttura del codice non decodificabile via reverse engineering.

  • โš™๏ธ๐Ÿท๏ธ Naming: L'eseguibile deve essere rinominato in conformitร  ai processi di sistema (es. win_diag_svchost.exe).

  • โš™๏ธ๐Ÿ‘ค Privilegi: Operare esclusivamente con privilegi di utente standard. L'attivazione di privilegi elevati รจ proibita per mantenere la tracciabilitร  minima. ๐Ÿšซ

  • โš™๏ธ๐Ÿ๏ธ Isolamento: Copiare il binario in directory ( ๐Ÿ“‚ es. %tmp% ) a bassa visibilitร .
    ๐ŸŒโŒ Nessuna comunicazione di rete รจ ammessa.

โš™๏ธ๐Ÿ”  Specifica Tecnica
DNA_signed ๐Ÿงฌ :

  • La firma di validazione a ๐Ÿ”‘ 1024-bit รจ il parametro di autenticazione univoco tra il
    โš™๏ธ๐Ÿช– CORE: Panzer v7.6+ e il
    ๐Ÿบ Watchdog A4 Sentinel ๐Ÿš€โ˜ข๏ธ.

Caution

CLASSIFICAZIONE: DUAL-USE SOFTWARE / HIGH-RISK BEHAVIORAL PATTERN

๐Ÿ› ๏ธ SPECIFICHE OPERATIVE:

Questo script รจ stato ingegnerizzato esclusivamente per scopi di Difesa Asimmetrica Civile e protezione dell'integritร  runtime per il nucleo del applicativo PWA ( ๐Ÿ• Pizza Engine ),
Il โš™๏ธ๐Ÿช– CORE: Panzer v7.6+
Opera secondo le seguenti specifiche tecniche:

  • โš”๏ธ๐Ÿ”„๐Ÿ›ก๏ธ Behavioral Pattern (Dual-Use):
    Lo script effettua chiamate cicliche per l'ispezione della tabella dei processi di sistema e implementa routine di sbarramento (Process Termination). Questa tecnica รจ classificata come Dual-Use: legittima se usata come modulo โŒ๐Ÿ” Anti-Tamper/DLP proprietario per impedire il dump della RAM ๐Ÿ“ค, intrusiva se valutata fuori dal contesto simbiotico del Panzer v7+ ๐Ÿช–

  • โŒ๐Ÿ•ต๏ธ โณ Anti-Debugging & Jittering:
    Implementa controlli stocastici runtime per rilevare l'aggancio di debugger abusivi ๐Ÿ”๐Ÿช (es. Cheat Engine, OllyDbg, x64dbg ) o strumenti di ispezione forense non autorizzati sui processi associati al browser.

  • ๐Ÿ’ฅ๐Ÿงฝ Kinetic Mitigation / Zeroization:
    Al rilevamento di una deviazione Geometrica ๐Ÿ“ della Memoria o di una firma alterata ( $DNA_signed ) โŒ๐Ÿ”, lo script agisce come โœ‚๏ธ Vettore cinetico forzando la chiusura immediata dell'istanza e l'azzeramento dei puntatori in RAM ๐Ÿงน, prevenendo attacchi di tipo Race Condition o Memory Dumping.

๐Ÿ”น๐Ÿ“œ Example AU3 ( AutoIt3 file script )
#cs
    PROJECT: ๐Ÿ›ก๏ธ๐Ÿš€โ˜ข๏ธ A4 Sentinel ( Sub-system for โš™๏ธ๐Ÿช– Core Panzer v7+ )
    LANGUAGE: AutoIt v3+ (.au3)
    CATEGORY: โš”๏ธ๐Ÿ›ก๏ธ Offensive Defensive Security / Anti-Tampering Engine
#ce

#NoTrayIcon
#include <Memory.au3>
#include <WinAPI.au3>
#include <Array.au3>
#include <Constants.au3>

#cs
 ๐Ÿ›ก๏ธ๐Ÿš€โ˜ข๏ธ A4 SENTINEL - v2.0.0.0
 @description: Modulo di protezione perimetrale Zero-Trust per sandbox Chromium.
 @log: Anti-Debug, Anti-Injection, Sanitizzazione, Kill Cinetico
 - Filtri: MEM_PRIVATE, Jittering dinamico e Direct Syscalls.

 --- COSTANTI DI INTEGRITร€ ---
 Sequenza fissa di byte ( 1024-bit ๐Ÿ”‘ ) speculare alla firma inserita nel software target: Panzer v7+ ๐Ÿช–

 Es. ( ๐Ÿ“œ sw.js ) : const Panzer_DNA = [ $DNA_signed ]
#ce

Global Const $DNA_signed = "8f2d9c4b1e5a7d3f6b8a2c1d9e4f0a7b3c9d8e5f2a1b6c0d7e4f9a2b8c5d1e6f3a0b7c4d2e9f5a8b1c3d6e0f4a9b7c2d5e1f8a6b3c0d9e2f7a4b5c8d1e0f6a3b2c9d7e5f4a1"

; Ecosistema di browser target (Ecosistema Chromium) ๐Ÿงช๐ŸŒ
Global Const $aTargets = ["chrome.exe", "msedge.exe", "brave.exe", "opera.exe", "vivaldi.exe"]
Global $hPsapi = DllOpen("psapi.dll")

; --- SYSCALL HARDENING: Setup codice macchina per bypass EDR ---
; Opcode per NtReadVirtualMemory (x64) allocato in memoria eseguibile
Global $bSyscallCode = Binary("0x4C8B14244C89442418488954241048894C2408B83F0000000F05C3") 
Global $pSyscallMem = _MemVirtualAlloc(0, 32, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE)
_MemWriteData($pSyscallMem, $bSyscallCode)

; --- STATO E VARIABILI TEMPORALI (JITTERING STOCASTICO) ---
Global $iLastDNACheck = TimerInit()
Global $iRandomJitter = Random(-30000, 30000, 1)

; --- CICLO OPERATIVO PERMANENTE ---
While 1
    ; [1] ๐Ÿ” AUTOPROTEZIONE RIFLESSIVA
    _Protect_Self_Integrity()
    
    ; [2] โšก BOOST PRESTAZIONALI
    ProcessSetPriority(@AutoItPID, 4)
    
    ; [3] ๐Ÿ”„ ISPEZIONE DEI TARGET PERIMETRALI
    For $sTarget In $aTargets
        ; Controllo integritร  tramite Syscall per evitare hook API
        _Defense_Module_Integrity_Hook_Syscall($sTarget)
        
        ; Verifica firma DNA (Agnostica ASLR) con filtro MEM_PRIVATE
        If TimerDiff($iLastDNACheck) >= (300000 + $iRandomJitter) Then
            _Defense_Module_DNA_DeepScan_Syscall($sTarget)
        EndIf
        
        ; Sanitizzazione RAM (Anti-Forense)
        _Memory_Sanitization_Grid($sTarget)
    Next
    
    ; Ricalcolo stocastico del Jitter
    If TimerDiff($iLastDNACheck) >= (300000 + $iRandomJitter) Then
        $iLastDNACheck = TimerInit()
        $iRandomJitter = Random(-30000, 30000, 1)
    EndIf
    
    ; [4] ๐Ÿฅท MODALITร€ EVASIONE (IDLE)
    ProcessSetPriority(@AutoItPID, 0)
    _Stealth_Sleep_Jitter()
WEnd

; ๐Ÿ› ๏ธ SPECIFICHE DEI MODULI CORE:

; @description: Scansione profonda (ASLR-Agnostic) con Syscall e filtro MEM_PRIVATE.
Func _Defense_Module_DNA_DeepScan_Syscall($sTarget)
    Local $aList = ProcessList($sTarget)
    If Not IsArray($aList) Then Return
    For $i = 1 To $aList[0][0]
        Local $hProc = DllOpenProcess(0x0010, 0, $aList[$i][1])
        If $hProc Then
            Local $pAddr = 0
            Local $tMemBasic = DllStructCreate("ptr BaseAddress;ptr AllocationBase;dword AllocationProtect;ulong_ptr RegionSize;dword State;dword Protect;dword Type")
            While DllCall("kernel32.dll", "dword", "VirtualQueryEx", "handle", $hProc, "ptr", $pAddr, "struct*", $tMemBasic, "ulong_ptr", DllStructGetSize($tMemBasic))[0]
                If DllStructGetData($tMemBasic, "State") = 0x1000 And DllStructGetData($tMemBasic, "Type") = 0x20000 Then
                    Local $iSize = DllStructGetData($tMemBasic, "RegionSize")
                    Local $tBuf = DllStructCreate("byte[" & $iSize & "]")
                    
                    ; INVOCAZIONE SYSCALL: Accesso diretto al Kernel per leggere memoria
                    DllCall("user32.dll", "none", "CallWindowProc", "ptr", $pSyscallMem, "handle", $hProc, "ptr", $pAddr, "ptr", DllStructGetPtr($tBuf), "ulong_ptr", $iSize, "ptr", 0)
                    
                    If StringInStr(BinaryToString(DllStructGetData($tBuf, 1)), $DNA_signed) Then 
                        DllCloseHandle($hProc)
                        Return
                    EndIf
                EndIf
                $pAddr += DllStructGetData($tMemBasic, "RegionSize")
            WEnd
            _Kinetic_Kill_Jittered($sTarget)
            DllCloseHandle($hProc)
        EndIf
    Next
EndFunc

; @description: Monitoraggio anti-hooking tramite ricerca opcode INT3 (0xCC) via Syscall.
Func _Defense_Module_Integrity_Hook_Syscall($sTarget)
    Local $aList = ProcessList($sTarget)
    If Not IsArray($aList) Then Return
    For $i = 1 To $aList[0][0]
        Local $hProc = DllOpenProcess(0x0010, 0, $aList[$i][1])
        If $hProc Then
            Local $pAddr = 0
            Local $tMemBasic = DllStructCreate("ptr BaseAddress;ptr AllocationBase;dword AllocationProtect;ulong_ptr RegionSize;dword State;dword Protect;dword Type")
            While DllCall("kernel32.dll", "dword", "VirtualQueryEx", "handle", $hProc, "ptr", $pAddr, "struct*", $tMemBasic, "ulong_ptr", DllStructGetSize($tMemBasic))[0]
                If DllStructGetData($tMemBasic, "Type") = 0x20000 Then
                    Local $iSize = DllStructGetData($tMemBasic, "RegionSize")
                    Local $tBuf = DllStructCreate("byte[" & $iSize & "]")
                    DllCall("user32.dll", "none", "CallWindowProc", "ptr", $pSyscallMem, "handle", $hProc, "ptr", $pAddr, "ptr", DllStructGetPtr($tBuf), "ulong_ptr", $iSize, "ptr", 0)
                    
                    If StringInStr(BinaryToString(DllStructGetData($tBuf, 1)), Chr(0xCC)) Then 
                        DllCloseHandle($hProc)
                        _Kinetic_Kill_Jittered($sTarget)
                    EndIf
                EndIf
                $pAddr += DllStructGetData($tMemBasic, "RegionSize")
            WEnd
            DllCloseHandle($hProc)
        EndIf
    Next
EndFunc

; @description: Sanitizzazione RAM per prevenzione dump forensi.
Func _Memory_Sanitization_Grid($sTarget)
    Local $aList = ProcessList($sTarget)
    If IsArray($aList) Then
        For $i = 1 To $aList[0][0]
            Local $hProc = DllOpenProcess(0x0200, 0, $aList[$i][1])
            If $hProc Then
                DllCall($hPsapi, "int", "EmptyWorkingSet", "ptr", $hProc)
                DllCloseHandle($hProc)
            EndIf
        Next
    EndIf
EndFunc

; @description: Reazione Cinetica con Jittering temporale.
Func _Kinetic_Kill_Jittered($sTarget)
    Sleep(Random(100, 1000, 1))
    If $sTarget = "Self" Then
        For $sBrowser In $aTargets
            Local $aList = ProcessList($sBrowser)
            If IsArray($aList) Then
                For $i = 1 To $aList[0][0]
                    ProcessClose($aList[$i][1])
                Next
            EndIf
        Next
    Else
        Local $aList = ProcessList($sTarget)
        If IsArray($aList) Then
            For $i = 1 To $aList[0][0]
                ProcessClose($aList[$i][1])
            Next
        EndIf
    EndIf
    Exit
EndFunc

; @description: Anti-Debug riflessivo tramite API native.
Func _Protect_Self_Integrity()
    Local $aRet = DllCall("kernel32.dll", "bool", "IsDebuggerPresent")
    If Not @error And $aRet[0] Then _Kinetic_Kill_Jittered("Self")
EndFunc

; @description: Evasione dei sistemi di monitoraggio mediante Jittering.
Func _Stealth_Sleep_Jitter()
    Sleep(Random(3000, 9000, 1))
EndFunc

โ†ฉ Torna alla Home ๐Ÿ 

๐Ÿ‘ˆ ๐Ÿ›๏ธ๐Ÿšจ Capitolo 8: Protezione PA

  • ๐Ÿ“– Disciplinare Tecnico di Tutela dell'Ente con linee guida ๐Ÿ“‘ per Affidamenti Esterni.

๐Ÿ‘‰ ๐Ÿ›๏ธ๐Ÿ”ฎ PA Futuro Digitale

  • ๐ŸŒ๐Ÿš€ Concept: Manifesto tecnologico e linee guida d'architettura per l'Iper Cloud PA ๐ŸŒฉ๏ธ, progettato per la sovranitร , l'efficienza ๐Ÿƒ ITC e la resilienza dello Stato. ๐Ÿ›ก๏ธ๐Ÿ‡ฎ๐Ÿ‡น

๐Ÿ—‚๏ธ Indice Rapido Wiki

  • ๐Ÿ  Home
    ๐Ÿ“‘ Pagina principale del Progetto

  • ๐Ÿ“„ Capitolo 1: Introduzione
    ๐Ÿ‘จโ€โš–๏ธ Requisiti legali e conformitร  CAD (Art. 68/69) ๐Ÿ“œ

  • โš™๏ธ Capitolo 2: Architettura
    ๐Ÿ›ก๏ธ๐Ÿ“ฆ Bunker Mode e crittografia AES-GCM del Vault ๐Ÿ”‘๐Ÿ—„๏ธ

  • ๐Ÿ’ก Capitolo 3: Note Finali
    โš’๏ธ Esempi di utilizzo pratico nella PA ๐Ÿ›๏ธ

  • ๐Ÿ›๏ธ Perchรฉ ๐Ÿช– Panzer v7+
    ๐Ÿ—ฝ Indipendenza ed eliminazione del Vendor Lock-in ๐Ÿšซ๐Ÿ”’

  • ๐Ÿ”ฅ Capitolo 4: Collaudo
    ๐Ÿฅ Battesimo di Fuoco, Debug e Log ๐Ÿž๐Ÿ“Š

  • ๐Ÿ›ก๏ธ Capitolo 5: Paradigma Difensivo
    Logiche di ๐Ÿšซ๐Ÿ’ฅ anti-tampering e Zeroization ๐Ÿงฝ

  • ๐Ÿ“‘ Capitolo 6: Determina
    ๐Ÿ–จ๏ธ Modello pronto ed esecutivo per i dirigenti ๐Ÿ’ผ

  • ๐Ÿงž Capitolo 7: Estensione Zero-Trust ๐Ÿ”
    ๐ŸŒ€๐Ÿงช Concept: Architetturale e Framework di Sicurezza per le PA ๐Ÿ›๏ธ

  • ๐Ÿ›๏ธ๐Ÿšจ Capitolo 8: Protezione PA
    ๐Ÿ“– Disciplinare Tecnico di Tutela dell'Ente con linee guida per Affidamenti Esterni. ๐Ÿข

  • ๐Ÿš€โ˜ข๏ธ Capitolo 9: La Difesa Oltre il Confine
    ๐ŸŒ€๐Ÿงช Concept: di un sistema di difesa attiva per operare in modalitร  Out-of-Sandbox ๐Ÿ”๐Ÿซ™

  • ๐Ÿ›๏ธ๐Ÿ”ฎ PA Futuro Digitale
    ๐ŸŒ๐Ÿš€ Concept: Manifesto tecnologico e linee guida d'architettura per l'Iper Cloud PA ๐ŸŒฉ๏ธ


LOGO

Clone this wiki locally