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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
jailer — Jailer एक eBPF-आधारित प्रोसेस जेलिंग सिस्टम है जो Linux के लिए अनिवार्य एक्सेस नियंत्रण (MAC) प्रदान करता है। यह BPF task_storage मैप्स का उपयोग करके प्रोसेस को ट्रैक करता है और फ़ाइल एक्सेस, नेटवर्क ऑपरेशन तथा प्रोसेस निष्पादन पर भूमिका-आधारित नीतियों को लागू करता है। | Kitploit
उपकरण/GitHubGitHub/gen0sec/jailer
रक्षात्मक उपकरणकंटेनर सुरक्षानेटवर्क सुरक्षाक्लाउड सुरक्षा
GitHubgen0sec/jailer

jailer

Jailer एक eBPF-आधारित प्रोसेस जेलिंग सिस्टम है जो Linux के लिए अनिवार्य एक्सेस नियंत्रण (MAC) प्रदान करता है। यह BPF task_storage मैप्स का उपयोग करके प्रोसेस को ट्रैक करता है और फ़ाइल एक्सेस, नेटवर्क ऑपरेशन तथा प्रोसेस निष्पादन पर भूमिका-आधारित नीतियों को लागू करता है।

रिपॉजिटरी देखें
582116 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

जेलर - eBPF अनिवार्य एक्सेस नियंत्रण

चेतावनी: यह परियोजना भारी विकास के अधीन है और उत्पादन उपयोग के लिए तैयार नहीं है. एपीआई, नीति प्रारूप और व्यवहार बिना सूचना के बदल सकते हैं. केवल परीक्षण और प्रयोग के लिए उपयोग करें.

आभार

नोट: यह एक स्वतंत्र कार्यान्वयन है और मेटा के समाधान के समान परियोजना नहीं है. जबकि BpfJailer कार्यात्मक रूप से समान है और लियाम वाइज़हार्ट, जस्टिन न्गा, कार्ल एल खौरी, मनसी चड्ढा (मेटा) द्वारा मूल विचार और डिज़ाइन से प्रेरित है, यह एक अलग कोडबेस है जिसे स्वतंत्र रूप से विकसित किया गया है. हम उस दृष्टि और मूलभूत अवधारणाओं के लिए आभार व्यक्त करते हैं जिन्होंने इस कार्य को प्रेरित किया.

समुदाय

Join us on Discord Substack

जेलर एक eBPF-आधारित प्रक्रिया जेलिंग प्रणाली है जो लिनक्स के लिए अनिवार्य एक्सेस नियंत्रण (MAC) प्रदान करती है. यह BPF task_storage मैप्स का उपयोग करके प्रक्रियाओं को ट्रैक करता है और फ़ाइल एक्सेस, नेटवर्क संचालन और प्रक्रिया निष्पादन पर भूमिका-आधारित नीतियाँ लागू करता है.

विशेषताएं (वर्तमान संस्करण)

विशेषतास्थितिविवरण
प्रक्रिया ट्रैकिंग✅ कार्यरतtask_storage BPF मैप का उपयोग करके प्रक्रियाओं को ट्रैक करता है
सॉकेट नामांकन✅ कार्यरतप्रक्रियाएँ यूनिक्स सॉकेट API के माध्यम से नामांकन करती हैं
भूमिका-आधारित नीतियाँ✅ कार्यरतप्रतिबंधित और अनुमोदक भूमिकाएँ
फ़ाइल एक्सेस नियंत्रण✅ कार्यरतफ़ाइल खोलने के संचालन को ब्लॉक/अनुमति दें
जेल विरासत✅ कार्यरतचाइल्ड प्रक्रियाएँ पैरेंट की जेल प्राप्त करती हैं
नेटवर्क नियंत्रण✅ कार्यरतसॉकेट बाइंड/कनेक्ट को ब्लॉक/अनुमति दें
पोर्ट/प्रोटोकॉल फ़िल्टरिंग✅ कार्यरतप्रति-पोर्ट TCP/UDP अनुमति/अस्वीकार नियम
निष्पादन नियंत्रण✅ कार्यरतप्रक्रिया निष्पादन को ब्लॉक/अनुमति दें
पथ मिलान✅ कार्यरतकैश अमान्यकरण के साथ डेंट्री वॉकिंग
हस्ताक्षरित बाइनरी🚧 स्टबबाइनरी हस्ताक्षर सत्यापन (लागू नहीं)
वैकल्पिक नामांकन✅ कार्यरतनिष्पादन योग्य, cgroup या xattr द्वारा स्वतः-नामांकन
डेमॉनलेस मोड✅ कार्यरतबूटस्ट्रैप बाइनरी प्रारंभिक बूट पर प्रोग्राम पिन करता है
ऑडिट ईवेंट✅ कार्यरतsystemd-journald एकीकरण के लिए परफ बफर

Nginx डेमो

Nginx demo

जटिल डेमो

asciicast

कर्नेल आवश्यकताएँ

न्यूनतम कर्नेल संस्करण

  • लिनक्स 5.11+ (BPF_MAP_TYPE_TASK_STORAGE समर्थन के लिए)
  • अनुशंसित: लिनक्स 6.1+ (बेहतर BTF समर्थन)

आवश्यक कर्नेल कॉन्फ़िगरेशन

# Check current kernel config
zcat /proc/config.gz 2>/dev/null || cat /boot/config-$(uname -r)

आवश्यक विकल्प:

CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_LSM=y
CONFIG_DEBUG_INFO_BTF=y

BPF LSM सक्षम करें

BPF LSM को कर्नेल बूट पैरामीटर में सक्षम होना चाहिए:

# Check if BPF LSM is active
cat /sys/kernel/security/lsm
# Should include "bpf" in the list

# If not, add to kernel boot parameters:
# Edit /etc/default/grub and add to GRUB_CMDLINE_LINUX:
#   lsm=lockdown,capability,landlock,yama,apparmor,bpf

# Then update grub and reboot:
sudo update-grub
sudo reboot

Ubuntu/Debian सिस्टम के लिए, आप इसका भी उपयोग कर सकते हैं:

# Create a script to enable BPF LSM
cat > /tmp/enable_bpf_lsm.sh << 'EOF'
#!/bin/bash
GRUB_FILE="/etc/default/grub"
if grep -q "lsm=" "$GRUB_FILE"; then
    sudo sed -i 's/lsm=[^""]*/lsm=lockdown,capability,landlock,yama,apparmor,bpf/' "$GRUB_FILE"
else
    sudo sed -i 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="\1 lsm=lockdown,capability,landlock,yama,apparmor,bpf"/' "$GRUB_FILE"
fi
sudo update-grub
echo "BPF LSM enabled. Please reboot."
EOF
chmod +x /tmp/enable_bpf_lsm.sh
sudo /tmp/enable_bpf_lsm.sh

बिल्ड

पूर्वापेक्षाएँ

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install build dependencies (Ubuntu/Debian)
sudo apt-get install -y clang llvm libelf-dev linux-headers-$(uname -r)

# Install BPF target for Rust
rustup target add bpfel-unknown-none

सभी घटक बनाएँ

cd bpfjail

# Build BPF programs
cd bpfjailer-bpf && cargo build --release && cd ..

# Build daemon and client
cargo build --release

त्वरित प्रारंभ

1. डेमॉन प्रारंभ करें

# Run as root (loads config/policy.json if present)
sudo RUST_LOG=info ./target/release/bpfjailer-daemon

अपेक्षित आउटपुट:

[INFO] BpfJailer daemon starting...
[INFO] Loading BpfJailer eBPF programs with libbpf-rs...
[INFO] ✓ pending_enrollments map available for enrollment
[INFO] ✓ network_rules map available for port/protocol filtering
[INFO] ✓ task_storage map created successfully
[INFO] ✓ Program task_alloc attached
[INFO] ✓ Program file_open attached
[INFO] ✓ Program socket_bind attached
[INFO] ✓ Program socket_connect attached
[INFO] ✓ Program bprm_check_security attached
[INFO] Initialized with default roles: restricted (1), permissive (2)
[INFO] Loaded policy from config/policy.json
[INFO] Loaded 5 roles
[INFO] Enrollment server listening on /run/bpfjailer/enrollment.sock

2. सुरक्षा परीक्षण चलाएँ

# Run vulnerability tests WITHOUT jailing (shows attacks succeed)
sudo python3 tests/vulnerable_apps/run_tests.py

# Run vulnerability tests WITH restricted role (shows attacks blocked)
sudo python3 tests/vulnerable_apps/run_tests.py --role 1

# Run specific test
sudo python3 tests/vulnerable_apps/run_tests.py --role 1 --test path

# List available tests and roles
sudo python3 tests/vulnerable_apps/run_tests.py --list

प्रतिबंधित भूमिका के साथ नमूना आउटपुट:

============================================================
TEST: Path Traversal / Arbitrary File Read
============================================================
Attempting to read /etc/passwd via path traversal...
BLOCKED - Permission denied (BpfJailer blocked file access)

============================================================
TEST: Command Injection
============================================================
Attempting command injection...
BLOCKED - Permission denied (BpfJailer blocked exec)

============================================================
TEST: Reverse Shell / Data Exfiltration
============================================================
Test 1: Reverse shell connection to 127.0.0.1:4444
BLOCKED - Permission denied (BpfJailer blocked connect)

उपलब्ध सुरक्षा परीक्षण

परीक्षणकमजोरीशमनकर्ता
path_traversal../ के माध्यम से मनमानी फ़ाइल पढ़नाप्रतिबंधित, पृथक
command_injectionशेल कमांड निष्पादनप्रतिबंधित, वेबसर्वर, पृथक
reverse_shellहमलावर के लिए बाहरी कनेक्शनप्रतिबंधित, पृथक
ssrfआंतरिक सेवाएँ/क्लाउड मेटाडेटा तक पहुँचप्रतिबंधित, पृथक
arbitrary_writeसंवेदनशील पथों पर लिखनाप्रतिबंधित
crypto_minerडाउनलोड + निष्पादित + पूल से कनेक्टप्रतिबंधित, वेबसर्वर
privilege_escalationशैडो पढ़ना, sudoers लिखनाप्रतिबंधित

3. मैन्युअल नामांकन परीक्षण

#!/usr/bin/env python3
import socket
import json
import os

# Connect to daemon
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.connect("/run/bpfjailer/enrollment.sock")

# Enroll with restricted role (ID 1)
request = {"Enroll": {"pod_id": 1, "role_id": 1}}
sock.send((json.dumps(request) + "\n").encode())
response = sock.recv(4096).decode()
print(f"Enrollment: {response}")
sock.close()

# Try to read a file (should be blocked)
try:
    open("/etc/passwd").read()
    print("File access: ALLOWED")
except PermissionError:
    print("File access: BLOCKED")

नीति फ़ाइल

BpfJailer एक JSON नीति फ़ाइल से भूमिकाएँ लोड करता है. डेमॉन इस क्रम में नीति फ़ाइल खोजता है:

टूल डाउनलोड करें