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
MemoryMapper — Leichte Bibliothek, die es ermöglicht, sowohl native als auch verwaltete Assemblys in den Speicher zu laden, entweder durch Prozessinjektion in einen vom Benutzer angegebenen Prozess oder durch Selbstinjektion. | Kitploit
Tools/GitHubGitHub/jasondrawdy/memorymapper
ExploitationKryptographieBinäranalysePayload-Entwicklung
GitHubjasondrawdy/memorymapper

MemoryMapper

Leichte Bibliothek, die es ermöglicht, sowohl native als auch verwaltete Assemblys in den Speicher zu laden, entweder durch Prozessinjektion in einen vom Benutzer angegebenen Prozess oder durch Selbstinjektion.

Repository anzeigen
338vor 6 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

Memory Mapper

Memory Mapper ist eine leichtgewichtige Bibliothek, die es ermöglicht, sowohl native als auch verwaltete Assemblies in den Speicher zu laden, entweder durch Prozessinjektion in einen vom Benutzer angegebenen Prozess oder durch Selbstinjektion – die Technik, eine Assembly in den aktuell laufenden Prozess zu injizieren, der die Injektion versucht. Die Bibliothek bietet nicht nur Werkzeuge zum Laden von Assemblies, sondern auch die Möglichkeit, Daten zu verschlüsseln, zu entschlüsseln und verschiedene Mengen kryptografisch starker Daten zu erzeugen.

Voraussetzungen

Hinweis: (Gilt NUR für die laufende Assembly, die Memory Mapper verwendet – nicht für Stubs/Shellcode)

  • Windows 7 SP1 und höher
  • .NET Framework 4.6.1

Funktionen

  • Erkunden der Struktur einer PE (portable executable)

  • Lesen von Ressourcen aus verwalteten und nativen Assemblies

  • Laden nativer Assemblies in den Speicher mittels Prozessinjektion und Selbstinjektion

  • Laden verwalteter Assemblies in den Speicher mittels Prozessinjektion und anderen Techniken

  • Abrufen eines Byte-Arrays für eine beliebige Datei beliebiger Größe

  • Verschlüsseln und Entschlüsseln ganzer Dateien und roher Bytes

  • Erzeugen und Validieren von Prüfsummen für Dateien und rohe Bytes

  • Erzeugen kryptografisch starker Zufallsdaten mit einem SecureRandom-Objekt

  • Enthält mehrere Verschlüsselungs- und Hash-Algorithmen

    Verschlüsselung

    • AES (ECB)
    • AES (CBC)
    • AES (CFB)
    • AES (OFB)
    • AES (CTR)

    Hashing

    • MD5
    • RIPEMD160
    • SHA1
    • SHA256
    • SHA384
    • SHA512

Beispiele

Native Injektion

Dieses Beispiel zeigt, wie eine native Assembly statisch mit dem NativeLoader-Werkzeug in den Speicher geladen wird. Das Beispiel lädt die Datei, indem es alle Bytes von der Festplatte einliest und dann die PE (portable executable), die mit den Bytes verbunden ist, direkt in den Speicher injiziert. Durch die Verwendung des nativen Loaders in Verbindung mit der Dynamischen Code-Kompilierung aus meiner Amaterasu-Bibliothek könnte man eine On-the-Fly-Codekompilierung und -injektion direkt aus dem Speicher erreichen.

root@kitploit:~
using System;
using System.IO;
using System.Reflection;
using MemoryMapper;

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get the bytes of the file we want to load.
            var filePath = "FileToReadBytesOf";
            var fileBytes = File.ReadAllBytes(filePath);

            // Check if the assembly is managed or native.
            bool isManaged = false;
            try
            {
                // Note — this is one of the simplest variations of checking assemblies
                var assemblyName = AssemblyName.GetAssemblyName(filePath);
                if (assemblyName != null)
                    if (assemblyName.FullName != null)
                        isManaged = true;
            }
            catch { isManaged = false; }

            // Try loading the assembly if it's truly native.
            if (!isManaged)
            {
                NativeLoader loader = new NativeLoader();
                if (loader.LoadAssembly(fileBytes))
                    Console.WriteLine("Assembly loaded successfully!");
                else
                    Console.WriteLine("Assembly could not be loaded.");
            }

            // Wait for user interaction.
            Console.Read();
        }
    }
}

Managed Injektion

Dieses Beispiel zeigt, wie eine verwaltete Assembly statisch in den Speicher geladen wird, indem man ihre Bytes einliest – oder ein eingebettetes Byte-Array verwendet – und dann mit dem ManagedLoader in einen aktuell laufenden Prozess injiziert. Nahezu jede verwaltete Assembly kann mit dem bereitgestellten ManagedLoader-Werkzeug geladen werden.

root@kitploit:~
using System;
using System.IO;
using System.Reflection;
using MemoryMapper;

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get the bytes of the file we want to load.
            var filePath = "FileToReadBytesOf";
            var fileBytes = File.ReadAllBytes(filePath);

            // Check if the assembly is managed or native.
            bool isManaged = false;
            try
            {
                // Note — this is one of the simplest variations of checking assemblies
                var assemblyName = AssemblyName.GetAssemblyName(filePath);
                if (assemblyName != null)
                    if (assemblyName.FullName != null)
                        isManaged = true;
            }
            catch { isManaged = false; }

            // Try loading the assembly if it's truly managed.
            if (isManaged)
            {
                // Set the name of a surrogate process - the process we'll inject into.
                var processName = "explorer.exe"; // Can also be the current process's name for self-injection.
                ManagedLoader loader = new ManagedLoader();
                if (loader.LoadAssembly(fileBytes, processName))
                    Console.WriteLine("Assembly loaded successfully!");
                else
                    Console.WriteLine("Assembly could not be loaded.");
            }

            // Wait for user interaction.
            Console.Read();
        }
    }
}

Danksagungen

Icon: DesignBolts
http://www.designbolts.com/

Lizenz

Copyright © ∞ Jason Drawdy

Alle Rechte vorbehalten.

Die MIT-Lizenz (MIT)

Hiermit wird unentgeltlich, jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich und ohne Ausnahme der Rechte zur Verwendung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und um Personen, denen die Software bereitgestellt wird, diese Rechte zu gewähren, unter den folgenden Bedingungen:

Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE VERPFLICHTUNGEN, OB AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN.

Sofern nicht in diesem Hinweis enthalten, darf der Name des oben genannten Urheberrechtsinhabers nicht in Werbung oder anderweitig zur Förderung des Verkaufs, der Nutzung oder anderer Geschäfte mit dieser Software ohne vorherige schriftliche Genehmigung verwendet werden.

Tool herunterladen