Come può essere compromesso questo server web?

0

Un server linux ha Node.js installato con il pacchetto http-server. Il server risponderà alle richieste sulla porta 80 con un file nella stessa directory denominata index.html.

Una caratteristica interessante di questo server è che espone l'accesso completo in lettura agli utenti guest tramite ssh. Qualsiasi file sul sistema può essere letto dagli ospiti (ad eccezione della chiave privata SSL). Gli utenti guest possono confermare che gli hash SHA dei binari del nodo, http-server e ssh sulle versioni di riferimento delle corrispondenze di sistema e possono confermare che quei binari sono i processi attualmente in esecuzione.

È possibile che un utente malintenzionato (tramite l'escalation dei privilegi) o il proprietario del server modifichi il server in modo tale da servire una versione diversa di index.html in indirizzi IP specifici, nascondendo questo fatto da qualsiasi terzo partito?

    
posta user62052 07.12.2014 - 00:50
fonte

2 risposte

2

Finché non si imposta il server da soli, non si può essere sicuri che ciò che si vede con ssh sia effettivamente ciò che sta accadendo sul server. Alla fine il vostro accesso ssh potrebbe essere solo un honeypot ben costruito e nulla di ciò che vedete è relativo all'attività reale del server.

Anche se hai configurato tu stesso il server, non puoi esserne sicuro, perché c'è ancora il BIOS, il firmware sulle schede di rete, il router tra client e server ecc. Tutti questi possono influenzare quali dati vengono effettivamente trasferiti a il client ma tutti questi potrebbero essere usati per compromettere i dati.

E anche se ssh mostra lo stato corretto del server e nessun router, iptables o altri stanno manomettendo i dati forniti dal server: potrebbe esserci ancora un malware in memoria come Darkleech che influenza ciò che viene effettivamente offerto. Non lo rileverai quando guardi la tabella dei processi e non li rilevi quando guardi i file, perché è solo nella memoria del server HTTP.

    
risposta data 07.12.2014 - 08:31
fonte
1

Iptables possono farlo senza alcuna difficoltà.

Crea una catena per gli indirizzi IP di destinazione e all'interno di quella catena, modifica il pacchetto di richiesta in entrata in modo che la richiesta sia per un file diverso.

In alternativa, puoi modificare i pacchetti in uscita in modo che contengano il file di destinazione anziché i contenuti originali di index.html.

Nessuno dei binari o dei file sarebbe stato alterato in alcun modo. L'unica modifica necessaria è nella configurazione di iptables in esecuzione.

Naturalmente, se si dispone di questo tipo di accesso, è anche possibile modificare il processo che esegue la verifica SHA dei file e dei binari in modo che restituisca risultati falsi. È possibile eseguire IIS su Windows e restituire ancora gli hash SHA per Node su Linux.

    
risposta data 07.12.2014 - 02:06
fonte

Leggi altre domande sui tag