Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
slirp_snapshots_stateful — «Snapshotting our way to CVE-2026-9539» ब्लॉगपोस्ट के लिए PoC | Kitploit
उपकरण/GitHubGitHub/quarkslab/slirp_snapshots_stateful
गतिशील विश्लेषण (सैंडबॉक्सिंग)भेद्यता विश्लेषणफज़िंगनेटवर्क सुरक्षाबाइनरी विश्लेषणपेपर और शोध
GitHubquarkslab/slirp_snapshots_stateful

slirp_snapshots_stateful

«Snapshotting our way to CVE-2026-9539» ब्लॉगपोस्ट के लिए PoC

रिपॉजिटरी देखें
2310 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
वेबसाइट
साझा करें

slirp_snapshots_stateful

इंस्टॉल करें और चलाएँ

चरण 0: निर्भरताएँ इंस्टॉल करें

sudo apt install meson ninja-build valgrind clang-20 binutils libglib-2.0-dev cmake python3-venv

Rust टूलचेन इंस्टॉल करें।

चरण 1: libafl क्लोन करें

libafl को fuzzer डायरेक्टरी के बगल में क्लोन करें और सही commit चेकआउट करें

git clone https://github.com/AFLplusplus/LibAFL.git libafl/
cd libafl
git checkout 6e7ea0da898b63c5098f84c0908a8c427a5c73ff

चरण 2: libafl पर पैच लागू करें

git apply ../patches/libafl/module_snapshot.patch
git apply ../patches/libafl/snapshot.patch
git apply ../patches/libafl/libafl_bolts_wide.patch
git apply ../patches/libafl/libafl_targets_simd.patch

चरण 3: libslirp क्लोन करें

cd ..
git clone https://gitlab.freedesktop.org/slirp/libslirp.git
cd libslirp
git checkout 4ddbcd5cc4f7a14473ebfc1dcdd1afb4edf96908

चरण 4: libslirp पर पैच लागू करें

git apply ../patches/libslirp/meson_fuzzing.patch
git apply ../patches/libslirp/meson_options.patch
git apply ../patches/libslirp/meson.patch
git apply ../patches/libslirp/qemu_target.patch
git apply ../patches/libslirp/tcp_input.patch
git apply ../patches/libslirp/tcp_outpt.patch

चरण 5: लक्ष्य को कंपाइल करें

CC=clang-20 CXX=clang++-20 meson build
ninja -C build

चरण 6: checksum के ret निर्देश का ऑफ़सेट खोजें

या तो cksum फ़ंक्शन के ret निर्देश का ऑफ़सेट खोजने के लिए बाइनरी को IDA/Binja/ghidra में खोलें या

nm -n build/fuzzing/qemu-target | grep cksum
objdump -d --disassemble=cksum build/fuzzing/qemu-target | grep -E '\bret[qwl]?\b'

आपको जो पहला ऑफ़सेट मिला उसे दूसरे से घटाएँ और fuzzer/src/libslirp/hooks.rs:200 में मान बदलें

चरण 7: fuzzer को कंपाइल करें

cd ../fuzzer
cargo +nightly build --release

नोट: आपके llvm इंस्टॉल के आधार पर आपको LLVM_CONFIG_PATH एनवायरनमेंट वेरिएबल निर्दिष्ट करने की आवश्यकता हो सकती है।

चरण 8: fuzzer चलाएँ

cp ../libslirp/build/fuzzing/qemu-target ./target/release/
cd target/release
mkdir corpus
RUST_LOG=warn ./slirp-snapshots-stateful-fuzzer

ASAN और कवरेज के साथ चलाएँ

चेतावनी: यह VM या नेटवर्क माउंट के साथ साझा किए गए फ़ोल्डरों में काम नहीं करता है।

offline_reproducer/runner/src/libslirp/hooks.rs:17 में ऑफ़सेट बदलने के लिए चरण 6 करें। फिर runner और driver को कंपाइल करें

cd runner
cargo +nightly-2026-06-11 build --release
cp target/release/offline_runner ../../fuzzer/target/release
cp target/release/x86_64-unknown-linux-gnu/release/libafl_qemu_asan_host.so ../../fuzzer/target/release
cd ../driver
cargo +nightly build --release
cp target/release/offline_driver ../../fuzzer/target/release
cd ../../fuzzer/target/release
mkdir corpus coverage repro_files

एक टर्मिनल में driver चलाएँ, फिर दूसरे में fuzzer चलाएँ।

RUST_LOG=warn ./offline_driver
RUST_LOG=warn ./slirp-snapshots-stateful-fuzzer

कवरेज

कवरेज फ़ाइलें coverage फ़ोल्डर में संग्रहीत की जाएँगी, इन्हें bncov (binja)/lighthouse (ida/binja)/lightkeeper (ghidra) के साथ खोला जा सकता है। यदि आवश्यक हो तो drcov-merge के साथ मर्जिंग की जा सकती है।

ज्ञात बग

  • बग मिलने पर Qemu मर जाता है और यह fuzzer को भी मार देता है (libafl की सीमा)।
  • offline reproducer क्रैश को crashes फ़ोल्डर में नहीं भेजता है।
टूल डाउनलोड करें