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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
dawgmon — dawg the hallway monitor - مراقبة تغييرات نظام التشغيل وتحليل سطح الهجوم المُقدَّم عند تثبيت البرامج | Kitploit
أدوات/GitHubGitHub/anvilsecure/dawgmon
أدوات دفاعيةتحليل الثغرات الأمنيةتدقيق التكوينالاستجابة للحوادث
GitHubanvilsecure/dawgmon

dawgmon

dawg the hallway monitor - مراقبة تغييرات نظام التشغيل وتحليل سطح الهجوم المُقدَّم عند تثبيت البرامج

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

الأكثر شعبية

عرض الكل →

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

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

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

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

dawgmon - Dawg مراقب الممرات

ملخص

يعتمد اسم هذه الأداة على حلقة (الموسم 10، الحلقة 10) من مسلسل ساوث بارك التي يقوم فيها كارتمان بدور Dawg مراقب الممرات في مدرسته. إنها أداة تساعد على مراقبة التغييرات التي حدثت على نظام قائم على لينكس منذ آخر مرة تم تشغيل الأداة فيها.

إحدى طرق استخدامها هي استخدام شيء مثل مهمة cron النموذجية المرفقة لتشغيل dawgmon على فترات منتظمة وإرسال النتائج بالبريد الإلكتروني إلى مسؤول النظام. يمكن أن يساعد ذلك في تحديد الأجهزة التي تحدث عليها أمور خبيثة ومراقبة من يقوم بتثبيت ماذا وأين. يُرجى ملاحظة أن أي باب خلفي جدي للنواة يمكنه بسهولة إخفاء نفسه عن هذه الأداة، وبالتالي فهي مجرد أداة إضافية في مجموعة الأدوات ولكن لا ينبغي الاعتماد عليها للمراقبة الأمنية الكاملة لأجهزة لينكس. إنها مجرد خيار إضافي في صندوق الأدوات.

الطريقة الأخرى التي تكون مفيدة بها هي إنشاء خط أساس قبل تثبيت برنامج. ثم بعد تثبيت هذا البرنامج، يتم تشغيل الأداة مرة أخرى ويسهل رؤية التغييرات التي حدثت على النظام. مثال بعد إنشاء خط أساس ثم تثبيت virtualbox على جهاز قد ينتج شيئًا كهذا:

root@kitploit:~
# ./dawgmon -gfA
1 change detected (0 warnings)            
+ systemd property NNames changed from 259 to 261
# apt install virtualbox-5.1
[...]
# ./dawgmon -gfA
33 changes detected (0 warnings)          
+ size of file /etc/group changed from 937 to 954
+ file /etc/group got modified on 2017-09-14 19:29:51.804811 +0200
+ size of file /etc/group- changed from 934 to 937
+ file /etc/group- got modified on 2017-09-14 19:29:14.000000 +0200
+ file /etc/gshadow got modified on 2017-09-14 19:29:51.812811 +0200
+ size of file /etc/gshadow- changed from 777 to 794
+ size of file /etc/mailcap changed from 40777 to 41063
+ file /etc/mailcap got modified on 2017-09-14 19:29:51.632812 +0200
+ file /etc/systemd/system/multi-user.target.wants/vboxautostart-service.service got created (owner=root, group=root, perm=lrwxrwxrwx, size=49)
+ file /etc/systemd/system/multi-user.target.wants/vboxballoonctrl-service.service got created (owner=root, group=root, perm=lrwxrwxrwx, size=51)
+ file /etc/systemd/system/multi-user.target.wants/vboxdrv.service got created (owner=root, group=root, perm=lrwxrwxrwx, size=35)
+ file /etc/systemd/system/multi-user.target.wants/vboxweb-service.service got created (owner=root, group=root, perm=lrwxrwxrwx, size=43)
+ file /etc/udev/rules.d/60-vboxdrv.rules got created (owner=root, group=root, perm=-rw-r--r--, size=747)
+ group vboxusers added
+ package virtualbox-5.1 is to be installed
+ suid binary /usr/lib/virtualbox/VBoxHeadless got created (owner=root, group=root, perm=-r-s--x--x, size=158304)
+ suid binary /usr/lib/virtualbox/VBoxNetAdpCtl got created (owner=root, group=root, perm=-r-s--x--x, size=23144)
+ suid binary /usr/lib/virtualbox/VBoxNetDHCP got created (owner=root, group=root, perm=-r-s--x--x, size=158304)
+ suid binary /usr/lib/virtualbox/VBoxNetNAT got created (owner=root, group=root, perm=-r-s--x--x, size=158304)
+ suid binary /usr/lib/virtualbox/VBoxSDL got created (owner=root, group=root, perm=-r-s--x--x, size=158296)
+ suid binary /usr/lib/virtualbox/VBoxVolInfo got created (owner=root, group=root, perm=-r-s--x--x, size=10472)
+ suid binary /usr/lib/virtualbox/VirtualBox got created (owner=root, group=root, perm=-r-s--x--x, size=158304)
+ i-node for listening UNIX socket /run/systemd/private changed from 3428734 to 3452848
+ systemd property NInstalledJobs changed from 8392199 to 3238035463
+ systemd property NNames changed from 261 to 263
+ systemd unit file vboxautostart-service.service added
+ systemd unit file vboxballoonctrl-service.service added
+ systemd unit file vboxdrv.service added
+ systemd unit file vboxweb-service.service added
+ systemd unit 'vboxautostart-service.service' added
+ systemd unit 'vboxballoonctrl-service.service' added
+ systemd unit 'vboxdrv.service' added
+ systemd unit 'vboxweb-service.service' added

يساعد ما ورد أعلاه الآن في إجراء مراجعة أمنية شاملة لـ virtualbox. تعد الملفات الثنائية suid المثبتة نقاط دخول واضحة، كما أن الخدمات قيد التشغيل مثيرة للاهتمام.

مثال آخر يكتشف بشكل صحيح فتح وإغلاق منافذ TCP:

root@kitploit:~
# ./dawgmon -gfA
0 changes detected (0 warnings)           
# nc -l -p 4455 &
[1] 12489
# ./dawgmon -gfA
1 change detected (0 warnings)            
+ port 4455 tcp opened
# fg
nc -l -p 4455
^C
# ./dawgmon -gfA
1 change detected (0 warnings)            
+ port 4455 tcp closed
# 

الأداة ليست مخصصة للدقة الكاملة. هناك توصيات جدية عادة بعدم الاعتماد على مخرجات أدوات جنو الأساسية مثل ls كمدخل للأداة. بمعنى آخر؛ نادرًا ما ينبغي بناء أدوات لتحليل والاعتماد على هذا النوع من المخرجات لأنه يمكن أن يتغير في أي وقت. بواقع الأمر، مخرجات هذه الأدوات مستقرة نسبيًا نظرًا لأن الكثير من الأشخاص والأدوات الآلية تعتمد بالفعل على مخرجاتها لأغراض متنوعة.

ومع ذلك، فإن المقايضة لـ dawgmon هي التالية؛ سنحتاج إلى تنفيذ الكثير من المنطق للقيام بمراقبة نظام الملفات بأنفسنا، وبناء ملفات ثنائية معقدة تتضمن مكتبات لتحليل ومراقبة أجهزة الكتل وواجهات الشبكة وغير ذلك. سيجعل هذا الأداة أكثر تعقيدًا وأقل قابلية للصيانة. في المشاريع الحالية، يمكن إضافة أمر جديد بما في ذلك اكتشاف التغيير في وقت قصير جدًا نظرًا لأن الأداة الرئيسية dawgmon تعتني بالتخزين المؤقت وتنفيذ الأمر ثم توفير المخرجات السابقة والحالية عند تشغيل مقارنة لتنفيذ أمر. هذا يعني أنه في المشاريع المحددة زمنيًا يمكن بسرعة إضافة أمر جديد وتشغيل تحليلات تتضمن تلك الأوامر الجديدة.

يمكن إضافة أمر ببساطة عن طريق الوراثة من فئة Command. هذه الفئة معرفة في commands/init.py. يحتوي هذا الملف أيضًا على القائمة الرئيسية للأوامر (والترتيب الذي يتم تنفيذها به عند إجراء تحليل كامل). ثم سيتعين تعيين الخصائص مثل 'name' و'shell' و'command' و'desc' وتنفيذ طريقتي 'parse()' و'compare()'. يتم تضمين أوامر كافية للحصول على فكرة جيدة حول كيفية تنفيذ وإضافة أوامر جديدة.

الاستخدام

للحصول على أفضل النتائج، قم بتشغيل الأداة كجذر. للحصول على المساعدة اكتب -h/--help ولمعلومات الإصدار اكتب -v/--version.

يجب دائمًا تحديد إجراء رئيسي. هذه الإجراءات هي: -A: تحليل النظام -C: مقارنة إدخالات الذاكرة المؤقتة -E: سرد الأوامر المتاحة -L: سرد إدخالات الذاكرة المؤقتة

root@kitploit:~
# runs an analysis
dawgmon -A

# runs an analysis but only with a few commands
dawgmon -A -e list_suids -e list_tcpudp_ports

# shows the list of available commands
dawgmon -E

# shows available cache entries for comparison
dawgmon -L

# compare old cache entry 3 with new cache entry 5
dawgmon -C 3 5

خيارات إضافية للمساعدة في التحليل هي:

-d: عرض مخرجات التصحيح -e: تنفيذ أمر محدد (يمكن استخدامه عدة مرات) -f: فرض التشغيل دون تحذير بشأن التشغيل كجذر -g: تلوين المخرجات -l: موقع قاعدة بيانات الذاكرة المؤقتة المراد استخدامها -m: الحد الأقصى لعدد إدخالات الذاكرة المؤقتة المسموح بها في الذاكرة المؤقتة (إذا كانت الذاكرة المؤقتة تحتوي على إدخالات أكثر من هذا العدد، فسيتم اقتطاع قاعدة البيانات) -t: لا تقم بإخراج معلومات الطابع الزمني لكل شذوذ تم اكتشافه.

لمزيد من معلومات الاستخدام، قم بتشغيل الأداة مع -h.

القيود

تقوم الأداة بتحليل مخرجات أدوات سطر الأوامر وتعتمد على خيارات خاصة بأدوات جنو الأساسية لجزء منها. لا يوجد سبب محدد لعدم إمكانية نقل هذه الأداة وتنفيذات الأوامر بسرعة إلى أنظمة تشغيل أخرى مثل أنظمة BSD ولكن حاليًا لا يتم الكشف عن نظام التشغيل ولا يوجد تصنيف للأوامر بناءً على دعم نظام التشغيل. سيتعين تنفيذ ذلك أولاً.

بخصوص العثور على الأنابيب ومآخذ UNIX والملفات في /boot و /etc والمزيد، يجب ملاحظة أن استخدام -xdev الممرر إلى 'find' يعني أنه لن يتم اجتياز جميع أنظمة الملفات المثبتة تحت دليل البداية. هذا يعني أنه على سبيل المثال سيتم فحص /boot بشكل صحيح ولكن /boot/efi قد لا يتم فحصه. سيتعين استخدام نهج أكثر ذكاءً هنا في المستقبل.

قد تكون الطوابع الزمنية عند إجراء تحليل حالي مربكة بعض الشيء. بشكل افتراضي، سيكون الطابع الزمني لرسالة تحذير أو عادية أو شذوذ تصحيح هو طابع وقت إنشائها (كما يمكن رؤيته في commands/init.py). يتم إنشاء الشذوذ بعد إجراء فحص كامل لسطر الأوامر. لذلك تم إنشاء المخرجات التي يعتمد عليها هذا الكشف في وقت سابق وبالتالي تظهر الطوابع الزمنية للشذوذ الفردية وقتًا بعد وقت الفحص. عند مقارنة إدخالات الذاكرة المؤقتة، يتم استخدام الطابع الزمني للفحص لإخراج الوقت الذي حدث فيه الكشف لأن ذلك منطقيًا أكثر معنى.

حول

جميع الحقوق محفوظة. حقوق الطبع والنشر (C) 2017-2019 لشركة Anvil Ventures Inc. للحصول على معلومات الترخيص، راجع LICENSE. لمزيد من المعلومات، اتصل بـ Vincent Berg [email protected]

للعثور على الكود المصدري المحدث أو للمساهمة بالتصحيحات، تفضل بزيارة الرابط التالي: https://github.com/anvilventures/dawgmon/

تنزيل الأداة