OPFORGE Rebrand Checklist for Mimikatz
This step-by-step guide simplifies the process of rebranding Mimikatz under the OPFORGE project. Use it to create a portfolio-grade build aligned with Threat Emulation, Detection Engineering, and Explainable AI objectives.
Maintainer: Alfredo Pelaez
Date: 2025-05-31
Project Alignment: OPFORGE | High-Yield Performance & Results (H.Y.P.R.) Mindset
✅ Phase 1: Clone and Prepare the Repo
Clone the Mimikatz repository:
git clone --recursive https://github.com/gentilkiwi/mimikatz.git Tools/mimikatz
Create a backup copy:
cp -r Tools/mimikatz Tools/mimikatz-original
Prepare script path and workspace:
New-Item -Path "C:\OPFORGE\Scripts" -ItemType Directory -Force
✅ Phase 2: Automated Rebranding via PowerShell
Run the global text replacement:
$root = "C:\OPFORGE\Tools\mimikatz" Get-ChildItem -Path $root -Recurse -File | ForEach-Object { (Get-Content $_.FullName) ` -replace "mimikatz", "opforge" ` -replace "Mimikatz", "OPFORGE" ` -replace "MIMIKATZ", "OPFORGE" ` -replace "gentilkiwi", "opforge" ` -replace "Benjamin", "Alfredo" ` -replace "Delpy", "Pelaez" ` -replace "[email protected]", "[email protected]" ` | Set-Content $_.FullName }
Rename key project files/folders:
Rename-Item "$root\mimikatz.sln" "opforge.sln" Rename-Item "$root\mimikatz" "opforge"
Patch the solution file:
(Get-Content "$root\opforge.sln") ` -replace "mimikatz.vcxproj", "opforge.vcxproj" ` | Set-Content "$root\opforge.sln"
✅ Phase 3: Branding Customization
Update terminal banner in
opforge.c
:kprintf(L"\n OPFORGE Toolkit v1.0 | Threat Emulation | Detection Engineering | XAI\n"); kprintf(L" H.Y.P.R. Mindset | https://opforge.dev | Maintainer: Alfredo Pelaez\n\n");
Modify the shell prompt:
kprintf(L"\nopforge # ");
Optionally update:
- Version macros
about
module text- License headers
✅ Phase 4: Build and Debug
Open the solution in Visual Studio 2022.
Retarget the solution:
- Right-click the solution → Retarget Projects → Select your installed toolset
Set the startup project to
opforge
, build forx64 | Release
.Troubleshoot build errors:
- Resolve missing exports like
kdbg_mimikatz
- Patch unresolved symbols
- Update the
.def
file to match your rebranded entry points
- Resolve missing exports like
✅ Phase 5: Validation and Use
Run the final binary:
.\x64\opforge.exe
Confirm output:
- ASCII art and terminal header are updated
- Interactive prompt shows
opforge #
- All commands execute without errors
Version control:
git add . git commit -m "Apply OPFORGE rebranding to Mimikatz base" git push origin opforge-main
🧠 Future Improvements
- Rename command strings via macro (
L"sekurlsa"
→OPF_SEKURLSA
) and refactor source - Customize internal module help text
- Build
.msi
or.zip
for OPFORGE deployment - Integrate telemetry or logging for operator feedback (in lab only)
End of Checklist
This post is part of the OPFORGE project series on Threat Emulation and AI-Enhanced Detection Engineering.