Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
AgentSmith-HIDS — Kprobe प्रौद्योगिकी द्वारा ओपन सोर्स होस्ट-आधारित घुसपैठ का पता लगाने की प्रणाली (HIDS), E_Bwill से। | Kitploit
उपकरण/GitHubGitHub/ebwi11/agentsmith-hids
विशेषाधिकार वृद्धिटोहीकंटेनर सुरक्षाखतरा खुफियाघुसपैठ का पता लगानाघटना प्रतिक्रियाDNS विश्लेषणArchived
GitHubebwi11/agentsmith-hids

AgentSmith-HIDS

Kprobe प्रौद्योगिकी द्वारा ओपन सोर्स होस्ट-आधारित घुसपैठ का पता लगाने की प्रणाली (HIDS), E_Bwill से।

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

AgentSmith-HIDS

                        --इस परियोजना का नाम फिल्म - द मैट्रिक्स से प्रेरित था

License Project Status: Active – The project has reached a stable, usable state and is being actively developed.

English | 简体中文

यह रिपॉजिटरी पुरानी है

रिलीज़ संस्करण: https://github.com/bytedance/Elkeid

AgentSmith-HIDS के बारे में

तकनीकी रूप से, AgentSmith-HIDS एक होस्ट-आधारित आक्रमण पहचान प्रणाली (HIDS) नहीं है, क्योंकि इसमें नियम इंजन और पहचान फ़ंक्शन का अभाव है। हालांकि, इसे आपके स्वयं के HIDS समाधान के भाग के रूप में उच्च प्रदर्शन 'होस्ट सूचना संग्रह एजेंट' के रूप में उपयोग किया जा सकता है। इस एजेंट द्वारा एकत्र की जा सकने वाली जानकारी की व्यापकता इस परियोजना के विकास के दौरान सबसे महत्वपूर्ण मापदंडों में से एक थी, इसलिए इसे कर्नेल स्टैक में कार्य करने के लिए बनाया गया था, जो यूज़र स्टैक में कार्य करने वालों की तुलना में बहुत बड़ा लाभ प्राप्त करता है, जैसे:

  • बेहतर प्रदर्शन, आवश्यक जानकारी कर्नेल स्टैक में एकत्र की जाती है, ताकि '/proc' के ट्रैवर्सल जैसी अतिरिक्त पूरक कार्रवाइयों से बचा जा सके; और डेटा परिवहन के प्रदर्शन को बढ़ाने के लिए, एकत्रित डेटा को नेटलिंक के बजाय साझा रैम के माध्यम से स्थानांतरित किया जाता है।
  • बायपास करना कठिन, सूचना संग्रह विशेष रूप से डिज़ाइन किए गए कर्नेल ड्राइवर द्वारा संचालित होता है, जिससे रूटकिट जैसे दुर्भावनापूर्ण सॉफ़्टवेयर के लिए पहचान को बायपास करना लगभग असंभव हो जाता है, जो जानबूझकर खुद को छुपा सकते हैं।
  • एकीकृत करना आसान, AgentSmith-HIDS को अन्य एप्लिकेशन के साथ एकीकृत करने के लिए बनाया गया था और इसका उपयोग न केवल सुरक्षा उपकरण के रूप में बल्कि एक अच्छा निगरानी उपकरण, या यहां तक कि आपकी संपत्तियों का अच्छा डिटेक्टर के रूप में भी किया जा सकता है। एजेंट आपके लिए उपयोगकर्ताओं, फ़ाइलों, प्रक्रियाओं और इंटरनेट कनेक्शनों को एकत्र करने में सक्षम है, तो कल्पना करें कि जब आप इसे CMDB के साथ एकीकृत करते हैं, तो आपको अपने नेटवर्क, होस्ट, कंटेनर और व्यवसाय (यहां तक कि निर्भरताएं) से युक्त एक व्यापक मानचित्र प्राप्त हो सकता है। क्या होगा यदि आपके पास एक डेटाबेस ऑडिट टूल भी हो? मानचित्र को आपके DB, DB उपयोगकर्ता, तालिकाओं, फ़ील्ड्स, एप्लिकेशन, नेटवर्क, होस्ट और कंटेनरों आदि के बीच संबंध शामिल करने के लिए बढ़ाया जा सकता है। नेटवर्क आक्रमण पहचान प्रणाली और/या खतरा खुफिया आदि के साथ एकीकरण की संभावना के बारे में सोचते हुए, उच्च ट्रेसैबिलिटी भी प्राप्त की जा सकती है। यह कभी पुराना नहीं होता।
  • कर्नेल स्टैक + यूज़र स्टैक, AgentSmith-HIDS यूज़र स्टैक मॉड्यूल भी प्रदान करता है, ताकि कर्नेल स्टैक मॉड्यूल के साथ काम करते समय कार्यक्षमता को और बढ़ाया जा सके।

AgentSmith-HIDS की प्रमुख क्षमताएं:

  • कर्नेल स्टैक मॉड्यूल Kprobe के माध्यम से execve, connect, process inject, create file, DNS query, load LKM व्यवहारों को हुक करता है, और Linux namespace के साथ संगत होने के कारण कंटेनरों की निगरानी करने में भी सक्षम है।
  • यूज़र स्टैक मॉड्यूल अंतर्निहित पहचान फ़ंक्शन का उपयोग करता है जिसमें उपयोगकर्ता सूची, सुनने वाले पोर्ट की सूची, सिस्टम RPM सूची, अनुसूचित कार्य के प्रश्न शामिल हैं।
  • एंटीरूटकिट, स्रोत: Tyton , अब के लिए PROC_FILE_HOOK, SYSCALL_HOOK, LKM_HIDDEN, INTERRUPTS_HOOK सुविधा जोड़ें, लेकिन केवल कर्नेल > 3.10 पर काम करता है।
  • क्रेड चेंज मॉनिटरिंग (sudo/su/sshd को छोड़कर)
  • उपयोगकर्ता लॉगिन मॉनिटरिंग

AgentSmith-HIDS के उपयोग के परिदृश्य/तरीके (जोड़े जाने हैं)

  • AgentSmith HIDS द्वारा रिवर्स शेल का पता कैसे लगाएं

कर्नेल संस्करण के साथ संगतता के बारे में

  • कर्नेल > 2.6.25
  • एंटीरूटकिट > 3.10

कंटेनरों के साथ संगतता के बारे में

स्रोतनोडनाम
होस्टहोस्टनाम
डॉकरकंटेनर नाम
k8sपॉड नाम

AgentSmith-HIDS की संरचना

  • कर्नेल स्टैक मॉड्यूल (LKM) आवश्यक जानकारी कैप्चर करने के लिए Kprobe के माध्यम से मुख्य फ़ंक्शन को हुक करें।
  • यूज़र स्टैक मॉड्यूल कर्नेल स्टैक मॉड्यूल द्वारा कैप्चर किए गए डेटा को एकत्र करें, आवश्यक प्रसंस्करण करें और इसे Kafka को भेजें; सर्वर पर हार्टबीट पैकेट भेजना जारी रखें ताकि प्रक्रिया अखंडता की पहचान की जा सके; सर्वर से प्राप्त कमांड निष्पादित करें।
  • एजेंट सर्वर (वैकल्पिक) यूज़र स्टैक मॉड्यूल को कमांड भेजें और यूज़र स्टैक मॉड्यूल की स्थिति की निगरानी करें।

Execve हुक

sys_execve()/sys_execveat()/compat_sys_execve()/compat_sys_execveat() को हुक करके प्राप्त किया गया, उदाहरण:

root@kitploit:~
{
    "uid":"0",
    "data_type":"59",
    "run_path":"/tmp",
    "exe":"/opt/ltp/testcases/bin/growfiles",
    "argv":"growfiles -W gf26 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 128-32768:128 -R 512-64000 -T 4 -f gfsmallio-35861 -d /tmp/ltp-Ujxl8kKsKY ",
    "pid":"35861",
    "ppid":"35711",
    "pgid":"35861",
    "tgid":"35861",
    "comm":"growfiles",
    "nodename":"test",
    "stdin":"/dev/pts/1",
    "stdout":"/dev/pts/1",
    "sessionid":"3",
    "sip":"192.168.165.1",
    "sport":"61726",
    "dip":"192.168.165.128",
    "dport":"22",
    "sa_family":"1",
    "pid_tree":"1(systemd)->1384(sshd)->2175(sshd)->2177(bash)->2193(fish)->35552(runltp)->35711(ltp-pan)->35861(growfiles)",
    "tty_name":"pts1",
    "socket_process_pid":"2175",
    "socket_process_exe":"/usr/sbin/sshd",
    "SSH_CONNECTION":"192.168.165.1 61726 192.168.165.128 22",
    "LD_PRELOAD":"/root/ldpreload/test.so",
    "user":"root",
    "time":"1579575429143",
    "local_ip":"192.168.165.128",
    "hostname":"test",
    "exe_md5":"01272152d4901fd3c2efacab5c0e38e5",
    "socket_process_exe_md5":"686cd72b4339da33bfb6fe8fb94a301f"
}

बाइंड हुक

sys_bind() को हुक करके प्राप्त किया गया, उदाहरण:

root@kitploit:~
{
    "uid":"0",
    "data_type":"49",
    "sa_family":"2",
    "exe":"/usr/bin/python2.7",
    "pid":"109640",
    "ppid":"215496",
    "pgid":"109640",
    "tgid":"109640",
    "comm":"python",
    "nodename":"n225-117-018",
    "sip":"0.0.0.0",
    "sport":"8000",
    "res":"0",
    "sessionid":"30",
    "user":"root",
    "time":"1587540231936",
    "local_ip_str":"10.225.117.18",
    "hostname_str":"n225-117-018",
    "exe_md5":"4f458165a2129ba549f1b6605ee87e74"
}

कनेक्ट हुक

tcp_v4_connect()/tcp_v6_connect()/ip4_datagram_connect()/ip6_datagram_connect() को हुक करके प्राप्त किया गया, उदाहरण:

root@kitploit:~
{
    "uid":"0",
    "data_type":"42",
    "sa_family":"2",
    "connect_type":"4",
    "dport":"1025",
    "dip":"180.101.49.11",
    "exe":"/usr/bin/ping",
    "pid":"6294",
    "ppid":"1941",
    "pgid":"6294",
    "tgid":"6294",
    "comm":"ping",
    "nodename":"test",
    "sip":"192.168.165.153",
    "sport":"45524",
    "res":"0",
    "sessionid":"1",
    "user":"root",
    "time":"1575721921240",
    "local_ip":"192.168.165.153",
    "hostname":"test",
    "exe_md5":"735ae70b4ceb8707acc40bc5a3d06e04"
}

DNS क्वेरी हुक

udp_recvmsg()/udpv6_recvmsg() को हुक करके प्राप्त किया गया, उदाहरण:

root@kitploit:~
{
    "uid":"0",
    "data_type":"601",
    "sa_family":"2",
    "dport":"53",
    "dip":"192.168.165.2",
    "exe":"/usr/bin/ping",
    "pid":"6294",
    "ppid":"1941",
    "pgid":"6294",
    "tgid":"6294",
    "comm":"ping",
    "nodename":"test",
    "sip":"192.168.165.153",
    "sport":"53178",
    "qr":"1",
    "opcode":"0",
    "rcode":"0",
    "query":"www.baidu.com",
    "sessionid":"1",
    "user":"root",
    "time":"1575721921240",
    "local_ip":"192.168.165.153",
    "hostname":"test",
    "exe_md5":"39c45487a85e26ce5755a893f7e88293"
}

फ़ाइल बनाएं हुक

security_inode_create() को हुक करके प्राप्त किया गया, उदाहरण:

root@kitploit:~
{
    "uid":"0",
    "data_type":"602",
    "exe":"/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/java",
    "file_path":"/tmp/kafka-logs/replication-offset-checkpoint.tmp",
    "pid":"3341",
    "ppid":"1",
    "pgid":"2657",
    "tgid":"2659",
    "comm":"kafka-scheduler",
    "nodename":"test",
    "sessionid":"3",
    "user":"root",
    "time":"1575721984257",
    "local_ip":"192.168.165.153",
    "hostname":"test",
    "exe_md5":"215be70a38c3a2e14e09d637c85d5311",
    "create_file_md5":"d41d8cd98f00b204e9800998ecf8427e"
}

प्रक्रिया इंजेक्ट हुक

sys_ptrace() को हुक करके प्राप्त किया गया, उदाहरण:

root@kitploit:~
{
    "uid":"0",
    "data_type":"101",
    "ptrace_request":"4",
    "target_pid":"7402",
    "addr":"00007ffe13011ee6",
    "data":"-a",
    "exe":"/root/ptrace/ptrace",
    "pid":"7401",
    "ppid":"1941",
    "pgid":"7401",
    "tgid":"7401",
    "comm":"ptrace",
    "nodename":"test",
    "sessionid":"1",
    "user":"root",
    "time":"1575722717065",
    "local_ip":"192.168.165.153",
    "hostname":"test",
    "exe_md5":"863293f9fcf1af7afe5797a4b6b7aa0a"
}

LKM फ़ाइल लोड करें हुक

load_module() को हुक करके प्राप्त किया गया, उदाहरण:

root@kitploit:~
{
    "uid":"0",
    "data_type":"603",
    "exe":"/usr/bin/kmod",
    "lkm_file":"/root/ptrace/ptrace",
    "pid":"29461",
    "ppid":"9766",
    "pgid":"29461",
    "tgid":"29461",
    "comm":"insmod",
    "nodename":"test",
    "sessionid":"13",
    "user":"root",
    "time":"1577212873791",
    "local_ip":"192.168.165.152",
    "hostname":"test",
    "exe_md5":"0010433ab9105d666b044779f36d6d1e",
    "load_file_md5":"863293f9fcf1af7afe5797a4b6b7aa0a"
}

क्रेड चेंज हुक

commit_creds() को हुक करके प्राप्त किया गया, उदाहरण:

root@kitploit:~
{
    "uid":"0",
    "data_type":"604",
    "exe":"/tmp/tt",
    "pid":"27737",
    "ppid":"26865",
    "pgid":"27737",
    "tgid":"27737",
    "comm":"tt",
    "old_uid":"1000",
    "nodename":"test",
    "sessionid":"42",
    "user":"root",
    "time":"1578396197131",
    "local_ip":"192.168.165.152",
    "hostname":"test",
    "exe_md5":"d99a695d2dc4b5099383f30964689c55"
}

उपयोगकर्ता लॉगिन अलर्ट

root@kitploit:~
{
    "data_type":"1001",
    "status":"Failed",
    "type":"password",
    "user_exsit":"false",
    "user":"sad",
    "from_ip":"192.168.165.1",
    "port":"63089",
    "processor":"ssh2",
    "time":"1578405483119",
    "local_ip":"192.168.165.128",
    "hostname":"localhost.localdomain"
}

PROC फ़ाइल हुक अलर्ट

root@kitploit:~
{
    "uid":"-1",
    "data_type":"700",
    "module_name":"autoipv6",
    "hidden":"0",
    "time":"1578384987766",
    "local_ip":"192.168.165.152",
    "hostname":"test"
}

Syscall हुक अलर्ट

root@kitploit:~
{
    "uid":"-1",
    "data_type":"701",
    "module_name":"diamorphine",
    "hidden":"1",
    "syscall_number":"78",
    "time":"1578384927606",
    "local_ip":"192.168.165.152",
    "hostname":"test"
}

LKM छिपा अलर्ट

root@kitploit:~
{
    "uid":"-1",
    "data_type":"702",
    "module_name":"diamorphine",
    "hidden":"1",
    "time":"1578384927606",
    "local_ip":"192.168.165.152",
    "hostname":"test"
}

इंटरप्ट हुक अलर्ट

root@kitploit:~
{
    "uid":"-1",
    "data_type":"703",
    "module_name":"syshook",
    "hidden":"1",
    "interrupt_number":"2",
    "time":"1578384927606",
    "local_ip":"192.168.165.152",
    "hostname":"test"
}

AgentSmith-HIDS के प्रदर्शन के बारे में

परीक्षण वातावरण (VM):

CPUIntel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz 4Core
RAM8GB
OS/कर्नेलDebian9 / 4.14.81.bm.19-amd64

परीक्षण भार:

ltp -f syscalls

परीक्षण परिणाम (1 मिनट):

मूल परीक्षण डेटा:

बेंचमार्क डेटा

cyclictest परीक्षण

cyclictest -p 90 - m -c 0 -i 200 -n -h 100 -q -l 1000000

Smith अनइंस्टॉल करें:

root@kitploit:~
# Total: 000999485
# Min Latencies: 00002
# Avg Latencies: 00007
# Max Latencies: 13905
# Histogram Overflows: 00515

Smith इंस्टॉल करें:

root@kitploit:~
# Total: 000999519
# Min Latencies: 00002
# Avg Latencies: 00007
# Max Latencies: 15216
# Histogram Overflows: 00481

time -v /opt/ltp/testcases/bin/execve05 -n 30000

10 बार

Smith इंस्टॉल करें:

औसत उपयोगकर्ता समय (s)औसत सिस्टम समय (s)
22.32914.885

Smith अनइंस्टॉल करें:

औसत उपयोगकर्ता समय (s)औसत सिस्टम समय (s)
22.27114.395

तैनाती और परीक्षण उद्देश्यों के लिए दस्तावेज़:

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

विशेष धन्यवाद (क्रम में नहीं)

yuzunzhi

hapood

HF-Daniel

smcdef

डेवलपर का वीचैट

'灾难控制局' का वीचैट चैनल

हम इस चैनल के माध्यम से AgentSmith-HIDS की कार्यक्षमताओं के बारे में लगातार जानकारी प्रदान करेंगे, नवीनतम समाचार प्राप्त करने के लिए एक अच्छी जगह :)

लाइसेंस

AgentSmith-HIDS कर्नेल मॉड्यूल GNU GPLv2 लाइसेंस के तहत वितरित किए जाते हैं।

टूल डाउनलोड करें
हुक हैंडलरऔसत विलंब (us)TP99 (us)TP95 (us)TP90 (us)
connect_entry_handler0.29146.76270.3550.3012
connect_handler2.140618.380112.1027.832
execve_entry_handler5.932013.70349.9088.334
execve_handler6.882626.058415.997612.6260
security_inode_create_entry_handler1.99639.30426.77304.6816
security_inode_create_handler4.211413.21658.837756.534