Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Bitmancer — Nim-Bibliothek für Offensive-Security-Entwicklung | Kitploit
Tools/GitHubGitHub/zimawhit3/bitmancer
IDS/IPS-UmgehungShellcodePost-ExploitationDienstprogramme & FrameworksBinäranalyseRed TeamingPayload-Entwicklung
GitHubzimawhit3/bitmancer

Bitmancer

Nim-Bibliothek für Offensive-Security-Entwicklung

Repository anzeigen
20021vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Bitmancer

Bitmancer ist eine Bibliothek für die Entwicklung von Offensive-Security-Tooling für das Windows-Betriebssystem, geschrieben in Nim. Sie zielt darauf ab, gängige APIs, Routinen und Makros mit hochkonfigurierbaren, positionsunabhängigen, eigenständigen Implementierungen bereitzustellen.

Wenn du ein Implant entwickeln, eine schnelle PoC testen oder ein brandneues, glänzendes Tool schreiben möchtest – Bitmancer kann dir den Einstieg erleichtern!

⚠️ Dieses Repository ist derzeit ein massives WIP! Es könnte Probleme bei der Verwendung geben und es gibt derzeit keine Garantien für Stabilität. ⚠️

Abhängigkeiten

Bitmancer verwendet teilweise winim für seine Typen. Zur Installation führe Folgendes aus:

nimble install winim

Installation

Bitmancer ist noch nicht Teil des Nimble-Repositorys. Derzeit kannst du es einfach von Github installieren, indem du Folgendes ausführst:

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

Kompilieren

MingW und Nim führen Abhängigkeiten auf MSVCRT und Kernel32 sowie globale Variablen ein, die von Nims System-Modul verwendet werden. Wenn du diese für positionsunabhängigen Code vermeiden möchtest, verwende die bereitgestellte nim.cfg.

Zum Kompilieren: nim c -d:mingw <Your_Nim_File>

Verwendung

Für alle Module:

root@kitploit:~
import Bitmancer

Wenn du keine NTDLL-Routinen oder Syscalls benötigst, kannst du einfach Folgendes verwenden:

root@kitploit:~
import Bitmancer/core

Für nur die Hashing-Prozeduren:

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

Aktuelle TODOs:

  • Kompilierzeit-Definitionen vereinfacht (YAML?)
  • CI/CD
  • Beispiele
  • Dokumentation
  • Größerer Kompilierzeit-Hash-Seed
  • Tests!

Funktionen

Derzeit unterstützte Funktionen:

  • ApiSet-Namensauflösung
  • Gängige APIs (GetProcAddress, GetModuleHandle, GetSystemTime, usw.)
  • Hashing
    • Kompilierzeit
    • Laufzeit
  • Manueller Mapper
    • Von Datenträger
    • Aus dem Speicher 🚧
      • DLLs 🚧
      • COFFs 🚧
  • NTDLL
    • Nt*-Syscalls
    • Rtl*-Prozeduren
  • NTLoader-Datenbank
    • Verkettete Listen (LDR_DATA_TABLE_ENTRY)
    • Rot-Schwarz-Bäume (RTL_BALANCED_NODE)
  • Parsing und Hilfsprogramme für Portable Executables
  • SSN-Enumeration
    • Hell's Gate
    • Halo's Gate
    • Tartarus' Gate
    • LdrThunkSignatures
    • ZwCounter
  • Stack-Strings
  • Syscall-Evasion-Techniken
    • Direkte Syscalls
    • Indirekte Syscalls

Zukünftige Funktionen, die ich unterstützen möchte:

  • Anti-Debug-Routinen und Hilfsprogramme
  • Verschlüsselung
  • Ausnahmebehandlung
  • Callbacks
    • Instrumentiert
    • Nativ
    • VEH
  • Hooking-Routinen und Hilfsprogramme
  • Weitere NTDLL-Wrapper
  • Sleep-Evasion-Techniken
    • Death Sleep
    • CreateTimerQueueTimer
  • Stack-Spoofing
  • Syscall-Evasion-Techniken
    • Tamper

Wenn es eine Funktion/Technik gibt, die du implementiert haben möchtest, lass es mich wissen!

Beispiele

Stack-Strings:

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

Wenn du einen Wrapper um einen derzeit nicht verfügbaren Syscall generieren möchtest, ist der grundlegende Ablauf wie folgt:

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)

Siehe das runShellCode-Beispiel für ein vollständiges Beispiel.
Weitere Beispiele findest du auch in ntdll.

Tool herunterladen
  • x86-Unterstützung