Construyendo Nuestro Propio Pi(rate)Box Desde Cero

Publicado: 07/08/2015 en --Hacking--
Etiquetas:, , , , , , , ,

Vivimos días en los que el sitio “The Pirate Bay” ha sido bloqueado en diferentes países, incluido el nuestro. Vivimos días en los que partidos políticos y funcionarios quieren censurar hasta los comentarios en sitios web y redes sociales, ejerciendo una censura sin límites mediante justificaciones banales. Vivimos días en los que Google discrimina contenido proveniente de BitTorrent obligado por lobbies que nada tienen que ver con la ciudadanía ni la cultura. Así que para estos tiempos particularmente oscuros, tiempos de lucha en la red contra esas distintas formas de poder, quiero presentarles PirateBox: una caja para el que sabe que compartir no es robar.

El Pacto de San José de Costa Rica expresa:

Artículo 13. Libertad de Pensamiento y de Expresión
1. Toda persona tiene derecho a la libertad de pensamiento y de expresión. Este derecho comprende la libertad de buscar, recibir y difundir informaciones e ideas de toda índole, sin consideración de fronteras, ya sea oralmente, por escrito o en forma impresa o artística, o por cualquier otro procedimiento de su elección.

Declaración Universal de los Derechos Humanos:

Todo individuo tiene derecho a la libertad de opinión y expresión; este derecho incluye el de no ser molestado a causa de sus opiniones, el de investigar y de recibir informaciones y opiniones, y el de difundirlas, sin limitación de fronteras, por cualquier medio de expresión.

En tanto a Internet la OEA sostiene en su Declaración Conjunta sobre Libertad de Expresión e Internet:

1. Principios generales
La libertad de expresión se aplica a Internet del mismo modo que a todos los medios de comunicación. Las restricciones a la libertad de expresión en Internet solo resultan aceptables cuando cumplen con los estándares internacionales que disponen, entre otras cosas, que deberán estar previstas por la ley y perseguir una finalidad legítima reconocida por el derecho internacional y ser necesarias para alcanzar dicha finalidad (la prueba "tripartita").

Un PirateBox es un dispositivo electrónico portátil, que a menudo consiste en un enrutador y un dispositivo de almacenamiento, la creación de una red inalámbrica que permite a los usuarios que están conectados a la misma compartir archivos de forma anónima y de manera local. Por definición, este dispositivo no está conectado a Internet.

Inspirado por los movimientos en pro de la cultura libre y las radios pirata, el artista David Darts utiliza software libre y abierto (FLOSS) para crear redes inalámbricas de cajas pirata para el libre y anónimo intercambio de imágenes, vídeo, audio, y demás contenido. Luego de leer los párrafos anteriores, tal vez se pregunten cuáles son sus características, dónde se obtiene, o mejor aún, cómo hacer uno por su cuenta.

Lista de Componentes

1 Raspberry Pi Modelo B (Rev. 2)

1 Memoria USB Sandisk Cruzer Micro 16GB (o equivalente)

1 Tarjeta de Memoria ADATA microSDHC 8GB Clase 10 (o equivalente) [Sistema de Archivos FAT32, partición única]

1 Adaptador USB Inalámbrico TP-LINK TL-WN823N (o equivalente Realtek RTL8192CU)

1 Cargador Portátil a Batería USB 10.000mAh con suministro de corriente de 2A

1 Cable Ethernet (derecho) retráctil.

1 Adaptador de Tarjetas microSD de Bajo Perfil (opcional)

Instalación

Habiendo reunido todos los componentes, nuestro primer paso será descargar la siguiente imagen: Raspberry Pi(rate)Box 1.0.2 image v1.0.5 utilizando nuestro cliente BitTorrent favorito, en particular, recomiendo Deluge. Una vez finalizada la descarga recomiendo seguir compartiendo el archivo para colaborar con la descarga del mismo y así ayudar a otros miembros de la comunidad.

Luego descomprimiremos el archivo “ArchLinuxARM-2014.10-PirateBox*.zip” y como resultado de este proceso obtendremos el archivo “raw_arch_image_file”, el cual debemos escribir en nuestra tarjeta microSDHC.

Podemos realizar esta tarea desde un sistema operativo Linux con la utilidad “dd”. Desde un sistema operativo Windows podemos utilizar una excelente herramienta: Win32DiskImager

Luego de ejecutar la utilidad debemos especificar la ruta de la imagen a escribir y seleccionar la letra de la unidad correspondiente a nuestra tarjeta microSDHC. ¡CUIDADO! Finalmente presionamos el botón “Write”. La secuencia de pasos antes descritas se observa en la siguiente imagen:

Finalizado exitosamente el proceso de escritura de la imagen en la tarjeta microSDHC, procederemos a insertar la misma en el adaptador de bajo perfil y éste a su vez en el zócalo del Raspberry Pi. Además conectaremos la memoria USB, el adaptador USB inalámbrico y conectaremos el RPi a nuestro router utilizando el cable Ethernet. Finalmente conectaremos la fuente de alimentación.

Luego de algunos segundos, habiendo iniciando por completo el sistema operativo Arch Linux, ejecutaremos nuestro cliente SSH favorito y estableceremos una conexión a la dirección IP asignada por el servidor DHCP de nuestro router. Desde un sistema operativo Windows podemos utilizar una excelente herramienta: “PuTTY”, cuyo enlace de descarga se encuentra a continuación.

PuTTY 0.64

Autor: Jakub

Web: jakub.kotrla.net/putty/

Tamaño: 1.05MB

SHA1 Hash: B37FB75C18705263BB9A4A0DCCFCBCE395CB1A76

Descarga     Mirror

Cuando se nos solicite, introduciremos las credenciales de acceso

login: root

Password: root

Ejecutamos la siguiente secuencia de comandos:

[root@alarmpi ~]# passwd

A continuación introduciremos una nueva contraseña decente para el usuario “root”, como se observa en la siguiente imagen:

Ahora debemos configurar la memoria USB como almacenamiento predeterminado para nuestro PirateBox, para ello debemos ejecutar la siguiente secuencia de comandos:

[root@alarmpi ~]# echo "/dev/sda1 /mnt/usbdrive vfat umask=0,noatime,rw,user 0 0" >> /etc/fstab

[root@alarmpi ~]# mkdir -p /mnt/usbdrive

[root@alarmpi ~]# mount /mnt/usbdrive

[root@alarmpi ~]# mv /opt/piratebox/share/Shared /mnt/usbdrive

[root@alarmpi ~]# ln -s /mnt/usbdrive/Shared /opt/piratebox/share

[root@alarmpi ~]# mv /opt/piratebox/share/board/src /mnt/usbdrive/kareha_uploads

[root@alarmpi ~]# ln -s /mnt/usbdrive/kareha_uploads /opt/piratebox/share/board/src

La ejecución exitosa de la secuencia de comandos expuesta anteriormente se observa en la siguiente imagen:

Como vemos, la ejecución de determinados comandos arroja el mensaje de error “Failed to preserve ownership for…”, podemos ignorar este mensaje ya que se trata acerca de la preservación de permisos en los archivos, esto es lógico ya que estamos utilizando el sistema de archivos FAT32 en la memoria USB.

La siguiente tarea consiste en configurar como Access Point el adaptador USB inalámbrico para proveer conectividad a los usuarios. Afortunadamente ya se encuentran incluidas algunas versiones alternativas de “hostapd”, entre las cuales se encuentra una versión para el chipset de nuestro adaptador inalámbrico (RTL8192CU). Ahora debemos instalar la versión correcta de “hostapd” para nuestro chipset ejecutando el comando:

[root@alarmpi ~]# pacman -U /prebuild/hostapd/hostapd-8192cu-0.8_rtw_r7475.20130812_beta-3-armv6h.pkg.tar.xz

El resultado de la ejecución del comando anterior se observa en las siguientes imágenes:

Siendo exitoso el paso anterior, ahora debemos asegurarnos que el administrador de paquetes “pacman” no actualice la versión alternativa de “hostapd” que acabamos de instalar. Para esto debemos modificar el archivo “pacman.conf” ejecutando el siguiente comando:

[root@alarmpi ~]# nano /etc/pacman.conf

Luego, modificamos el archivo como se muestra en la siguiente imagen:

Con lo anterior nos aseguramos que “pacman” no reemplace nuestra versión alternativa de “hostapd”. Ahora sólo queda editar el archivo de configuración de “hostapd” para configurar el controlador correcto. Debemos modificar el archivo “hostapd.conf” utilizando el comando:

[root@alarmpi ~]# nano /opt/piratebox/conf/hostapd.conf

Y modificamos el archivo como se muestra en la siguiente imagen:

El controlador correcto es RTL871xdrv, en minúsculas. La L no es 1.

Finalmente procedemos a reiniciar el dispositivo:

[root@alarmpi ~]# shutdown –r now

Luego de reiniciar el dispositivo, nuevamente establecemos una conexión ejecutando nuestro cliente SSH favorito y ejecutamos los siguientes comandos:

[root@alarmpi ~]# systemctl start piratebox

[root@alarmpi ~]# systemctl enable piratebox

Llegados a este punto, cerramos la sesión SSH con el comando:

[root@alarmpi ~]# exit

Luego procederemos a desconectar el cable Ethernet de nuestro Raspberry Pi y nos conectaremos mediante Wi-Fi al Punto de Acceso inalámbrico cuyo SSID es “PirateBox – Share Freely”. Una vez más ejecutaremos nuestro cliente SSH favorito y estableceremos una conexión a la dirección IP 192.168.77.1.

Luego de introducir las credenciales de acceso, debemos modificar el archivo de configuración de “Kareha” (Pizarra de Imágenes y Discusión). Para realizar esta tarea, utilizaremos el editor de texto “vi”. Modificaremos los valores de las constantes “ADMIN_PASS” y “SECRET”. También debemos eliminar el caracter “#” al principio de ambas líneas en caso de estar presente.

ADMIN_PASS: contraseña decente.

SECRET: totalmente aleatorio y extenso. No es necesario recordarlo.

[root@alarmpi ~]# vi /opt/piratebox/www/board/config.pl

Habiendo modificado exitosamente el archivo de configuración, ejecutamos el siguiente comando:

[root@alarmpi ~]# /opt/piratebox/bin/timesave.sh /opt/piratebox/conf/piratebox.conf install

Ahora, ejecutaremos nuestro navegador web favorito y en la barra de direcciones introduciremos la dirección http://piratebox.lan/board/kareha.pl para la primera inicialización.

Finalmente procederemos a activar el servidor multimedia UPnP con la siguiente secuencia de comandos:

[root@alarmpi ~]# cp /etc/minidlna.conf /etc/minidlna.conf.bkp

[root@alarmpi ~]# cp /opt/piratebox/src/linux.example.minidlna.conf /etc/minidlna.conf

Editaremos el archivo “minidlna.conf” utilizando el editor de texto “vi”.

[root@alarmpi ~]# vi /etc/minidlna.conf

El archivo debe quedar como se muestra en la siguiente imagen:

Por último, iniciamos el servidor multimedia UPnP con la siguiente secuencia de comandos:

[root@alarmpi ~]# systemctl start minidlna

[root@alarmpi ~]# systemctl enable minidlna

Share freely!!!

Fuente: http://www.piratebox.cc/raspberry_pi:diy

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s