Blog sobre seguridad informática, privacidad, anonimato, hacking ético, programación y sistemas operativos en general.

Mostrando las entradas con la etiqueta Seguridad. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Seguridad. Mostrar todas las entradas

martes, 30 de enero de 2018

SecHackLabs: Linux Hardening - Asegurando el sistema de arranque o BootLoader.


Un atacante que tiene acceso físico a tu sistema puede bypassear fácilmente una gran cantidad de la seguridad de su sistema, especialmente controles de usuario y contraseña, además puede reiniciar este, cambiar la configuración de arranque del sistema, la manera cómo cargan los procesos y su orden de arranque. Usted necesita asegurar el arranque de su sistema y tener conocimiento total sobre que está pasando durante el proceso de arranque para poder endurecer/proteger su sistema contra este tipo de ataques.

Si un atacante puede reiniciar tu sistema, puede crear dos grandes problemas. El primero es que los sistemas GNU/Linux ofrecen una gran cantidad de acceso a todo aquel que puede cómo ellos inician el sistema. El segundo, es que pudiendo apagar tu sistema es un excelente ataque DoS/DDoS. Entonces, tener control sobre quien está habilitado para reiniciar tu sistema, cómo puede interactuar cada usuario con el bootloader o cargador de arranque y cual kernel pueden ellos iniciar es una decisión en la que debes ser altamente estricto.

Además, cuales servicios inician y su orden de arranque pueden exponer tu sistema a futuros riesgos, además, muchos de los servicios que se inician en un sistema que se instaló tal y cómo venía por defecto o en sistema no endurecido (unhardened) son innecesarios. Muchos de los servicios exponen tu sistema a riesgos, debido a sus particulares funcionalidades, a lo largo de este post dejaré unas buenas reglas para asegurar y organizar el proceso de arranque de tu sistema.

· Protegiendo tu GRUB con contraseña.

GNU GRUB (GNU GRand Unified Bootloader) es un gestor de arranque múltiple, desarrollado por el proyecto GNU que nos permite elegir qué Sistema Operativo arrancar de los instalados.

Se usa principalmente en sistemas operativos GNU/Linux. El sistema operativo Solaris ha usado GRUB como gestor de arranque en sistemas x86 desde la revisión 10 1/06. Para más información, ver aquí.

Al ser este el paquete que nos da la opción de arrancar nuestro sistema y además, nos permite elegir con cual kernel arrancarlo, es ALTAMENTE recomendado la asignación de una contraseña que debamos introducir al momento de intentar arrancar uno de los kernel instalados. En una entrada anterior que publicamos, explicamos lo fácil que es cambiar la contraseña del usuario ROOT y cualquier otro usuario en un sistema GNU/Linux que no tiene protección del GRUB. Ver publicación.

En este post explicamos la manera cómo podiamos obtener acceso a un sistema GNU/Linux cómo root, sin necesidad de usar contraseñas, cracks, ni nada por el estilo, solamente usando las funcionalidades propias del sistema. Para los hackers, programadores, especialistas en seguridad informática y usuarios preocupados por su privacidad y seguridad, esto puede significar un riesgo inminente, pero como dijimos, es un error de configuración de nuestro GRUB y podemos corregirlo para que nadie pueda cambiar nuestra contraseña root de esta manera (Este cambio también puede realizarse con discos externos en un entorno chroot en discos que no estén cifrados). Para configurar de manera correcta nuestro GRUB, debemos realizar lo siguiente:

1) Creamos una contraseña que pueda ser reconocida por el GRUB, usando el comando #grub-mkpasswd-pbkdf2, escribimos la contraseña que deseemos y la confirmamos, si todo sale bien saldrá algo similar a lo que se muestra en la imagen:


2) Abrimos el archivo /etc/grub.d/40_custom con nuestro editor de texto favorito y añadimos las siguientes líneas en el final:

set superusers='user'
password_pbkdf2 'user' 'password'

Importante: El '$user' puede ser cualquiera, a tu gusto pero debes colocar el mismo user en los dos campos requeridos. En el campo password colocamos la contraseña generada en el paso anterior, esta comprende todo lo que aparece desde grub.pbkdf2.sha512.10000.* hasta el final. Las comillas no son necesarias.

3) Una vez que tengamos todo esto hecho, generamos un archivo de configuración de nuestro GRUB con los nuevos parámetros, utilizamos el comando grub-mkconfig -o /boot/grub/grub.cfg y esperamos a que finalize el proceso.

Una vez realizados estos pasos, cada vez que queramos iniciar nuestro sistema o modificar algún parametro en el GRUB al inicio, debemos proporcionar las credenciales asignadas anteriormente, solucionando de este modo el problema anteriormente mencionado. Si alguien desea ingresar sin las credenciales, sencillamente verá un error así:


Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.


lunes, 15 de enero de 2018

SecHackLabs: Linux Hardening - Instalando tu distribución Linux de manera segura.


El corazón de nuestro sistema GNU/Linux son el Kernel y el sistema operativo. Combinados, forman el la base de su sistema, en el cual todas las aplicaciones se ejecutarán. Hablando comparativamente el sistema GNU y el kernel Linux son razonablemente seguros. Un gran número de carácteristicas de seguridad están integradas en el kernel, herramientas relacionadas a la seguridad y otras carácteristicas vienen con la mayoría de distribuciones GNU/Linux o están disponibles en la red de manera open-source. Adicionalmente GNU/Linux ofrece un control excepcional sobre quien, cómo y cuales recursos y aplicaciones pueden ser accedidas por los usuarios. Entonces ¿donde están los riesgos?

Un viejo refrán dice "El diablo está en los detalles". La seguridad de su sistema depende de una amplia variedad de elementos de configuración tanto a nivel del sistema operativo como a nivel de aplicación. Además, el sistema operativo Linux y el kernel son complejos y no siempre es fácil de configurar. De hecho, los sistemas Linux son casi infinitamente configurables, y cambios de configuración sutiles pueden tener importantes implicaciones de seguridad. Por lo tanto, muchas expocisiones (de estar expuesto a ataques) de seguridad y vulnerabilidades no siempre son obvias de inmediato, y la falta de comprensión sobre el impacto global de los cambios en los elementos de configuración puede conducir a expocisiones inadvertidas.

Además la seguridad en sistemas GNU/Linux no es estática, una vez asegurado tu sistema, este no está perpetuamente protegido, a medida que usas tu sistema, la seguridad se va debilitando. Esto puede suceder debido a cambios operacionales o funcionales, así cómo el descubrimiento de nuevas vulnerabilidades y exploits en aplicaciones y paquetes.  Asegurar su sistema es algo continuo y viviente, muchos de los cambios que se aplicarán a lo largo de esta serie de publicaciones debes hacerce más de una vez (por ejemplo, luego de un cambio a nivel operacional, una reinstalación de componentes, etc) o ya sea de manera rutinaria para mantener el nivel de seguridad en su sistema.

Por defecto, la mayoría de distribuciones GNU/Linux vienen con un gran número de paquetes instalados, aplicaciones y configuraciones de manera predeterminada para ti. Esto depende del creador de la distribución y de la finalidad de la misma.

· Instalando tu distribución Linux de manera segura.


Esta serie de publicaciones no pretende centrarse en una distribución en especifico y las recomendaciones dadas a lo largo de la misma son apicables a la mayoría de sistemas GNU/Linux. Aquí no explicaremos el proceso de instalación de ninguna distribución es especifico y se dará consejos generalizados para la instalación de tu distribución, sea cual sea tu elección. Este proceso es una de las claves del proceso de hardening, la clave de la seguridad de la tecnología de la información (IT) es la minimización de sus riesgos. Las instalaciones por defecto de la mayoría de distribuciones hacen lo contrario.

Tips Generales.

* Habilite SHA1, shadow o cualquier otro método o algoritmo que ayude a mantener sus contraseñas relativamente más seguras.

* Cuando se te pida la contraseña del usuario root introduzca una contraseña robusta, el usuario root tiene permisos para hacer todo en el sistema. Aquí dejo un link sobre cómo crear contraseñas seguras.

* Cree un usuario diferente de root con los permisos adecuados y estrictamente necesarios, de este modo se evita estar conectado siempre cómo root y además de que todo lo que se ejecute se haga con privilegios root.

* Si durante la instalación es preguntado, instale un firewall de los propuestos allí, si te proponen opciones de control para el firewall, elija aquella que permita el mínimo número de conexiones. Solamente habilite conexiones explicitas cuando esté completamente seguro de que las necesita. Recuerde que generalmente cualquier firewall instalado y configurado durante la instalación, no es adecuado para propositos de producción.
Instala solo lo que necesites.

Cómo hemos dicho, el minimalismo es importante. Si su distribución te da la posibilidad de elegir una mínima o personalizada cantidad de paquetes durante la instalación, entonces elija esa. De hecho, recomendamos que solo instale el sistema base y deje todo lo demás sin instalar.
Nosotros no te podemos dar un número detallado de paquetes que no deben ser instalados, pero muchos de ellos basta con el uso del sentido común para saber que no se necesitan. ¿Realmente necesita usted tener metasploit o aircrack-ng en un servidor web con Apache?, con ese tipo de preguntas fácilmente puedes identificar que tipos de los paquetes que vienen preinstalados son candidatos para remover.

Varias de las áreas que recomendamos revisar para remover paquetes innecesarios son:

· Juegos.
· Servidores de red.
· Demonios y servicios (Esto incluye scripts de autoarranque).
· Bases de datos.
· Herramientas Web.
· Editores.
· Paquetes relacionados con multimedia (Reproductores, quemadores de CD, etc)
· Herramientas de desarrollo y compiladores.
· Herramientas de impresión.
· Herramientas de Office.
· Herramientas de manejo de documentos.
· Entornos de escritorio y todo lo relacionado con X-Windows.

Una de las recomendaciones más importantes durante la instalación, es el elegir no instalar paquetes relacionados con X-Windows o entornos de escritorio. Además, sistemas Linux de producción (Servidores {web, email, FTP, firewall, etc}) no necesitan X-Windows para realizar sus funciones. X-Windows es una inmensa cantidad de paquetes que contiene numerosos componentes y una larga historia de vulnerabilidades que lo convierten en un componente potencialmente peligroso. Adicionalmente, Linux al contrario de Windows, no necesita entornos de escritorio o GUI's (Graphical User Interface) para funcionar, nada de lo que hagas desde un entorno de escritorio no se puede hacer desde la línea de comandos.

Precaución: No instale su distribución mientras está conectado a internet o conectado a una red que está conectada a internet.

Puede parecer una buena idea estar conectado a internet cuando usted va a obtener actualizaciones, parches de seguridad o registrar su sistema. ¿Pero en realidad lo es? Probablemete tu CD/USB/DVD de instalación esté descatualizado, un número de vulnerabilidades y fallos desde entonces han sido descubiertos. Esto significa que su sistema está potencialmente expuesto a un gran número de ataques, entonces, hasta que usted descargue todos los parches y actualizaciones, su sistema es vulnerable. Mientras usted está ocupado esperando que su sistema descargue los requeridos parches y actualizaciones y los aplique, un atacante tiene el potencial de identificar su sistema desprotegido y vulnerar este usando una vulnerabilidad que aún no ha sido parchada.

Para reducir los riesgos de conectar un sistema desprotegido a internet, te recomendamos estar offline o desconectado de internet hasta que usted haya parchado y aplicado las correspondientes actualizaciones y parches de seguridad. Para realizar esto, recomendamos descargar primero todas las actualizaciones y parches en otro sistema primero y comparar las sumas MD5 o MD5 checksums de los paquetes descargados contra los publicados por el creador del sistema en su sitio oficial, además de validar su clave GPG.

Una recomendación muy práctica de nuestra parte es que configures una máquina central de "Actualizaciones y Parches" y descargues y verifiques todos los paquetes en ella antes de instalarlos en su sistema de producción. También puede utilizar dicha máquina para probar nuevas versiones o actualizaciones antes de hacerlo con sus sistemas de producción. Para una nueva instalación, usted puede empaquetar y grabar las actualizaciones en un CD y cargarlas directamente en el sistema que va a ser actualizado o parchado.

Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram.

lunes, 1 de enero de 2018

Top 6 de distribuciones Linux de seguridad



Existen muchas distribuciones de Gnu/Linux que son especificamente dieñadas para la seguridad y privacidad enfocada al usuario, entre ellas están:

"Decidimos ponerla de primea por que hasta ahora es la mejor para nosotros."

1) Whonix:
Está basada en Debian y enfocada a la seguridad. Cuenta con 2 maquinas virtuales: una es workstation (como sistema de trabajo) y gateway: que permite a todo tu trafico pasar por tor  y actúa como puerta de enlace "torificando" lo que pase por el sistema.

Hace que todo tu trafico de red pase por la red tor , lo que le da cavidad a ser la mejor distro, además su sistema de virtualización soporta Qubes-OS  lo cual le da un doble refuerzo para ser una de las más seguras. Soporta procesos de virtualizacion como virtualbox y KVM.

Las características que posee whonix es que evita revelar la identidad real del usuario ya que el gateway esta aislado dentro de la red tor.


Está basada en Fedora y es enfocada a la seguridad por aislamiento la virtualización, está implementada en xen y se puede integrar a distros como Fedora , Debian , whonix entre otros, Qubes OS brinda seguridad mediante compartimientos aislados de forma segura, esto permite mantener las acciones que realizan los usuarios separadas y seguras cada programa esta aislado en Qubes separada y esto lo convierte en la parte de que brinda bastante seguridad ya que si te ves comprometido no todo tu sistema sufrira riesgos. Ademas ya que Qubes permite que otros sistemas lo usen de implemento , al poder utilizar el sistema de Qubes para los usuarios procupados por la privacidad y  usuarios preocupados por la parte del hardware tendran "anti evil maid".

3)Tails.

Está basada en Debian y permite que todas las conexiones salientes pasen por tor, es un sistema operativo amnesico por que se ejecuta en la memoria ram y no deja ningun rastro en elordenador, además encripta todos los datos.


Está basada en Fedora, permite que todo el trafico se cifre de forma automatica hace lo mismo que Tails solo que I2P.


Basada en Debian es una distro sencilla para los nuevos usuarios que les interesa la seguridad de la información, funciona como Qubes OS, o tails, exepto que esta consume menos recursos su funcion de seguridad se basa en diferentes capas de sofware que se aislan los programas, utiliza un protocolo llamado OZ que actua como sanbox esto hace que cada programa se ejecute en un entorno seguro su trafico pasa por tor.


Está basada en Debian y está enfocada a la seguridad. Sus nodos de salida pasan por tor y utiliza tor browser  complementado con servicios VPN y cifrados DNS con DNSCRYPT. Utiliza conky para mostrar; trafico, ip salientes y trafico tambien tiene cairo dock que ofrece acceso directo a las herramientas
VPN, y los nodos de salidas en la red tor lo que permirte elegir el país tambien en poco tiempo te permite borrar la ram , reiniciar la red o eliminar el sistema operativo lo cual permite seguridad en la navegacion y el sistema.

** "El hecho de kodachi estar en ultimo lugar a pesar de tener muchos usuarios que la usen es por que esta distro esta backdoreada , si verifican el codigo de la distribucion en github y verifican el codigo de la ISO, haciendo diff podrán verificar que no coinciden". **

Un consejo es que antes de usar una distribucion derivada ya sea de seguridad u otra,  verifiquen su código cómo medida de seguridad .

Nota: Las mejores distribuciones de seguridad son Debian y Slackware ya que la seguridad no se basa en una distro, los complementos que traen integrado las distros son las que la hacen "seguras" pero reforzar esa seguridad no esta de mas, las tecnicas de seguridad se aprenden leyendo y practicando y se puede utilizar en cualquier distribucion. 

Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram.

lunes, 27 de noviembre de 2017

KeePassXC: Un potente, seguro y moderno gestor de contraseñas multiplataforma.


https://keepassxc.org/logo.pngKeePassXC es un gestor de contraseñas multiplataforma con una interfaz gráfica de usuario y está escrito en C++.

La base de datos completa siempre se cifra con el algoritmo de cifrado AES (alias Rijndael) estándar de la industria utilizando una clave de 256 bits. KeePassXC es un port de Keepass Password Safe que se creó con el objetivo de ampliar y mejorar con nuevas características y correcciones de errores para proporcionar un administrador de contraseñas de código abierto moderno, totalmente multiplataforma y rico en funciones.


  •     Multiplataforma.

KeePassXC es una bifurcación de la comunidad de KeePassX, el puerto multiplataforma de KeePass para Windows. Cada característica funciona multiplataforma y se probó exhaustivamente en múltiples sistemas para proporcionar a los usuarios la misma apariencia en todos los sistemas operativos compatibles.


  •     Código abierto.

El código fuente completo se publica bajo los términos de la Licencia Pública General de GNU. Consideramos que el código abierto es un prerrequisito vital para cualquier producto de software de seguridad crítica. Por esa razón, KeePassXC es y siempre será gratis. ¡Las contribuciones de todos son bienvenidas!

  •     Características adicionales comparado con KeepassX.

* Auto-Type en las tres plataformas principales (Linux, Windows, macOS)

* Cifrado Twofish

* Soporte YubiKey pregunta-respuesta

* Generación TOTP

* Importación de archivos CSV

* Interfaz de línea de comando (keepassxc-cli)

* Hardening con DEP y ASLR

* Generador de contraseñas autónomo

* Medidor de calidad de contraseña

* Usar favicons de sitios web cómo iconos de entrada

* Fusión de bases de datos

* Recarga automática cuando la base de datos se modificó externamente

* Soporte para integrar la aplicación de escritorio con KeePassHTTP mediante la extensión KeePassHTTP-Connector (más adelante se explicará su uso y funcionamiento) disponible para Mozilla Firefox y Google Chrome.

* Muchas correcciones de errores


Para obtener una lista completa de las nuevas características y cambios, eche un vistazo al registro de cambios completo de KeePassXC.

  •     Requisitos

KeePassXC tiene los siguientes requisitos de tiempo de ejecución:


* Qt5 (5.2 o más reciente): qtbase y qttools5

* libgcrypt (1.6 o más reciente)

* zlib

* libxi, libxtst, qtx11extras (opcional para Auto-Type en X11/Linux)

* libyubikey, libykpers-1 (opcional para el soporte de YubiKey)


Al usar la versión de AppImage o Snap Package, estas dependencias ya se incluyen con la aplicación.


Para construir KeePassXC a partir del código fuente, también se requieren las siguientes dependencias de compilación:


* make

* cmake (3.1 o más nuevo)

* c++ (4.7 o posterior) o clang ++ (3.0 o posterior)

* encabezados para todas las dependencias de tiempo de ejecución (paquetes * -dev o * -devel)


El código fuente puede ser descargado desde aquí: https://keepassxc.org/download#source

  •     Instalación en sistemas específicos.

 1. Linux.


    ArchLinux:  pacman -S keepassxc

    Debian: apt install keepassxc

    Fedora: dnf install keepassxc

    Otras distribuciones: https://keepassxc.org/download#linux

2. Windows.

Descargando el ejecutable desde aquí: https://keepassxc.org/download#windows


3. Macintosh.

Descargando la AppImage desde aquí: https://keepassxc.org/download#mac 
Inicialización y configuración de KeePassXC.

Una vez instalado KeePassXC en nuestra computadora, lo siguiente es ejecutarla, lo podemos hacer desde la terminal (en sistemas Unix/Linux) o bien desde el menú de nuestra PC. Una vez abierto nos mostrará algo cómo esto:




En nuestro caso daremos en "Create new database". Si tenemos una base de datos anterior creada con KeePassX por ejemplo, damos en "Open existing database". En la primera opción se nos abrirá el gestor de archivo que tengamos y nos permitirá elegir la ubicación y el nombre de la base de datos que vamos a crear.




Una vez guardada nos solicitará una clave maestra, esta clave es de suma importancia ya que todos los datos que almacenemos en la base de datos pueden ser accedidos usando dicha contraseña. Si eres paranoico y deseas extra-seguridad, puedes crear un archivo de clave el cual se solicitará cada vez que abras KeePassXC. Tenga en cuenta que si pierde el archivo la base de datos quedará inutilizable ya que esta no se podrá desbloquear con solo la clave maestra.




Bien, ahora que ya hemos creado nuestra base de datos tendremos una pantalla cómo esta:




En la parte izquierda podemos Añadir/Modificar Grupos (Por ejemplo podemos crear dos grupos, uno para los accesos de la empresa y otro para accesos personales) y en la parte derecha es donde añadiremos los datos de acceso de la siguiente manera:




Ahora damos en "Apply", "Ok" y quedará guardada la entrada. Podemos añadir tiempo de expiración a la entrada creada habilitando la opción "Expires" en la imagen anterior.

Se creará la entrada y quedará así:



Dando click derecho sobre la entrada tendremos opciones tales cómo "Copiar/Modificar usuario", "Copiar/Modificar contraseña", "Abrir URL", "Clonar entrada", entre otras más.

Una vez cerrado KeePassXC la base de datos se bloqueará y nos solicitará la clave maestra la próxima vez que intentemos abrirla, además si configuramos el archivo de clave también lo solicitará.




KeePassXC posee además un generador de contraseñas en la sección "Tools", aunque en este post explicamos cómo crear contraseñas ultra-seguras, así mismo una gran variedad de configuraciones en la sección "Tools -> Settings", entre las cuales se destaca el apartado "Security" con opciones interesantes cómo el bloqueo automatico de contraseñas, el limpiado automático de las contraseñas/usuarios copiados.





 Recomendaciones.


* La base de nuestra seguridad son las contraseñas, elige siempre contraseñas confiables. Para realizar este proceso puedes basarte en este post.

* Nunca dejes en lugares de fácil acceso frases de contraseña o archivos de clave, si es posible mentaliza la clave maestra y guarda el archivo en un medio extraíble encriptado.

Esperamos que esta publicación haya sido de utilidad, cualquier inquietud o sugerencia dejarla en los comentarios en bien, en los medios que indicamos a continuación.
Síguenos en Facebook, Twitter, unete a nuestra charla en Riot (Para charlar con nosotros online), únete a IRC o únete a Telegram.

También puedes dejar su donación a nuestra cuenta Paypal.

miércoles, 4 de octubre de 2017

TOR en Android: Enrutando todo el tráfico de red mediante TOR sin necesidad de acceso root.


A lo largo de este tiempo hemos dedicado tiempo a realizar tutoriales sobre cómo mantener nuestra privacidad en la red desde nuestra computadora y recibimos muchas peticiones solicitando abarcar el área de la seguridad desde dispositivos móviles. Por el momento decidimos solamente añadir soporte a móviles con el S.O Android, por lo que de eso tratará el post.

Anteriormente explicamos la manera de conectarse a una VPN usando OpenVPN y el día de hoy les explicaremos cómo hacer uso de la red Tor en su totalidad desde nuestro celular. Lo primero que vamos a hacer es buscar la aplicación Orbot en la Play Store y damos en "Instalar".


Una vez instalada la aplicación la buscamos y la abrimos.


Vamos a "Configuración", está en la parte izquierda superior y activamos "Aplicaciones en modo VPN".


 Una vez activada la opción, aparecerá un recuadro que nos dejará elegir las aplicaciones que queremos proxificar a travez de TOR.


Nota: Podemos seleccionarlas todas con la opción que aparece en la parte inferior izquierda.

 Una vez seleccionadas las aplicaciones que deseemos proxificar con TOR, regresamos a la ventana principal de Orbot, nos aparecerá una ventana donde nos anuncia que esa característica es experimental y puede presentar inestabilidad, le damos en "Activar".


 Aparecerá un mensaje del sistema Android donde nos indica que una aplicación desea crear una conexión VPN, damos en "Aceptar".


Aparecerá un recuadro informando que estamos conectados a la red TOR.



Una vez realizado comprobamos que todo haya salido bien de dos maneras:

1. Comprobamos que la opción "Aplicaciones en modo VPN" esté activada.


 2. Hacemos la prueba con nuestro navegador (o con las aplicaciones que hayamos seleccionado) para verificar que el tráfico está siendo enrutado a travez de TOR.


Podemos identificar los nodos a los que estamos conectados expandiendo la notificación de nuestro sistema Android.


 Recomendaciones.

1. Si tienes acceso root a tu sistema android te recomendamos realizar la proxificación transparente con Orbot en lugar de usar el modo VPN, esa opción la puedes encontrar en las configuraciones de Orbot.


2. En el momento de elegir las aplicaciones que desea proxificar, es recomendable que elijas solo aquellas que lo requieran y no todo el sistema. Proxificando todas las aplicaciones tu velocidad será bastante limitada y además puede traer problemas con las aplicaciones propias del sistema.

3. Si solamente deseas tener un navegador corriendo bajo el servicio TOR, instala Orfox que trae integración directa con Orbot.



3. Usa Firefox u Orfox en tu móvil para mayor privacidad y seguridad, te recomendamos que leas el post Configurando Firefox para ser indetectable.

4. Si deseas mantener tu privacidad y conocer cuales son los servicios de mensajería más seguros y privados, lee este post.

Esperamos que esta publicación haya sido de utilidad, cualquier inquietud o sugerencia dejarla en los comentarios en bien, en los medios que indicamos a continuación.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot (Para charlar con nosotros online) o únete a Telegram.

lunes, 11 de septiembre de 2017

Hackeando tu ISP: Instalación y configuración de OpenVPN en todas las plataformas.


En un post anterior explicamos paso a paso cómo instalar y configurar DNSCrypt en GNU/Linux, el día de hoy les enseñaremos cómo instalar y configurar OpenVPN en cualquier plataforma movíl o de computadora.

¿Que es OpenVPN?

OpenVPN es un daemon (Servicio) VPN robusto y altamente flexible. OpenVPN soporta seguridad SSL/TLS, puentes Ethernet, protocolos TCP o UDP a través de proxies o NAT, soporte para direcciones IP dinámicas y DHCP, escalabilidad a cientos o miles de usuarios y portabilidad a la mayoría de las plataformas principales.

OpenVPN está estrechamente unido a la biblioteca OpenSSL, y deriva gran parte de sus capacidades de cifrado de ella.

OpenVPN admite el cifrado convencional utilizando una clave secreta precompartida (modo de clave estática) o también de clave pública (SSL/TLS) mediante certificados de cliente y servidor. OpenVPN también admite túneles TCP/UDP no cifrados. Está diseñado para trabajar con la interfaz de red virtual TUN/TAP que existe en la mayoría de las plataformas.

Instalación y configuración.

* Linux.

Instalación.
 
Dependiendo de la distribución que uses, OpenVPN está disponible desde la mayoría de repositorios oficiales, así que lo puedes instalar con tu gestor de paquetes buscando el paquete openvpn.
ArchLinux: pacman -S openvpn
Debian: apt install openvpn
RedHat: yum install openvpn

Configuración.

Finalizada la instalación openvpn no necesita una configuración especial para funcionar en Debian o RedHat, sin embargo en ArchLinux debemos realizar una configuración adicional, si no la realizamos no funcionará. Se trata de un script que no incluye por defecto el paquete de instalación de ArchLinux el cual se llama update-resolv-conf.sh. Este script se encarga de actualizar las direcciones DNS de tu equipo de acuerdo a las configuradas por tu cliente VPN. El script puede ser descargado desde aquí y una vez descargado vamos a copiarlo dos veces en /etc/openvpn la primera copia de llamará update-resolv-conf.sh y la segunda copia update-resolv-conf. Una vez realizado esto le damos permisos de ejecución usando chmod + /etc/openvpn/update-resolv-conf.sh && chmod +x /etc/openvpn/update-resolv-conf.


* Windows.

Instalación.

Descarga el ejecutable .exe desde la página oficial de OpenVPN https://openvpn.net/index.php/download/community-downloads.html, ábrelo y da click en Next - Next... hasta que finalice la instalación.
Una vez finalizada la instalación tenemos listo nuestro cliente OpenVPN para usarlo.

Configuración.

En windows no requiere configuraciones adicionales.

* Macintosh.

Instalación.

Descarga Tunnelblick des su página oficial https://tunnelblick.net/downloads.html, una vez descargado instalamos el paquete .dmg.
Seleccionamos Tunnelblick en este paso.




Nos aparecerá un cuadro que dice "Este contenido fue descargado de internet, deseas abrirlo", damos click en "Open".


Luego aparecera un cuadro sobre la instalación le damos click en "Install" y esperamos a que finalize. Finalmente nos preguntará si deseamos ejecutarlo o salir.

Configuración.

No se requieren configuraciones adicionales.

* Android

Instalación.

Abrimos la Play Store y buscamos OpenVPN Connect u OpenVPN para Android.

 La seleccionamos y damos instalar.


 Aceptamos los permisos que requiere y esperamos a que se instale.


Los mismos pasos anteriores se deben seguir para instalar OpenVPN para Android.

Configuración.

No requiere configuraciones adicionales.

* IOS.

Instalación.

Abre la App Store y busca OpenVPN Connect, seleccionala.
Selecciona "free" e install.


Introduce tu clave de Itunes Store y espera a que finalice la instalación.


Configuración.

No requiere configuraciones adicionales.

Con esto damos por finalizado este post el cual esperamos que se de su agrado y utilidad, en el siguiente explicaremos cómo conectarse desde las plataformas anteriores a un cliente VPN y de esa manera ocultar nuestra ip.

Síguenos en Facebook, Twitter y unete a nuestra charla en Riot.

También puedes dejar su donación a nuestra cuenta Paypal.

domingo, 10 de septiembre de 2017

¡Hackeando tu ISP!. Instalación y configuración de DNSCrypt en GNU/Linux.


El día de hoy les explicaremos que es DNSCrypt, para que sirve, cómo funciona y también detallaremos paso a paso cómo configurarlo en nuestro sistema GNU/Linux para de esa manera obtener una conexión encriptada, de tal manera que nisiquiera nuestro ISP (Proveedor de Servicios) pueda conocer lo que realizamos a diario.

¿Que es DNSCrypt?

DNSCrypt es un protocolo que cifra y autentica las comunicaciones entre el usuario y un servicio de resolución DNS, evita la suplantación de DNS y utiliza firmas criptográficas para verificar que las respuestas provienen del servicio de resolución DNS elegido y no han sido manipuladas.

Es un protocolo abierto, con implementaciones de código abierto y gratuito, y no está afiliada a ninguna empresa u organización. DNSCrypt está disponible para la todas las plataformas en computadoras y dispositivos móviles.

Toma el control de tu tráfico DNS

Además de implementar el protocolo, los clientes comunes de DNSCrypt le dan mucho control sobre el tráfico de DNS.

Utilice dnscrypt-proxy para:

1. Comprobar el tráfico de DNS procedente de su red en tiempo real y detecte hosts y aplicaciones comprometidos en su red.

2. Bloquee localmente anuncios, rastreadores, malware, spam y cualquier sitio web cuyos nombres de dominio o direcciones IP coincidan con un conjunto de reglas que defina.

3. Evitar que las consultas de las zonas locales no se filtren.

4. Reduzca la latencia (tiempo que se necesita para trasmitir datos de un punto a otro en una red) mediante el caché de respuestas y evite solicitar direcciones IPv6 en redes IPv4 solamente.

5. Forzar el tráfico para utilizar TCP, para enrutarlo a través de túneles TCP o simplemente usando Tor.

Instalación.

DNSCrypt se encuentra disponible en la mayoría de distribuciones GNU/Linux desde sus repositorios. Para su instalación en Debian y ArchLinux basta con ejecutar las siguiente órdenes:

ArchLinux: pacman -S dnscrypt-proxy
Debian: apt install dnscrypt-proxy

Adicionalmente puede descargarlo desde su página oficial.

Configuración

DNSCypt proporciona un archivo de configuración cómo ejemplo en /etc/dnscrypt-proxy.conf.example, pero tenga en cuenta que systemd reemplaza la opción LocalAddress con un archivo de socket.

Para configurar DNSCrypt sin problemas sigue los siguientes paso:

Selecciona un servicio de resolución DNS.

Para seleccionar un servicio de resolución DNS adecuado para ti, puedes visitar la página https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-resolvers.csv o bien desde tu archivo /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv, usando un nombre corto de los que aparecen en la columna "name" de la página mencionada.

En la imagen anterior un ejemplo de ellos sería bn-fr0.

Lo que debes hacer es cambiar tu archivo /etc/dnscrypt-proxy.conf en el apartado Resolver Settings cómo se muestra a continuación:


También es necesario configurar de manera correcta el apartado ResolversList dentro del archivo /etc/dnscrypt-proxy.conf añadiendo en seguida la ruta donde se encuentra el archivo dnscrypt-resolvers.csv. Es recomendable mantener ese archivo actualizado lo cual puedes hacer copiando, pegando y guardando dentro del archivo lo que está en este link.

También es altamente recomendable realizar lo siguiente:

1. Crea un nuevo usuario llamado dnscrypt usando el siguiente comando sudo adduser -m -N  -r -s /bin/false dnscrypt y enseguida edita el archivo /etc/dnscrypt-proxy.conf en la opción User de la siguiente manera:

User dnscrypt




Modifica el archivo /etc/resolv.conf

Después de realizar el procedimiento anterior, modifica el archivo /etc/resolv.conf reemplazando el contenido existente con:

nameserver 127.0.0.1

Sin embargo existen programas que pueden modificar este archivo, para evitarlo realizaremos los siguientes pasos:

1. Si usas Network Manager edita el archivo /etc/NetworkManager/NetworkManager.conf añadiendo las siguiente líneas:
[main]
dns=none

2. Si usas DHCP modifica el archivo /etc/dhcpcd.conf añadiendo la siguiente línea al final:

nohook resolv.conf

3. Opcionalmente para un mejor rendimiento puedes añadir la siguientes línea en /etc/resolv.conf:

options timeout:1

4. Protege el archivo /etc/resolv.conf contra escritura usando el siguiente comando:

chattr +i /etc/resolv.conf

5. Iniciamos el servicio usando el comando systemctl start dnscrypt-proxy y del mismo modo lo añadimos a la lista de servicios que inician automáticamente con el sistema mediante el comando systemctl enable dnscrypt-proxy. Con esto ya debemos tener nuestro DNSCrypt configurado y funcionando en nuestro sistema, para asegurarnos ejecutamos systemctl status dnscrypt-proxy y debemos obtener algo cómo esto:


¿Qué hago si el comando systemctl start dnscrypt-proxy no funciona (Problema comprobado en Fedora)?

La primera opción es que ejecutes directamente desde la terminal el comando dnscrypt-proxy /etc/dnscrypt-proxy.conf y con esto ya debería funcionar, pero dado que es incómodo tener que ejecutarlo siempre, vamos a crear un servicio para poder iniciarlo con systemctl y añadirlo a la lista de servicios que inician con el sistema, para eso hacemos lo siguiente:

1. Creamos el archivo /usr/lib/systemd/system/dnscrypt-proxy.service con nuestro editor de textos favorito y copiamos y pegamos el siguiente contenido:

[Unit]
Description=dnscrypt - Encrypted DNS service provided by OpenDNS
After=NetworkManager.service

[Service]
ExecStart=/usr/sbin/dnscrypt-proxy /etc/dnscrypt-proxy.conf

[Install]
WantedBy=multi-user.target


2. Guardamos el archivo y ejecutamos el comando systemctl daemon-reload. 

3. Realizamos lo descrito en el paso 5 de la sección anterior.

Finalizando.

Tip: Busca en el archivo /etc/dnscrypt-proxy.conf la opción LocalCache y asegurate que esté desmarcada y On, así:

## Cache DNS responses to avoid outgoing traffic when the same queries
## are repeated multiple times in a row.

LocalCache on
También podemos comprobar que DNSCrypt está funcionando mediante el uso del comando dig, para lo cual necesitamos instalar previamente el paquete bind-tools mediante el gestor de paquetes de su distribución, una vez instalado ejecutamos dig debug.opendns.com txt y debemos obtener algo así en la salida de la terminal:


Con esto finalizamos este post, esperamos que haya sido de su agrado.  

Síguenos en Facebook, Twitter y unete a nuestra charla en Riot.

También puedes dejar su donación a nuestra cuenta Paypal.