Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
AgentSmith-HIDS — بواسطة تقنية Kprobe نظام كشف التسلل المستند إلى المضيف مفتوح المصدر (HIDS)، من E_Bwill. | Kitploit
أدوات/GitHubGitHub/ebwi11/agentsmith-hids
تصعيد الامتيازاتالاستطلاعأمن الحاوياتاستخبارات التهديداتكشف التسللالاستجابة للحوادثتحليل DNSArchived
GitHubebwi11/agentsmith-hids

AgentSmith-HIDS

بواسطة تقنية Kprobe نظام كشف التسلل المستند إلى المضيف مفتوح المصدر (HIDS)، من E_Bwill.

عرض المستودع
602163منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

AgentSmith-HIDS

                        --اسم هذا المشروع مستوحى من فيلم - الماتريكس

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

الإنجليزية | 简体中文

هذا المستودع قديم

الإصدار الحالي: https://github.com/bytedance/Elkeid

حول AgentSmith-HIDS

من الناحية التقنية، AgentSmith-HIDS ليس نظام كشف التسلل القائم على المضيف (HIDS) بسبب نقص محرك القواعد ووظيفة الكشف. ومع ذلك، يمكن استخدامه كـ 'عامل جمع معلومات مضيف' عالي الأداء كجزء من حل HIDS الخاص بك. كانت شمولية المعلومات التي يمكن جمعها بواسطة هذا العامل أحد أهم المقاييس أثناء تطوير هذا المشروع، وبالتالي تم بناؤه ليعمل في حزمة النواة وحقق ميزة كبيرة مقارنة بتلك التي تعمل في حزمة المستخدم، مثل:

  • أداء أفضل، يتم جمع المعلومات المطلوبة في حزمة النواة لتجنب إجراءات إضافية مثل اجتياز '/proc'؛ ولتعزيز أداء نقل البيانات، يتم نقل البيانات المجمعة عبر ذاكرة مشتركة بدلاً من netlink.
  • يصعب تجاوزها، تم تعزيز جمع المعلومات بواسطة مشغل نواة مصمم خصيصًا، مما يجعل من المستحيل تقريبًا تجاوز الكشف عن البرامج الضارة مثل rootkit، التي يمكنها إخفاء نفسها عمدًا.
  • سهل التكامل، تم بناء AgentSmith-HIDS للتكامل مع التطبيقات الأخرى ويمكن استخدامه ليس فقط كأداة أمان ولكن أيضًا كأداة مراقبة جيدة، أو حتى كاشف جيد لأصولك. العامل قادر على جمع المستخدمين والملفات والعمليات واتصالات الإنترنت لك، لذا تخيل عندما تقوم بتكاملها مع CMDB، يمكنك الحصول على خريطة شاملة تتكون من شبكتك ومضيفك وحاوية وأعمالك (حتى التبعيات). ماذا لو كان لديك أيضًا أداة تدقيق قاعدة بيانات في متناول اليد؟ يمكن توسيع الخريطة لتشمل العلاقة بين قاعدة البيانات الخاصة بك ومستخدم قاعدة البيانات والجداول والحقول والتطبيقات والشبكة والمضيف والحاويات وما إلى ذلك. التفكير في إمكانية التكامل مع نظام كشف التسلل الشبكي و/أو استخبارات التهديدات وما إلى ذلك، يمكن أيضًا تحقيق تتبع أعلى. الأمر لا يصبح قديمًا أبدًا.
  • حزمة النواة + حزمة المستخدم، يوفر AgentSmith-HIDS أيضًا وحدة حزمة المستخدم، لزيادة توسيع الوظائف عند العمل مع وحدة حزمة النواة.

القدرات الرئيسية لـ AgentSmith-HIDS:

  • تقوم وحدة حزمة النواة بربط execve، connect، process inject، create file، DNS query، load LKM السلوكيات عبر Kprobe، وهي أيضًا قادرة على مراقبة الحاويات من خلال التوافق مع Linux namespace.
  • تستخدم وحدة حزمة المستخدم وظائف الكشف المضمنة بما في ذلك استعلامات قائمة المستخدمين، قائمة المنافذ المستمعة، قائمة RPM النظام، المهام المجدولة
  • مكافحة الجذور الخفية، من: Tyton ، في الوقت الحالي تمت إضافة ميزات PROC_FILE_HOOK، SYSCALL_HOOK، LKM_HIDDEN، INTERRUPTS_HOOK، ولكنها تعمل فقط على Kernel > 3.10.
  • مراقبة تغيير بيانات الاعتماد (باستثناء sudo/su/sshd)
  • مراقبة تسجيل دخول المستخدم

سيناريوهات/طرق استخدام AgentSmith-HIDS (سيتم إضافتها)

  • كيفية كشف الصدفة العكسية بواسطة AgentSmith HIDS

حول التوافق مع إصدارات Kernel

  • Kernel > 2.6.25
  • AntiRootKit > 3.10

حول التوافق مع الحاويات

المصدراسم العقدة
المضيفhostname
Dockerاسم الحاوية
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"
}

ربط Bind

تم تحقيقه من خلال ربط 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"
}

ربط Connect

تم تحقيقه من خلال ربط 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"
}

تنبيه ربط استدعاء النظام

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):

وحدة المعالجة المركزيةIntel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz 4Core
الذاكرة8GB
نظام التشغيل/النواةDebian9 / 4.14.81.bm.19-amd64

حمل الاختبار:

ltp -f syscalls

نتيجة الاختبار (دقيقة واحدة):

بيانات الاختبار الأصلية:

بيانات القياس

اختبار cyclictest

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

إلغاء تثبيت Smith:

root@kitploit:~
# الإجمالي: 000999485
# الحد الأدنى لزمن الاستجابة: 00002
# متوسط زمن الاستجابة: 00007
# الحد الأقصى لزمن الاستجابة: 13905
# تجاوزات الرسم البياني: 00515

تثبيت Smith:

root@kitploit:~
# الإجمالي: 000999519
# الحد الأدنى لزمن الاستجابة: 00002
# متوسط زمن الاستجابة: 00007
# الحد الأقصى لزمن الاستجابة: 15216
# تجاوزات الرسم البياني: 00481

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

10 مرات

تثبيت Smith:

متوسط وقت المستخدم (ثانية)متوسط وقت النظام (ثانية)
22.32914.885

إلغاء تثبيت Smith:

متوسط وقت المستخدم (ثانية)متوسط وقت النظام (ثانية)
22.27114.395

وثائق لأغراض النشر والاختبار:

دليل البدء السريع

شكر خاص (بدون ترتيب)

yuzunzhi

hapood

HF-Daniel

smcdef

Wechat المطور

قناة WeChat '灾难控制局'

سنقدم باستمرار معلومات حول وظائف AgentSmith-HIDS عبر هذه القناة، مكان جيد لتلقي آخر الأخبار :)

الترخيص

وحدات نواة AgentSmith-HIDS موزعة تحت رخصة GNU GPLv2.

تنزيل الأداة
معالج الخطافمتوسط التأخير (ميكروثانية)TP99 (ميكروثانية)TP95 (ميكروثانية)TP90 (ميكروثانية)
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