Pastebin es una de las plataformas más conocidas por ser la preferida donde los piratas informáticos publican información robada de forma totalmente anónima. En ella se han publicado en ocasiones enlaces magnet a torrents, usuarios y contraseñas de diferentes plataformas, información bancaria, datos sobre vulnerabilidades y otra gran cantidad de información, siendo esta una forma muy sencilla de publicar cierto contenido sin peligro a ser identificado, aunque en la práctica la seguridad podría ser mayor. Os recomendamos visitar nuestro tutorial sobre subir archivos muy grandes a la nube de Volafile.
En este artículo queremos hablaros de Repbin, una plataforma muy similar a Pastebin pero orientada exclusivamente a su uso a través de la red Tor, es decir, que los datos se suben a ella desde esta red y sólo pueden accederse a ellos, igualmente, desde la red distribuida. Las conexiones con los servidores de Repbin implementan medidas de seguridad adicionales como el cifrado de las comunicaciones para que sea mucho más complicado poder rastrear e identificar a los usuarios que publican información en la plataforma. También se aplican algunos algoritmos como Hashcash a los paquetes para que el servidor confirme la autoría de la información y evitar así la publicación de mensajes SPAM y ataques DDoS.
Las principales características de Repbin son:
- Los mensajes se cifran utilizando el algoritmo DHE-curve25519.
- Protege los mensajes con el algoritmo HMAC-SHA256 de manera que se garantiza la integridad de los archivos.
- El algoritmo AES256-CTR impide que nadie pueda leer los mensajes sin las claves correspondientes.
- Todos los mensajes tienen el mismo tamaño, por lo que no pueden identificarse mediante búsquedas «on the wire».
- Los servidores están replicados, por lo que toda la información está protegida ante fallos.
Preparar el sistema para enviar mensajes a Repbin
Para poder utilizar esta plataforma lo primero que debemos hacer es instalar las dependencias Go, Git y Tor en nuestro sistema Linux. Para ello abrimos un terminal y tecleamos:
sudo apt install golang
mkdir $HOME/work
export GOPATH=$HOME/work
export PATH=$PATH:$GOPATH/bin
sudo apt install tor
tor
sudo apt install git
Con estos pasos ya tendremos las librerías del lenguaje Go instaladas en el sistema y el cliente Tor instalado y en ejecución. Ya podemos proceder a la conexión con Repbin.
Esta plataforma se divide en 3 elementos:
- La parte del cliente, necesaria para enviar información.
- La parte del servidor, necesaria para procesar los datos.
- El generador de tokens, encargado de generar las claves de acceso y de cifrado.
Descargaremos las 3 partes a nuestro sistema tecleando:
go get -u github.com/repbin/repbin/cmd/repclient
go get -u github.com/repbin/repbin/cmd/repserver
go get -u github.com/repbin/repbin/cmd/reptoken
Ya tenemos todo listo. Ya podemos empezar a utilizar esta plataforma.
Cómo enviar y leer un mensaje a través de Repbin
Una vez que nuestro sistema está preparado empezamos. Lo primero que debemos hacer es crear el archivo que queremos subir. En nuestro caso dentro de la carpeta personal /home/ruvelro tenemos un documento de texto llamado RedesZone. Vamos a subir su contenido a Repbin. Para ello simplemente tecleamos en un terminal:
cat RedesZone | repclient
Automáticamente el programa enviará a la plataforma el documento indicado (en nuestro caso RedesZone) y lo almacenará de forma segura y privada allí. El mismo cliente nos devolverá una URL con dominio .onion donde se encuentra disponible nuestro fichero.
Si queremos leer un mensaje lo único que debemos hacer es indicar a repclient la URL de este:
repclient >
Gestiona las claves públicas y privadas de Repbin
La gestión de claves públicas y privadas es sencilla. Lo único que debemos hacer es generar claves públicas para nuestra clave privada. Para ello consultaremos nuestra clave privada con:
repclient --genkey
Y a continuación generaremos claves públicas, o temporales, con el comando:
repclient --gentemp
Podemos ver cómo el programa nos muestra una clave pública, la cual podemos mandar al emisor para que cifre sus mensajes, que sólo podrán descifrarse con nuestra clave privada.
De esta manera, para enviar un mensaje cifrado con nuestra clave pública el emisor debe enviarlo de la siguiente manera:
cat > | repclient -recipientPubKey=">"
Para finalizar, podemos realizar una búsqueda en el servidor de todos los mensajes cifrados con nuestra clave pública con los comandos:
repclient -index -privkey=">"
Podemos acceder al proyecto completo y a más información desde su página web de GitHub.
¿Qué te parece Repbin? ¿Conoces más plataformas similares?