Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
voidsyscall — Impianto & C2 cross-platform basato su syscall — syscall dirette (Win), syscall raw (Linux), canali HTTPS/DNS/ICMP. Nessun layer winapi. | Kitploit
Strumenti/GitHubGitHub/voidsecsoftwares/voidsyscall
Escalation di PrivilegiStrumenti di Crittografia/DecrittografiaMeccanismi di PersistenzaEvasione IDS/IPSMovimento LateralePost-ExploitAnalisi MalwarePenetration TestingCommand and ControlRed TeamingSviluppo PayloadTrojan di Accesso Remoto
18191 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHubvoidsecsoftwares/voidsyscall

voidsyscall

Impianto & C2 cross-platform basato su syscall — syscall dirette (Win), syscall raw (Linux), canali HTTPS/DNS/ICMP. Nessun layer winapi.

Vedi Repository

voidsyscall

go license platform c2 syscalls

Zero WinAPI. Ogni primitiva NT risolta a runtime da ntdll in memoria — istruzioni SYSCALL emesse direttamente tramite stub assembly Plan9, nessuna import table, nessun hook usermode di ntdll toccato. C2 su HTTPS / DNS / ICMP, AES-256-GCM per messaggio. Windows nativo. Build Linux. Build macOS.

Questa non è una libreria wrapper di syscall. È un framework implant completo dove ogni operazione — dall'iniezione di codice alla lettura di file alla persistenza nel registro — passa attraverso syscall Nt* grezze risolte al boot dalla tabella export di ntdll corrente. Nessuna chiamata WinAPI esiste nel binario. Nulla che un EDR possa hookare a usermode.


Cosa c'è dentro

Motore syscall

  • Risoluzione SSN a runtime: PEB → LDR → base ntdll → tabella export PE → match hash djb2 → scansione prologo per B8 xx xx 00 00 0F 05 (diretto) o 4C 8B D1 B8 xx xx 00 00 0F 05 (Hells Gate). Ogni nome di funzione è hashato a compile time — nessuna stringa in chiaro nel binario.
  • Syscall diretta: asm Plan9 (asm_amd64.s) carica l'SSN in EAX, imposta 7 argomenti a mano, esegue SYSCALL. Ritorno via RAX/RDX.
  • Syscall indiretta: Individua un gadget 0F 05 C3 (syscall;ret) dentro ntdll, chiama attraverso di esso. Il trap della CPU atterra dentro ntdll — lo stack di chiamata mostra frame ntdll, non frame dell'implant. Nessun hook usermode sopravvive.
  • Fingerprint SSN: Dump di tutti gli SSN risolti dalla build ntdll corrente, genera un hash fingerprint. Esporta come hex, importa su un'altra macchina. Rileva mismatch di build prima che ti brucino.
  • Unhook: Blocca .text in RWX, copia i byte originali dalla ntdll mappata su disco, ripristina la protezione, flusha la icache, azzera la cache SSN. Ogni hook usermode piazzato da qualsiasi EDR è sparito.

Iniezione — 4 metodi, rotazione polimorfica

L'agente ruota automaticamente tra le tecniche di iniezione. Ogni chiamata usa un metodo diverso — due iniezioni non si assomigliano mai in forensics.

Anti-analisi — 13+ metodi di rilevamento

Esegue tutti i check, restituisce un report di minaccia con punteggio. Auto-distruzione su Critical.

Operazioni token

Tutto via syscall Nt*, nessuna WinAPI.

  • EnablePrivilege(index) — imposta qualsiasi privilegio tramite LUID
  • EnableAllTokenPrivileges() — 20 privilegi in una volta (Debug, Impersonate, TCB, Backup, Restore, ecc.)
  • GetProcessTokenIntegrityLevel() — interroga integrità obbligatoria
  • StealProcessToken(pid) — apri + duplica token di un altro processo
  • ImpersonateThread() / RevertToSelf()

Operazioni VAD

  • EnumVirtualMemory() — percorre tutte le regioni virtuali via NtQueryVirtualMemory
  • FindWritableExecRegions() — trova regioni committed PAGE_EXECUTE_READWRITE
  • HideRegion() — imposta PAGE_NOACCESS per nascondere memoria dagli scanner
  • UnhideRegion() — ripristina la protezione originale

File I/O — tutte syscall Nt*

NtCreateFile → NtReadFile / NtWriteFile → NtClose. Zero chiamate CreateFileA, ReadFile, WriteFile, o DeleteFileW. ReadFileContents(), WriteFileContents(), DeleteFileNt(), FileExists().

Persistenza registro — tutte syscall Nt*

NtCreateKey → NtSetValueKey. AddRunKeyPersistence(), RemoveRunKeyPersistence(). Nessuna RegCreateKeyEx, RegSetValueEx, o qualsiasi chiamata Advapi32.

Operazioni handle

  • EnumerateSystemHandles() — tutti gli handle aperti nel sistema via NtQuerySystemInformation(SystemHandleInformation)
  • FindEDRHandles() — confronta i PID proprietari con 30+ nomi noti di processi EDR (MsSense, CrowdStrike, Sentinel, Cylance, Carbon Black, ecc.)
  • CloseEDRHandles() — chiude gli handle di monitoraggio che l'EDR ha piazzato nel tuo processo
  • IsProcessMonitored() — check booleano: siamo osservati?

Cifratura memoria

  • Vault: Cifrario XOR in-memory con ri-keying automatico su timer. Il plaintext non è mai memorizzato grezzo. Il re-key decifra → genera nuova chiave → ri-cifra. I dump heap forensi tra intervalli di re-key ottengono spazzatura.
  • SecureDelete: Wipe a 3 passaggi (random → zeri → uni → zeri) prima di NtFreeVirtualMemory.
  • StackEncrypt: Cifra buffer allocati sullo stack prima del return. Il riuso del frame di stack rende la forensics inaffidabile.

Patch AMSI / ETW / evasione

  • PatchAMSI() — AmsiScanBuffer → MOV EAX, 0; RET
  • PatchETW() — EtwEventWrite → RET
  • PatchNtTraceEvent() — NtTraceEvent → RET
  • PatchDbgUiRemoteBreakin() — thread breakin → RET
  • PatchInstrumentationCallbacks() — ThreadHideFromDebugger

Canali C2

Tutti i canali implementano l'interfaccia Channel. Aggiungere NTP, DoH, o TURN significa implementare l'interfaccia — zero modifiche all'agente.

Crypto

AES-256-GCM per-messaggio AEAD. Nonce unico di 12 byte per messaggio. Keyring per-implant. Derivazione chiave basata su passphrase disponibile. 3 test, tutti passanti.


Layout

root@kitploit:~
voidsyscall/
  syscallwin/          Direct/indirect NT syscalls + evasion
    asm_amd64.s        Syscall/IndirectSyscall/ReadGSBase/SetGSBase/asm_cpuid/asm_rdtsc
    resolve.go         PEB→LDR→ntdll walk, PE export parse, SSN cache, prologue scan
    stubs.go           ~25 Nt* wrappers, DirectSyscall, IndirectSyscallByHash
    hash.go            djb2 hash (string + UTF-16 pointer)
    constants.go       MEM_*, PAGE_*, THREAD_*, TOKEN_*, OBJ_*, REG_*, FILE_*, STATUS_*
    unhook.go          UnhookNtdll, SelfDel
    peb.go             PEB patching (BeingDebugged, NtGlobalFlag, Heap, DebugPort)
    token.go           Privilege escalation, token theft, impersonation
    vad.go             VAD enumeration, hide/unhide regions
    files.go           File I/O via Nt* syscalls
    registry.go        Registry persistence via Nt* syscalls
    fingerprint.go     SSN dump, build fingerprint, hex export/import
    inject_advanced.go 4 injection methods: section mapping, hollow, APC, module stomp
    antianalysis.go    VM/sandbox/debug/timing detection, scored threat report
    handles.go         System handle enumeration, EDR handle killer
    memcrypt.go        Vault (re-keying XOR), SecureDelete, StackEncrypt, WipeMemory
  syscallnix/          Linux/darwin raw syscalls
  patches/             AMSI, ETW, NtTraceEvent, DbgUiRemoteBreakin, InstrumentationCallbacks
  loader/              CreateThread/APC/module-stomp injection
  channels/            HTTP, DNS (TXT), ICMP — Channel interface
  crypto/              AES-256-GCM, envelope, passphrase variant (3 tests)
  server/              SessionManager, Task Queue, interactive REPL
  agent/               Config, beacon loop, 10 task handlers
  cmd/server/main.go   CLI with REPL
  cmd/agent/main.go    Windows-only entrypoint

Build

root@kitploit:~
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o voidsyscall-agent.exe   ./cmd/agent
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o voidsyscall-server.exe  ./cmd/server
GOOS=linux   GOARCH=amd64 go build -ldflags="-s -w" -o server-linux            ./cmd/server
GOOS=darwin  GOARCH=arm64 go build -ldflags="-s -w" -o server-darwin           ./cmd/server

Obfuscation con garble:

root@kitploit:~
GOOS=windows GOARCH=amd64 garble -literals -tiny build -ldflags="-s -w" \
    -o voidsyscall-agent.exe ./cmd/agent

Utilizzo

Server

root@kitploit:~
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
./voidsyscall-server.exe --cert cert.pem --key key.pem --https-port 443

Agent

root@kitploit:~
./voidsyscall-agent.exe -c agent/example-config.json

Protocollo task


Interni risoluzione SSN

  1. ReadGSBase (asm) → GS:[0x60] → TEB
  2. TEB+0x60 → PEB. PEB+0x18 → Ldr
  3. Percorri InMemoryOrderModuleList → match ntdll.dll via hash djb2
  4. Base → IMAGE_DOS_HEADER → e_lfanew → IMAGE_NT_HEADERS → DataDirectory[0] = Export Table
  5. Percorri AddressOfNames[], djb2 ciascuno, match target
  6. Risolvi ordinal → AddressOfFunctions[ordinal] → indirizzo funzione
  7. Scansiona prologo per B8 xx xx 00 00 0F 05 (diretto), B8 xx xx 00 00 C3 (early-ret), o 4C 8B D1 B8 xx xx 00 00 0F 05 (Hells Gate)

Nessun nome di funzione nel binario. Solo hash djb2. L'istruzione syscall bypassa ogni hook usermode.


Task handler dell'agente

root@kitploit:~
TaskShell       // exec via cmd.exe
TaskInject      // polymorphic: section/hollow/APC/stomp
TaskPatch       // AMSI/ETW/both
TaskEvasion     // PEB patches + VM/sandbox/debug/timing detection
TaskHandles     // enumerate + kill EDR monitoring handles
TaskFingerprint // dump SSN build fingerprint
TaskToken       // privilege escalation + impersonation
TaskVault       // encrypted in-memory storage
TaskSleep       // jitter-aware sleep
TaskExit        // clean shutdown

Stato

Rilasciato: Beacon loop, coda task, 3 canali C2, 4 metodi di iniezione, 10+ check di evasione, enumerazione/chiusura handle, manipolazione token, operazioni VAD, file I/O, persistenza registro, fingerprinting SSN, cifratura memoria, patching AMSI/ETW, crypto AES-GCM, gestione sessioni, REPL interattiva. 3 test crypto passano. go build pulito su Windows.

Non ancora: Agente autonomo Linux (le build esistono, nessuna logica agente), rotazione chiavi di sessione, loader staged, canali NTP/DoH, scheduling persistenza.

Riconoscimenti

  • carved4/go-native-syscall
  • Enelg52/OffensiveGo
  • am0nsec/HellsGate
  • f1zm0/acheron
  • Sliver C2

Licenza

MIT — LICENSE

Scarica lo strumento
MetodoCome funzionaPerché è stealth
Section mappingNtCreateSection → NtMapViewOfSection (remoto) → NtCreateThreadExNessuna allocazione RWX nel VAD. La sezione è file-backed. Gli scanner di memoria vedono PAGE_EXECUTE_READ, non PAGE_EXECUTE_READWRITE.
Process hollowNtCreateUserProcess (sospeso) → NtSuspendProcess → azzera image base → alloca + scrivi shellcode → NtSetContextThread (RIP = shellcode) → NtResumeProcessIl processo appare come svchost.exe legittimo in taskmgr. Solo i contenuti di memoria differiscono.
APC queuingEnumera thread via NtQuerySystemInformation → NtOpenThread → NtQueueApcThreadNessun nuovo thread creato. Nessun nuovo TEB. Nessuna nuova allocazione di stack. Si attiva quando il thread entra in alertable wait.
Module stompingAlloca nel target → scrivi header PE minimale + shellcode → NtCreateThreadEx all'entry pointLa lista moduli mostra un nome DLL plausibile. L'header PE è valido abbastanza da ingannare l'enumerazione dei moduli.
CheckMetodo
Rilevamento VMScansione firma hypervisor CPUID leaf 0x40000000 (VMware, VirtualBox, Hyper-V, KVM, Xen, QEMU, Parallels) + fallback leaf 0x40000001
Rilevamento sandboxConteggio CPU, artefatti registro (VMware Tools, VBox Guest Additions, servizi VMware/VBox), scansione processi sandbox (30+ nomi noti: wireshark, procmon, x64dbg, ida, ecc.)
Rilevamento debuggerPEB.BeingDebugged, PEB.NtGlobalFlag, flag debug heap, ProcessDebugPort, ProcessDebugObjectHandle, ProcessDebugFlags, breakpoint hardware DR0-7, check timing single-step
Anomalia timingBasato su RDTSC: 50 campioni di latenza NtQuerySystemInformation, media/deviazione standard, flag se >10% dei campioni supera varianza 3σ. Cattura l'overhead di strumentazione.
Evasione PEBPatcha BeingDebugged, NtGlobalFlag, flag ProcessHeap, DebugPort, ThreadHideFromDebugger — tutto via letture segmento GS + NtWriteVirtualMemory. Nessuna chiamata API.
CanaleFormato wirePrerequisiti
HTTPSPOST binario, framing custom, UA/path randomizzatiCertificato TLS
DNSsottodominio <idx>-<total>-<base32>, risposta TXTRisoluzione DNS
ICMPv4payload in echo request/reply ID+seqraw socket (root/Admin)
TaskBytePayload
shell0x01Comando UTF-8
inject0x02PID (4 byte LE) + shellcode
patch0x030x01=AMSI, 0x02=ETW, 0x03=entrambi
sleep0x04secondi (4 byte LE)
evasion0x100x01=full, 0x02=VM, 0x03=sandbox, 0x04=debug, 0x05=timing, 0x06=report
handles0x110x01=count, 0x02=enum EDR, 0x03=close EDR, 0x04=monitored?
vault0x12operazioni di storage cifrato
fingerprint0x13dump fingerprint build SSN
token0x140x01=enable all, 0x02=integrity, 0x03=debug priv, 0x04=impersonate
exit0xFF—
  • Estrai SSN di 2 byte → memorizza in cache map[uint32]uint16