Underc0de

Informática => Cursos, manuales y libros => Mensaje iniciado por: vk496 en Julio 06, 2014, 07:51:25 PM

Título: [Tutorial] IRC Proxy a través de Tor
Publicado por: vk496 en Julio 06, 2014, 07:51:25 PM
Con esto no tendréis excusas para no estar en el IRC del foro...   ^-^

Para empezar... De que me sirve un IRC Proxy o también conocido como Bouncer?
El motivo principal es para evitar perder la conversación. Si te vas del canal, no se guarda el log de la conversación en ningún lado, por lo que no vas a saber que se ha tratado en tu ausencia.

(http://wiki.zyberdog.dk/_media/faq/bouncer.png)

Para esto hace falta tener un servidor consumiendo energía todo el día... A no ser que tengas OpenWRT  >:(

Usaremos ZNC, que viene bastante completo en los repositorios de OpenWRT.

Aquí van los comandos:

opkg update
opkg install znc znc-mod-cert znc-mod-certauth znc-mod-chansaver znc-mod-perform znc-mod-sasl znc-mod-simple-away znc-mod-webadmin

Creamos el directorio:

mkdir -p ~/.znc/configs
mkdir -p /var/run/znc

Creamos el archivo znc.conf dentro de esa ruta

Citar// WARNING
//
// Do NOT edit this file while ZNC is running!
// Use webadmin or *controlpanel instead.
//
// Altering this file by hand will forfeit all support.
//
// But if you feel risky, you might want to read help on /znc saveconfig and /znc rehash.
// Also check http://en.znc.in/wiki/Configuration

AnonIPLimit = 10
ConnectDelay = 5
LoadModule = webadmin
LoadModule = certauth
MaxBufferSize = 20000
PidFile = /var/run/znc/znc.pid
ProtectWebSessions = true
SSLCertFile = /root/.znc/znc.pem
ServerThrottle = 30
Skin = dark-clouds
StatusPrefix = *
Version = 1.2

<Listener listener0>
       AllowIRC = true
       AllowWeb = true
       IPv4 = true
       IPv6 = true
       Port = 8000
       SSL = true
</Listener>

<User vk496>
       Admin = true
       Allow = *
       AltNick = vk496_
       AppendTimestamp = false
       AutoClearChanBuffer = false
       BindHost = 0.0.0.0
       Buffer = 5000
       ChanModes = +stn
       DenyLoadMod = false
       DenySetBindHost = false
       Ident = vk496
       JoinTries = 10
       LoadModule = cert
       LoadModule = perform
       LoadModule = chansaver
       MaxJoins = 0
       MaxNetworks = 1
       MultiClients = true
       Nick = vk496
       PrependTimestamp = true
       QuitMsg = Bye ~ Happy hacking!
       RealName = La muchachada
       TimestampFormat = [%H:%M:%S]

       <Network freenode>
               FloodBurst = 4
               FloodRate = 1.00
               IRCConnectEnabled = true
               LoadModule = simple_away -timer 0 Not online now jejeje
               LoadModule = sasl
               Server = chat.freenode.net 7000

               <Chan #underc0de>
               </Chan>

       </Network>

       <Pass password>
               Hash = blablabla
               Method = SHA256
               Salt = blablabla
       </Pass>
</User>

Donde veáis vk496, lo cambiáis por un nick vuestro

A continuación, generamos el certificado SSL

znc -p

Posteriormente, tenemos que crear una contraseña que usaremos para autentificarnos a nuestro servidor. Lo hacemos con:

znc -s

Nos devolverá algo asi

Citar<Pass password>
       Method = sha256
       Hash = cc96913905b41ee13b86b765714715a0d916e8b436acd57777d7c8c631b4f4a5
       Salt = p),VU7Q4,91V4u/6*VrF
</Pass>

Debemos abrir nuestro znc.conf y pegarlo encima de

Citar<Pass password>
               Hash = blablabla
               Method = SHA256
               Salt = blablabla
       </Pass>


La contraseña que hemos generado nos servirá para acceder a nuestro servidor.

Con todo esto listo, ejecutamos nuestro IRC Proxy con:

znc -r

Y usamos cualquier cliente IRC (HexChat de Windows por ejemplo). Nuestro servidor tiene la IP de nuestro router (en mi caso 192.168.1.1) y usa el puerto 8000. Importante marcar que usa SSL y que se acepten los certificados inválidos.


Cuando entréis, observaréis que tardara un poquito, pero enseguida abrirá el canal que le indicamos en znc.conf (#underc0de).

Ahora viene "el problema"... Mi IP sale allí, y no me gusta. No me gusta nada.

(https://upload.wikimedia.org/wikipedia/commons/8/8f/Tor_project_logo_hq.png)

Para solucionarlo, primero debemos crear una cuenta en freenode (buscaros la vida en Google, que tutoriales de ello sobran).

Una vez listo, metemos mas comandos:

opkg install tor socat

mkdir -p /var/tor

Editamos el archivo /etc/tor/torrc y dejamos únicamente esto:

CitarDataDirectory /var/tor
User root

SocksListenAddress 192.168.1.1

En donde 192.168.1.1 es la IP de nuestro router.

ejecutamos tor con:

tor

Posteriormente ejecutamos el siguiente comando:

socat TCP4-LISTEN:4321,fork SOCKS4A:192.168.1.1:frxleqtzgvwkv7oz.onion:6667,socksport=9050 &

En donde 192.168.1.1 es la IP de nuestro router.

Cerramos znc con:

killall znc

Editamos el archivo znc.conf y cambiamos esto:

CitarServer = chat.freenode.net 7000

por esto

CitarServer = 192.168.1.1 4321

En donde 192.168.1.1 es la IP de nuestro router.

Ejecutamos znc:

znc -r

Abrimos nuestro cliente IRC y nos conectamos a nuestro Bouncer. Veréis que llega un momento en el que se os abren dos conversaciones *status y *sasl

Nos dirigimos a *sasl y ejecutamos el siguiente comando en el cliente IRC

Citar/msg *sasl Set <user> <pass>

Donde <user> es vuestro usuario de freenode y <pass> es la contraseña.

Con esto debería conectarse a través de la red Tor  >:( >:( >:(

Para comprobarlo, ponéis esto en cualquier canal

Citar/whois <user>

En <user> es vuestro usuario. Os devolverá algo así

Citar[vk496] is connecting from *@gateway/tor-sasl/vk496 255.255.255.255
Título: Re:[Tutorial] IRC Proxy a través de Tor
Publicado por: ANTRAX en Julio 06, 2014, 08:00:42 PM
Excelente broooo!!
Muy completo!!
Título: Re:[Tutorial] IRC Proxy a través de Tor
Publicado por: blackdrake en Julio 07, 2014, 04:08:55 AM
Aportazo, seguramente siga el tutorial y a ver si me sale... Jajaja

Muchas gracias vk496
Título: Re:[Tutorial] IRC Proxy a través de Tor
Publicado por: Fukie en Julio 07, 2014, 01:21:14 PM
Excelente bro! Ya no hay escusas para no estar en el irc