Traffico impreciso dalla porta 3030?

1

Sto facendo dei test su un server gestito da un caro amico di famiglia, che ha accettato di permettermi di farlo in cambio dell'esperienza che raccoglierò (sono attualmente uno studente di informatica).

Durante la scansione di uno dei suoi server, ho scoperto una porta aperta dispari (3030) con un output strano che non avevo mai visto prima. Ho fatto più ricerche possibili su internet (presumibilmente, il servizio si chiama arepa-cas), ma non sono riuscito a trovare spiegazioni per l'output del mio netcat. Ho anche scoperto che si trattava di una porta relativamente conosciuta per la comunicazione di alcuni virus, e ho immediatamente riconosciuto nell'output una sorta di codifica, e mi chiedevo se avrei dovuto esaminare ulteriormente questo aspetto. Ecco un esempio di output da un nc bind all'host & port:

root@localhost:~/[struck]# netcat -v -v [struck] 3030
DNS fwd/rev mismatch: [struck] != [struck]
[struck] [struck] 3030 (?) open
Aoe3Nc34iOc09HezzugEtiyLqqbUrR6ne57cfd6b7cd349bc8e08a5b83bdf5ee4>help
aX6JWsHFW47DOv7hOrdwSMgJMYVXYoGBwvJjE+c516rUW6bFP7DVBmgRWkLPHGTM>?
3r9DrxDy/kWdMA5VjtxnrA==>ls
3r9DrxDy/kWdMA5VjtxnrA==>^C sent 10, rcvd 180

Non sto chiedendo molto altro da dove cominciare, prima di tutto cercando di decodificare questi messaggi (ho provato la decodifica base64, tra gli altri, come una supposizione sfrenata, ma non ho dato niente.) Questi sembrano SUPER simili ai JWT, ma poi di nuovo, quali dati codificati non lo sono), scoprendo qual è il loro contesto, ecc. Qualunque nudging nella giusta direzione sarebbe super apprezzato!

    
posta h3xc0ntr0l 04.06.2015 - 19:55
fonte

1 risposta

4

Determinazione di cosa è in esecuzione

A livello locale, Chiedi all'host

Il modo più definitivo per determinare cosa comunica sulla porta 3030 è quello di ssh nel server ed eseguire netstat.

netstat -nap | grep 3030

Visualizza connessioni e processi di ascolto -n salta la risoluzione DNS degli indirizzi IP, -a mostra lo stato di tutti i socket e -p mostra il PID del processo associato a quel socket.

Se utilizzi Windows, consulta questo post SO .

Determinazione remota

Se non riesci ad accedere al server, ci sono altre cose che puoi provare.

Esegui nmap contro la porta. nmap ha un buon servizio di rilevamento e se ciò che è in esecuzione su 3030 è un protocollo ben noto, nmap probabilmente lo determinerà.

nmap -sV host

Puoi trovare ulteriori informazioni sul rilevamento dei servizi nmap in Capitolo 7 del libro nmap .

Cosa succede se nmap non è in grado di determinare il servizio?

Potrebbe essere che stai guardando un servizio personalizzato legittimo per tale applicazione. Anche se potresti anche guardare al malware.

Determinazione della funzionalità del servizio

Se hai il permesso di interagire con il servizio, ecco alcune cose che potresti provare / notare:

  • Sembra che ogni risposta sia codificata in base64 e termini con un > . Questo per me suggerisce che è un guscio di qualche tipo. La decodifica di Base64 dà garbage, il che suggerisce che questo potrebbe essere crittografato, sebbene potrebbe anche essere un alfabeto base64 personalizzato.
  • Inserisci vari testi. Lo stesso output viene prodotto per lo stesso input?
  • Esiste una correlazione tra lunghezza dell'input e lunghezza dell'output?
  • La lunghezza dell'output è sempre un multiplo di un certo numero? Ad esempio, nelle quattro righe che hai mostrato nella domanda, le linee decodificate a 48,48,16 e 16 byte di lunghezza. Questo potrebbe suggerire l'uso di un codice a blocchi di qualche tipo.
  • La risposta iniziale alla tua connessione cambia ogni volta che effettui la connessione? Ciò potrebbe suggerire che il server stia utilizzando una chiave di crittografia una tantum (o codifica Base64) per ciascuna connessione. Pertanto, la prima risposta probabilmente contiene le informazioni necessarie per interagire con il servizio.
  • Se inizi a ottenere stringhe comuni, inizia a cercarle su google. Se riscontri un successo, puoi ottenere la risposta.
  • Nota, se viene utilizzata la codifica personalizzata o la crittografia, è improbabile che il tuo input faccia qualsiasi cosa, poiché l'input probabilmente dovrà corrispondere allo stesso schema di codifica.
risposta data 04.06.2015 - 20:57
fonte

Leggi altre domande sui tag