Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - edh_

#1
Buenas, a modo de presentación en el foro voy a postear este pequeño tutorial que hice el año pasado. A muchos de este foro les conozco de haberles leido desde hace años y me sentía incómodo por no compartir nada. Un saludo a tod@s.

Vamos a utilizar nuestra Raspberry para hacer un punto de acceso, en el cual toda la información pasa por la red TOR y al cual nosotros podremos conectarnos para navegar de forma anónima. Qué es TOR: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Necesitamos:

1. Raspberry Pi, modelo B revisión 1 o 2.

2. Una tarjeta SD de 8GB o más, o un adaptador de microSD a SD y una microSD de 8GB o más. También nos puede servir una de 4 GB.

3. Un adaptador wireless USB, en concreto yo he usado un nano USB wireless con el chip Realtek, parecido a este: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta (No me dan comisión ni nada).



1. Raspberry como AP.

Lo primero que necesitaremos hacer es configurar nuestra Raspberry como un punto de acceso wifi, pára lo cual utilizaremos hostap. Asegurate de que tienes conexión a internet vía Ethernet y continuamos con:

Código: php
sudo apt-get install hostapd isc-dhcp-server
sudo apt-get update   #por si acaso.

Una vez instalado esto, pasaremos a configurar nuestro servidor DHCP. Así el punto de acceso asignará IPs de forma automática a los que se conecten.

Código: php
sudo nano /etc/dhcp/dhcpd.conf

Dentro del archivo, buscamos las líneas:

Código: php
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

Y las comentamos:

Código: php
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

Ahora buscamos estas lineas:

Código: php
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

Y descomentamos la última:

Código: php
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

Añadimos estas líneas al final del archivo:

Código: php
subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
option routers 192.168.42.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}

Guardamos: ctrl+O, enter, y salimos: ctrl+X (si estás copiando y pegando o usas nano).
Ahora vamos a configurar el dispositivo que va a correr DHCP:

Código: php
sudo nano /etc/default/isc-dhcp-server

Dentro del archivo, en la línea que pone INTERFACES="", ponemos el nombre de nuestra tarjeta de red. En este caso yo estoy usando una tarjeta wifi usb rtl normal y corriente y la tendré conectada al segundo puerto usb de la raspberry, por tanto quedaría algo así:

Código: php
INTERFACES="wlan1"

Debemos configurar wlan1 para que tenga una IP estática:

Código: php
sudo nano /etc/network/interfaces

Quedando algo así:

Código: php
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
iface wlan1 inet static
address 192.168.42.1
netmask 255.255.255.0
up iptables-restore < /etc/iptables.ipv4.nat

La última linea servirá para que cuando terminemos de configurar iptables la configuración se cargue en cada reinicio.
Lo siguiente será configurar el punto de acceso, el archivo hostapd.conf, y aquí es dónde viene la trampa. Tendremos que compilar nuestro propio archivo hostapd, ya que el que nos sirven en el tutorial de la página de Adafruit solo sirve para las tarjetas wifi que venden ellos, son buenos pero no tontos. En concreto, el driver que nosotros queremos utilizar es el nl80211, vamos a ello:

Primero instalamos las librerías necesarias:

Código: php
sudo apt-get install libnl-dev

(solo si te da problemas: sudo apt-get install libnl-3-dev)

Configuramos hostapd:

Código: php
sudo nano /etc/hostapd/hostapd.conf

Quedando algo así:

Código: php
interface=wlan1
driver=nl80211
ssid=tHor
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=mybifrost
#[http://es.wikipedia.org/wiki/Bifrost->http://es.wikipedia.org/wiki/Bifrost]
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Ahora indicaremos a hostap dónde se encuentra nuestro archivo de configuración:

Código: php
sudo nano /etc/default/hostapd

Buscamos:

Código: php
#DAEMON_CONF=""

Y ponemos:

Código: php
DAEMON_CONF="/etc/hostapd/hostapd.conf"

Que no se nos olvide guardar, que no hay que dejar espacios y ese tipo de cosas.
Ahora configuraremos y activaremos la NAT:

Código: php
sudo nano /etc/sysctl.conf

Ponemos en la parte de abajo del archivo:

Código: php
net.ipv4.ip_forward=1

Guardamos e iniciamos el forward:

Código: php
sudo echo "1" > /proc/sys/net/ipv4/ip_forward

Ahora vamos a configurar iptables:

Código: php
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan1 -m state –state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT

Y metemos el resultado en nuestro archivo de configuración:

Código: php
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Solo nos queda descargar y compilar hostapd:

Código: php
sudo git clone git://w1.fi/srv/git/hostap.git
cd hostap/hostapd
sudo cp defconfig .config
sudo nano .config

Buscamos esto:

Código: php
#CONFIG_DRIVER_NL80211=y

Y lo descomentamos:

Código: php
CONFIG_DRIVER_NL80211=y

Guardamos, salimos, cruzamos los dedos y:

Código: php
sudo make

Bueno, un problema menos, ahora vamos a ponerlo todo en su sitio:

Código: php
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.ORIGINAL 
sudo mv hostapd /usr/sbin

Permisos:

Código: php
sudo chmod 755 /usr/sbin/hostapd

Comprobamos que levanta el punto de acceso, no hace falta que nos conectamos todavía:

Código: php
sudo service hostapd start 
sudo service isc-dhcp-server start

Lo añadimos para que inicie en boot:

Código: php
sudo update-rc.d hostapd enable 
sudo update-rc.d isc-dhcp-server enable

Y podemos pasar a la parte 2.
PD: según Adafruit, para algunas distribuciones puede ser necesario quitar el wpasupplicant, en mi caso utilizo pwnpi y no ha sido necesario, pero el comando es:

Código: php
sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~/

2. OnionPI

Esta parte es mucho más corta, instalamos tor:

Código: php
sudo apt-get install tor

Configuramos:

Código: php
sudo nano /etc/tor/torrc

Copiamos esto arriba del todo del archivo:

Código: php
Log notice file /var/log/tor/notices.log
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
TransPort 9040
TransListenAddress 192.168.42.1
DNSPort 53
DNSListenAddress 192.168.42.1

Volvemos a configurar iptables, borramos lo antiguo:

Código: php
sudo iptables -F
sudo iptables -t nat –F

Ponemos lo nuevo:

Código: php
sudo iptables -t nat -A PREROUTING -i wlan1 -p tcp --dport 22 -j REDIRECT --to-ports 22
sudo iptables -t nat -A PREROUTING -i wlan1 -p udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t nat -A PREROUTING -i wlan1 -p tcp --syn -j REDIRECT --to-ports 9040
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Y por si te has hecho la picha un lio, el archivo /etc/iptables.ipv4.nat tiene que quedar así:

Código: php
# Generated by iptables-save v1.4.14 on Thu Feb  6 02:10:47 2014
*filter
:INPUT ACCEPT [482:52092]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [564:69516]
-A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan1 -o eth0 -j ACCEPT
COMMIT
# Completed on Thu Feb  6 02:10:47 2014
# Generated by iptables-save v1.4.14 on Thu Feb  6 02:10:47 2014
*nat
:PREROUTING ACCEPT [1:185]
:INPUT ACCEPT [2:245]
:OUTPUT ACCEPT [32:1920]
:POSTROUTING ACCEPT [32:1920]
-A PREROUTING -i wlan1 -p tcp -m tcp --dport 22 -j REDIRECT --to-ports 22
-A PREROUTING -i wlan1 -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING -i wlan1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIREC$
-A POSTROUTING -o eth0 -j MASQUERADE

Creamos el log por si nos da problemas, esperemos que no:

Código: php
sudo touch /var/log/tor/notices.log
sudo chown debian-tor /var/log/tor/notices.log
sudo chmod 644 /var/log/tor/notices.log

Iniciamos tor:

Código: php
sudo service tor start

Al boot:

Código: php
sudo update-rc.d tor enable

¡Y listo! Ahora es momento de meterse al punto de acceso, ir a No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y comprobar que todo está bien.

Puedo subir una imagen completa, para que sea solo descargar y meter en la SD. Podeis poner el tutorial donde queráis, pero no se os olvide mencionar que eso hace llorar al niño Jesus.

EDH_

Fuentes:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta