J. J. Ancheta, Mr. Bot Herder

Septiembre 29th, 2008

Hoy inauguro una nueva sección del blog, cibercriminales. Como ya habréis imaginado, aquí os contaré las gestas de esas mentes retorcidas y oscuras que han hecho de este mundo nuestro un lugar más inseguro. Quizás debería empezar con el caso más conocido de la historia, Kevin Mitnick, pero seguro que ya todos sabréis de él (si queréis detalles técnicos de su ataque más famoso conozco un libro en el que lo explican perfectamente, jejeje).

Comencemos, en 1986 vio la luz el pequeño Jeanson James Ancheta, un muchacho destinado a tener una vida anónima y complicada con un sueldito que apenas le alcanzaría para llegar a fin de mes. Chico problemático, pasó parte de su vida en el Downey High School, un instituto situado en un suburbio de Los Angeles. Lo dejó en septiembre del 2001 para incorporarse  más tarde a un programa especial para alumnos problemáticos gracias al que finalmente consiguió su diploma.

Estuvo trabajando algún tiempo en un cibercafé y tenía intención de entrar en el ejército para mejorar su nivel de vida. O al menos pensó en eso hasta que en el 2004 descubrió el maravilloso mundo de los gusanos a través de rxbot, un ejemplar bastante común pero muy potente y sencillo de configurar. Diseñado para infectar equipos de manera autónoma y dar el control de estos a su creador, era justo lo que había estado buscando para escapar de su mundo de miseria.

Con esta idea en mente, comenzó a usar gusanos personalizados para infectar equipos, convirtiéndose en Bot Herder de una importante BotNet. A mediados del 2004 decidió montar un negocio en un canal privado del IRC (#botz4sale), en el que se dedicaba a vender acceso ilegítimo a un buen número de ordenadores previamente infectados. Gracias a esta pequeña aventurilla consiguió ganar más de 3000$, pero lo que fue más importante, vio que aquello podía ser algo muy rentable.

La venta de bots estaba bien pero no le reportaba las ganancias esperadas, así que a finales del 2004 decidió dar un giro a su negocio. Firmó contratos con dos compañías de publicidad (LoudCash of Bellevue, Wash. y GammaCash Entertainment of Montreal). Por cada cliente que convenciera para que se instalara el adware de la empresa, Ancheta cobraría entre 20 y 70 céntimos. En vez de seguir el procedimiento habitual (y legal) de crear una página web desde la que convencer al visitante para que se descargara e instalara el software, nuestro joven amigo siguió un camino más directo. El mismo se conectaba a los ordenadores que previamente había infectado e instalaba el adware.

El procedimiento lo desbordó, por una parte tenía que seguir engordando su BotNet (que llegó a contar con cerca de medio millón de equipos en su momento de máximo esplendor) y por otro lado tenía que instalar el adware en los sistemas comprometidos. Así que contrató a un joven ayudante con el que se comunicaba vía AOL messenger y al que enseñó cómo infectar nuevos equipos y cómo manejar las instalaciones de adware. Entre los dos consiguieron ganar cerca de 60000$ en apenas seis meses. Para la posterioridad quedará la frase que Ancheta dijo a su ayudante en una de sus conversaciones sobre la infección de equipos: It’s immoral, but the money makes it right (Es inmoral, pero el dinero lo justifica).

En noviembre del 2005, Ancheta fue arrestrado por agentes del FBI como parte de la operación Bot Roast. En el 2006 fue declarado culpable por delitos varios entre los que se encontraba el secuestro de multitud de ordenares, consiguiendo el dudoso honor de ser la primera persona imputada por este motivo. Fue condenado a 60 meses de cárcel, perdió el BMW que había comprado con sus ganancias y lo que le quedaba de éstas y además se le impuso una multa de 15000$ por haber infectado ordenadores militares.

Lo más triste de esta historia es que nuestro joven protagonista es sólo uno de esos tantos chavales con escasa formación y demasiada motivación que se creen imparables. No comprenden lo fácil que es tracearlos y dar con ellos, no entienden que sus hábitos rutinarios los hacen predecibles y que con toda certeza hace tiempo que los están siguiendo. Por eso son los que pagan por estos crímenes de los que otros se aprovechan con muchos mejores resultados… desgraciadamente a esos otros es difícil pillarlos, esos otros sí saben moverse en esta telaraña global de comunicaciones.

Bonus: aquí tenéis la foto de Ancheta para los morbosos que quieran saber que aspecto tiene un Bot Herder.

Jeanson James Ancheta

Fuentes:

http://en.wikipedia.org/wiki/Jeanson_James_Ancheta

http://www.usatoday.com/tech/news/computersecurity/infotheft/2006-04-23-bot-herders_x.htm

http://www.theinternetpatrol.com/its-immoral-but-the-money-makes-it-right-says-botnet-operator-jeanson-ancheta-now-it-makes-it-time-in-the-slammer

http://en.wikipedia.org/wiki/Agobot_(computer_worm) 

Categorías: Cibercriminales | 4 comentarios

Servidores Blade

Septiembre 15th, 2008

Hace unos días visité el CPD de un cliente y por fin vi los famosos Blade de los que tanto había oído hablar. Para entender el por qué de los Blade basta imaginar la siguiente secuencia lógica de acontecimientos. Primero habilitamos un espacio de nuestro edificio para un CPD, luego empezamos a meter servidores y llega un momento en el que el espacio se nos acaba. Entonces decidimos llenar el CPD con  racks ya que así aprovechamos mejor el espacio. Pero se nos vuelve a acabar… entonces llega el momento de los Blade. Aunque a decir verdad los servidores Blade son mucho más que tener un montón de servidores en un espacio realmente rídiculo. Hay que cambiar el concepto de servidor que tenemos en mente…

Cualquiera familiarizado con la instalación de sistemas sabe que cuando se habla de instalar un servidor, no sólo se habla de colocar una máquina formada por procesador, memoria y disco duro (que es lo que se define como máquina de Turing desde un punto de vista abstracto), también estamos hablando de conectar unas fuentes de alimentación (normalmente redundadas), tarjetas de red, tarjetas de video, periféricos, etc.

Pues bien, un chasis Blade incluye todo esto que no es estrictamente necesario creando un entorno en donde los servidores son ‘pinchados’, y aquí por servidor me refiero a una máquina que sólo tiene procesador, memoria y disco duro (así que imaginad su pequeño tamaño). Todos los accesorios (fuentes de alimentación, tecnología de red, periféricos, etc.) están incluidos en el chasis y se proporciona de forma común para todos los servidores que se pinchen en él.

Servidor Blade HP

Una vuelta de tuerca más al concepto rack. Podéis encontrar más información en la wikipedia.

Categorías: interesante | 1 comentario

Google Chrome

Septiembre 3rd, 2008

Después de toda la expectación que ha levantado, por fin ha salido la beta del Google Chrome y como no podía ser de otra manera ya la he probado y he venido a contaros mis impresiones. Para los que no estéis demasiado informados sobre este nuevo navegador recomiendo la lectura del comic que los chicos de Google se han currado para la ocasión. La verdad es que vale la pena echarle un vistazo.

A mi me parece fenomenal el trabajo que han llevado a cabo y sin duda esto marcará un punto de inflexión en la nueva generación de navegadores. El chrome no sólo es un navegador rapídisimo, sino que ha puesto sobre la mesa un montón de avances que van a hacer que la competencia se replantee la forma de hacer las cosas. Desde mi punto de vista Google ha lanzado un mensaje muy claro al resto de compañías metidas en el ajo: renuévate o muere.

Medidas tan innovadoras como tratar cada pestaña como un proceso independiente o contar con una máquina virtual de Javascript capaz de realizar tareas pesadas sin inmutarse sólo eran posibles diseñando un navegador desde cero.  Y eso es lo que han hecho y por eso va a ser difícil que sus competidores los igualen sin invertir gran cantidad de tiempo y dinero. Pero es que además han cogido las ideas más brillantes que ya existían en los navegadores actuales y las han incorporado al Chrome, por citar algunas nombraré el Speed Dial de Opera o el modo privado del Internet Explorer.

El hecho de tratar cada pestaña como un proceso nuevo es algo fenomenal, ya no se nos volverá a colgar el navegador porque una página quede bloqueada, cerramos esa pestaña y punto. Tampoco decaerá el rendimiento conforme avanza el tiempo de uso del navegador, por aquello de no reutilizar la memoria de la manera adecuada (como cada pestaña es un proceso independiente, al cerrar una todo el espacio asignado a la misma es liberado).

La verdad es que me gusta bastante y aunque aún no lo he usado demasiado lo cierto es que el Chrome promete. Sigo echando en falta algunas opciones que uso frecuentemente en Opera como la capacidad para crear búsquedas a medida, los mouse gestures o  añadir botones a alguna barra personal para realizar tareas específicas, por nombrar algunas.

Esperemos que saquen pronto la versión Linux del navegador, mientras tanto seguiré usando Opera que hasta la aparición del Chrome ha sido sin duda el navegador más innovador del mercado.

Categorías: interesante | 4 comentarios

Contento con mi DeLL

Agosto 29th, 2008

Hace ya más de un año la tarjeta gráfica de mi viejo portátil Toshiba se negó a seguir funcionando. La garantía se me había acabado apenas dos semanas antes y la verdad es que no sabía que hacer. Me gustaba mi portátil, le tenía cariño. Debo aclarar que por las condiciones de mi trabajo el portátil estaba encendido más de 8 horas diarias, por lo que tampoco me pareció extraño que la tarjeta gráfica se quejara. Así que decidí llevarlo al servicio técnico para pedir presupuesto.

Después de mandarme de un lado para otro (el vendendor me mandó al servicio técnico, el servicio técnico se había mudado a otro sitio y no lo había notificado) llegué a las oficinas correctas. Me dicen que les tengo que dejar el portátil una semana para que el técnico pueda revisarlo. Total, se los dejo allí y espero que me llamen pronto para darme presupuesto.

Después de dos semanas aún no me han llamado, así que decido llamarles yo para ver que es lo que está pasando. Me contestan que ya lo han revisado pero que debe ser que se les traspapeló la nota para llamarme (¿?¿?). Resulta que el problema es la tarjeta gráfica (¿¿En serio?? Sí que son eficientes, sí). Pues como está integrada en la placa hay que cambiar toda la placa, lo que me viene a salir unos 700€ (aquí fue cuando me entró la risa y no pude seguir hablando con el comercial).

Total, que aunque le tengo mucho cariño a mi Toshiba decido comprarme un nuevo portátil (por cierto, para retirar el Toshiba del servicio técnico tuve que pagar 30€ por gastos de… mmmm, la verdad no sé que gastos tuvieron). Me decidí por un DeLL Inspiron y esta vez me cubrí las espaldas, contraté un seguro que extendía la garantía básica a 3 años y cubría frente a daños accidentales.

Al principio pensé que lo de comprarlo en DeLL fue un error (me hubiera salido 300€ más barato comprarlo en cualquier tienda de por los alrededores). Pero llegó ese día en el que el portátil falla y debes pedir ayuda al servicio técnico y ahí es cuando comprobé que mi dinero fue bien invertido.

El 22 de Junio a las 4.37 AM el reloj interno de mi Inspiron dejó de funcionar. Como os lo estoy contando, se quedó parado y punto. No es que se acabara la pila del reloj, es que el reloj se puso en huelga y se quedó con esa hora. Durante unos días viví una experiencia similar a la de Bill Murray en Atrapado en el tiempo. Siempre que encendía el portátil era la misma hora. La verdad es que el problema no tenía la mayor importancia, bastaba ejecutar un ntpdate en algún script de arranque para solucionarlo. Pero bueno, ya que el portátil estaba en garantía decidí poner a prueba al servicio técnico. Además uno de los botones multimedia que había en el frontal me había dejado de funcionar hace tiempo (y me digo, a ver si me dan solución para todo).

Los llamo y me sale un chico muy amable y deseoso de ayudar. Después de hacer un par de chequeos me dice que vamos a actualizar la BIOS del equipo, que seguro que así solucionamos el problema. Le intenté explicar que este problema era nuevo y que nunca antes me había ocurrido nada similar, que no creía que una actualización solucionase nada. El se limitó a repetirme que ibamos a actualizar la BIOS que así solucionaríamos el problema. Decidí no discutir.

Después de seguir las indicaciones para actualizar la BIOS reinicé el equipo y… ahí se quedó. No me arrancaba. Parece que se tomó como algo muy personal eso de la actualización y ahora salía un mensaje de error en el arranque diciendo algo de que el reloj interno no estaba funcionando (bueno, al menos esta versión nueva de la BIOS confirma lo que ya uno sospecha, aunque es para lo único que sirve porque luego no te deja hacer nada).

El pobre chico del servicio técnico se dió por vencido y me dijo que me hacía un parte de incidencia para que fuera un técnico a casa y me cambiara la placa base (ya que todo está integrado). Aproveché para comentarle lo del botón multimedia, así que incluyó también el cambio del frontal del portátil.

Lo dicho, al día siguiente llegó un chaval muy majo con todas las piezas, me cambió la placa y el frontal y me dejó el portátil como nuevo. Sin moverme de casa, sin cobrarme un duro y encima en un tiempo record.

Aún sigo alucinado… pero lo que tengo claro es que ese dinero extra que gasté al principio valió la pena y que el próximo portátil que compré será otro DeLL.

Categorías: interesante | 2 comentarios

Un mundo bajo éste

Agosto 25th, 2008

Lo primero agradecer a todos el apoyo y los comentarios para que siga escribiendo. Ciertamente he dejado el blog de lado, pero ya es hora de retomarlo. Para los que no lo sepan, he cambiado de trabajo…  ahora estoy inmerso en el mundo de las redes de ordenadores como consultor. Es un trabajo apasionante, pero implica conocer al detalle cosas que posiblemente nunca antes pensaras que existieran o que pudieran ser de útilidad más allá del entorno académico.

Cuando las redes se mantienen pequeñas, es fácil controlarlas y entenderlas. Pero cuando empiezan a crecer, cada vez es más complicado acordarse de dónde están los switchs o cuántos routers tenemos. Eso por no hablar de cuando se le añade a la red la coletilla de ‘alta disponibilidad’, lo que más o menos quiere decir que si se frien unos cuantos equipos de comunicaciones, la red debe seguir funcionando como si nada.

Cuando empiezas a adentrarte en este mundo, descubres que debes tratar con un gran número de problemas en la capa de enlace, esto supuso para mi una gran novedad pues lo cierto es que a parte del ARP, pocos protocolos recordaba en este nivel. Sin embargo hay todo un mundo de protocolos coexistiendo aquí, un mundo transparente y desconocido, pero insultantemente necesario para el funcionamiento global de Internet.

Os pondré un par de ejemplos para ilustrar lo que quiero decir. A veces, al conectar demasiados equipos de comunicaciones podemos crear bucles en las redes, lo que hace que los paquetes estén dando vueltas sin llegar a ningún destino. Esto se puede hacer de forma involuntaria o a próposito para crear rutas alternativas (requisito imprescindible para las redes de alta disponibilidad). Este problema hay que resolverlo en la capa de enlace, uno de los protocolos encargados de ello es el Spanning Tree Protocol o STP para los amigos. Éste se encarga de que sólo exista una ruta válida hacia cada destino, cuando detecta que la ruta esta rota, conmuta automáticamente hacia una ruta alternativa. Cómo habréis deducido, la complejidad del protocolo es bastante elevada, ya que es necesario que un gran número de equipos colaboren entre sí, lo que implica mandar un montón de mensajes, elegir un nodo central de control, averiguar las diferentes rutas posibles, etc.

Otro de los problemas clásicos que se plantean en las grandes redes es averiguar cómo mandar un paquete desde un punto a otro. Los routers son los encargardos de esto y en pequeñas redes es el propio administrador de red el que introduce la tabla de enrutamiento a mano, pero en las grandes redes esto no es factible. Hay que tener en cuenta que estamos hablando de cientos de routers y miles de rutas, a parte de una topología cambiante y dinámica. Una ruta estática quedaría desfasada en muy poco tiempo y a parte, no permitirá aprovecharnos de las rutas alternativas que pudieran existir en caso de que la principal estuviera congestionada. Para resolver este problema se han ideado un gran número de protocolos para averiguar rutas (léase RIP, IGMP, OSPF, etc.). De manera muy resumida, el objetivo de estos protocolos es intercambiar información con los routers vecinos y así decidir que rutas son las óptimas en un momento dado.

En definitiva, todo un mundo bajo éste en el que espero no perderme y poder seguir trayendo pinceladas al blog.

Categorías: interesante | 5 comentarios

Export remotos de Oracle

Julio 23rd, 2008

Ya sé que hace tiempo que no escribo, pero el trabajo no me deja. De hecho son las 00:50 y sigo trabajando. Ahora tengo un ratito en lo que termina el export del Oracle, así que de paso aprovecho y os cuento el trauma por el que he pasado.

Veréis, tenemos un servidor con Oracle 10g y un montón de datos importantes de un cliente. Por cosas del destino hemos tenido que migrar de esa base de datos a un Oracle 9i. Esto en sí mismo ya es un problema, primero tenemos que hacer un export del Oracle 10g, pero no podemos hacerlo con las utilidades de exportación que nos ofrece el 10g. Los export siempre hay que hacerlos con el cliente de menor versión, en este caso, sería con la utilidad exp del Oracle 9i.

Para hacer esto, o bien instalamos un Oracle 9i en donde tenemos el 10g (lo que no es nada práctico y a parte es muy costoso en tiempo y ancho de banda) o bien realizamos el export remoto, que por supuesto es lo más elegante.

Esto del export remoto me ha traído de cabeza unas cuantas horas, pero ya encontré la solución y la quiero compartir con vosotros, para que nadie pierda tiempo en estas tonterías:

export TWO_TASK=’(DESCRIPTION=(ADDRESS_LIST=(none.com)))’
exp userid=scott/tiger file=export.dmp 

Sí, así de fácil, basta exportar la variable TWO_TASK con los datos de conexión en el formato esperado por oracle y listo.

Categorías: interesante | 5 comentarios

Recuperar memoria USB inservible

Julio 3rd, 2008

Si tienes una de esas memorias USB que están tan dañadas que tu Linux ya ni las reconoce, intenta hacer lo siguiente antes de tirarla y quizás te dure algún tiempo más.

En mi caso el problema era que la memoria tenía la estructura lógica tan corrupta que no había forma de que el sistema se aclarara con lo que había dentro. El dmesg suele mostrar algo similar a lo siguiente en este caso:

sdb: rw=0, want=39712621, limit=2009088
attempt to access beyond end of device
sdb: rw=0, want=39712622, limit=2009088
attempt to access beyond end of device
sdb: rw=0, want=39712623, limit=2009088
attempt to access beyond end of device
sdb: rw=0, want=39712664, limit=2009088
attempt to access beyond end of device
sdb: rw=0, want=39712665, limit=2009088
attempt to access beyond end of device

En estas circunstancias el fdisk es incapaz de reorganizar la memoria de manera adecuada:

# fdisk /dev/sdb
No se puede buscar en /dev/sdb

Así que lo primero es poner a cero nuestro dispositivo:

# dd if=/dev/zero of=/dev/sdb

Después de esto ya podemos usar el fdisk y el mkfs:

# fdisk /dev/sdb

[.,,]

# mkfs.ext3 /dev/sdb1

[...]

Y ya tenemos nuestra memoria lista para ser usada.

Categorías: Tips&Tricks | No hay comentarios

GOOSH

Junio 6th, 2008

Hoy os traigo una curiosidad, la verdad es que me hizo mucha gracia cuando me la enseñaron… y es que si sois de esos que prefieren usar los ‘ls’ y ‘cd’ antes que navegar gráficamente entre los archivos, si podéis concatenar comandos con la misma facilidad con la que respiráis, si cuando alguien os enseña un menú gráfico para que lo ayudéis a configurar su Linux os quedáis mirándole con cara extrañada… entonces querido amgio amante de la consola, goosh es para ti. Lo que siempre habías soñado!!! Ahora también podrás hacer búsquedas a través de Google cómo si estuvieras en tu shell de toda la vida!! Increíble, ¿no?

Goosh

Aprovecho para dar las gracias a David por mostrarme goosh

Categorías: curiosidades | 1 comentario

Dual Monitor en Linux

Mayo 20th, 2008

En esta receta voy a explicar un método muy sencillo para tener nuestro Linux conectado a dos monitores. Una advertencia, puede que no funcione en todo tipo de tarjetas de video. Yo la he probado con una Intel 945GM/GMS (driver i810), pero he leído que también funciona perfectamente con las ATI Radeon. Bien, manos a la obra.

1. Conectamos los dos monitores (obviamente)

2. Editamos el xorg.conf

Editamos el fichero de configuración de las X (/etc/X11/xorg.conf) y añadimos la directiva Virtual dentro de los sitios adecuados de la sección Screen, así es como quedaría:

Section “Screen”
Identifier “Default Screen”
Device “Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller”
Monitor “Monitor genérico”
DefaultDepth 24

SubSection “Display”
Depth 24
Modes “1440×900″ “1024×768″ “800×600″ “640×480″
Virtual 2880 900
EndSubSection
EndSection

Los valores de la sección virtual corresponden al tamaño total de la pantalla cuando activemos el modo multimonitor. En este caso mis monitores están conectados uno al lado del otro, por eso he duplicado el tamaño horizontal. Si los monitores estuvieran uno encima del otro, duplicariamos el tamaño vertical. Por supuesto, no es necesario que tengan la misma resolución los dos monitores, pero yo los configuraré con la misma.

3. Reiniciamos las X

4. Consultamos los monitores conectados

$ xrandr -q

Screen 0: minimum 320 x 200, current 1440 x 900, maximum 2880 x 900
VGA connected (normal left inverted right)
640×480        60.0
LVDS connected 1440×900+0+0 (normal left inverted right) 304mm x 190mm
1440×900       60.0*+
1280×800       60.0
1280×768       60.0
1024×768       60.0
800×600        60.3
640×480        59.9
TV disconnected (normal left inverted right)

5. Añadimos y activamos nueva resolución para el monitor

Si no nos gusta la configuración que nos ha detectado por defecto para el nuevo monitor (en mi caso 640×480), siempre podemos añadir nuevas resoluciones. Yo voy a configurarlo con una resolución de 1440×900. Veamos cómo se hace:

Obtenemos los parámetros necesarios para la configuración:

$ cvt 1440 900

# 1440×900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline “1440×900_60.00″ 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsyn
c

Creamos el nuevo modo:

$ xrandr –newmode “1440×900_60.00″ 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync

Asociamos el nuevo modo al monitor externo

$ xrandr –addmode VGA 1440×900_60.00

Activamos el nuevo modo, fijaos que le decimos al xrandr que el monitor está a la izquierda de la pantalla principal, otras opciones disponibles son (–right-of, –above, –below y –same-as)

$ xrandr –output VGA –mode 1440×900_60.00 –left-of LVDS

Y listo… ya tenemos nuestro Linux sobre dos monitores.

Categorías: Tips&Tricks | No hay comentarios

Navegación Anónima: La red TOR

Mayo 13th, 2008

A pesar de lo que podamos pensar y de lo seguro que nos sintamos tras la pantalla de nuestro ordenador, lo cierto es que navegar en la red de redes es una actividad que puede ser muchas cosas, excepto privada. Es fácil para cualquier sitio web tracearnos, recopilar datos sobre nosotros e incluso recurrir a la vía judicial si hemos hecho alguna acción especialmente ofensiva… no es raro leer alguna noticia sobre cómo ha acabado en juicio una amenaza vertida en forma de comentario en algún blog.

Dejando aparte los casos extremos, lo cierto es que estamos en nuestro derecho de querer navegar anónimamete. A veces más que un derecho es una necesidad… y cómo suele ocurrir en estos casos, siempre hay alguna empresa dispuesta a ayudarnos a cambio de un módico precio, aunque por supuesto, también podemos encontrar alternativas gratuitas que ofrecen un servicio similar. Alguna de las páginas dedicadas a navegación anónima son http://anonymouse.org/, http://ibypass.net/ y http://www.anonymizer.com/ por citar algunas.

El problema con este tipo de páginas es que son exclusivamente para eso, para navegación anónima, pero que pasa si queremos mantener nuestra IP oculta mientras mandamos un correo con nuestro cliente POP, jugamos al Quake, usamos nuestro cliente SSH, chateamos en el IRC o usamos nuestro programa de mensajería instantánea… en definitiva, que pasa cuando queremos usar cualquier cliente TCP. En ese caso tenemos que recurrir a otro tipo de soluciones como es el caso de la que nos ocupa: TOR

Tor es una red anónima diseña para proteger la privacidad de sus usuarios. El funcionamiento es como sigue, cuando un cliente se quiere conectar a la red TOR solicita a un servidor de directorio los nodos TOR disponibles, luego establece un circuito virtual aleatorio e inicia la conexión con el nodo final. La conexión entre los nodos TOR va cifrada y sólo va en plano desde el último nodo hasta el destino final.

Ejemplo red TOR

En la página oficial podéis encontrar una explicación mucho más detallada de funcionamiento. A mi lo que me interesa es enseñaros un modo muy rápido de instalar TOR y que desde  hoy mismo empecéis a ser seres anónimos, o por lo menos, que tengáis las herramientas para serlo.

Manos a la obra:

1. Instalamos TOR y Privoxy

Privoxy es un proxy privado que será nuestro punto de entrada a la red TOR. Una vez que tengamos todo instalado y configurado, haremos que nuestras aplicaciones usen privoxy y éste se encargará de pasar el tráfico a la red TOR.

# apt-get install tor privoxy

Pudiera ser que estos paquetes no se encuentren en nuestra distribución (esto es especialmente cierto si usamos Debian Etch). En ese caso habría que bajarse los fuentes y compilarlos, como muy bien explican en la web oficial.

2. Configuramos Privoxy

Editamos el fichero de configuración /etc/privoxy/config, borramos todo su contenido y en su lugar escribimos lo siguiente:

#———– BEGIN ———–

user-manual /usr/share/doc/privoxy/user-manual
confdir /etc/privoxy
logdir /var/log/privoxy
actionsfile standard.action # Internal purpose, recommended
actionsfile global.action # Global default setting for all sites
actionsfile default.action # Main actions file
actionsfile user.action # User customizations
filterfile default.filter
listen-address 127.0.0.1:8118
toggle 1
enforce-blocks 0
buffer-limit 4096
forward-socks4a / 127.0.0.1:9050 .
forwarded-connect-retries 0
accept-intercepted-requests 0
allow-cgi-request-crunching 0
split-large-forms 0

#———— END ————

Reiniciamos privoxy de la manera usual, normalmente:

$ /etc/init.d/privoxy restart

3. Configuramos las aplicaciones para que usen TOR

Bien, esta es la parte complicada, ya tenemos instalado TOR en nuestro ordenador y Privoxy configurado para que se conecte a él. Ahora bien, tenemos que configurar todas y cada una de nuestras aplicaciones para que se conecten con nuestro proxy local. Para los que tengan las cosas claras sólo mencionar que Privproxy escucha en: 127.0.0.1:8118

Para los que no, aquí tenéis como configurar el navegador para que use un proxy. Otras aplicaciones, como los clientes de mensajería instantánea, tienen en sus opciones de configuración la posibilidad de definir un proxy, en este caso la configuración variará de un cliente a otro y lo mejor es buscar algún tutorial sobre cómo configurar ese cliente. Hay un tercer grupo de aplicaciones que no tienen posibilidad de especificar proxy pero aún así nos interesa que vayan a través de TOR (un ejemplo de éstas podría ser el cliente de SSH estándar). En este caso es necesario el uso de aplicaciones puentes como proxychains, capaces de ‘proxyficar’ cualquier aplicación.

Una advertencia

TOR ofrece anonimato, es decir, oculta nuestra IP al destino final, pero no ofrece seguridad frente a escuchas por parte del repetidor final. Es decir, en el nodo final de la red TOR, justo antes de comunicarnos con el destino, los datos son descifrados y por lo tantos susceptibles a escuchas malintencionadas. Si tenemos datos confidenciales no podemos dejar la responsabilidad de que esos datos no sean capturados en manos de TOR, sino en manos del destino final que deberá usar algún protocolo seguro como HTTPS. Hace unos meses un hacker sueco se hizo con una buena cantidad de datos confidenciales precisamente por esta falsa creencia. Lo vuelvo a repetir y lo pongo en negrita para los que lean en diagonal: TOR ofrece anonimato, no protección total fretne a escuchas. Sí que ofrece protección parcial hasta el punto de que nuestros datos no serán visibles para los sniffers que haya en nuestra propia red local, lo cual viene muy bien a todos esos pobres empleados que se encuentran intesamente monitorizados y no pueden ver porno en las horas de trabajo.

Y ya que estamos, también podemos usar TOR para evitar las restricciones de acceso si estamos detrás de un firewall (o de un proxy con filtros restrictivos, sí, sí, cómo ese que os enseñé a montar en el artículo anterior). En fin, que hay muchas posibilidades y no os las he contado todas, echad un vistazo a la web oficial porque vale la pena.

Categorías: seguridad, tutoriales | 3 comentarios