Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PANO — Piattaforma di indagine OSINT basata su grafi con analisi temporale, gestione delle entità e trasformazioni basate su IA per scoprire connessioni nascoste tra email, nomi utente, immagini e luoghi. | Kitploit
Strumenti/GitHubGitHub/alw1ez/pano
OSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniSicurezza dell'IA
GitHubalw1ez/pano

PANO

Piattaforma di indagine OSINT basata su grafi con analisi temporale, gestione delle entità e trasformazioni basate su IA per scoprire connessioni nascoste tra email, nomi utente, immagini e luoghi.

Vedi Repository
56268226 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PANO - Piattaforma per Analisi e Operazioni di Rete

PANO Logo

License: CC BY-NC Python 3.11+ PySide6 Platform

PANO è una potente piattaforma di investigazione OSINT che combina visualizzazione a grafo, analisi della timeline e strumenti basati sull'AI per aiutarti a scoprire connessioni e pattern nascosti nei tuoi dati.

Per iniziare • Funzionalità • Documentazione • Contribuire


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

🚀 Per iniziare

  1. Clona il repository:

    root@kitploit:~
    git clone https://github.com/ALW1EZ/PANO.git
    cd PANO
    
  2. Avvia l'applicazione:

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

Lo script di avvio farà automaticamente:

  • Controllare gli aggiornamenti
  • Configurare l'ambiente Python
  • Installare le dipendenze
  • Avviare PANO

Per utilizzare la trasformazione Email Lookup è necessario prima autenticarsi con GHunt. Dopo aver avviato pano tramite gli script di avvio;

  1. Seleziona manualmente il venv
    • Linux: source venv/bin/activate
    • Windows: call venv\Scripts\activate
  2. Vedi come autenticarti qui

💡 Guida rapida

  1. Crea un'investigazione: Avvia una nuova investigazione o caricane una esistente
  2. Aggiungi entità: Trascina le entità dalla barra laterale sul grafo
  3. Scopri connessioni: Usa le trasformazioni per trovare automaticamente relazioni
  4. Analizza: Usa le viste timeline e mappa per comprendere i pattern
  5. Salva: Esporta la tua investigazione per usi futuri

🔍 Funzionalità

🕸️ Funzionalità principali

  • Visualizzazione interattiva del grafo

    • Creazione di entità tramite trascinamento
    • Molteplici algoritmi di layout (Circolare, Gerarchico, Radiale, Forza-Diretta)
    • Mappatura dinamica delle relazioni
    • Stile visivo di nodi e archi
  • Analisi della timeline

    • Visualizzazione cronologica degli eventi
    • Navigazione interattiva nella timeline
    • Filtraggio e raggruppamento degli eventi
    • Analisi delle relazioni temporali
  • Integrazione mappa

    • Visualizzazione di dati geografici
    • Analisi basata sulla posizione
    • Funzionalità di mappatura interattiva
    • Posizionamento e tracciamento di coordinate

🎯 Gestione entità

  • Tipi di entità supportati
    • 📧 Indirizzi email
    • 👤 Nomi utente
    • 🌐 Siti web
    • 🖼️ Immagini
    • 📍 Posizioni
    • ⏰ Eventi
    • 📝 Contenuto testo
    • 🔧 Tipi di entità personalizzate

🔄 Sistema di trasformazione

  • Analisi email

    • Investigazione account Google
    • Estrazione eventi calendario
    • Analisi cronologia posizioni
    • Scoperta servizi connessi
  • Analisi nomi utente

    • Ricerca nomi utente su più piattaforme
    • Scoperta profili social media
    • Correlazione tra piattaforme
    • Analisi presenza web
  • Analisi immagini

    • Ricerca inversa immagini
    • Analisi contenuto visivo
    • Estrazione metadati
    • Scoperta immagini correlate

🤖 Integrazione AI

  • PANAI
    • Assistente investigativo in linguaggio naturale
    • Estrazione automatica di entità e mappatura relazioni
    • Riconoscimento pattern e rilevamento anomalie
    • Supporto multilingua
    • Suggerimenti sensibili al contesto
    • Analisi timeline e grafo

🧩 Componenti principali

📦 Entità

Le entità sono i mattoni fondamentali di PANO. Rappresentano informazioni distinte che possono essere connesse e analizzate:

  • Tipi integrati

    • 📧 Email: Indirizzi email con rilevamento del servizio
    • 👤 Nome utente: Nomi utente di social media e piattaforme
    • 🌐 Sito web: Pagine web con metadati
    • 🖼️ Immagine: Immagini con EXIF e analisi
    • 📍 Posizione: Coordinate geografiche e indirizzi
    • ⏰ Evento: Occorrenze basate sul tempo
    • 📝 Testo: Contenuto testuale generico
  • Sistema di proprietà

    • Validazione proprietà type-safe
    • Getter automatici delle proprietà
    • Aggiornamenti dinamici delle proprietà
    • Tipi di proprietà personalizzate
    • Supporto metadati

⚡ Trasformazioni

Le trasformazioni sono operazioni automatizzate che elaborano le entità per scoprire nuove informazioni e relazioni:

  • Tipi di operazione

    • 🔍 Scoperta: Trova nuove entità da quelle esistenti
    • 🔗 Correlazione: Collega entità correlate
    • 📊 Analisi: Estrai approfondimenti dai dati delle entità
    • 🌐 OSINT: Raccogli intelligence da fonti aperte
    • 🔄 Arricchimento: Aggiungi dati alle entità esistenti
  • Caratteristiche

    • Supporto operazioni asincrone
    • Tracciamento del progresso
    • Gestione errori
    • Limitazione delle richieste
    • Validazione dei risultati

🛠️ Helper

Gli helper sono strumenti specializzati con interfacce utente dedicate per specifici compiti investigativi:

  • Helper disponibili

    • 🔍 Controesame: Analizza dichiarazioni e testimonianze
    • 👤 Creator di Ritratti: Genera compositi facciali
    • 📸 Analizzatore Multimediale: Elaborazione e analisi avanzata delle immagini
    • 🔍 Ricerca Base: Cerca vicino a luoghi di interesse
    • 🔄 Traduttore: Traduci testo tra lingue
  • Caratteristiche degli helper

    • Interfacce Qt personalizzate
    • Aggiornamenti in tempo reale
    • Integrazione con il grafo
    • Visualizzazione dei dati
    • Capacità di esportazione

👥 Contribuire

Accogliamo contributi! Per contribuire a PANO:

  1. Fai un fork del repository su https://github.com/ALW1EZ/PANO/
  2. Apporta le tue modifiche nel fork
  3. Testa attentamente le modifiche
  4. Crea una Pull Request sul nostro branch principale
  5. Nella descrizione della PR, includi:
    • Cosa fanno le modifiche
    • Perché hai apportato queste modifiche
    • Qualsiasi test effettuato
    • Screenshot se applicabile

Nota: Usiamo un unico branch main per lo sviluppo. Tutte le pull request devono essere fatte direttamente su main.

📖 Guida di sviluppo

Clicca per espandere la documentazione di sviluppo

Requisiti di sistema

  • Sistema operativo: Windows o Linux
  • Python 3.11+
  • PySide6 per l'interfaccia grafica
  • Connessione Internet per funzionalità online

Entità personalizzate

Le entità sono le strutture dati principali di PANO. Ogni entità rappresenta un'informazione con proprietà e comportamenti specifici. Per creare un'entità personalizzata:

  1. Crea un nuovo file nella cartella entities (ad es. entities/phone_number.py)
  2. Implementa la tua classe entità:
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"])

📄 Licenza

Questo progetto è concesso in licenza Creative Commons Attribuzione-NonCommerciale (CC BY-NC).

Sei libero di:

  • ✅ Condividere: Copiare e ridistribuire il materiale
  • ✅ Adattare: Remixare, trasformare e sviluppare il materiale

A queste condizioni:

  • ℹ️ Attribuzione: Devi fornire il dovuto credito
  • 🚫 NonCommerciale: Nessun uso commerciale
  • 🔓 Nessuna restrizione aggiuntiva

🙏 Riconoscimenti

Un ringraziamento speciale a tutti gli autori e contributori delle librerie che hanno reso possibile questo progetto.

👨‍💻 Autore

Creato da ALW1EZ con AI ❤️

Scarica lo strumento

Trasformazioni personalizzate

Le trasformazioni sono operazioni che elaborano entità e generano nuovi approfondimenti o relazioni. Per creare una trasformazione personalizzata:

  1. Crea un nuovo file nella cartella transforms (ad es. transforms/phone_lookup.py)
  2. Implementa la tua classe trasformazione:
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)

Helper personalizzati

Gli helper sono strumenti specializzati che forniscono capacità investigative aggiuntive tramite un'interfaccia utente dedicata. Per creare un helper personalizzato:

  1. Crea un nuovo file nella cartella helpers (ad es. helpers/data_analyzer.py)
  2. Implementa la tua classe helper:
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)