
Memory-API-Proxy via signierter mozglue.dll
Forschungserkennungs-PoC: Proxying von Speicheroperationen (Speichermapping, lokale Speicherzuweisung) durch Mozillas signierte mozglue.dll, so dass Kernel-Callbacks das endgültige Benutzermodul einer vertrauenswürdigen Anbieter-DLL (Mozilla-signiert) anstelle eines nicht vertrauenswürdigen oder unsignierten Moduls zuordnen.
Beide sind MFBT_API-Exporte aus mozglue.dll (Firefox-Installation erforderlich):
| Modus | Export | Mozilla-Quelle |
|---|---|---|
inject | mozilla::MapRemoteViewOfFile | WindowsMapRemoteView.cpp · header |
alloc | MozVirtualAlloc | mozjemalloc.cpp · mozmemory_wrap.h |
x64 MSVC gemangte Namen:
?MapRemoteViewOfFile@mozilla@@YAPEAXPEAX0_K01KK@Z
MozVirtualAlloc
MSYS2 mingw-w64:
./build.sh
./build.sh shellcode # optional: rebuild shellcode/msgbox.bin
Ein vorgebautes mozglue_gate.exe ist im Repository für schnelle Detection-Engineering-Tests enthalten (64-Bit, erfordert installiertes Firefox).
# Cross-process map + APC (MapRemoteViewOfFile)
.\mozglue_gate.exe inject <pid> shellcode\msgbox.bin
# Local RWX alloc (MozVirtualAlloc)
.\mozglue_gate.exe alloc --size 10240
shellcode/msgbox.bin zeigt "Hello from Mozglue" / Beschriftung gluegate (kein untergeordneter Prozess).
Erfordert klassisches Firefox: C:\Program Files\Mozilla Firefox\mozglue.dll (oder --mozglue / MOZGLUE_DLL).
Endgültiges Benutzermodul ist von Mozilla Corporation signiert/vertrauenswürdig
MapViewOfFile
VirtualAlloc
mozglue.dll!MozVirtualAlloc oder mozglue.dll!?MapRemoteViewOfFile im Aufrufstapel von einem unsignierten oder nicht von Mozilla signierten Prozess.mozilla.dll lädt (insbesondere eine bereits installierte in Programmdateien).Nur für autorisierte Sicherheitsforschung und Erkennungstests.