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
Bitmancer — Libreria Nim per lo sviluppo di sicurezza offensiva | Kitploit
Strumenti/GitHubGitHub/zimawhit3/bitmancer
Evasione IDS/IPSShellcodePost-ExploitUtilità e FrameworkAnalisi di BinariRed TeamingSviluppo Payload
GitHubzimawhit3/bitmancer

Bitmancer

Libreria Nim per lo sviluppo di sicurezza offensiva

Vedi Repository
200212 anni faRevisionato da Kitploit

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

Bitmancer

Bitmancer è una libreria per lo sviluppo di strumenti di Offensive Security per il sistema operativo Windows, scritta in Nim. Il suo obiettivo è fornire API, routine e macro comuni con implementazioni standalone altamente configurabili e indipendenti dalla posizione.

Se stai cercando di sviluppare un Implant, testare un rapido PoC o scrivere un nuovo brillante strumento, Bitmancer può aiutarti a iniziare!

⚠️ Questo repository è attualmente un enorme WIP! Potrebbero esserci problemi nell'utilizzarlo e non ci sono garanzie di stabilità per il momento. ⚠️

Dipendenze

Bitmancer usa parzialmente winim per i suoi tipi. Per installarlo, esegui:

nimble install winim

Installazione

Bitmancer non fa ancora parte del repository nimble. Per il momento puoi installarlo da Github semplicemente eseguendo:

nimble install https://github.com/zimawhit3/Bitmancer

Compilazione

MingW e Nim introdurranno dipendenze da MSVCRT e Kernel32, oltre a variabili globali usate dal modulo System di Nim. Se vuoi evitarle per codice indipendente dalla posizione, usa il nim.cfg fornito.

Per compilare: nim c -d:mingw <Your_Nim_File>

Utilizzo

Per tutti i moduli:

root@kitploit:~
import Bitmancer

Se non hai bisogno delle routine NTDLL o delle syscall, puoi semplicemente usare:

root@kitploit:~
import Bitmancer/core

Per solo le procedure di hashing:

root@kitploit:~
import Bitmancer/core/obfuscation/hash

TODO attuali:

  • Definizioni di Compile Time semplificate (YAML?)
  • CI/CD
  • Esempi
  • Documentazione
  • Seme di hash più grande in compile-time
  • Test!

Funzionalità

Funzionalità attualmente supportate:

  • Risoluzione nomi ApiSet
  • API comuni (GetProcAddress, GetModuleHandle, GetSystemTime, ecc.)
  • Hashing
    • Compile Time
    • Run Time
  • Manual Mapper
    • Da disco
    • Da memoria 🚧
      • DLL 🚧
      • COFF 🚧
  • NTDLL
    • Syscall Nt*
    • Procedure Rtl*
  • Database NTLoader
    • Liste collegate (LDR_DATA_TABLE_ENTRY)
    • Alberi Red-Black (RTL_BALANCED_NODE)
  • Parsing e utilità Portable Executable
  • Enumerazione SSN
    • Hell's Gate
    • Halo's Gate
    • Tartarus' Gate
    • LdrThunkSignatures
    • ZwCounter
  • Stack Strings
  • Tecniche di evasione Syscall
    • Syscall dirette
    • Syscall indirette

Funzionalità future che intendo supportare:

  • Routine e utilità Anti-Debug
  • Crittografia
  • Gestione delle eccezioni
  • Callback
    • Instrumented
    • Native
    • VEH
  • Routine e utilità di Hooking
  • Più wrapper NTDLL
  • Tecniche di evasione del sonno
    • Death Sleep
    • CreateTimerQueueTimer
  • Stack Spoofing
  • Tecniche di evasione Syscall
    • Tamper

Se c'è una funzionalità/tecnica che vorresti fosse implementata, fammelo sapere!

Esempi

Stack Strings:

root@kitploit:~
var wStr {.stackStringW.} = "Hello!"
var cStr {.stackStringA.} = "World!"

Se stai cercando di generare un wrapper attorno a una syscall non attualmente disponibile, il flusso di base è il seguente:

root@kitploit:~
## Import syscalls
import Bitmancer/syscalls

## For hashing
import Bitmancer/core/obfuscation/hash

## Define your type
type NtClose = proc(h: HANDLE): NTSTATUS {.stdcall, gcsafe.}

## Generate the wrapper
genSyscall(NtClose)

## Define configurations for how to retrieve and execute the syscall

## The procedure's symbol enumeration method - available options are:
## UseEAT - use the export address table to resolve the symbol
## UseIAT - use the import address table to resolve the symbol
## UseLdrThunks - use the NTLoader's LdrThunkSignatures to map a clean NTDLL to resolve symbols from
const symEnum = SymbolEnumeration.UseEAT

## The SSN enumeration method - available options are:
## HellsGate
## HalosGate
## TartarusGate
## ZwCounter
const ssnEnum = SsnEnumeration.HellsGate

## Finally, the execution method - available options are:
## Direct   - use the direct syscall stub
## Indirect - use the indirect syscall stub
const exeEnum = SyscallExecution.Indirect

## Define an ident to use to identify the symbol
const NtCloseHash = ctDjb2 "NtClose"

## Retrive NTDLL
let Ntdll = ? NTDLL_BASE()

## Call ctGetNtSyscall, retrieving the NtSyscall object containing the SSN, pointer to the address of the function
## and a casted stub to your type.
let NtSyscall = ctGetNtSyscall[NtClose](Ntdll, ModuleHandle(NULL), NtCloseHash, symEnum, ssnEnum, exeEnum)

## Finally, call the wrapper!
NtCloseWrapper(h, NtSyscall.wSyscall, NtSyscall.pSyscall, NtSyscall.pFunction)

Vedi l'esempio runShellCode per un esempio completo.
Altri esempi possono essere trovati in ntdll.

Scarica lo strumento
  • Supporto x86