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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PANO — منصة تحقيقات استخباراتية مفتوحة المصدر (OSINT) تعتمد على الرسوم البيانية مع تحليل زمني، إدارة الكيانات، وتحويلات مدعومة بالذكاء الاصطناعي لكشف الروابط الخفية عبر البريد الإلكتروني، أسماء المستخدمين، الصور، والمواقع. | Kitploit
أدوات/GitHubGitHub/alw1ez/pano
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعجمع المعلوماتأمن الذكاء الاصطناعي
GitHubalw1ez/pano

PANO

منصة تحقيقات استخباراتية مفتوحة المصدر (OSINT) تعتمد على الرسوم البيانية مع تحليل زمني، إدارة الكيانات، وتحويلات مدعومة بالذكاء الاصطناعي لكشف الروابط الخفية عبر البريد الإلكتروني، أسماء المستخدمين، الصور، والمواقع.

عرض المستودع
5626832منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PANO - منصة التحليل وعمليات الشبكة

شعار PANO

الترخيص: CC BY-NC Python 3.11+ PySide6 المنصة

PANO هي منصة قوية للتحقيقات مفتوحة المصدر (OSINT) تجمع بين التصور البياني، وتحليل الجدول الزمني، وأدوات الذكاء الاصطناعي لمساعدتك على كشف الروابط والأنماط المخفية في بياناتك.

بدء الاستخدام • المميزات • التوثيق • المساهمة


https://github.com/user-attachments/assets/6b95e97a-ffdd-4056-b12b-f268d8e5d565

https://github.com/user-attachments/assets/af0c0f65-7b79-417c-a678-a789d42a6003

https://github.com/user-attachments/assets/568b4c28-be78-4559-a607-899fca2f9613

https://github.com/user-attachments/assets/6aa191eb-09de-41d5-b96f-4a2e32d6a0c2

https://github.com/user-attachments/assets/96377b80-e137-4eb4-9387-a0db4e49c2c1

https://github.com/user-attachments/assets/4228bda0-6c13-4ea9-bc07-d87abe367e10

🚀 بدء الاستخدام

  1. استنساخ المستودع:

    root@kitploit:~
    git clone https://github.com/ALW1EZ/PANO.git
    cd PANO
    
  2. تشغيل التطبيق:

    • لينكس: ./start_pano.sh
    • ويندوز: start_pano.bat

سينفذ البرنامج النصي للتشغيل تلقائياً ما يلي:

  • التحقق من وجود تحديثات
  • إعداد بيئة بايثون
  • تثبيت التبعيات
  • إطلاق PANO

لاستخدام تحويل البحث عن البريد الإلكتروني (Email Lookup transform) تحتاج إلى تسجيل الدخول باستخدام GHunt أولاً. بعد بدء PANO عبر البرامج النصية للتشغيل:

  1. حدد البيئة الافتراضية يدوياً
    • لينكس: source venv/bin/activate
    • ويندوز: call venv\Scripts\activate
  2. راجع كيفية تسجيل الدخول هنا

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

  1. إنشاء تحقيق: ابدأ تحقيقاً جديداً أو قم بتحميل تحقيق موجود
  2. إضافة كيانات: اسحب الكيانات من الشريط الجانبي على الرسم البياني
  3. اكتشاف الروابط: استخدم التحويلات (transforms) لإيجاد العلاقات تلقائياً
  4. تحليل: استخدم طرق عرض الجدول الزمني والخريطة لفهم الأنماط
  5. حفظ: قم بتصدير تحقيقك لاستخدامه لاحقاً

🔍 المميزات

🕸️ الوظائف الأساسية

  • التصور البياني التفاعلي (Interactive Graph Visualization)

    • إنشاء الكيانات بالسحب والإفلات
    • خوارزميات تخطيط متعددة (دائري، هرمي، شعاعي، موجه بالقوة)
    • رسم خرائط ديناميكي للعلاقات
    • تنسيق مرئي للعُقد والحواف
  • تحليل الجدول الزمني (Timeline Analysis)

    • تصور الأحداث زمنياً
    • تنقل تفاعلي عبر الجدول الزمني
    • تصفية وتجميع الأحداث
    • تحليل العلاقات الزمنية
  • التكامل مع الخريطة (Map Integration)

    • تصور البيانات الجغرافية
    • تحليل قائم على الموقع
    • ميزات تفاعلية للخريطة
    • رسم إحداثيات وتتبعها

🎯 إدارة الكيانات

  • أنواع الكيانات المدعومة
    • 📧 عناوين البريد الإلكتروني
    • 👤 أسماء المستخدمين
    • 🌐 مواقع الويب
    • 🖼️ الصور
    • 📍 المواقع
    • ⏰ الأحداث
    • 📝 المحتوى النصي
    • 🔧 أنواع كيانات مخصصة

🔄 نظام التحويلات (Transform System)

  • تحليل البريد الإلكتروني

    • التحقق من حسابات جوجل
    • استخراج أحداث التقويم
    • تحليل سجل المواقع
    • اكتشاف الخدمات المتصلة
  • تحليل اسم المستخدم

    • البحث عن اسم المستخدم عبر المنصات
    • اكتشاف ملفات تعريف وسائل التواصل الاجتماعي
    • الربط بين المنصات
    • تحليل الوجود على الويب
  • تحليل الصور

    • البحث العكسي عن الصور
    • تحليل المحتوى البصري
    • استخراج البيانات الوصفية
    • اكتشاف الصور ذات الصلة

🤖 التكامل مع الذكاء الاصطناعي

  • PANAI
    • مساعد تحقيق باللغة الطبيعية
    • استخراج وربط الكيانات تلقائياً
    • التعرف على الأنماط واكتشاف الحالات الشاذة
    • دعم متعدد اللغات
    • اقتراحات مراعية للسياق
    • تحليل الجدول الزمني والرسوم البيانية

🧩 المكونات الأساسية

📦 الكيانات (Entities)

الكيانات هي اللبنات الأساسية لـ PANO. تمثل قطعاً متميزة من المعلومات يمكن ربطها وتحليلها:

  • الأنواع المضمنة

    • 📧 البريد الإلكتروني: عناوين البريد الإلكتروني مع اكتشاف الخدمة
    • 👤 اسم المستخدم: أسماء المستخدمين في وسائل التواصل الاجتماعي والمنصات
    • 🌐 موقع الويب: صفحات ويب مع بيانات وصفية
    • 🖼️ الصورة: صور مع EXIF وتحليل
    • 📍 الموقع: إحداثيات جغرافية وعناوين
    • ⏰ الحدث: أحداث زمنية
    • 📝 النص: محتوى نصي عام
  • نظام الخصائص (Properties System)

    • التحقق من صحة الخصائص مع مراعاة النوع
    • دوال جلب خصائص تلقائية
    • تحديث الخصائص ديناميكياً
    • أنواع خصائص مخصصة
    • دعم البيانات الوصفية

⚡ التحويلات (Transforms)

التحويلات هي عمليات مؤتمتة تعالج الكيانات لاكتشاف معلومات وعلاقات جديدة:

  • أنواع العمليات

    • 🔍 الاكتشاف: إيجاد كيانات جديدة من الكيانات الموجودة
    • 🔗 الربط: ربط الكيانات ذات الصلة
    • 📊 التحليل: استخراج الرؤى من بيانات الكيان
    • 🌐 OSINT: جمع الاستخبارات مفتوحة المصدر
    • 🔄 الإثراء: إضافة بيانات إلى الكيانات الموجودة
  • الميزات

    • دعم العمليات غير المتزامنة
    • تتبع التقدم
    • معالجة الأخطاء
    • تحديد المعدل
    • التحقق من النتائج

🛠️ المساعدون (Helpers)

المساعدون هي أدوات متخصصة بواجهات مستخدم مخصصة لمهام تحقيق محددة:

  • المساعدون المتوفرون

    • 🔍 الفحص المتقاطع: تحليل الأقوال والشهادات
    • 👤 منشئ الصورة الشخصية: توليد تركيبات وجهية
    • 📸 محلل الوسائط: معالجة وتحليل متقدم للصور
    • 🔍 باحث القاعدة: البحث بالقرب من أماكن الاهتمام
    • 🔄 المترجم: ترجمة النصوص بين اللغات
  • ميزات المساعدين

    • واجهات Qt مخصصة
    • تحديثات في الوقت الفعلي
    • تكامل مع الرسم البياني
    • تصور البيانات
    • إمكانيات التصدير

👥 المساهمة

نرحب بالمساهمات! للمساهمة في PANO:

  1. انسخ المستودع (Fork) على https://github.com/ALW1EZ/PANO/
  2. أجرِ تغييراتك في نسختك
  3. اختبر تغييراتك بدقة
  4. أنشئ طلب سحب (Pull Request) إلى فرعنا الرئيسي
  5. في وصف طلب السحب، قم بتضمين:
    • ما تفعله التغييرات
    • لماذا أجريت هذه التغييرات
    • أي اختبارات أجريتها
    • لقطات شاشة إن أمكن

ملاحظة: نستخدم فرع main واحد للتطوير. يجب تقديم جميع طلبات السحب مباشرة إلى main.

📖 دليل التطوير

اضغط لتوسيع توثيق التطوير

متطلبات النظام

  • نظام التشغيل: Windows أو Linux
  • Python 3.11+
  • PySide6 للواجهة الرسومية
  • اتصال بالإنترنت للميزات عبر الإنترنت

الكيانات المخصصة (Custom Entities)

الكيانات هي هياكل البيانات الأساسية في PANO. يمثل كل كيان قطعة معلومات ذات خصائص وسلوكيات محددة. لإنشاء كيان مخصص:

  1. أنشئ ملفاً جديداً في مجلد entities (مثل: entities/phone_number.py)
  2. طبق فئة الكيان الخاصة بك:
root@kitploit:~
from dataclasses import dataclass
from typing import ClassVar, Dict, Any
from .base import Entity

@dataclass
class PhoneNumber(Entity):
    name: ClassVar[str] = "Phone Number"
    description: ClassVar[str] = "A phone number entity with country code and validation"
    
    def init_properties(self):
        """Initialize phone number properties"""
        self.setup_properties({
            "number": str,
            "country_code": str,
            "carrier": str,
            "type": str,  # mobile, landline, etc.
            "verified": bool
        })
    
    def update_label(self):
        """Update the display label"""
        self.label = self.format_label(["country_code", "number"])

التحويلات المخصصة (Custom Transforms)

📄 الرخصة

هذا المشروع مرخص بموجب رخصة Creative Commons Attribution-NonCommercial (CC BY-NC).

أنت حر في:

  • ✅ المشاركة: نسخ وإعادة توزيع المادة
  • ✅ التعديل: إعادة المزج، التحويل، والبناء على المادة

بموجب هذه الشروط:

  • ℹ️ الإسناد: يجب عليك تقديم الإسناد المناسب
  • 🚫 غير تجاري: لا استخدام تجاري
  • 🔓 لا قيود إضافية

🙏 شكر وتقدير

شكر خاص لجميع مؤلفي المكتبات والمساهمين الذين جعلوا هذا المشروع ممكناً.

👨‍💻 المؤلف

تم الإنشاء بواسطة ALW1EZ مع ❤️ من الذكاء الاصطناعي

تنزيل الأداة

التحويلات هي عمليات تعالج الكيانات وتولد رؤى أو علاقات جديدة. لإنشاء تحويل مخصص:

  1. أنشئ ملفاً جديداً في مجلد transforms (مثل: transforms/phone_lookup.py)
  2. طبق فئة التحويل الخاصة بك:
root@kitploit:~
from dataclasses import dataclass
from typing import ClassVar, List
from .base import Transform
from entities.base import Entity
from entities.phone_number import PhoneNumber
from entities.location import Location
from ui.managers.status_manager import StatusManager

@dataclass
class PhoneLookup(Transform):
    name: ClassVar[str] = "Phone Number Lookup"
    description: ClassVar[str] = "Lookup phone number details and location"
    input_types: ClassVar[List[str]] = ["PhoneNumber"]
    output_types: ClassVar[List[str]] = ["Location"]
    
    async def run(self, entity: PhoneNumber, graph) -> List[Entity]:
        if not isinstance(entity, PhoneNumber):
            return []
            
        status = StatusManager.get()
        operation_id = status.start_loading("Phone Lookup")
        
        try:
            # Your phone number lookup logic here
            # Example: query an API for phone number details
            location = Location(properties={
                "country": "Example Country",
                "region": "Example Region",
                "carrier": "Example Carrier",
                "source": "PhoneLookup transform"
            })
            
            return [location]
            
        except Exception as e:
            status.set_text(f"Error during phone lookup: {str(e)}")
            return []
            
        finally:
            status.stop_loading(operation_id)

المساعدون المخصصون (Custom Helpers)

المساعدون هي أدوات متخصصة توفر إمكانيات تحقيق إضافية عبر واجهة مستخدم مخصصة. لإنشاء مساعد مخصص:

  1. أنشئ ملفاً جديداً في مجلد helpers (مثل: helpers/data_analyzer.py)
  2. طبق فئة المساعد الخاصة بك:
root@kitploit:~
from PySide6.QtWidgets import (
    QWidget, QVBoxLayout, QHBoxLayout, QPushButton,
    QTextEdit, QLabel, QComboBox
)
from .base import BaseHelper
from qasync import asyncSlot

class DummyHelper(BaseHelper):
    """A dummy helper for testing"""
    
    name = "Dummy Helper" 
    description = "A dummy helper for testing"
    
    def setup_ui(self):
        """Initialize the helper's user interface"""
        # Create input text area
        self.input_label = QLabel("Input:")
        self.input_text = QTextEdit()
        self.input_text.setPlaceholderText("Enter text to process...")
        self.input_text.setMinimumHeight(100)
        
        # Create operation selector
        operation_layout = QHBoxLayout()
        self.operation_label = QLabel("Operation:")
        self.operation_combo = QComboBox()
        self.operation_combo.addItems(["Uppercase", "Lowercase", "Title Case"])
        operation_layout.addWidget(self.operation_label)
        operation_layout.addWidget(self.operation_combo)
        
        # Create process button
        self.process_btn = QPushButton("Process")
        self.process_btn.clicked.connect(self.process_text)
        
        # Create output text area
        self.output_label = QLabel("Output:")
        self.output_text = QTextEdit()
        self.output_text.setReadOnly(True)
        self.output_text.setMinimumHeight(100)
        
        # Add widgets to main layout
        self.main_layout.addWidget(self.input_label)
        self.main_layout.addWidget(self.input_text)
        self.main_layout.addLayout(operation_layout)
        self.main_layout.addWidget(self.process_btn)
        self.main_layout.addWidget(self.output_label)
        self.main_layout.addWidget(self.output_text)
        
        # Set dialog size
        self.resize(400, 500)
        
    @asyncSlot()
    async def process_text(self):
        """Process the input text based on selected operation"""
        text = self.input_text.toPlainText()
        operation = self.operation_combo.currentText()
        
        if operation == "Uppercase":
            result = text.upper()
        elif operation == "Lowercase":
            result = text.lower()
        else:  # Title Case
            result = text.title()
            
        self.output_text.setPlainText(result)