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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
security checks — فحوصات أمان لينكس | Kitploit
أدوات/GitLabGitLab/abdom.seada/security-checks
أدوات دفاعيةتحليل الذاكرة الجنائيتحليل الثغرات الأمنيةتحليل الشبكة الجنائيتدقيق التكوينالتحقيق الجنائي الرقميتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةكشف التسللالاستجابة للحوادثتحليل السجلات
منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitLab
abdom.seada/security-checks

security checks

فحوصات أمان لينكس

عرض المستودع

🔍 Miner Hunter

أداة كشف وإزالة وتحصين خوادم لينكس ضد عمالات التعدين الرقمية.

بُنيت من استجابة حوادث حقيقية — تكتشف المنقبين الذين يختبئون من ps و top و htop و btop باستخدام تقنيات الروتكيت.


📦 التثبيت

root@kitploit:~
git clone https://gitlab.com/abdom.seada/security-checks.git
cd security-checks
sudo bash setup.sh

🔀 الفرع: master — هذه المجموعة موجودة على الفرع master. قد تُضاف نصوص أمنية أخرى على فروع منفصلة في المستقبل.


⚙️ الإعداد

⚠️ قم بتشغيل setup.sh مرة واحدة فور الاستنساخ — تخطي هذه الخطوة هو السبب الرئيسي للأخطاء.

root@kitploit:~
sudo bash setup.sh

setup.sh يتولى كل شيء تلقائياً:

المخرجات المتوقعة عند نجاح الإعداد:

root@kitploit:~
✅ Setup complete — all checks passed!

  Next steps:
    sudo ./miner-hunter scan        # Safe read-only scan
    sudo ./miner-hunter full        # Scan → Kill → Harden

💡 لماذا هذا ضروري؟ لن ينفذ لينكس ملفاً ما لم يكن لديه العلم +x. ينقل Git و SCP هذه الخاصية. يقوم setup.sh بإصلاح جميع الملفات دفعة واحدة — بما في ذلك وحدات lib/ التي يعتمد عليها النص الرئيسي.


🚀 البداية السريعة

root@kitploit:~
sudo ./miner-hunter scan            # ✅ Safe — read-only, zero changes
sudo ./miner-hunter full            # ⚠️  Full pipeline: Scan → Kill → Harden
sudo ./miner-hunter scan --dry-run  # 👁️  Preview mode — shows what would happen

📋 الأوامر والخيارات

الأوامر

الخيارات

الخيارالوصف
-d, --dry-runمعاينة جميع الإجراءات دون إجراء أي تغييرات

🎭 سيناريوهات الحالات

مواقف من الحياة الواقعية وما يجب تشغيله بالضبط في كل منها.


🔴 السيناريو 1 — "وحدة المعالجة المركزية لخادمي عند 100% لكن top لا يظهر شيئاً"

هذا هو العرض الكلاسيكي للروتكيت. المنقب يختبئ من أدوات مساحة المستخدم لكنه لا يستطيع الاختباء من عدادات أداء الأجهزة.

root@kitploit:~
# Step 1: Run a safe scan first — confirm what's there before touching anything
sudo ./miner-hunter scan

ما ستراه إذا كان المنقب موجوداً:

root@kitploit:~
🚨 [CRITICAL]  CPU anomaly: 97% user CPU but top shows max 2% per process
🚨 [CRITICAL]  perf detected 4 hidden threads consuming ~94% total CPU
🚨 [CRITICAL]  Active connection to 185.x.x.x:9200 (known mining port)
🚨 [CRITICAL]  Fake kernel thread PID=3421 NAME=[kworker/0:1] EXE=/tmp/.x/miner
root@kitploit:~
# Step 2: Kill the miner and block its pool
sudo ./miner-hunter kill

# Step 3: Harden the server so it can't come back
sudo ./miner-hunter harden

🟡 السيناريو 2 — "أعتقد أنني تعرضت للاختراق لكنني لست متأكداً"

لاحظت شيئاً مريباً — حركة مرور صادرة غير معتادة، مهمة cron لم تنشئها، عملية باسم غريب — لكنك لست متأكداً.

root@kitploit:~
# Run a full scan — completely safe, read-only, zero changes
sudo ./miner-hunter scan

# Then read the structured report
sudo ./miner-hunter report

التقرير في /root/miner_evidence_*/report.txt يُصنف كل اكتشاف حسب الخطورة:

  • [CRITICAL] إدخالات → تابع إلى kill فوراً
  • [WARNING] إدخالات → راجع يدوياً قبل التصرف
  • تقرير فارغ → الخادم يبدو نظيفاً

🟠 السيناريو 3 — "قتلت المنقب يدوياً لكنه يعود باستمرار"

لدى المنقب آلية استمرارية — مهمة cron، خدمة systemd، إدخال PM2، أو باب خلفي في ملف تعريف الصدفة يعيد إحياءه بعد قتله.

root@kitploit:~
sudo ./miner-hunter scan

ابحث عن هذه في المخرجات:

root@kitploit:~
⚠️  [WARN]     Suspicious cron entry: * * * * * /tmp/.x/update
🚨 [CRITICAL]  Malicious systemd service: /etc/systemd/system/update-check.service
🚨 [CRITICAL]  PM2 process 'app-worker' has 8432 restarts — likely miner respawn loop
🚨 [CRITICAL]  Shell profile backdoor detected in /root/.bashrc
root@kitploit:~
# kill removes ALL persistence artifacts — not just the running process
sudo ./miner-hunter kill

# Then harden to install the watchdog so you're alerted if anything respawns
sudo ./miner-hunter harden

💡 بعد kill، يقوم المراقب (watchdog cron) بالتشغيل كل 5 دقائق ويسجل في /var/log/miner_hunter/watchdog_alerts.log — ستعرف فوراً إذا عاد شيء.


🔵 السيناريو 4 — "أريد تحصين خادم جديد قبل حدوث أي شيء"

تحصين استباقي قبل النشر — لا منقب، لا حادث، فقط تأمين الأمور.

root@kitploit:~
# Run harden standalone — no scan or kill needed
sudo ./miner-hunter harden

هذا سيقوم بـ:

  • تدقيق إعداد SSH الخاص بك وطباعة الإعدادات الموصى بها
  • التحقق من أن fail2ban نشط مع سجن sshd
  • إنشاء خط أساس للتكامل لـ /usr/bin (مجموع اختباري MD5 — بحيث يمكنك اكتشاف الملفات الثنائية المعدلة لاحقاً)
  • تثبيت مراقب cron يتحقق كل 5 دقائق من مؤشرات المنقبين
  • حفظ أي قواعد iptables موجودة عبر عمليات إعادة التشغيل عبر خدمة systemd

⚫ السيناريو 5 — "المنقب نجا من القتل — وحدة المعالجة لا تزال مرتفعة"

بعد kill، خطوة التحقق تبلغ أن المنقب قد لا يزال قيد التشغيل:

root@kitploit:~
⚠️  MINER MAY HAVE RESPAWNED
CPU: 89% | Mining conns: 1
Firewall blocks are in place — miner can't reach pool
Consider a REBOOT or OS REINSTALL
root@kitploit:~
# 1. Firewall blocks are already in place — miner CANNOT reach its pool
#    Confirm blocks are active:
iptables -L OUTPUT -n | grep DROP

# 2. Run a second scan to see what survived
sudo ./miner-hunter scan

# 3. Check for a kernel module rootkit hiding the process
lsmod | grep -iE 'diamorphine|reptile|kovid|rootkit'

# 4. Non-zero taint = out-of-tree kernel modules loaded (rootkit indicator)
cat /proc/sys/kernel/tainted

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


🟣 السيناريو 6 — "أريد مراقبة مستمرة دون تشغيل الفحص يدوياً"

بعد harden، يكون مراقب cron مثبتاً بالفعل. إليك كيفية التعامل معه:

root@kitploit:~
# Watch the alert log in real time
tail -f /var/log/miner_hunter/watchdog_alerts.log

# Confirm the watchdog cron job is registered
cat /etc/cron.d/miner-watchdog

# Check for /usr/bin binary changes since your baseline was taken
md5sum --check /var/lib/miner_hunter/usrbin_baseline.md5 --quiet

أي مخرجات من الأمر الأخير تعني أن ملفاً ثنائياً للنظام قد تم تعديله بعد خط الأساس الخاص بك — تحقق فوراً.


🔬 ما يكتشفه

كشف العمليات المخفية

تحليل وحدة المعالجة المركزية

التقنيةما تكتشفه
تحليل perf لوحدة PMC (عدادات مراقبة الأداء) للأجهزةمستهلكو وحدة المعالجة المخفيون —

تحليل الشبكة

آليات الاستمرارية


⚔️ عملية القتل — خطوة بخطوة

عند تشغيل sudo ./miner-hunter kill، هذا هو التسلسل بالضبط:

  1. 🔥 حظر عناوين IP لمجمعات التعدين في جدار الحماية — تطبيق قواعد iptables DROP قبل القتل، حتى لا يتمكن المنقب من إعادة الاتصال حتى لو عاد
  2. 💀 قتل قائد مجموعة الخيوط — استهداف TGID (معرف قائد مجموعة الخيوط) أولاً بـ SIGKILL
  3. 🧹 مسح جميع خيوط العمل — قتل كل PID في نفس مجموعة الخيوط عبر نطاق PID الكامل
  4. 🗑️ إزالة الآثار — إعدادات المنقب، الملفات الثنائية، الويبشيلات، وملفات الاستمرارية
  5. 🔄 تنظيف PM2 — إزالة إدخالات المنقب من مدير عمليات Node.js وحفظ القائمة
  6. ✅ التحقق — إعادة تشغيل perf وفحص /proc/net/tcp لتأكيد انخفاض وحدة المعالجة واختفاء الاتصالات

🛡️ التحصين بعد الحادث — ما يتم تطبيقه


📁 هيكل المشروع

root@kitploit:~
security-checks/               ← repo root (master branch)
├── miner-hunter               # نقطة الدخول — هذا ما تقوم بتشغيله
├── setup.sh                   # ⚙️ الإعداد الأولي — شغّله مرة بعد الاستنساخ
├── lib/
│   ├── common.sh              # أدوات مشتركة: تسجيل، ألوان، مساعدات
│   ├── detect_hidden.sh       # كشف العمليات المخفية والروتكيت
│   ├── detect_cpu.sh          # تحليل وحدة المعالجة عبر perf و /proc
│   ├── detect_network.sh      # كشف اتصالات مجمعات التعدين
│   ├── detect_persistence.sh  # كشف آليات الاستمرارية
│   ├── kill_miner.sh          # قتل العمليات وإزالة الآثار
│   └── harden.sh              # التحصين بعد الحادث
├── README.md
└── LICENSE

📋 المتطلبات


📤 ملفات المخرجات

كل تشغيل يُنتج:


🌍 الأصل من العالم الحقيقي

بُنيت هذه الأداة أثناء استجابة حادثة نشطة ضد منقب عملات رقمية قام بـ:

  • إعادة تسمية نفسه إلى next للاندماج مع عمليات Next.js على خادم Node.js
  • استخدام قائد مجموعة خيوط أعيد تسميته إلى kthreadd — اسم خيط نواة فعلي
  • حذف ملفه الثنائي من القرص أثناء بقائه قيد التشغيل في الذاكرة (/proc/PID/exe → (deleted))
  • كونه غير مرئي تماماً لـ ps و top و htop و btop
  • عدم اكتشافه إلا عبر تحليل عداد وحدة المعالجة المركزية للأجهزة في perf

📄 الرخصة

MIT

تنزيل الأداة
الخطوةالوظيفة
✅ الأذوناتتشغيل chmod +x على miner-hunter وجميع نصوص lib/*.sh
✅ المجلداتإنشاء /var/log/miner_hunter/ و /var/lib/miner_hunter/ (للجذر فقط، 700)
✅ التبعياتفحص perf و mpstat و iptables و fail2ban و bc و strings — تثبيت المفقود تلقائياً
✅ الاختبار الذاتيتشغيل ./miner-hunter --version للتأكد من أن كل شيء يعمل بشكل صحيح
الأمرالوصفيُغير النظام؟
scanفحص كشف كامل — العمليات المخفية، وحدة المعالجة، الشبكة، الاستمرارية✅ لا
killقتل المنقبين المُحددين، حظر عناوين IP التجمعات، إزالة الآثار⚠️ نعم
hardenتحصين بعد الحادث — SSH، جدار الحماية، المراقب، خط الأساس للتكامل⚠️ نعم
fullتنفيذ scan → kill → harden مع تأكيدات بين المراحل⚠️ نعم
reportعرض أحدث تقرير فحص✅ لا
-e, --evidence DIRحفظ الأدلة إلى دليل مخصص بدلاً من /root/miner_evidence_*
-h, --helpعرض المساعدة
-v, --versionعرض الإصدار
التقنيةما تكتشفه
مقارنة /proc مع psعمليات غير مرئية لأدوات مساحة المستخدم
اختطاف LD_PRELOADمكتبات مشتركة خبيثة تعترض libc لإخفاء العمليات
روتكيتات وحدات النواةDiamorphine و Reptile و Kovid وروتكيتات معروفة أخرى
خيوط نواة مزيفةمنقبون يتنكرون كـ [kworker] و [kthreadd] و [kswapd]
ملفات ثنائية معدلة للنظامps و top و ls و ss و netstat مستبدلة
الروتكيتات لا تستطيع تزييف عدادات الأجهزة
أخذ عينات دلتا من /procمحاسبة مباشرة على مستوى النواة لوحدة المعالجة لكل PID
كشف الشذوذ في وحدة المعالجةاستخدام وحدة معالجة عالي %user دون عملية مرئية تفسره
التقنية
ما تكتشفه
قراءة مباشرة من /proc/net/tcpاتصالات نشطة — يتجاوز ss/netstat المخترقة
كشف منافذ التعدينالمنافذ 3333 و 4444 و 5555 و 7777 و 9200 و 14433 و 14444 و 45560
تحليل نطاقات التعدينحل نطاقات مجمعات التعدين المعروفة والتحقق المتبادل مع الاتصالات النشطة
ربط المقبس بـ PIDتتبع العملية التي تملك كل اتصال تعدين
الموقعما يفحصه
Cron/etc/cron* و /var/spool/cron/ وجميع crontabs للمستخدمين
Systemdجميع ملفات الوحدات والمؤقتات للبحث عن إدخالات مريبة
قواعد Udevتنفيذ مفعل بواسطة الأجهزة على أحداث الأجهزة
PM2إدخالات مدير عمليات Node.js مع أعداد إعادة تشغيل عالية جداً
ملفات تعريف الصدفة.bashrc و .bash_profile و /etc/profile و /etc/profile.d/*
SSHجميع ملفات authorized_keys عبر جميع المستخدمين
الويبشيلاتملفات PHP داخل مجلدات المشاريع Node.js
إعدادات XMRigconfig.json في مواقع الإسقاط الشائعة للمنقبين
الإجراءالتفاصيل
استمرارية جدار الحمايةخدمة systemd لاستعادة حظر iptables للتعدين عند كل إعادة تشغيل
تدقيق SSHفحص PermitRootLogin و PasswordAuthentication و MaxAuthTries — طباعة القيم الموصى بها
فحص Fail2banالتحقق من أن سجن sshd نشط والإبلاغ عن عناوين IP المحظورة حالياً
مراقب المنقبينمهمة cron كل 5 دقائق — فحص شذوذ وحدة المعالجة، LD_PRELOAD، منافذ التعدين، ويبشيلات PHP
خط أساس /usr/binمجموع اختباري MD5 لجميع الملفات الثنائية في /usr/bin لكشف العبث في المستقبل
المتطلبالتفاصيل
نظام التشغيللينكس — تم اختباره على Ubuntu 24.04 LTS و Debian 13
الصلاحياتيجب تشغيله كـ root (sudo)
مثبت تلقائياً بواسطة setup.shperf و mpstat (sysstat) و bc و strings (binutils)
موصى بهfail2ban — يتم الإبلاغ عنه إذا كان مفقوداً، لا يُثبت تلقائياً
مطلوب (غير مثبت تلقائياً)iptables — يجب أن يكون موجوداً لمراحل القتل/التحصين
المخرجالموقعالمحتويات
دليل الأدلة/root/miner_evidence_YYYYMMDD_HHMMSS/الملفات الثنائية الملتقطة، تقارير perf، إعدادات المنقب
ملف السجل/var/log/miner_hunter/run_YYYYMMDD_HHMMSS.logسجل التشغيل الكامل مع الطوابع الزمنية
التقريرevidence_dir/report.txtملخص منظم للنتائج مع مستويات الخطورة
تنبيهات المراقب/var/log/miner_hunter/watchdog_alerts.logتنبيهات مستمرة بعد harden
خط أساس التكامل/var/lib/miner_hunter/usrbin_baseline.md5مجاميع اختبارية لـ /usr/bin بعد harden