6 dépôts
Utilities for reading and extracting data from kernel address space.
Distinct from Kernel: None of the candidates relate to reading kernel memory; they focus on filesystem mounts or custom kernel construction.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Kernel Memory Access. Refine with filters or upvote what's useful.
BCC is an eBPF development toolkit and tracing framework used for monitoring and analyzing the Linux kernel. It functions as a performance analysis tool and debugging utility to capture system events, measure kernel latency, and provide network observability. The project distinguishes itself by providing a build system that integrates with LLVM to compile C-like code into BPF bytecode at runtime. It utilizes BPF Type Format data for relocations to maintain cross-kernel compatibility and extracts kernel headers to ensure the generated programs match the specific kernel version. The toolkit co
Provides the ability to copy data or strings from kernel address space to the stack for safe processing.
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Reads kernel symbols and page tables to translate virtual addresses and inspect slab allocators.
Blackbone est une collection d'outils spécialisés pour le scan mémoire, l'injection de processus et les interfaces de pilotes noyau utilisés pour manipuler l'environnement d'exécution Windows. Il fournit un framework pour exécuter du code distant, mapper des images exécutables portables (PE) et gérer les threads à travers différentes limites de processus. Le projet inclut un pilote de mémoire noyau pour accéder à la mémoire noyau et modifier les droits des handles afin de masquer les allocations à la détection en mode utilisateur. Il dispose également d'une bibliothèque pour intercepter les appels de fonction dans des processus distants en utilisant des interruptions logicielles et des points d'arrêt matériels. La boîte à outils couvre des capacités plus larges en manipulation de mémoire virtuelle, telles que la lecture, l'écriture et l'allocation de mémoire dans des processus locaux ou distants. Elle fournit en outre des utilitaires pour la recherche de motifs mémoire afin de localiser des séquences d'octets spécifiques et la gestion de modules pour injecter ou éjecter des binaires.
Enables reading and modifying data within the kernel address space using a privileged driver.
Aya is a Rust-native framework for writing, compiling, and loading eBPF programs into the Linux kernel. It provides a complete development environment that eliminates the need for a C toolchain or libbpf, allowing developers to work entirely within the Rust ecosystem. The framework manages the full lifecycle of eBPF programs, including async runtime integration, CO-RE BTF resolution for kernel version portability, ELF-based program loading, and safe kernel memory access. The framework distinguishes itself through its pure Rust compilation pipeline, which compiles Rust source code directly int
Copies kernel data structures into eBPF context safely to prevent page faults.
Meltdown est un ensemble d'utilitaires logiciels conçus pour contourner la randomisation de l'adresse du noyau et dumper la mémoire physique afin d'exploiter des vulnérabilités de sécurité au niveau matériel. Il sert de preuve de concept pour la vulnérabilité matérielle Meltdown, permettant la lecture de la mémoire protégée du noyau sur les processeurs affectés. L'outil fournit des capacités pour identifier le décalage de randomisation secret de la carte physique directe afin de localiser la mémoire du noyau. Il inclut également une fonctionnalité pour exporter de larges segments de mémoire physique au format hexdump pour la récupération de chaînes et de mots de passe sensibles. Le projet couvre l'analyse de la mémoire via le calcul du décalage du noyau et la fuite de mémoire physique. Il inclut en outre la capacité de mesurer la précision et la cohérence des données extraites de la mémoire physique pour vérifier la fiabilité de la vulnérabilité matérielle.
Provides utilities for extracting sensitive data from protected kernel address spaces by bypassing architectural isolation.
Ce projet est une ressource éducative fournissant un tutoriel de développement complet pour écrire et charger des programmes eBPF en utilisant C, Go et Rust au sein du noyau Linux. Il sert de guide technique pour développer une logique personnalisée à exécuter directement dans le noyau. Les matériaux couvrent des domaines spécialisés, notamment l'observabilité et le traçage du noyau, l'implémentation de la sécurité pour la détection d'intrusion et l'ingénierie réseau haute performance pour le filtrage de paquets et l'équilibrage de charge. Il inclut également des manuels dédiés pour le traçage du noyau Linux et l'utilisation de kprobes, uprobes et tracepoints. Le projet englobe un large éventail de domaines de capacités, tels que l'instrumentation du noyau, la surveillance et l'observabilité du système, l'analyse réseau et l'application de la sécurité. Il s'étend en outre au débogage au niveau matériel pour les GPU et les pilotes, ainsi qu'à la manipulation système de bas niveau et à la gestion des ressources.
Implements safe memory copying from kernel structures into eBPF context to prevent system crashes.