Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Bitmancer — Bibliothèque Nim pour le développement de la sécurité offensive | Kitploit
Outils/GitHubGitHub/zimawhit3/bitmancer
Évasion IDS/IPSShellcodePost-ExploitationUtilitaires et FrameworksAnalyse de BinairesRed TeamingDéveloppement de Charges Utiles
GitHubzimawhit3/bitmancer

Bitmancer

Bibliothèque Nim pour le développement de la sécurité offensive

Voir le dépôt
20021il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Bitmancer

Bitmancer est une bibliothèque pour le développement d'outils de sécurité offensive pour le système d'exploitation Windows, écrite en Nim. Elle vise à fournir des API, des routines et des macros courantes avec des implémentations hautement configurables, indépendantes de la position et autonomes.

Si vous cherchez à développer un implant, tester un PoC rapide ou écrire un tout nouvel outil brillant, Bitmancer peut vous aider à démarrer !

⚠️ Ce dépôt est actuellement un énorme travail en cours ! Des problèmes peuvent survenir lors de son utilisation et aucune garantie de stabilité n'est offerte pour le moment. ⚠️

Dépendances

Bitmancer utilise partiellement winim pour ses types. Pour l'installer, exécutez :

nimble install winim

Installation

Bitmancer ne fait pas encore partie du dépôt nimble. Pour le moment, vous pouvez l'installer depuis Github en exécutant simplement :

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

Compilation

MingW et Nim introduiront des dépendances sur MSVCRT et Kernel32, ainsi que des variables globales utilisées par le module System de Nim. Si vous souhaitez les éviter pour du code indépendant de la position, utilisez le nim.cfg fourni.

Pour compiler : nim c -d:mingw <Votre_Fichier_Nim>

Utilisation

Pour tous les modules :

root@kitploit:~
import Bitmancer

Si vous n'avez pas besoin des routines NTDLL ou des syscalls, vous pouvez simplement utiliser :

root@kitploit:~
import Bitmancer/core

Pour seulement les procédures de hachage :

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

TODO actuels :

  • Définitions simplifiées au moment de la compilation (YAML ?)
  • CI/CD
  • Exemples
  • Documentation
  • Graine de hachage plus grande au moment de la compilation
  • Tests !

Fonctionnalités

Fonctionnalités actuellement prises en charge :

  • Résolution de noms ApiSet
  • API courantes (GetProcAddress, GetModuleHandle, GetSystemTime, etc.)
  • Hachage
    • Au moment de la compilation
    • Au moment de l'exécution
  • Manual Mapper
    • Depuis le disque
    • Depuis la mémoire 🚧
      • DLL 🚧
      • COFF 🚧
  • NTDLL
    • Syscalls Nt*
    • Procédures Rtl*
  • Base de données NTLoader
    • Listes chaînées (LDR_DATA_TABLE_ENTRY)
    • Arbres rouge-noir (RTL_BALANCED_NODE)
  • Analyse et utilitaires Portable Executable
  • Énumération SSN
    • Hell's Gate
    • Halo's Gate
    • Tartarus' Gate
    • LdrThunkSignatures
    • ZwCounter
  • Stack Strings
  • Techniques d'évasion de syscalls
    • Syscalls directs
    • Syscalls indirects

Fonctionnalités futures que je vise à prendre en charge :

  • Routines et utilitaires Anti-Debug
  • Chiffrement
  • Gestion des exceptions
  • Callbacks
    • Instrumentés
    • Natifs
    • VEH
  • Routines et utilitaires de hooking
  • Plus de wrappers NTDLL
  • Techniques d'évasion de sommeil
    • Death Sleep
    • CreateTimerQueueTimer
  • Spoofing de pile
  • Techniques d'évasion de syscalls
    • Tamper

Si vous souhaitez qu'une fonctionnalité ou une technique soit implémentée, faites-le-moi savoir !

Exemples

Stack Strings :

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

Si vous cherchez à générer un wrapper autour d'un syscall actuellement indisponible, le flux de base est le suivant :

root@kitploit:~
## Importer les syscalls
import Bitmancer/syscalls

## Pour le hachage
import Bitmancer/core/obfuscation/hash

## Définir votre type
type NtClose = proc(h: HANDLE): NTSTATUS {.stdcall, gcsafe.}

## Générer le wrapper
genSyscall(NtClose)

## Définir les configurations pour récupérer et exécuter le syscall

## La méthode d'énumération du symbole de la procédure - les options disponibles sont :
## UseEAT - utiliser la table des adresses d'exportation pour résoudre le symbole
## UseIAT - utiliser la table des adresses d'importation pour résoudre le symbole
## UseLdrThunks - utiliser les LdrThunkSignatures du NTLoader pour mapper un NTDLL propre et résoudre les symboles
const symEnum = SymbolEnumeration.UseEAT

## La méthode d'énumération SSN - les options disponibles sont :
## HellsGate
## HalosGate
## TartarusGate
## ZwCounter
const ssnEnum = SsnEnumeration.HellsGate

## Enfin, la méthode d'exécution - les options disponibles sont :
## Direct   - utiliser le stub de syscall direct
## Indirect - utiliser le stub de syscall indirect
const exeEnum = SyscallExecution.Indirect

## Définir un identifiant pour identifier le symbole
const NtCloseHash = ctDjb2 "NtClose"

## Récupérer NTDLL
let Ntdll = ? NTDLL_BASE()

## Appeler ctGetNtSyscall, récupérant l'objet NtSyscall contenant le SSN, le pointeur vers l'adresse de la fonction
## et un stub casté vers votre type.
let NtSyscall = ctGetNtSyscall[NtClose](Ntdll, ModuleHandle(NULL), NtCloseHash, symEnum, ssnEnum, exeEnum)

## Enfin, appeler le wrapper !
NtCloseWrapper(h, NtSyscall.wSyscall, NtSyscall.pSyscall, NtSyscall.pFunction)

Consultez l'exemple runShellcode pour un exemple complet.
D'autres exemples sont également disponibles dans ntdll.

Télécharger l’outil
  • Support x86