Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PANO — Graph-basierte OSINT-Untersuchungsplattform mit Zeitachsenanalyse, Entitätsverwaltung und KI-gestützten Transformationen, um versteckte Verbindungen zwischen E-Mails, Benutzernamen, Bildern und Standorten aufzudecken. | Kitploit
Tools/GitHubGitHub/alw1ez/pano
OSINT (Open-Source-Intelligence)AufklärungInformationsbeschaffungKI-Sicherheit
GitHubalw1ez/pano

PANO

Graph-basierte OSINT-Untersuchungsplattform mit Zeitachsenanalyse, Entitätsverwaltung und KI-gestützten Transformationen, um versteckte Verbindungen zwischen E-Mails, Benutzernamen, Bildern und Standorten aufzudecken.

Repository anzeigen
5626853vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PANO - Plattform für Analyse und Netzwerkoperationen

PANO Logo

License: CC BY-NC Python 3.11+ PySide6 Platform

PANO ist eine leistungsstarke OSINT-Untersuchungsplattform, die Graphenvisualisierung, Zeitachsenanalyse und KI-gestützte Werkzeuge kombiniert, um Ihnen zu helfen, versteckte Verbindungen und Muster in Ihren Daten aufzudecken.

Erste Schritte • Funktionen • Dokumentation • Mitwirken


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

🚀 Erste Schritte

  1. Klonen Sie das Repository:

    root@kitploit:~
    git clone https://github.com/ALW1EZ/PANO.git
    cd PANO
    
  2. Starten Sie die Anwendung:

    • Linux: ./start_pano.sh
    • Windows: start_pano.bat

Das Startskript wird automatisch:

  • Nach Updates suchen
  • Die Python-Umgebung einrichten
  • Abhängigkeiten installieren
  • PANO starten

Um die E-Mail-Suche-Transformation zu nutzen, müssen Sie sich zuerst bei GHunt anmelden. Nachdem Sie PANO über die Startskripte gestartet haben:

  1. Wählen Sie venv manuell aus
    • Linux: source venv/bin/activate
    • Windows: call venv\Scripts\activate
  2. Siehe Anleitung zum Anmelden hier

💡 Kurzanleitung

  1. Untersuchung erstellen: Starten Sie eine neue Untersuchung oder laden Sie eine vorhandene
  2. Entitäten hinzufügen: Ziehen Sie Entitäten aus der Seitenleiste auf den Graphen
  3. Verbindungen entdecken: Nutzen Sie Transformationen, um automatisch Beziehungen zu finden
  4. Analysieren: Verwenden Sie Zeitachsen- und Kartenansichten, um Muster zu verstehen
  5. Speichern: Exportieren Sie Ihre Untersuchung für die spätere Verwendung

🔍 Funktionen

🕸️ Kernfunktionen

  • Interaktive Graphenvisualisierung

    • Drag-and-Drop-Erstellung von Entitäten
    • Mehrere Layout-Algorithmen (Kreisförmig, hierarchisch, radial, kraftbasiert)
    • Dynamische Beziehungskartierung
    • Visuelles Styling von Knoten und Kanten
  • Zeitachsenanalyse

    • Chronologische Ereignisvisualisierung
    • Interaktive Zeitachsennavigation
    • Ereignisfilterung und -gruppierung
    • Zeitliche Beziehungsanalyse
  • Kartenintegration

    • Geografische Datenvisualisierung
    • Standortbasierte Analyse
    • Interaktive Kartierungsfunktionen
    • Koordinatenplotting und -verfolgung

🎯 Entitätsverwaltung

  • Unterstützte Entitätstypen
    • 📧 E-Mail-Adressen
    • 👤 Benutzernamen
    • 🌐 Websites
    • 🖼️ Bilder
    • 📍 Standorte
    • ⏰ Ereignisse
    • 📝 Textinhalte
    • 🔧 Benutzerdefinierte Entitätstypen

🔄 Transformationssystem

  • E-Mail-Analyse

    • Google-Konto-Untersuchung
    • Kalenderereignisextraktion
    • Standortverlaufsanalyse
    • Entdeckung verbundener Dienste
  • Benutzernamenanalyse

    • Plattformübergreifende Benutzernamensuche
    • Social-Media-Profilentdeckung
    • Plattformkorrelation
    • Webpräsenzanalyse
  • Bildanalyse

    • Rückwärtssuche von Bildern
    • Visuelle Inhaltsanalyse
    • Metadatenextraktion
    • Entdeckung verwandter Bilder

🤖 KI-Integration

  • PANAI
    • Assistent für natürliche Sprache bei Untersuchungen
    • Automatisierte Entitätsextraktion und Beziehungskartierung
    • Mustererkennung und Anomalieerkennung
    • Mehrsprachige Unterstützung
    • Kontextbezogene Vorschläge
    • Zeitachsen- und Graphenanalyse

🧩 Kernkomponenten

📦 Entitäten

Entitäten sind die grundlegenden Bausteine von PANO. Sie repräsentieren einzelne Informationsteile, die verbunden und analysiert werden können:

  • Eingebaute Typen

    • 📧 E-Mail: E-Mail-Adressen mit Diensterkennung
    • 👤 Benutzername: Social-Media- und Plattform-Benutzernamen
    • 🌐 Website: Webseiten mit Metadaten
    • 🖼️ Bild: Bilder mit EXIF und Analyse
    • 📍 Standort: Geografische Koordinaten und Adressen
    • ⏰ Ereignis: Zeitbasierte Vorkommnisse
    • 📝 Text: Generischer Textinhalt
  • Eigenschaftssystem

    • Typsichere Eigenschaftsvalidierung
    • Automatische Eigenschaftsgetter
    • Dynamische Eigenschaftsaktualisierungen
    • Benutzerdefinierte Eigenschaftstypen
    • Metadatenunterstützung

⚡ Transformationen

Transformationen sind automatisierte Operationen, die Entitäten verarbeiten, um neue Informationen und Beziehungen zu entdecken:

  • Operationstypen

    • 🔍 Entdeckung: Neue Entitäten aus vorhandenen finden
    • 🔗 Korrelation: Verwandte Entitäten verbinden
    • 📊 Analyse: Erkenntnisse aus Entitätsdaten extrahieren
    • 🌐 OSINT: Open-Source-Intelligence sammeln
    • 🔄 Anreicherung: Daten zu vorhandenen Entitäten hinzufügen
  • Funktionen

    • Unterstützung asynchroner Operationen
    • Fortschrittsverfolgung
    • Fehlerbehandlung
    • Ratenbegrenzung
    • Ergebnisvalidierung

🛠️ Helfer

Helfer sind spezialisierte Werkzeuge mit eigenen Benutzeroberflächen für bestimmte Untersuchungsaufgaben:

  • Verfügbare Helfer

    • 🔍 Kreuzverhör: Aussagen und Zeugenaussagen analysieren
    • 👤 Porträt-Ersteller: Gesichtszusammensetzungen erstellen
    • 📸 Medienanalysator: Fortschrittliche Bildverarbeitung und -analyse
    • 🔍 Basissucher: In der Nähe von Interessensorten suchen
    • 🔄 Übersetzer: Text zwischen Sprachen übersetzen
  • Helfer-Funktionen

    • Benutzerdefinierte Qt-Oberflächen
    • Echtzeit-Updates
    • Graphenintegration
    • Datenvisualisierung
    • Exportfähigkeiten

👥 Mitwirken

Wir begrüßen Beiträge! So können Sie zu PANO beitragen:

  1. Forken Sie das Repository unter https://github.com/ALW1EZ/PANO/
  2. Nehmen Sie Ihre Änderungen in Ihrem Fork vor
  3. Testen Sie Ihre Änderungen gründlich
  4. Erstellen Sie einen Pull Request an unseren Hauptbranch
  5. Fügen Sie in Ihrer PR-Beschreibung hinzu:
    • Was die Änderungen bewirken
    • Warum Sie diese Änderungen vorgenommen haben
    • Welche Tests Sie durchgeführt haben
    • Screenshots, falls zutreffend

Hinweis: Wir verwenden einen einzigen main-Branch für die Entwicklung. Alle Pull Requests sollten direkt an main gerichtet werden.

📖 Entwicklungsleitfaden

Klicken, um die Entwicklungsdokumentation zu erweitern

Systemanforderungen

  • Betriebssystem: Windows oder Linux
  • Python 3.11+
  • PySide6 für die GUI
  • Internetverbindung für Online-Funktionen

Benutzerdefinierte Entitäten

Entitäten sind die zentralen Datenstrukturen in PANO. Jede Entität repräsentiert eine Information mit spezifischen Eigenschaften und Verhaltensweisen. So erstellen Sie eine benutzerdefinierte Entität:

  1. Erstellen Sie eine neue Datei im Ordner entities (z. B. entities/phone_number.py)
  2. Implementieren Sie Ihre Entitätsklasse:
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"])

📄 Lizenz

Dieses Projekt ist unter der Creative Commons Attribution-NonCommercial (CC BY-NC) Lizenz lizenziert.

Sie dürfen:

  • ✅ Teilen: Das Material kopieren und weiterverbreiten
  • ✅ Anpassen: Das Material remixen, verändern und darauf aufbauen

Unter folgenden Bedingungen:

  • ℹ️ Namensnennung: Sie müssen angemessene Urheberrechtsangaben machen
  • 🚫 Nicht kommerziell: Keine kommerzielle Nutzung
  • 🔓 Keine weiteren Einschränkungen

🙏 Danksagungen

Besonderer Dank gilt allen Bibliotheksautoren und Mitwirkenden, die dieses Projekt ermöglicht haben.

👨‍💻 Autor

Erstellt von ALW1EZ mit KI ❤️

Tool herunterladen

Benutzerdefinierte Transformationen

Transformationen sind Operationen, die Entitäten verarbeiten und neue Erkenntnisse oder Beziehungen generieren. So erstellen Sie eine benutzerdefinierte Transformation:

  1. Erstellen Sie eine neue Datei im Ordner transforms (z. B. transforms/phone_lookup.py)
  2. Implementieren Sie Ihre Transformationsklasse:
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)

Benutzerdefinierte Helfer

Helfer sind spezialisierte Werkzeuge, die zusätzliche Untersuchungsfähigkeiten durch eine eigene Benutzeroberfläche bereitstellen. So erstellen Sie einen benutzerdefinierten Helfer:

  1. Erstellen Sie eine neue Datei im Ordner helpers (z. B. helpers/data_analyzer.py)
  2. Implementieren Sie Ihre Helferklasse:
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)