Come si analizza un protocollo di rete sconosciuto?

6

Ovviamente Wireshark può essere usato per sniffare il traffico - puoi ispezionare ogni pacchetto o catena di pacchetti.

Ma come lo faresti meglio? Quali strumenti utilizzi per identificare i comportamenti o per automatizzare il processo?

Il mio obiettivo è identificare le diverse funzioni, i codici operativi e tutto ciò che posso imparare sul protocollo e sul software (ho sia il client che il server).

    
posta YSY 18.07.2012 - 10:07
fonte

1 risposta

10

Non c'è modo di automatizzarlo facilmente in qualsiasi modo utile, perché i protocolli sono progettati dagli esseri umani. In quanto tali, in realtà non seguono alcun modello o regole impostati. Dovrai mettere il lavoro del cervello in te stesso per sezionarli.

Tuttavia, ci sono alcuni trucchi:

  • Usa Wireshark per separare le singole conversazioni e identificare i modelli di comunicazione di alto livello.
  • Utilizzare un editor esadecimale "intelligente" per analizzare i pacchetti. Hex Workshop è una buona scelta (anche se non è gratuita) poiché consente di definire le strutture in stile C sui dati.
  • Utilizza uno strumento di diff per identificare i cambiamenti tra i pacchetti.
  • Utilizza IDA (o un altro strumento di analisi statica) per identificare dove vengono utilizzate le API di rete (ad es. Winsock) per inviare / ricevere dati e capire cosa stanno facendo.
  • Utilizzare ImmunityDebugger, OllyDbg, WinDbg o un altro debugger per tracciare l'esecuzione in un ambiente live. Ciò è particolarmente utile quando si inviano pacchetti di test a un'app client o server, perché è possibile vedere dove i test di validazione passano / falliscono e perché. L'utilizzo di valori distintivi in questi pacchetti ti consente di vedere quali tipi di dati fluiscono in diverse parti del codice, permettendoti di identificare la loro funzione.

Alla fine, devi ancora essere un decente ingegnere reverse per lavorare con questo. Se non hai mai provato a fare qualcosa di simile, ti suggerisco di provarlo con un semplice protocollo apertamente documentato e di lavorare all'indietro - prova a capire come funziona, quindi confronta le tue osservazioni con la documentazione.

    
risposta data 18.07.2012 - 10:34
fonte

Leggi altre domande sui tag