Páginas

viernes, 8 de febrero de 2013

MANUAL de HERRAMIENTAS del HACKTIVISTA 1ª PARTE




Manual de herramientas de hacktivismo – Lo más completo!

Por favor contribuye a este manual de herramientas de hacktivismo aportando tus conocimientos. Este es un manual lo más completo posible de “referencia rápida”. La idea no es hacer un manual exhaustivo sino dar las pistas más relevantes, aportando resúmenes muy concentrados de los comandos más importantes para algunas aplicaciones y enlaces externos para completar la información.
Lo más urgente en estos momentos es:
  • Completar las secciones incompletas, busca FALTA para encontrar los huecos que están vacíos en el manual
  • Revisarlo todo, especialmente las secciones sobre anonimato y cifrado, comprobar que los comandos y howtos son realmente seguros y que funcionan (al menos bajo Ubuntu)
  • Utiliza la página de discusión para hacer cambios significativos (que no sean simplemente mejora de una sección) o para añadir o quitar secciones completas, discutir el contenido, etc.

Contenido

Prefacio: Disclaimer

Este no es un manual completo, su uso es exclusivamente orientativo, sigue los enlaces indicados para profundizar en los temas expuestos. La información expuesta en este manual no está, en ningún caso, orientada a la realización de actos criminales o ilegales, por el contrario se ofrece para garantizar de forma efectiva tus derechos. Hacktivistas.net ni ninguna de los contribuyentes a este artículo se responsabiliza del uso que terceros puedan hacer con las instrucciones aquí expuestas, del mismo modo que la autora de un manual de herramientas de cocina no se responsabiliza de los actos realizados con cuchillos, cazuelas o cazos.
Existen infinidad de herramientas y técnicas para el hacktivismo en la red y fuera de ella. Aquí sólo ofrecemos una lista de algunas de las más interesantes. No te cortes en añadir tu favorita.

Recursos generales

FALTA REVISAR TEMAS COMPARANDO CON Sitios en los que encontrar enlaces, howtos y textos interesantes:

Contexto: motivación, historia, teoría, noticias

Historia

EVhAck publicó en la revista arroba y con licencia copyleft, tres artículos introductorios a los fundamentos y la historia del hacktivismo, son cortos y recogen ideas interesantes:

Teoría

Algunos textos clásicos relacionados con hacktivismo, copyleft, ciberespacio y autonomía tecnopolítica (son antiguos, pero te sorprenderá lo actuales que son y la clarividencia y potencia que tienen aún hoy día).
MÁS INFORMACIÓN
Puedes encontrar muchos más texto en Alephandría, la mediateca hacktivista copyleft (está un poco desactualizada pero esperamos poder actualizarla algún día en hacktivistas.net)
Documental Hacktivistas, los agitadores de la red.
Reportaje Cibertactivistes (CAT)

Noticias, mantente informada

En en el mundo de las tecnologías y la red las cosas cambian muy rápido, el hacktivismo requiere estar al tanto de estos cambios. Aquí una lista de blogs, foros y portales de noticias donde conseguir información de calidad:

En español

  • Hacktivistas.net, el portal de hacktivistas tiene pocas noticias, pero son de calidad, aquí encontraras comunicados sobre aspectos relevantes de hacktivismo y el lanzamiento de campañas y acciones participativas.
  • Kriptópolis, es el foro de noticias sobre criptografía más riguroso y actualizado en español, incluye además muchas noticias jurídicas que afectan a las tecnologías, sobre software libre o la red en general.
  • Barrapunto, noticias diarias sobre la red, el software libre y las nuevas tecnologías.
  • Nación Red: va decayendo en calidad, pero sigue siendo un referente de noticias actuales sobre propiedad intelectual, neutralidad en la red, etc.
  • Alt1040: Noticias generales sobre informática con un énfasis especial en la actualidad sobre las libertades en internet.

En Inglés

  • Slashdot: El equivalente de Barrapunto en inglés, información variada, los comentarios son muy valiosos y de calidad, una comunidad muy informada de hackers mantiene el site muy activo.
  • Reddit: Otro servidor de noticias al estilo Meneame en español, noticias filtradas por los usuarios, la mayoría relacionadas con internet.
  • TorrentFreak: La mejor información sobre intercambio de archivos.
  • LifeHacker: Decenas de noticias diarias sobre casi todo lo relevante para el hacktivismo: trucos de hacking, noticias sobre censura en internet, nuevos gadgets, etc.
  • The Register: noticias de actualidad entorno a las tecnologías.
  • P2Pnet noticias recolectadas del mundo del p2p, tecnología y política. Son muy rápidos en informar.
  • Ars Technica es un portal de noticias de tecnología y cultura digital, aunque en ArsTechnica se puede encontrar de todo, hay excelentes artículos sobre tecnopolítica, privacidad, etc.
  • La Quadrature du Net: Sitio francés pero con mucha información en inglés: propiedad intelectual, net neutrality y ciberderechos que afectan sobre todo a Europa, información y campañas de mucha calidad.
  • Telecomix: Sitio web de hacktivistas noruegos pero con visión internacional, campañas interesantes y centrado en la Unión Europea
  • EFF: El sitio de la Electronic Frontier Foundation, la asociación más grande y más activa de derechos digitales, privacidad y lucha contra la censura en internet.
  • Free Software Foundation: La Fundación del Software Libre ofrece noticias sobre software libre pero también campañas que promocionan la libertad en internet.

Sistemas operativos, software libre y programación

Lo primero paso de un hacktivista es empezar a usar un sistema operativo libre y abierto, no hay nada más importante que tener el control de tu máquina, poder modificarla e intercambiar libremente tus aplicaciones, scripts, y programas.
Si estás empezando te aconsejamos un sistema GNU/Linux. Uno de los más sencillos y extendidos es Ubuntu. Para usuarias un poco más atrevidas y coherentes con los principios de la comunidad del software libre está la madre de Ubuntu, Debian. También Arch y Gentoo, que permiten una optimización y control mucho más grande. Hay más sistemas operativos libres que no están basados en GNU/Linux, por ejemplo, el que más seguridad garantiza es OpenBSD. La gran mayoría de los comandos, programas y configuraciones que se explican aquí son aplicables a cualquiera de estos sistemas operativos.
Existen distribuciones libres pensadas para garantizar el anonimato y diseñadas para arrancar desde una llave usb y no dejar rastro en tu ordenador:
Recuerda sin embargo que nada que no hagas tú misma es seguro, así que puedes crear tu propia distribución de arranque-usb usando los siguientes programas:
Pero más fácil todavía que hacer una distro tú misma desde cero es que cuando crees un disco de arranque de USB para Ubuntu (instrucciones) dejes espacio libre (te lo preguntará el creador del USB), así todos los cambios que realices se guardarán en la llave, de este modo basta arrancar una vez, instalar o desinstalar todos los programas que quieras, configurar tus herramientas y la siguiente vez que arranques desde USB tendrás todo listo.

Instalación

Si nunca has usado GNU/Linux te recomendamos que empieces por Ubuntu o directamente Debian. Instalar y resolver los primeros problemas con Ubuntu es realmente fácil, encontrarás muchísima información de usuarias que ya pasaron por tus problemas, puedes encontrar ayuda en internet, ve a buscador favorito y escribe algunas claves de tu problema seguido del nombre de tu distribución (p.e. ubuntu).
Para instalar Debian por USB las instrucciones oficiales de la web de Debian están desgraciadamente incompletas y resultan bastante confusas, pero la comunidad de Debian en Español, tiene simple y completo manual de cómo hacerlo.
En cualquiera de los dos casos el proceso para instalar consta de los siguientes pasos:
  1. Hacer una copia de seguridad de la información que tengas en tu ordenador
  2. Descargar la última versión estable de la distribución de GNU/Linux que quieras usar (si te confunde la cantidad de opciones de Debian ve directamente a i386)
  3. Crear los medios de instalación (CD o USB)
  4. Hacer que el ordenador arranque desde el CD o la llave USB: esto exige entrar en la BIOS (una especie de mini-sistema operativo de la placa base del ordenador) y cambiar las opciones de arranque para que lo haga desde el CD o la memoria USB. Para entrar en la BIOS tendras que pulsar la tecla F2 o F1 o alguna otra nada más arrancar el ordenador (fíjate bien que saldrá indicado en pantalla en los primeros segundos del arranque)
  5. Seguir las instrucciones de instalación
    1. Particionar el disco y formatearlo para que pueda alojar el sistema GNU/Linux (esto se puede hacerse durante el proceso de instalación o previamente a través de programas específicos)
  6. Configurar el sistema base, actualizarlo y añadir los programas que utilices (si nunca has usado un sistema operativo libre te sorprenderá saber que todos bienen con una base de datos de programas gratuitos que pueden instalarse automática y gratuitamente haciendo un simple click o con una simple orden en la línea de comandos).
Tengo Windows… ¿puedo tener los dos sistemas operativos a la vez?
Si, por poder puedes, sólo tendrás que tener cuidado al instalar para no borrar tus particiones de Windows y que GNU/Linux se instale en particiones separadas. Pero vivirás mejor sin Windows. Lo primero es que si dejas windows instalado tenderás a arrancar el ordenador con Windows y dejarás de usar GNU/Linux. Y además, existe Wine, un emulador de windows que te permitirálanzar los programas de Windows que puedas necesitar al principio (tienes un manual de cómo configurar wine). A no ser que necesites realmente algún programa que sólo funciona en Windows (y no funcione en el emulador de Windows sobre Linux) es mucho mejor pasar directamente a usar sólo GNU/Linux.

Post-instalación

Nada más después de la instalación básica vamos a asegurarnos de que no tenemos ningún rootkit metido y afianzar la seguridad del sistema. Para ello vamos a instalar
$ sudo aptitude install chkrootkit rkhunter
Ahora actualizamos la base de datos de rkhunter y luego lo ejecutamos (nos hará un testeo de varios aspectos del sistema)
$ sudo rkhunter --update
$ sudo rkhunter -c
Ahora pasamos a chkrootkit que también nos chequeará varias cosas
$ sudo chkrootkit
Nota
dhclient3 and wpasupplicant son típicos falsos positivos de chkrootkit
Otra herramient de auditoría de seguridad que deberías usar al terminar la instalación de tu sistem operativo basado en Linux es Linux Security Auditing Tool.

Manuales

Manuales básicos de introducción a Ubuntu GNU/Linux

Manuales avanzados: administración de GNU/Linux

Línea de comandos

La línea de comandos, también llamada terminal shell o consola, es una forma directa de dar ordenes escritas al sistema operativo y diversos programas. Es muy flexible, simple y directa. Casi todos los programas de interfaz gráfica que conoces tienen gran parte accesible vía línea de comandos o bien están compuestos de varios programas que lo son, o bien tienen equivalentes que pueden manejarse desde la línea de comandos.
En este documento encontrarás muchas instrucciones para ejecutar comandos (órdenes escritas al ordenador o a programas) y configurar archivos. Es bueno que conozcas los comandos básicos y que, al menos, comprendas qué hacen los comandos.
Se llama shell-scripting a la concatenación y programación de comandos en una terminal o en un archivo (script) que luego ejecuta la shell (el sistema de gestión de comandos de la terminal). En resúmen se trata de programar comandos complejos para realizar tareas más sofisticadas que lo que puede hacer un comando simple. Algunos de los manuales más importantes (por orden de complejidad son):

Programación

Shell-scripting (ver más arriba) ya es una forma de programar, pero está bastante limitada a lo que una shell puede interpretar. El mundo de la programación es enorme e imposible de abarcar aquí. Cada lenguaje de programación es un mundo y tiene su propia cultura o culturas de la programación y la informática. Algunos conceptos fundamentales que necesitas conocer para adentrarte en el mundo de la programación:
Lenguaje de programación
Es el lenguaje (conjunto de reglas sintácticas y semánticas) que permiten describir las ordenes que se le dan al procesador, va a asociado a muchos aspectos de la programación: estructura y potencia del lenguaje, entornos de desarrollo, librerías y funciones ya construidas que puedes usar con ese lenguaje, integración con otros aspectos del sistema operativo o con a web,
Compilar
Consisten en pasar de las instrucciones escritas en un lenguaje de ordenador al lenguaje máquina interpretable por una sistema operativo en una arquitectura determinada (p.e. x86) o en una máquina virtual (un simulador que ejecuta el código, así el programa compilado puede funcionar en cualquier máquina con cualquier sistema operativo, siempre que tenga instalada la máquina virtual).
Librerías
Son colecciones de código de un lenguaje de programación que sirven para diversas tareas y facilitan la programación. Desde tu programa podrás hacer “llamadas” a una librería y que ejecute partes del programa por ti generalmente en forma de funciones (p.e. operaciones matemáticas).
Entorno de desarrollo
Un entorno de desarrollo es una serie de programas que te permiten programar fácilmente, acceder a librerías, compilar y escribir. Algunos de los más usados son editores de texto que incorporan funciones avanzadas para la programación: vi, emacs o, con entorno gráfico, Kdevelop.
Así que si quieres empezar a programar tendrás que elegir un lenguaje de programación y un entorno de programación que te facilite la tarea de escribir y estructurar tu programa, compilarlo y testearlo. Cada programadora tiene sus lenguajes y entornos favoritos. Para empezar te sugerimos que comiences por alguno de los siguientes lenguajes, con sus guías y entornos asociados. A continuación una guía rápida de cómo empezar a programar en diversos lenguajes de programación. Pero antes, puede pasarte por esta sección de los foros de ubuntu en los que se dan consejos para diversos lenguajes:

Python

Python es un lenguaje relativamente sencillo pero muy poderoso, muy adaptado al entorno GNU/Linux y utilizado para casi todo (desde el desarrollo web hasta el diseño de aplicaciones de escritorio).

C y C++

C es quizás el lenguaje de programación más importante y seguro que lo es para el software libre: el Kernel de Linux así como muchas aplicaciónes están hechas en C, gcc fue el primer compilador libre (escrito por Richard Stallman) y puede decirse que a partir de esa herramient comenzó todo el software libre hasta lo que hoy conocemos.

C es un lenguaje estructurado que controla aspectos profundos del procesador (sobre todo los procesos de memoria) y para programar bien en C hace falta saber un poco de artimética de punteros.

Muchos otros programas hacen uso de partes escritas en C o tienen interfaces que permiten integrar C. C++ es la hermana de C, es una extensión que permite a C convertirse en un lenguaje orientado a objetos e incluye muchas otras mejoras.

Privacidad: Anonimato y cifrado

Anonimato

El anonimato y el cifrado son dos conceptos relacionados pero no iguales. El Anonimato garantiza que nunca nadie pueda saber quién eres en el mundo presencial y es una necesidad para muchos activistas (especialmente para aquellos que luchan en países o entornos muy hostiles en los que puede peligrar su vida o la de sus familiares).
Para garantizar el anonimato hay que desviar el tráfico de la red a través de Proxies Anónimos que ocultan el origen de las peticiones de páginas web de tal manera que no se puede saber quién ha accedido a cierta web o quién ha escrito un post o comentario. No es nada fácil conseguirlo de forma eficaz y fluida pero con un poco de esfuerzo podrás conseguirlo.
NOTA
La mayoría de las técnicas expuestas a continuación están encaminadas a ocultar el origen de las comunicaciones, o evitar que se pueda relacionar tráfico y mensajes con detalles identificativos personales (p.e. nombre, IP, localización, etc.). Pero no olvides que en gran medida tu identidad en la red no es una relación con aspectos de tu cuerpo físico, sino la posición que ocupas en una red social. A menudo, aunque tu identidad en ciertas capas de redes sociales estén bien protegidas, se puede averiguar tu identidad por mero análisis topológico (p.e. aunque los datos de tu perfíl y tu nombre en facebook protejan tu anonimato, la posición que ocupas en tu red social delata tu identidad). Para comprender un poco mejor este asunto lee este artículo sobre cómo pudieron identificar a toda una serie de personas con análisis topológico de redes comparando twitter con flickr.

Anonimato en el correo electrónico

Todo correo electrónico (incluido el que se envía por webmail: gmail, hotmail, etc.) lleva consigo la IP de quien envió el correo electrónico y esta IP puede relacionarse fácilmente con la localización y el nombre de la persona que contrata la línea (aunque para saber el nombre de la persona hace falta una orden judicial).

Navegación anónima en la red

IMPORTANTE
La única opción fácil y realmente segura de usar anonimamente un navegador es instalando Tor Bundle
El navegador web se ha convertido en la principal interfaz del ciberespacio. Si quieres garantizar tu anonimato debes usar software libre, Firefox es el más completo y ofrece muchas herramientas para garantizar el anonimato. Lo primero que tienes que hacer es configurar las preferencias de privacidad. Firefox también permite que navegues de forma privada con una opción rápida que no guarda el historial, ni las cookies (pequeños paquetes de información que dejan las páginas web en tu ordenador). Pero nada de esto impedirá que terceras personas sepan que has visitado cierta página. Cuando navegamos por internet los servidores obtienen información que puede identificarte, en concreto tu dirección IP. La mejor forma de ocultar tu IP es usar un proxy (una máquina intermedia que oculte tu IP original). Existe un plugin de firefox que te permite usar y configurar proxies de forma sencilla: FoxyProxy. Instalatelo ahora mismo ;-)
El problema es encontrar un servidor proxy que funcione y sea fiable. Puedes usar una conexión VPN (ver más abajo) o usar un proxy sólo para Firefox.
Pero debes ocultar también mucha información que tu navegador da a los servidores de páginas web. Para ofuscar esta información debes usar Privoxy:
$ sudo aptitude install privoxy
Ahora vas a la configuración de FoxyProxy y añades el siguiente proxy: direccion 127.0.0.1 (esta es tu máquina), puerto 8118, y activas las opciones “SOCKS proxy?” y “SOCKS v4/4a”. A partir de ahora tu tráfico se redirigirá hacia tu máquina y de allí a privoxy (que está configurado por defecto para darte salida por el puerto 8118).
Ahora ya puedes combinar privoxy con otra herramienta que va a ofuscar tu IP de verdad, se trata de TOR (ver más abajo). Tor te ofrece una red de servidores que, saltarás de una a otra borrando tus rastros de IP hasta que salgas de la red TOR para acceder a una web.
La combinación entre TOR y privoxy o polipo te da un anonimato bastante seguro, pero la salida de TOR puede estar comprometida, puede hacerte ataques de man-in-the-middle. Osea no hagas cosas como consultar tu cuenta de correo via web ;-)
Para asegurarte una navegación realmente segura, además de TOR se recomiendo combinarlo con I2P2 (ver más abajo)
Los siguientes addons o plugins de Firefox son “obligatorios” si quieres proteger tu anonimato incluso usando TOR y I2P2:
  • NoScript evita que Javascript (código que puede ejectuarse en tu navegador) se ejecute aleatoriamente(sirve además para deshabilitar Google Analitics–que monitoriza casi todo el tráfico de la red).
  • CS Lite permite bloquear las cookies por lista negra. El NoScript de las cookies ;-)
  • TorButton para poder usar Tor en el navegador. Añade funciones de seguridad y también modifica el user-agent.
  • RefControl modifica la cabecera HTTP Referer, que puede mandar información a un servidor sobre la página web de la que provienes.
  • BetterPrivacy te permite evitar y gestionar cookies inborrables que suele usar Google,Ebay, y muchos otros seres oscuros del ciberespacio para rastrear tu navegación.
  • User Agent Switcher te permitirá cambiar el perfil y la configuración habitual de tu navegador para que no se pueda identificar como aquél que usas para otras cosas. En principio con TorButton activado esta extensión no es necesaria.
  • QuickJava te permitirá activar y desactivar Javascript y evitar así que la página que visites pueda adquirir información adicional sobre tu computadora (p.e. tamaño de tu pantalla). Tampoco es necesaria si bloqueas todo el Javascript con NoScript.
  • Https Everywhere es un plugin desarrollado por la EFF Electronic Frontier Foundation para firefox y chrome, y viene instalado por defecto en Tor Bundle.
  • Plugin de Firefox para Scroogle scraper (búsquedas anónimas en Google) con ssl.
O directamente instálate todos los addons o plugins de The Paranoid Kit Collection de firefox.
Es posible indentificarte por la configuración de tu navegador, pantall, ordenador, plugins, etc. La Electronic Frontier Foundations ha puesto a disposición una herramientas para que puedas comprobar cuanto delata de ti tu navegador:
Más información y herramientas

Cómo crear un perfil especial de Firefox para anonimato

No es mala idea tener un perfil de navegación especialmente asegurado ya que en muchos casos el anonimato y la seguridad en la navegación web puede rebajar la funcionalidad y puede que dejes de usar los plugins de anonimato para tareas cotidianas. Cuando arrancas el navegador se carga la configuración por defecto con los archivos que tienes en (normalmente) en la carpeta .mozilla-firefox en tu home: /home/NOMBRE_USUARIO/.mozilla-firefox. Para crear un segundo perfil y activarlo lo primero es matar todos los procesos de firefox y ejecutar firefox con la opción -ProfileManager desde la línea de comandos:
$ sudo killall firefox*
$ firefox -ProfileManager
Creamos el perfil anónimo (nombre del perfil “anon”) y le decimos que use la .anon/mozilla-profile/ como carpeta propia (esta carpeta la podemos usar además para guardar otras configuraciones). El problema es que seguramente ahora firefox arranque por defecto con ese perfil, y nosotras queremos usar nuestro perfil normal en nuestra vida cotidiana. Así que volvemos a $ firefox -ProfileManager y seleccionamos Default (que seguramente fuera nuestro perfil normal). Fijaros que hemos dejado por defecto la opción de no preguntar al principio. Mejor así porque vamos a crear un enlace directo para arrancar el perfil anonimo directamente y dejar el otro por defecto. Con el siguiente comando podremos arrancar directamente el perfil anónimo:
$ firefox -P anon --no-remote
Si nos da problemas el nuevo perfil, seguramente el problema se solucione si borramos los siguiente archivos:
$ cd .anon/mozilla-profile
$ rm compreg.dat extensions.cache extensions.ini extensions.rdf pluginreg.dat
Para facilitar aún más la cosa podemos crear un icono para lanzar nuestro perfil anonimo.

Vamos a nuestra barra de herramientas (donde tengamos las aplicaciones que lanzamos comun mente) en un espacio vacío hacemos click con el botón derecho y añadimos Lanzadera de Aplicación Personalizada con el comando de arriba: “firefox -P anon –non-remote”. El problema es si antes de lanzar el firefox a secas lanzamos el perfil anon, si después lanzamos firefox a secas va a arrancar otra instancia del perfil anon.

Para evitar esto el botón de firefox en la barra de herramientas tiene que lanzar el comando: “firefox -P default –no-remote” para ello vamos encima de dicho botón, click con el botón izquierdo del ratón, vamos a Propiedades y sustituimos el comando Firefox por “firefox -P default –no-remote”.
NOTA
Una vez que tenemos el perfil especial anon, tenemos que instalar todos los plugins y hacer las configuraciones apropiadas, el perfil arrancará la primera vez un firefox sin ningún plugin.

TOR

Imagen tomada y adaptada de la web de Torproject Copyleft CC-by de EFF
TOR es una red de proxies que se insertan entre tú y el servidor al que te conectes. La comunicación circulará saltando de un nodo de TOR a otro de forma cifrada de tal manera que es imposible saber a dónde estás accediendo, incluso aunque alguno de los nodos intermedios de TOR esté comprometido.
Tor también es conocido como Onion Routing (enrutado de cebolla) por las capas intermedias que introducen. A través de tor se puede acceder a páginas de dominio de nivel superior terminado en .onion.
IMPORTANTE

YA NO SE RECOMIENDA USAR TO BUTTON es mejor que uses Tor Bundle
NOTA IMPORTANTE

TOR no va a a hacer anónimo automáticamente todo tu tráfico, tienes que usar y configurar programas que estén preparados para ello.

Para conseguir el máximo anonimato con TOR tendrás que tomar algunas medidas adicionales de seguridad y renunciar a algunas cosas como Java, Flash, ActiveX, RealPlayer, Quicktime o los plugins de PDF de Adobe. T

odos estos plugins pueden revelar información que te identifica. Cuidado con las cookies, también pueden revelar información sensible y por eso es recomendable que las borres. Lee la lista completa de Warnings después de instalar Tor.

Es buena costumbre tener un navegador aparte (u otro perfil de Firefox, p.ej) configurado de forma segura con Torbutton y el resto de extensiones necesarias (ver sección de navegación anónima y segura) para usar sólo para propósitos relacionados con la navegación anónima.

TOR Bundle: navega con TOR sin instalaciones

Si quieres navegar de forma anónima con Tor sin instalar ningún software en la máquina a la que tienes acceso, puedes usar Tor browser bundle.

Los pasos que tienes que seguir son los siguientes:
  • Descargar el software, será un fichero tar.gz para Linux, o un ejecutable para Windows.
  • Descomprimir el fichero tar.gz en caso de usar Linux.
  • No te olvides de verificar el fichero siguiendo las instrucciones de torproject.org (si tienes tu conexión intervenida podrían haberte colado una versión maligna de Tor).
    • Desgraciadamente las instrucciones de cómo verificar la autenticidad del programa son malísimas, aquí van las nuestras (recuerda descargar siempre las aplicaciones desde la web original de tor, y que se vea bien en el navegador que el https está verificado, no te fies de otros enlaces):
      • Descarga el programa desde torproject.org y descarga también la firma (aparece entre paréntesis debajo del botón de descarga tal que así (sig) con en enlace a un archivo .asc). 
      • Probablemente tu navegador abra directamente el archivo porque es un archivo de texto, así que guardalo en la misma carpeta en la que has guardado el tar.gz de torbundle
      • Importa la clave de Eric
gpg --keyserver hkp://keys.gnupg.net  --recv-keys 0x63FEE659
      • Comprueba la clave
gpg  --fingerprint 0x63FEE659
      • Debería de salirte lo siguiente:
pub   2048R/63FEE659 2003-10-16
      Key fingerprint = 8738 A680 B84B 3031 A630  F2DB 416F 0610 63FE E659
uid                  Erinn Clark <erinn@torproject.org>
uid                  Erinn Clark <erinn@debian.org>
uid                  Erinn Clark <erinn@double-helix.org>
sub   2048R/EB399FD7 2003-10-16
      • Ahora entra en la carpeta en la que hayas descargado torbundle y su firma y ejecuta el siguiente comando:
gpg --verify NOMBRE_ARCHIVO_TOR.asc NOMBRE_ARCHIVO_TOR.tar.gz
  • Ejecutar el script start-tor-browser (o lanzar el .exe en Windows) que se encuentra dentro del directorio tor-browser_en-US. Al ejecutar este script arrancará un navegador, namoroka, a través del cual puedes navegar anónimamente. Para lanzar el programa sólo tienes entrar en la carpeta de tor y ejecutar este comando desde la terminal:
$ ./start-tor-browser
Todo esto te servirá para navegar con Firefox a través de TOR, pero no para otros programas (p.e. mensajería instantánea, o ssh). Para ello tendrás que Torificar, es decir, redirigir el tráfico de cada programa a la red TOR.

TOR relay: participa en la red TOR siendo un nodo más

Participa en la red Tor convirtiéndote en uno de los nodos intermedios: Instrucciones para ser un relay de Tor. Puedes usar el programa Vidalia para configurar tu ordenador como relay (nodo intermediario de TOR).
Si te encuentras con dificultades para configurar de forma automática la redirección de puertos, consulta la web portforward.com donde encontrarás mucha información de todo tipo de routers. Busca el tuyo y ahí encontrarás la información necesaria para el redireccionamiento.
Además ponen a disposición una herramienta (Portcheck) que te ayuda a comprobar y asegurarte de que realmente has configurado bien el router. Te servirá para saber seguro si la configuración es correcta y desde la red Tor van a poder conectar a tu nodo.

I2P2

Si Tor es un tipo de Onion Routing (enrutado de cebolla), I2P2 es un tipo de Garlic Routing (enrutado de ajo).

El sistema es parecido al de TOR, aunque está menos desarrollado y está más centrado en compartir archivos.

En la página de I2P2 encontrarás una comparativa entre TOR y I2P2. Una de las diferencias fundamentales es que I2P2 está programado en Java y requiere tener Java instalado.

Por lo demás la arquitectura de I2P2 está diseñada de forma que, en principio, es menos vulnerable a ataques: enrouta de forma diferente cada paquete (en lugar de cada conexión como hace TOR) y el camino de ida y de vuelta son distintos.
$ sudo apt-add-repository ppa:i2p-maintainers/i2p
$ sudo apt-get update
$ sudo apt-get install i2p
Ya puedes lanzar i2p (no se recomienda hacerlo como root):
$ i2prouter start
Ya tenemos el i2prouter funcionando como demonio. Ahora abre una pestaña de un navegador y comprueba que funciona visitando la siguiente dirección
http://127.0.0.1:7657/
Aquí podras configurar diversos servicios de i2p, la interfaz es fácil de usar pero i2p da muchas posibilidades y es fácil que te pierdas. FALTA COMPLETAR CON LA CONFIGURACIÓN MÁS IMPORTANTE (navegación, IRC, mail…)

Anonimato en los chat

Los chat irc (Internet Relay Chat) son una herramienta muy usada entre hacktivistas. Sin embargo si no tomas medidas, cada vez que entras en un canal o alguien mira en tu información de usuaria puede encontrar tu IP directamente (recuerda que también puede haber gente en modo invisible en un canal espiando dicha información). Para evitarlo puedes ejecutar el siguiente comando:
/mode TU_NICK +x
Pero este comando no funciona en freenode y otros servidores. Para conseguir que desaparezca tu IP en Freenode tienes que contactar con los administradores y pedirles que te hagan un “cloak”. Para ello lo primero es seguir estas instrucciones para registrar tu nombre. Después tendrás que contactar con un administrador. Para ello ejecuta:
/stats p
Y espera a que se pongan en contacto contigo, puedes entrar al canal #freenode y preguntar allí. Ponte en contacto directo con algun miembro del “staff” para pedirle que te haga “cloak”. Se respetuosa y directa.
Otra opción es uses Tor y o I2P2 o una VPN para conectarte con el servidor de chat, pero muchos servers no lo permiten. Sin embargo uno de los servidores de IRC que más garantizan el anonimato y permite que te conected por todo tipo de proxies es irc.telecomix.org. Ahí tenemos el canal de hacktivistas.

Buscadores

Los buscadores (Google, Bing, Yahoo, etc.) guardan valiosísima información de los patrones de las búsquedas que hacemos. Si usamos las herramientas anteriores ya estamos bastante protegidos, sobre todo si no guardamos cookies y ocultamos nuestra IP. Pero existen buscadores que pueden ayudarnos también:

Cifrado

Podemos ser perféctamente anónimos pero que nuestras comunicaciones sean interceptadas y leidas.

Osea puede que alguien no sepa quien eres pero sí sepa qué has dicho.

El cifrado se refiere a la codificación de los mensajes para que nadie que los intercepte los pueda leer.

Existen herramientas para garantizar el cifrado para cada tipo de comunicación.

Archivos y mensajes

GnuPG o GPG, basado en el previamente conocido como PGP hasta que la empresa se vendió, el código no es ya abierto y el propio creador de la herramienta aconsejó no usarlo (el estandar que se usa indistintamente entre PGP, GPG y otras variantes es OpenPGP). GnuPG es totalmente fiable y está matematicamente demostrado que los mensajes cifrados con GPG no pueden ser descifrados con la tecnología de hoy y probablemente no sea posible descodificarlos (si la clave es suficientemente potente) en los próximos 50 años, lee este manual para saber cómo funciona GPG. Puedes instalarte GPG en Ubuntu o Debian escribiendo (aunque lo mas probable es que ya venga instalado):
$ sudo aptitude install gnupg
GPG es una herramienta muy útil y muy efectiva, con muchísimas posibilidades y variaciones en la formas de cifrado, por eso puede llegar a ser muy compleja. Lo fundamental es que leas el manual básico, para comprender los conceptos fundamentales de cifrado asimétrico (claves públicas y privadas), generar tu par de claves y al menos aprender a descargarte claves públicas de terceros. Algunos comandos básicos:
  • Para cifrar y descrifrar sin claves públicas y privadas, un sólo archivo con su propia clave (no muy recomendable pero es lo más simple y básico que se puede hacer con GPG). Gpg te pedirá una clave para cifrar, TWOFISH es el algoritmo de cifrado (el más fuerte para cifrado simétrico):
$ gpg --symmetric --cipher-algo TWOFISH nombre_archivo
$ gpg --decrypt nombre_archivo.gpg > nombre-archivo
  • Cifrando y descifrando archivo para tí mismo con tu clave pública y privada
$ gpg -e nombre_archivo
$ gpg -d nombre_archivo.gpg > nombre_archivo
  • Para cifrar con clave privada de A para destinatario B (ten en cuenta que para ello tendrás que haber creado tu propia clave privada y disponer de la clave pública de B) y descifrar mensaje de B para A.
$ gpg -e nombre_de_A nombre_archivo_para_B
$ gpg -d nombre_archivo_de_B
Puedes usar el programa Seahorse para usar GPG desde el navegador de archivos de forma fácil (también te permitirá crear tus claves y gestionar las de otros), es muy fácil de usar:
$ sudo aptitude install seahorse seahorse-plugins
El problema de GPG es que resulta molesto mantener un intercambio fluido de correos con alguien si tenemos que andar cifrando y descifrando manualmente cada vez. Pero se puede integrar GPG con el correo perfectamente. el cliente de correo por defecto en Gnome y Ubuntu (Evolution) ya trae soporte para GPG incorporado. Asumiendo que ya has creado tus claves GPG (por ejemplo con Seahorse) y tienes configurado el correo ve a Editar > Preferencias, escoge tu direccion de correo, ve a la pestaña seguridad y pega tu Key-ID en la seccion PGP/GPG Key ID. Si usas el cliente de correo Thunderbird el plugin para GPG/PGP es Enigmail (Manual Enigmail–con este manual podrás hacer todo lo que te permite gpg a través de la interfaz gráfico del correo electrónico).
$ sudo aptitude install enigmail
NOTA
En Ubuntu puedes usar gpg por defecto para cifrar archivos a través del navegador de archivos Nautilus.

Es una buena opción pero recuerda que a menudo pueden quedar trazas del archivo que acabas de cifrar.

Primero tienes que borrar el no cifrado, pero asegurate también de borrar los archivos ocultos que suele crear el editor de texto plano, llevan el mismo nombre que el archivo terminado en ~.

Así que (ojo! este comando no es del todo seguro—ver borrado seguro de archivos más abajo):
$ srm NOMBRE_ARCHIVO_CIFRADO~

Cifrando directorios completos

En ubuntu existe el programa gpgdir para cifrar directorios (carpetas) completas:
$ sudo aptitude install gpgdir
Para cifrar el directorio documentos/ :
$ gpgdir -e documentos/
Para descifrarlo:
$ gpgdir -d documentos/

GPG en navegación web

No siempre podrás acceder al correo con un programa que integre GPG, puede que tengas que consultar tu correo vía web o por cualquier otro motivo necesites usar GPG a través de tu navegador. El plugin de Firefox FireGPG ya no se mantiene más, no obstante existe un repositorio en GitHub con el código fuente listo para ser compilado o modificado. FireGPG GitHub permite integrar GPG en Firefox, pero tendrás que tener GnuPG instalado en tu ordenador para hacerlo funcionar.

Navegador (ssl)

Los navegadores vienen con un sistema de cifrado, usado por (casi) todos los servicios de autenticación, transferencias bancarias, correo electrónico vía web, y para cualquier otra cosa que sea sensible. Está basado en los protocolos de cifrado de clave pública parecido al gpg. También existen protocolos y agencias de certificación de que la dirección que estás visitando es realmente quien dice ser. Es importante que entiendas la base de cómo funciona este sistema TSL/SSL para poder asegurarte una navegación segura.
Los siguientes plugins de Firefox (un navegador libre, muy completo y con muchas extensiones), pueden ayudarte en la tarea de estar alerta y asegurarte el cifrado la identidad de la web que visitas:
  • Force-TLS Fuerza al navegador a usar la versión con TSL de una web (si la tiene).
  • Certificate Patrol te muestra los nuevos certifiados y los compara con los antiguos.
  • Perspectives te permite comparar los certificados por terceras personas.
  • Safe para evitar enviar datos sobre conexiones no seguras
FALTA COMPLETAR Y TRADUCIR DEtelecomix
NOTA
no te olvides de leer mitos de https y la navegación segura

Mensajería instantánea

  • OTR (Off the Record) es un sistema parecido al GPG pero orientado a la mensajería instantánea. Está implementado para muchos clientes de IM, y para Ubuntu hay un buenísimo plugin del Pidgin que lo implementa:
$ sudo aptitude install pidgin-otr
Una vez instalado OTR tendrás basta con que le des al botón que aparece en la parte inferior derecha de vuestro chat para comenzar a usarlo, también puedes usar OTR por defecto. En cuanto las dos partes acepten usar OTR tu comunicación será segura, pero ten cuidado! la comunicación está cifrada pero no sabes si la persona que está al otro lado es realmente quien dice ser. Para ello tendras que “autentificar” a la otra persona, bien compartiendo un secreto que sólo conocéis los dos o intercambiando las claves públicas de ambos usuarios por otro canal (p.e. por el móvil, a través de mail con gpg, etc.)
Nota sobre Pidgin
Cuidado con guardar el password de vuestro usuario de Pidgin ya que se almacena en plano, es decir, cualquier con acceso a vuestra máquina podría ver vuestro password. Así que no le digáis a Pidgin que memorice vuestra contraseña.

Móviles: SMS y Voz

  • Los móviles son terriblemente inseguros, los gobiernos poseen sistemas de espionaje con la capacidad de absorver practicamente la totalidad de las comunicaciones y acceder a ellas cuando sea necesario. Además cada móvil está asociado a un DNI y, en muchos casos, a una cuenta de banco con lo que la identificación del usuario es casi inmediata. Recuerda que los móviles no sólo contienen información de mensajes, agenda, archivos de llamadas y duración, todos ellos datos muy sensibles, también te pueden geolocalizar con mucha precisión. Si llevas un móvil encima se sabe donde estás. No tanto por el GPS sino sobre todo por la triangulación de antenas de móvil, que están continuamente activas y rastreando tu señal. Para colmo, un móvil puede estar grabando una conversación en cualquier momento. Si buscas anonimato es fundamental que apagues tu móvil y le saques la batería, especialmente antes de ir a una reunión sensible (no una vez que estés en el lugar acordado) o simplemente déjalo en casa.
  • Pero existen formas de cifrar la comunicación. El método más sencillo es para el envio de mensajes cifrados via SMS, el programa CrytoSMS es muy fácil de usar, bastante fiable, y funciona para la mayoría de los móviles que soporten Java.
  • Si guardas información sensible en tu móvil (mala idea) NUNCA tengas el bluetooth activado, es como dejar abierta la cremallera de un bolso!

Voz, Telefonía y VoIP

Si necesitas ocultar tu voz por cualquier motivo puedes usar el programa Festival, sigue las instrucciones de configuración para ubuntu:
$ sudo aptitude install festival
FALTA Telefonía y VoIP

Unidades de disco y sistemas de archivo (filesystem)

También puedes querer cifrar tu disco duro, llave usb, o cualquier otra unidad de memoria que vaya a usarse de forma contínua por un ordenador (es decir, no como un archivo individual, para eso lo mejor es GPG, sino como un espacio completo de memoria que puede incluir varios archivos, programas, etc.).

TrueCrypt

Para eso tenemos la herramienta TrueCrypt. El verdadero poder de TrueCrypt es que puede usar particiones ocultas de un disco duro, ocultando además la información en los sectores de memoria “vacios” de tal manera que es imposible saber si hay información oculta en el disco duro o si son sólo sectores de disco no utilizados.

Instalación de GNU/Linux con cifrado de disco (usando LVM)

Una de las mejores opciones es cifrar el disco duro entero durante el proceso de instalación del sistema operativo (excepto una partición, /boot, para el arranque y descifrado del disco). LVM es un sistema de particionamiento de disco dinámico y muy flexible.
Algunas cosas a tener en cuanta si ciframos todo el disco:
  • Usar una clave fuerte de usuario (especialmente del usuario administrador o root)
  • No poner el sistema en login automático.
  • No dejar particiones como /swap sin cifrar ya que pueden contener las claves de cifrado.

Contraseñas

El punto más débil de la mayoría de los sistemas de cifrado son las contraseñas. Te sorprendería saber lo facilísimo que es descubrir una contraseña … ten en cuenta que hoy en día un ordenador normal puede hacer millones de operaciones por segundo, eso equivale a millones de combinaciones posibles de contraseñas por segundo para dar con la tuya. No es ninguna tontería dedicarle algo de tiempo a conocer mínimamente los tipos de ataques a contraseñas y a como diseñar una contraseña o “frase de paso” correctamente:
Por regla general combina mayúsculas, minúsculas, números y carácteres especiales (*$%&_=?) para tu contraseña o escoge una combinación aleatoria de tres o más palabras. Si tienes que gestionar muchas contraseñas desde ordenadores diferentes, un método práctico (aunque no muy seguro) es el de generar contraseñas sin tener que recordarlas.

Generadores y gestores de contraseñas

Al margen y además de las instrucciones arriba mencionadas, lo más practico y seguro es gestionar tus contraseñas con algún programa específico:
  • El navegador Firefox de mozilla viene con un sistema de gestión de claves (password manager), pero se almacenan sin una contraseña maestra (por lo que son accesibles a cualquier) a no ser que actives Master Password (una sola clave maestra para todos los nombres de usuaria y contraseñas que se almacenen en Firefox). Para activarlo basta con que vayas a Editar > Preferencias > Seguridad y allí activar Master Password.
  • KeepassX, muy completo, permite generar y gestionar muchos tipos de claves en una base de datos cifrada.
$ sudo aptitude install keepassx
  • También existe el gestor y generador de claves Revelation:
$ sudo aptitude install revelation

Keyloggers

Una vulnerabilidad añadida para las contraseñas es que te puedan vigilar qué escribes en el teclado. Existe una serie de programas llamados Keyloggers que registran los que escribes en tu teclado y pueden robar contraseñas fácilmente. Existen varias soluciones contra este tipo de ataques:
  • Teclados virtuales como xvkbd(disponibles en ubuntu y debian) pueden servir para no tener que introducir la contraseña através del teclado.
  • También puedes alternar el uso del teclado con el cortar y pegar trozos de contraseña de otros lados (porejemplo letras de un texto)
  • Alternativamente puedes salirte de la ventana que te exije contraseña para añadir más letras aleatoriamente y volver a completar la contraseña.

Gestión colectiva de contraseñas y accesos

La contraseña es un lo que marca la barrera del poder en la era digital, el acceso al control de una identidad corporativa, una máquina, una base de datos. Gestionar colectivamente ese poder no es cosa fácil, hacerlo con garantías de asamblearismo y seguridad es aún más difícil. Pero no imposible. El problema es que si tienes una política de contraseñas muy estricta no podrás fomentar la participación de la gente, si la tienes muy laxa tu colectivo será muy vulnerable.
Imaginemos que el colectivo tiene los siguientes servicios:
  • Una web en wordpress.com
  • Un usuario de twitter
  • Una página en facebook
  • Una cuenta de correo
  • Compra de un dominio
Lo primero de todo es intentar distribuir las tareas, si el blog permite que varios usuarios escriban noticias, pues no hay necesidad de que todas tengan la clave de admin. A los usuarios se les puede dar permisos de edición y puede haber una o dos personas con permisos de admin. Lo mismo con la cuenta de correo, puede redireccionarse a varias personas y no hará falta que todas tengan la clave. El twitter se puede automatizar para que twittee todos los posts del blog y nos quitamos una tarea más, etc.
Aparte de desta distribución y automatización hay que dividir los niveles de seguridad y crear una jerarquía de privilegios. En la cúspide de la jerarquía esta la contraseña que puede recuperar el resto de contraseñas o recuperar la identidad virtual del colectivo. En el caso práctico que comentamos más arriba la jerarquía sería la siguiente:
  1. Dominio
  2. Cuenta de correo
  3. Blog
  4. Twitter, facebook, etc.
  5. Otros servicios de menor nivel (p.e. usuaria para hacer comentarios en un periódico).
Los niveles inferiores pueden tener claves más débiles y fáciles de memorizar si las integrantes del colectivo necesitan distribuir su gestión. Un ataque a esos niveles no compromete la identidad del colectivo ya que esas claves se pueden recuperar a través de la cuenta de correo. En última instancia la clave de gestión del dominio (en caso de que alguien se haya hecho con el control del correo y haya cambiado las contraseñas del resto de los servicios) es la que puede permitir redirigir el correo a otra cuenta, el blog a otro servidor, etc.
Este sistema de seguridad evita la escalada de privilegios en la identidad colectiva, pero no los conflictos internos (p.e. alguien podría cambiar la contraseña de la cuenta de correo y quedarse con los demás servicios). Como en última intancia todo en este sistema depende del primer nivel (el dominio) es posible establecer un mecanismo distribuido de control colectivo para este punto. Una vez esté configurado el dominio para la web y el correo lo más probable es que no tenga que volver a utilizarse la clave excepto para un caso de conflicto grave. Por eso, una forma de distribuir ese poder es que dos o más personas escriban cada uno una parte de la clave de tal modo que sólo esas dos o más personas juntas puedan cambiar los datos. No es una situación ideal, ya que si algo le sucediera a una de esas personas puede perderse el acceso al dominio o una sola persona puede bloquear la posibilidad de cualquier cambio futuro (dejándo la configuración tal y como está para siempre, y puede que este estado de cosas le convenga, p.e. ha cambiado y se ha quedado con la clave de FB y del blog).
En cualquier caso sistema está pensado para un grupo de afinidad o colectivo de tamaño pequeño o mediano. Un colectivo más grande puede requerir otras formas de distribuir o gestionar sus claves.

Borrado de archivos de la memoria

Ya sabes que cuando tiras algo a la papelera no se borra, sino que pasa a otra carpeta llamada papelera. Pero quizás no sepas que cuando vacías la papelera, el contenido de los archivos no se borra. Ni siquiera cuando ejecutas el comando:
$ rm -f ARCHIVO
Lo que hacen las órdenes de borrado es borrar el idexado de un bloque de datos del disco duro, es como quitarle la portada a un libro y borrarlo de la base de datos de la biblioteca y tirar las páginas a reciclar. Las páginas aún contienen toda la información original, hasta que sean recicladas. Lo mismo pasa en el disco duro, el contenido de los archivos se guarda hasta que sea “reciclado” por un proceso que necesite memoria y sobreescriba lo que pone allí.
Si tenemos información sensible en nuestro disco y queremos estar seguras de que se borra definitiva e irrecuperablemente, tenemos que usar programas especiales que reescriban toda la memoria, que lo hagan repetidas veces y además con el máximo grado de aleatoriedad para que no se pueda recuperar absolutamente nada de la información original.
El programa que nos va a permitir borrar archivos o todo el disco duro de forma segura es srm (secure remove) y otros programa incluidos en el paquete Debian/Ubuntu Secure delete. Así que:
$ sudo apt-get install secure-delete
Srm usa el método Gutmann de borrado seguro que consiste en 35 pases de reescritura adaptados a diferentes drivers de disco para hacer el borrado completamente irreversible. Aquí va un listado de los usos más comunes:
  • Para borrar un archivo:
$ srm archivo.txt
  • Para borrar una carpeta:
$ srm -r carpeta/
  • Para borrar una partición entera (aconsejable si vas a tirar tu disco duro entero–ejecuta este programa desde un LiveCD o arrancando desde una llave USB). Nota: si vas a tirar un disco duro que ha contenido información sensible no basta con que borres los archivos actuales, los sectores “vacíos” de tu disco duro contienen toda la información de archivos del pasado, así que hay que borrarlo todo bien (ten en cuenta que este comando requiere mucho tiempo de ejecución, depende del tamaño del disco por supuesto):
$ sudo sfill PUNTO_MONTAJE_PARTICION/
  • Para borrar las trazas de memoria de tu RAM:
$ smem
  • Para borrar la memoria SWAP (es un tipo de memoria de apoyo a la RAM que se encuentra en una partición especial del disco duro):
Para encontrar la partición SWAP:
$ cat /proc/swaps
Desactivar la swap para poder borrarla:
$ sudo swapoff /dev/NOMBRE_PARTICION_SWAP
Borrar de forma segura la SWAP:
$ sudo sswap /dev/NOMBRE_PARTICION_SWAP
Para reactivar la memoria swap
$ sudo swapon /dev/NOMBRE_PARTICION_SWAP

Borrado de Metadatos

A pesar de las medidas de seguridad de cifrado y anonimato, nuestro anonimato se puede ir al garete si dejamos rastros de metadatos en ciertos documentos, por eso lo más eficaz es usar siempre texto plano que no tenga metadatos, ASCII puro. Pero en algunos casos eso no es posible ni conveniente. Los metadatos son datos que acompañan a un documento, especificando la fecha, el autor, el sistema operativo o programa con el que se hizo, etc. En estos casos se puede intentar borrar los metadatos.
NOTA IMPORTANTE
Un tipo de “metadato” mucho más difícil de detectar son las marcas de agua. Cuidado con ellas.

Borrar metadatos de imágenes

El programa de línea de comandos exiv2 permite borrar los metadatos de imágenes en formatos JPEG, TIFF, PNG, JP2, Adobe DNG, Canon CRW, Canon THM, Nikon NEF, Pentax PEF y XMP. Una vez dentro de la carpeta con las imágenes, el comando para borrar los metadatos sería:
exiv2 rm * [FALTA TESTEAR ESTO]
El programa DigiWF permite editar y borrar los metadatos de imagenes individuales on en grupo. DigiWF se incorpora directamente al navegador de archivos por defecto de Ubuntu (Nautilus). Para instalarlo puedes de aquí o instalártelo a través de los repositorios de launchpad.
Ver también:
Pero recuerda que una imagen puede guardar también rastros que identifique su procedencia (p.e. tipo de cámara) en la propia imágen a modo de marcas de agua. Así que para asegurarnos completamente, lo conveniente es cambiar un par de veces el formato de la imagen con un programa de manipulación de imágenes. En el software libre se usan mucho las librería de imagemagick para transformar imágenes, por lo que es recomendable usar el comando “convert” para cambiar el formato de la imagen. Así primero tendremos que instalar imagemagick:
 $ sudo aptitude install imagemagick
A continuación entramos en la carpeta donde tengamos las imágenes (imaginemos que están todas en jpg) y ejecutamos
 $ for img in *.jpg; do  filename=${img%.*}; convert "$filename.jpg" "$filename.png"; done
Borramos las imágenes antiguas:
 $ rm -rf *.jpg
Y volvemos a convertirlos a jpg:
 $ for img in *.png; do  filename=${img%.*}; convert "$filename.png" "$filename.jpg"; done

Borrar metadatos de documentos PDF

  • Primero editamos el pdf con pdfedit y borramos todos los cuadros de texto que hacen referencia a dónde se ha realizado la descarga original y quitamos la primera página (que generalmente es mierda).
  • Creamos una página en blanco con OO y creamos el PDF
  • Luego fundimos los dos pdf y borramos los metadatos del primero con el segundo (pdf en blanco con OO).
$ pdftk in.pdf blank.pdf cat output out.pdf keep_final_id
  • Ahora borramos la última página (p.e. si fuera la página 16 la última)
$ pdftk in.pdf cat 1-15 output out1.pdf
Otro método más elegante, pero con problemas, ya que no es capaz de borrar el ID del pdf
  • Volcamos los metadatos sobre un texto plano
$ pdftk in.pdf dump_data output report.txt
  • Editamos report.txt con la metainfo que queramos
  • Ahora volvemos a meter los metadatos
$ pdftk in.pdf update_info report.txt output out.pdf
  • Seguramente el identificador del pdf no se ha borrado.

Borrar metadatos de documenos de OpenOffice/LibreOffice

Open Office guarda información adicional en el archivo, incluyendo autor/a, fecha de creación, versión del editor con el que fue creado/modificado y sistema operativo.

Forma rápida de borrar información de la autoría

Ve al menú Archivo > Propiedades. Allí encontrarás en la primera pestaña General (la que te sale por defecto) los datos de quién creó y modificó el documento. Desactiva el cuadro “Usar datos de usuario” y dale al botón de la derecha “Reset” (o su equivalente en casteallono). Así habrás borrado los datos de autoría del documento.

Forma más elegante de borrar metadatos ;-)

Un archivo de OpenOffice es en realidad una serie de archivos empaquetados (como un tar.gz o un zip). Para abrir el documento.odt podemos usar el botón derecho del ratón > abrir con > gestor de archivadores (archive manager), o simplemente en la consola:
$ file-roller NOMBRE_DOCUMENTO.odt
Se abrirá una ventana mostrando los documentos contenidos en el odt, ahora ya podemos o bien borrar o bien modificar el contenido del archivo meta.xml que es el contiene los metadatos. Ten cuidado porque si vuelves a abrir y guardar el documento openoffice se volverá a generar el documento meta.xml.

Otros posibles metadatos

Además de los metadatos del documento OpenOffice existen otros datos “ocultos” que pueden dar pistas, incluso el nombre, de la autora del texto. En concreto el control de versiones guarda información de todos los cambios realizados en el documento y quién fue el autor de esos cambios, incluso se guarda el texto que ha sido borrado previamente! Para quitarnos de en medio el control de versiones o cambios, vamos a Editar > Cambios > Guardar, deshabilitamos la casilla. Ahora vamos a Editar > Cambios > Aceptar o Rechazar, nos saldrá una tabla con todos los cambios, aceptamos todos para dejar el documento como nos lo hemos encontrado. Finalmente asegurate de que no tienes ninguna nota insertada en el documento ODT. Y ya está limpio.

Anonimato en los dominios

Al comprar los un nombre de dominio (p.e. locosporlasgae.com) hay dos momentos en los que tu identidad estará comprometida: a) al realizar la compra y b) en los datos whois del registro de dominio. Comprar un dominio de forma anónima es extraordinariamente difícil y falsear los datos de registro es fácil pero dificultará que puedas recuperar el dominio si alguien lo reclama o si tienes que defenderlo jurídicamente. Existe una solución para ocultar los datos del registro y es acudir a terceros para que figuren sus datos en el registro pero los remitan a tí en caso de problemas. Algunas de las empresas que ofrecen este servicio de intermediación (por unos 5$ al año):

Certificación y funciones Hash

El cifrado no sólo sirve para ocultar el contenido de un mensaje. También sirve para certificar que un contenido es lo que dice ser: osea la integridad y autenticidad de un archivo. Por ejemplo: si te bajas un programa a tu ordenador y quieres asegurarte de que lo que te has bajado es lo que realmente es, puedes usar métodos de cifrado.
El MD5SUM es uno de ellos. Si, por ejemplo, te has bajado una ISO de ubuntu, debes de cerciorarte de que no te has bajado una versión que alguien haya podido insertar falsamente en un proxy (con software malicioso), para comprobarlo basta con que ejecutes el siguiente comando dentro de la carpeta en la que te hayas descargado la iso:
$ md5sum ubuntu-10.10-desktop-i386.iso
Al de un rato te saldrá como resultado un número tal que:
59d15a16ce90c8ee97fa7c211b7673a8
Ahora basta con que vayas a la web de ubuntu para comprobar que el md5sum coincide: https://help.ubuntu.com/community/UbuntuHashes
Si quieres testear el md5 de muchos archivos resulta engorroso ya que debes hacerlo uno a uno. Para evitar la tediosa tarea el estandard consiste en incluir en el directorio a archivos a testear un archivo de texto con el hash md5 de cada uno de los archivos y basta con ejecutar la siguiente orden:
$ md5sum -c archivo_con_todos_los_hash
Otro tipo de certificado es SHA, las versiones SHA-0 y SHA-1 han sido demostradas vulnerables (al igual que el MD5). Pero SHA-2 es suficientemente robusto y viene en dos versiones: SHA-256 y SHA-512, de 256 y 512 bits respectivamente (en realidad hay más versiones pero nos bastan estas dos). Al igual que con MD5, para comprobar la integridad de un archivo hacemos:
$ sha256sum nombre_archivo
Y comprobamos que el resultado sea idéntico al que podamos encontrar en la web oficial. Esta vez, con sha256 podemos también comprobar que del hash sha256 con GPG FALTA COMPLETAR
FALTA HABLAR DE OTROS USOS DE CERTIFICADOS

SSH

SSH es un método de conectar dos máquinas de forma cifrada. Con ssh puedes entrar en otra máquina y administrarla, leer allí tu correo, crear un túnel para tener salida desde esa máquina, y un larguísimo etc de funcionalidades. SSH funciona con la estructura cliente servidor, si quieres acceder a la máquina B desde la máquina A, necesitas un servidor ssh en B y un cliente en A.
El cliente es la parte más fácil:
$ sudo aptitude install ssh
Con esto ya podemos conectarnos a un servidor
$ ssh NOMBRE_USUARIO@NOMBRE_SERVIDOR
Y ya estamos acceso a una terminal en el servidor remoto.
Configurar bien el servidor es más complicado, los ataques ssh son muy comunes ya que ssh se usa para administrar servidores y da acceso a muchos privilegios, acceder a una terminal o consola da mucho poder. Hay que evitar posibles intrusiones configurando apropiadamente el servidor ssh.
$ sudo aptitude install openssh-server
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
$ sudo chmod a-w /etc/ssh/sshd_config.original
$ sudo gedit /etc/ssh/sshd_config
  • Ahora editamos el fichero de configuración, hay que cambiar el puerto ssh del 22 a otro aleatorio, no permitir el acceso a root y bloquear los otros usuarios, para bloquear usuarios hay que poner
AllowUsers NOMBRE_DEL_USUARIO
No usar DenyUsers porque la lista es muy larga, hay muchos usuarios como ftp etc en el sistema.
$ sudo /etc/init.d/ssh restart
Ahora instalamos una aplicación para evitar ataques por fuerza bruta DenyHost (que es una serie de scripts que chequean intentos de acceso).
$ sudo aptitude install denyhosts
$ sudo gedit /etc/denyhosts.conf
Mira un poco la configuración, lo básico es adaptar la dirección de envio de los errores, reducir a 5 los intentos de usuarios no root que existen en el sistema y ya está. Si cometemos el error de fallar más de 5 veces el password y queremos recuperar la posibilidad de ssh desde esa máquina hay que purgar:
$ sudo /etc/init.d/denyhosts stop
$ sudo denyhosts --purge
$ sudo /etc/init.d/denyhosts start
Aviso FAQs denyhosts
En ubuntu tcp_wrap sí que viene por defecto, pero la prueba que pronenen las FAQ de denyhosts no funciona bien. sshd: 127.0.0.1 no funciona pero probando con ALL : ALL si que me ha funcionado. Denyhosts se activa automáticamente el demonio, no hay que hacer lo del crontab que dicen en las FAQ.
Mirar también:

SSH sin contraseñas

El problema de ssh es que no podemos automatizar algunas tareas con scripts si tenemos que meter la constraseña cada vez que hacemos ssh. Para conectarnos automáticamente por ssh sobre nuestro servidor podemos usar claves rsa con ssh.
Primero creamos las claves:
$ mkdir sshids$ ssh-keygen -t rsa -f $HOME/sshids/id-rsa
Subimos la cláve pública al servidor:
$ scp $HOME/sshids/id-rsa.pub user@server:
Entramos en el servidor para localizar la clave pública y ponerla en el lugar adecuado
user@server:~$ test -d $HOME/.ssh || mkdir $HOME/.ssh
user@server:~$ cat $HOME/idrsa-1.pub >> $HOME/.ssh/authorized_keys
user@server:~$ rm $HOME/id-rsa.pub
Cambiamos los permisos en el server:
user@server:~$ chmod 700 $HOME/.ssh/ ; chmod 600 $HOME/.ssh/authorized_keys
Salimos del server y cambiamos los permisos en local:
user@server:~$ exit
$ chmod 600 $HOME/sshids/*
Ya podemos conectarnos sin clave, al enviar la petición de ssh cifraremos la petición con nuestra clave privada almacenada en $HOME/sshids/id-rsa y la autentificación de esta conexión la verificará el servidor con nuestra clave pública id-rsa.pub que hemos subido allí.
$ ssh user@server -i $HOME/sshids/id-rsa
Ahora ya podemos usar el ssh dentro de scripts para crear túneles o conectars automáticamente al server y/o ejecutar comandos remotos, por ejemplo:
$ ssh user@server -i $HOME/sshids/id-rsa 'screen -x'

Otros usos de SSH

SSH sirve para muchas cosas más. Entre otra para el redireccionamiento de puertos. Eso sirve para muchas cosas, p.e. para evitar cortafuegos puedes redirigir un puerto para que salga por otro servidor con este comando:
$ ssh -L 8888:www.miservidor.com:80 user@miservidor.com -N
Con este comando podrás redireccionar el tráfico del puerto 80 al 8888 pasando por el servidor “miservidor.com” con el usuario “user” de dicho server. Una vez hecho esto, tienes que decirle a tu aplicación (en este caso el puerto 80 es para el de http así que al navegador) que use el proxy “localhost:8888″ para salir por el túnel.

VPN

Una VPN es un túnel privado para conectar redes y ordenadores a través de la red. Una vez conectado a la VPN todo el tráfico de tu máquina se cifrará y se enviará hasta el servidor VPN, desde donde se descifra y se envía al exterior. Este mecanismo nos ofrece principalmente dos ventajas. La primera es que tu proveedor de acceso a Internet no podrá espiar el tráfico que generas. La segunda es que las páginas que visitas no conocerán el origen real de la conexión, ya que todo el tráfico se envía a través de los servidores VPN, y por tanto, la dirección IP origen de cada cliente queda sustituida por la dirección IP del servidor VPN.
FALTA el copyleft de esta imagen
Mientras que normalmente un tunel ssh funcionará para un puerto determinado, una VPN genera una interfaz específica (como una eth0, u un dispositivo de red en Windows), y no tendrás que preocuparte de configurar cada programa ya que todo el tráfico se enviará por esa interfaz de forma automática.
Para acceder a VPNs suele haber dos opciones principales. La primera es usar servicios gratuitos o de pago en los que descargarás un programa de instalación que te permitirá acceder a la red de forma muy sencilla. La segunda es contratar un servidor virtual (p.e. en santrex.net por unos 8€ al mes) e instalar allí tu propio servidor VPN. En cualquiera de los casos todo tu tráfico estará protegido desde tu ordenador hasta el servidor VPN, y allí será descifrado para llegar a su objetivo.
OpenVPN es un programa muy bueno para crear tus propias VPNs.
$ sudo aptitude install openvpn
Si escoges usar tu propio servidor tendrás que configurar tanto el servidor (una máquina conectada a internet a la que te puedas conectar) como tu cliente local. Información para configurarlo:
Algunos servicios de VPNs colectivas, tanto gratuitas como de pago:
Para añadir privacidad se recomienda contratar estos servicios con moneda virtual (tipo UKash o paysavecard) siempre que sea posible. Así evitaremos que la contratación por otros medios, como tarjeta de crédito, de más información sobre nosotros. La moneda virtual se puede comprar en persona, y consiste simplemente en un código que luego introducirás a la hora del pago.
Las VPNs gratuitas suelen imponer restricciones de velocidad, ancho de banda diario, y limitar el número de servidores VPN a los que puedes acceder. Las versiones de pago generalmente tienen velocidad y ancho de banda ilimitado, y te suelen dejar elegir entre servidores VPN localizados por todo el planeta, por si prefieres usar servidores localizados en algún punto geográfico concreto.

VPN sobre SSH

También puedes crear un tunel ssh que opere como VPN. Es bastante más sencillo que montar una VPN.

Darknets

Una darknet es una red cifrada que protege el anonimato, generalmente son redes que usan la infraestructura de la internet que conocemos para generar una capa de intercambio de archivos con programas especiales que puedes instalar en tu computadora. Algunas de las Darknets más usadas son:

No hay comentarios:

Publicar un comentario