I web shells sono script malevoli che consentono agli attaccanti di ottenere un accesso persistente ai server web compromessi, permettendo loro di eseguire comandi e controllare il server da remoto. Questi script spesso sfruttano vulnerabilità come l’iniezione SQL, l’inclusione di file remoti (RFI) e altri tipi di difetti per ottenere accesso.
Una volta distribuiti, i web shells consentono agli attaccanti di manipolare il server, portando al furto di dati, alla defacement del sito web o all’utilizzo del server come punto di partenza per ulteriori attacchi. Data la loro discrezione e versatilità in diversi linguaggi di programmazione (PHP, Python, Ruby, ASP), i web shells rappresentano una minaccia significativa per la sicurezza di un sito web.
Capire i Web Shells
Un web shell è uno script o un pezzo di codice malevolo che un attaccante carica su un server web compromesso per facilitare il controllo remoto. Questo accesso tramite porta nascosta consente agli attaccanti di eseguire comandi sul server, modificare file e accedere a database, fornendo loro un controllo non autorizzato sul server.
È importante sottolineare che qualsiasi tecnologia, a causa di pratiche di codifica errate, è soggetta a consentire agli attaccanti di caricare web shells. Per questo motivo, ti consigliamo di avvalerti dei nostri servizi per prevenire queste situazioni dannose causate da attori malintenzionati.
Come finisce un web shell sul mio sito web o server?
Esistono diversi modi per cui gli attaccanti possono caricare queste backdoor su un server. Il metodo più comune è quando un attaccante trova una vulnerabilità che gli consente di eseguire codice, caricare file o ottenere in qualche modo un accesso non autorizzato al server web. Gli attaccanti possono sfruttare vari tipi di vulnerabilità, tra cui una delle più frequenti è:
- Esecuzione di codice a distanza: Questa vulnerabilità consente a un attaccante di interagire direttamente con il server. Può verificarsi a causa di librerie obsolete o pratiche di codifica scadenti che permettono l’esecuzione di codice malveicolo.
Gli attaccanti caricano queste backdoor per mantenere l’accesso e interagire con il server, permettendo potenzialmente di eseguire comandi sul sistema operativo tramite il web shell.
Come funzionano i web shells?
Il punto principale di un web shell è interagire con il server e i suoi file. Questo è l’obiettivo e il focus principali. Tenendo ciò a mente, ecco un esempio di un flusso di lavoro che potrebbe fornire una migliore comprensione di questo.
- Identificazione della vulnerabilità
- L’attaccante identifica le vulnerabilità nel sito web o server target, come l’iniezione SQL, l’inclusione di file remoti, il caricamento di file, ecc.
- Sfruttamento della vulnerabilità
- Sfruttando la vulnerabilità identificata, ottiene un accesso non autorizzato al server. Questo può portare all’esecuzione di codice malevolo, al caricamento di file o addirittura alla manipolazione della configurazione del server.
- Caricamento del web shell
- Utilizzando l’accesso ottenuto, l’attaccante carica il script web shell sul server. Normalmente, questo script sarà nascosto sotto un altro file legittimo.
- Stabilire l’accesso remoto
- Il web shell funge da backdoor consentendo ad un attaccante di eseguire comandi a distanza, manipolare file e accedere ai database sul server.
L’attaccante invia comandi attraverso il web shell al server, che possono includere l’esfiltrazione di dati, la manipolazione del server o ulteriori attacchi dal server già compromesso.
Tipi di web shell
Esistono diversi tipi di web shells, ma i più conosciuti sono C99, WSO e b374k. Ecco alcuni esempi di schermate di questi web shells:
Oggi, questi tipi di web shells sono principalmente utilizzati per scopi di esfiltrazione o pivoting. Tuttavia, alcuni anni fa, il defacement era molto comune, permettendo agli attaccanti di modificare la pagina principale e visualizzare qualsiasi messaggio. Copie di questi defacement possono essere trovate su siti web popolari come Zone-H.
Quando un team o degli hacktivisti piratavano un sito, spesso salvavano la defacement su Zone-H per guadagnare reputazione e garantire che l’attacco non venisse dimenticato. Anche dopo diversi anni, alcuni attaccanti continuano a utilizzare i web shells per modificare il file index.html.
Come rilevarli?
L’approccio dovrebbe essere proattivo, non reattivo. Anziché aspettare che un attaccante comprometta il server web, è necessario adottare misure come i test di penetrazione, l’analisi del codice sorgente e il rinforzo dei server web per prevenire queste situazioni. Se viene rilevato un web shell su un server web, la migliore azione da intraprendere è controllare accuratamente l’intero server per eventuali anomalie, come servizi insoliti o nomi di file sospetti. Se utilizzi repository o sistemi di controllo delle versioni come Git, puoi confrontare ciascun file per identificare eventuali modifiche.
Ricorda che abbiamo professionisti qualificati che possono aiutarti a rilevare minacce nel tuo software, permettendoti di evitare queste situazioni fonte di stress.