Exponer Puerto con Cloudflare Gratis

Si por ejemplo queremos exponer un puerto de forma gratuita para podernos conectar a nuestro servidor de Linux obteniendo una shell y pudiendo hacer lo que queramos desde cualquier parte del mundo, podremos realizar un truco.

En vez de pagar un dominio en Cloudflare para exponer el puerto SSH y conectarnos de forma remota, podremos exponer el puerto 80, crear una pagina en PHP que nos permita inyectar comandos directamente en el servidor, para asi poder obtener una reverse shell, a todo esto le podemos poner una seguridad dentro del PHP como por ejemplo un login para que los usuarios que esten autenticados pueda generar una reverse shell desde la pagina web.

Instalar cliente de Cloudflare

Lo que tendremos que hacer de primeras es instalar el cliente de Cloudflare, en mi caso lo hare en Linux desde esta pagina.

URL = Pagina Cloudflare Downloads

NOTA IMPORTANTE

Para saber la arquitectura de nuestro sistema Linux podremos hacerlo con uname -m en la terminal, en mi caso me pone x86_64 por lo que sabemos que seria AMD x86_64.

Listado de arquitecturas de Sistema Linux

  • x86_64 → arquitectura AMD64/Intel 64 (también llamado x64)

  • i686 o i386 → arquitectura 32-bit x86

  • aarch64 → arquitectura ARM de 64 bits

  • armv7l → arquitectura ARM de 32 bits

Una vez descargado en mi caso seria el .deb, tendremos que ejecutar el siguiente comando para instalarlo.

dpkg -i <FILE>.deb

Una vez que se haya instalado (No deberia de tardar) podremos exponer un puerto web de la siguiente forma, pero antes de hacerlo tendremos que instalar apache2.

Instalar/Configurar Servidor Web (apache2)

Una vez instalado, vamos a iniciar el servicio de esta forma.

Echo esto vamos añadir en la ruta donde se alojan las paginas web de apache2 el siguiente archivo sencillo para podernos generar una reverse shell.

Lo guardamos, le establecemos permisos de ejecuccion.

Ahora reiniciamos el servicio de apache2.

Echo esto ahora si vamos a exponer nuestro puerto 80 que es donde esta la pagina web de apache2 de esta forma.

Iniciar Cloudflare (Tunelización)

Info:

De toda esta informacion tendremos que quedarnos donde pone:

En concreto donde empieza el https://... todo eso va a ser nuestro dominio tunelizado desde nuestro servidor local de apache por lo que cuando alguien se conecte de forma externa, como por ejemplo nosotros desde otro ordenador, lo que estaremos haciendo sera conectarnos a http://localhost:80 de forma externa, por lo que si en un navegador ponemos...

Veremos nuestra interfaz de apache2 por defecto ya que no eliminamos nuestro index.html, pero vamos a ir al archivo que hemos creado de PHP.

Info:

Veremos que esta funcionando, ahora si desde otro ordenador con un kali linux nos ponemos a la escucha con nc de esta forma.

Obtener acceso a nuestro servidor por shell

Y desde la URL enviamos una reverse shell de esta forma.

Lo enviamos y si volvemos a donde tenemos nuestra escucha veremos que habremos obtenido acceso como el usuario www-data por lo que sanitizaremos la shell.

Una vez echo esto ya tendremos una shell bien sanitizada y habremos podido acceder a nuestro servidor de forma gratuita sin comprar ningun dominio en Cloudflare, ni exponer el puerto SSH de forma directa, solamente desde la web, ya solo tendremos que hacer.

Meter la contraseña de root que hayamos puesto y listo, tendremos acceso al servidor como root desde cualquier parte del planeta.

Last updated