it-swarm.dev

In che modo gli hacker sfruttano le porte aperte come vettore per un attacco?

È una conoscenza diffusa, e quindi una pratica comune, chiudere porte aperte su qualsiasi macchina connessa a Internet.

Se, ad esempio, un programma tipico utilizza la porta xyz come canale di comunicazione e c'è una vulnerabilità in quel programma, che potrebbe essere sfruttata attraverso quella porta, perché lo stesso attacco non avrà successo attraverso, diciamo, la porta 80?

Dato che il nostro pseudo programma utilizza la porta 888 TCP e ha una vulnerabilità che può essere sfruttata, perché non è possibile sfruttare quella vulnerabilità attraverso la porta 80 TCP (che è HTTP, ed è aperto quasi qualsiasi macchina)?

La porta 80 sul server Web è in ascolto solo di un tipo UNICO di TCP? Accetta solo un determinato tipo di pacchetto?

Perché un hacker non può provare a creare un pacchetto TCP con una stringa dannosa, incapsularlo all'interno del pacchetto HTTP e quindi attaccare il web server?

16
Franko

I servizi ascoltano le porte. I server Web (un servizio) ascoltano la porta 80, ma questa è solo una regola standard, non dura. È possibile configurare qualsiasi servizio per l'ascolto su qualsiasi porta. Non si tratta di "pacchetti speciali", si tratta di "comporre il numero di porta giusto" per ottenere il servizio desiderato.

Se il tuo pseudo programma ha una vulnerabilità, allora può essere attaccato sulla porta a cui è assegnato. Non puoi attaccare un programma su porte che non sta ascoltando. Se provi ad attaccarlo su un'altra porta (come la porta 80 nel tuo esempio), il tuo programma non verrà raggiunto.

La tua ultima domanda, quindi, è un po 'strana: "Perché un hacker non può provare a creare un pacchetto TCP con una stringa dannosa, incapsularlo all'interno del pacchetto HTTP e quindi attaccare il web server ? "Quello IS che cosa fanno gli hacker. Ma prendono di mira la porta del servizio che vogliono colpire. Ma forse puoi affinare quella domanda in base alle informazioni che ho fornito.

Quindi, perché chiudere i porti? Perché vuoi ridurre il numero di servizi potenzialmente vulnerabili che esponi a Internet.

11
schroeder

"Blocco delle porte" è solo un modo approssimativo di affermare ciò che vogliamo veramente fare, che sta bloccando l'accesso ad alcuni servizi.

Un sistema operativo appena installato ha spesso una serie di operazioni eseguite automaticamente, alcune delle quali sono servizi che hanno una parte di rete. Qualsiasi vulnerabilità sfruttabile dalla rete in tale servizio è una potenziale porta di accesso per un utente malintenzionato. Tuttavia, è raramente rilevante che tutti questi servizi siano accessibili a tutti su Internet. Ad esempio, per una macchina che dovrebbe essere un server Web, è normale che chiunque sulla Terra possa tentare di accedere allo specifico servizio "Web" (ovvero la sua funzionalità), ed è normale che sia aperto anche il servizio SSH ( in modo che l'amministratore del server possa amministrare il server); tuttavia, è inutile che anche i servizi di condivisione di file per quel server siano ampiamente aperti.

Il blocco dell'accesso a una determinata porta può essere eseguito sul firewall ed è considerato più efficiente in termini di tempo rispetto al tentativo di convincere il sistema operativo a non eseguire un determinato servizio e ad astenersi dal riavviarlo o inventare nuovi servizi, in occasione di un software aggiornare. Quindi è consuetudine bloccare tutte porte tranne quelle che sono note corrispondere a servizi che dovrebbero essere accessibili in tutto il mondo (ad esempio 80 e 22, rispettivamente per Web e SSH).

5
Tom Leek