ElevenPaths Boletín semanal de ciberseguridad 16-22 enero Actualización del compromiso de SolarWinds Se han dado a conocer nuevos detalles acerca del compromiso a la cadena de suministro de software desvelado en diciembre: Los investigadores de FireEye han publicado...
Amador Aparicio CVE 2020-35710 o cómo tu RAS Gateway Secure revela el espacio de direccionamiento interno de tu organización Parallels RAS (Remote Application Server), es una solución de entrega de aplicaciones e infraestructura de escritorio virtual (VDI) que permite a empleados y clientes de una organización acceder y...
ElevenPaths Los mejores webinars de 2019 por ElevenPaths Aprende sobre las últimas tendencias en ciberseguridad y herramientas con nuestros expertos.
ElevenPaths La Alianza Global de Seguridad refuerza sus capacidades con la compartición de inteligencia de amenazas Telefónica, AT&T y Singtel aumentan sus esfuerzos para mejorar aún más la capacidad de detectar y eliminar las amenazas del entorno de los clientes.
ElevenPaths Boletín semanal de ciberseguridad 16-22 enero Actualización del compromiso de SolarWinds Se han dado a conocer nuevos detalles acerca del compromiso a la cadena de suministro de software desvelado en diciembre: Los investigadores de FireEye han publicado...
Diego Samuel Espitia Detectando los indicadores de un ataque En seguridad siempre optamos por implementar mecanismos de prevención y disuasión, más que de contención. Sin embargo, la implementación de estos mecanismos no siempre son eficaces o sencillos de...
Yaiza Rubio Qué hemos presentado en el Security Innovation Day 2018: Stela FileTrack, el control de la información sensible (IV) En este post hablaremos de la parte centrada en el nuevo producto estrella de la Unidad de Ciberseguridad de Telefónica, Stela FileTrack. Rames Sarwat, VP de Alianzas Estratégicas en ElevenPaths,...
ElevenPaths Limitando el ámbito de uso de nuestros secretos en Latch con “Limited Secrets” Cuando creamos como desarrollador una aplicación de Latch, ésta nos proporciona un identificador de aplicación (appId) y un secreto. Éste par de claves nos permiten firmar las peticiones realizadas a...
ElevenPaths Boletín semanal de ciberseguridad 16-22 enero Actualización del compromiso de SolarWinds Se han dado a conocer nuevos detalles acerca del compromiso a la cadena de suministro de software desvelado en diciembre: Los investigadores de FireEye han publicado...
Diego Samuel Espitia Detectando los indicadores de un ataque En seguridad siempre optamos por implementar mecanismos de prevención y disuasión, más que de contención. Sin embargo, la implementación de estos mecanismos no siempre son eficaces o sencillos de...
ElevenPaths ElevenPaths Radio 2×09 – Entrevista a David Marugán ¿Qué es el radio hacking y para qué se utiliza? Nos lo cuenta en este episodio David Marugán, consultor de seguridad y especialista en radiocomunicaciones.
ElevenPaths ElevenPaths Radio #8 – Incidente de seguridad, primeros pasos Los ataques informáticos son cada vez más frecuentes, afectando desde las grandes corporaciones, gobiernos y también a las pequeñas empresas. Lo más importante es saber cómo actuar ente un...
Nueva versión de SDK Go para LatchElevenPaths 8 agosto, 2017 SDK Go para Latch Latch tiene varios SDK implementados en varios lenguajes conocidos como Python o .NET. pero hasta ahora no había ninguno para el lenguaje Go, el cual cada vez está ganando más popularidad. Rafael Troncoso (@tuxotron de @cyberhadesblog) ha creado una primera versión de un SDK en este lenguaje creado por Google. Hemos estado realizando varias pruebas de los módulos básicos para comprobar que todo funciona perfectamente y así preparar una serie de artículos explicando su funcionamiento. Este será el primero de varios relacionados a la utilización de este SDK realizando diferentes operaciones sobre Latch. El primer paso es obtener una cuenta de Latch 😉 , directamente como desarrollador si no tienes ninguna, o puedes activar tu cuenta actual de usuario Latch como desarrollador (imagen superior). También será necesario instalar Go en la plataforma en el cual estemos trabajando Windows, Linux o Mac. Finalmente instalaremos la aplicación Latch para el teléfono móvil (puedes buscarla en la tienda de tu smartphone o desde la web) Para instalar el SDK de Latch para Go tienes que ejecutar el siguiente comando desde la shell de tu plataforma: # go get github.com/tuxotron//latch-sdk-go Una vez ejecutado este comando, el SDK debería de estar instalado en la siguiente ruta: $GOPATH/src/github.com/tuxotron/latch-sdk-go/ Prácticamente eso es todo lo que tienes que hacer para poder usar el SDK. Por lo que ya podemos comenzar a probar nuestra aplicación. Hay 2 valores que necesitaremos obtener desde la consola web de administración de Latch: Application ID y Secret. Estos valores pertenecen a la aplicación que hayamos creado. Desde el menú Manage Applications, seleccionamos el icono Edit de la aplicación que queremos proteger. En este caso de ejemplo, los valores son: YkmAJAX2W4v4JU9jP3Ce y 7p9hrnmiWLf8EpbNcPFNfkaCrzPjW3kzTt2rrW9c, para Application ID y Secret respectivamente. Vamos a realizar a continuación algunas pruebas básicas para testear la ejecución de código en Go realizando algunas llamadas a Latch básicas. Crearemos un fichero de texto llamado main.go, por ejemplo, utilizando nuestro editor de texto favorito y escribimos el siguiente código: package mainimport ( “github.com/tuxotron/latch-sdk-go” )func main() { const ( AppId = “YkmAJAX2W4v4JU9jP3Ce” Secret = “7p9hrnmiWLf8EpbNcPFNfkaCrzPjW3kzTt2rrW9c”)credentials := latch.Credentials{AppId, Secret} application := latch.NewLatchApplication(credentials) } Este programa simplemente abrirá una instancia de nuestro servicio de Latch. Para poder asociar nuestra aplicación a Latch, desde la aplicación móvil tenemos añadir un nuevo servicio, si ya tenemos algún otro servicio pareado, o parear con Latch (Pair with Latch), si no tenemos ninguno pareado (recuerda que en Latch puedes crear varias aplicaciones al mismo tiempo). Una hemos elegido la opción de parear, la aplicación móvil nos muestra un token de 6 dígitos. De vuelta a nuestro código, vamos a añadir la llamada para realizar el pareo. El texto marcado en negrita es el código que hemos añadido: package mainimport (“fmt” “github.com/tuxotron/latch-sdk-go” )func main() { const (AppId = “YkmAJAX2W4v4JU9jP3Ce” Secret = “7p9hrnmiWLf8EpbNcPFNfkaCrzPjW3kzTt2rrW9c” )credentials := latch.Credentials{AppId, Secret} application := latch.NewLatchApplication(credentials) res := application.PairWithToken(“iMKUkV”) if res.Error.Code != 0 { fmt.Println(“Error Code:”, res.Error.Code, “, Error Message:”, res.Error.Message) } else { fmt.Println(“OK”) fmt.Println(string(res.Data)) } } Este nuevo código realiza una llamada a la función pair con el token recibido en la aplicación móvil: res := application.PairWithToken(“iMKUkV”) El resto del código simplemente imprime por pantalla el resultado de la llamada (no olvides el “fmt” en la sección de import). Si todo ha ido bien, cuando ejecutes tu código (go run main.go) recibirás el accountId. En nuestro caso este fue el resultado: OK{“accountId”:”zZhqg7H9pabaZDDJg4y2HcFWCjZtDm6yXBg7QDdrKNjBJfreirxzjY74R2dtxbta”} Ese accountId es lo que usaremos ahora para comprobar el estado de nuestra aplicación en Latch. Cómo ya hemos pareado nuestra aplicación, la llamada a la función de pareo (PairWithToken(…)) ya no la necesitaremos más , así que la vamos a comentar y vamos a añadir la llamada para comprobar el estado de nuestro Latch (status(…)). De nuevo el texto en negrita refleja las modificaciones que hemos realizado: package mainimport (“fmt”“github.com/tuxotron/latch-sdk-go” )func main() { const (AppId = “YkmAJAX2W4v4JU9jP3Ce” Secret = “7p9hrnmiWLf8EpbNcPFNfkaCrzPjW3kzTt2rrW9c” )credentials := latch.Credentials{AppId, Secret} application := latch.NewLatchApplication(credentials) // res := application.PairWithToken(“iMKUkV”) res := application.Status(“zZhqg7H9pabaZDDJg4y2HcFWCjZtDm6yXBg7QDdrKNjBJfreirxzjY74R2dtxbta”, false, false) if res.Error.Code != 0 { fmt.Println(“Error Code:”, res.Error.Code, “, Error Message:”, res.Error.Message) } else { fmt.Println(“OK”) fmt.Println(string(res.Data)) } } Hemos comentado la llamada a pair y hemos añadido la llamada a status. Esta función recibe tres parámetros. El primero de ellos es el accountId, el cual recibimos cuando hicimos el pareado y los otros dos son valores booleanos, que dictan como la aplicación móvil va a reaccionar (ver documentación Latch). Si ejecutamos nuestro código ahora y no tenemos nuestra aplicación bloqueada con Latch, deberíamos ver por pantalla algo como: OK{“operations”:{“WcqfYQErkANrk7wfijgv”:{“status”:”on”}}} Como puedes recibimos dos valores, el ID de la operación y el estado. Latch te permite definir distintas operaciones dentro de una aplicación, por ejemplo, podríamos tener una operación que te permitiera hacer login y otra que te permita actualizar o crear registros, etc. En nuestro caso no tenemos definida ninguna operación por lo que Latch nos muestra la operación genérica para nuestra aplicación. El segundo valor que vemos es el estado de dicha operación. En este caso la operación está activa, no bloqueada. Si ahora nos vamos a la aplicación móvil, bloqueamos nuestra aplicación y volvemos a ejecutar nuestro código, obtendremos algo como: OK{“operations”:{“WcqfYQErkANrk7wfijgv”:{“status”:”off”}}} Como podemos ver ahora el estado de nuestra operación está apagado o lo que es lo mismo la operación está bloqueada por Latch. Y además, como el tercer nuestros parámetros silent, lo hemos pasado con el valor falso, en la aplicación del móvil recibiremos una alerta: Resumiendo, para proteger un servicio con Latch tendremos que realizar los siguientes pasos: 1. Obtener nuestro Applicaction ID y Secret2. Petición de pareo, llamar a la función PairWithToken con el token obtenido en la aplicación móvil. 3. Guardar el accountId recibido en el pareo 4. Para proteger cierta operación, llamamos a la función Status con el accountId, y comprobamos si el estado (status) está a ON, entonces permitimos el uso de dicha operación, si el estado está a OFF, evitamos la ejecución de la operación y notificamos al usuario con el algún tipo de error. Para terminar, si queremos desparear nuestra aplicación todo lo que necesitamos es llamar a la función Unpair, y le pasamos como parámetro el accountId: package mainimport ( “fmt” “github.com/tuxotron/latch-sdk-go” )func main() { const ( AppId = “YkmAJAX2W4v4JU9jP3Ce” Secret = “7p9hrnmiWLf8EpbNcPFNfkaCrzPjW3kzTt2rrW9c” )credentials := latch.Credentials{AppId, Secret} application := latch.NewLatchApplication(credentials) res := application.Unpair(“zZhqg7H9pabaZDDJg4y2HcFWCjZtDm6yXBg7QDdrKNjBJfreirxzjY74R2dtxbta”) if res.Error.Code != 0 { fmt.Println(“Error Code:”, res.Error.Code, “, Error Message:”, res.Error.Message) } else { fmt.Println(“OK”) fmt.Println(string(res.Data)) } } Y si todo ha ido bien, veremos impreso por pantalla un OK y también recibiremos una alerta en el móvil. Estos son sólo los pasos básicos para comenzar a utilizar este SDK de Go. Vamos a seguir realizando pruebas que iremos publicando en este blog de ElevenPaths. Fran RamírezInvestigador de ElevenPaths y escritor del libro “Microhistorias: anécdotas y curiosidades de la Informática” franciscojose.ramirezvicente@telefonica.com @cyberhadesblog Rafael TroncosoCo-fundador del blog CyberHades y escritor del libro “Microhistorias: anécdotas y curiosidades de la Informática” tuxotro@cyberhades.com @cyberhadesblog Un año de NoMoreRansom.org, donde ElevenPaths es entidad asociadaElevenPaths Talks: Seguridad Defensiva vs Seguridad Ofensiva
ElevenPaths Boletín semanal de ciberseguridad 16-22 enero Actualización del compromiso de SolarWinds Se han dado a conocer nuevos detalles acerca del compromiso a la cadena de suministro de software desvelado en diciembre: Los investigadores de FireEye han publicado...
Diego Samuel Espitia Detectando los indicadores de un ataque En seguridad siempre optamos por implementar mecanismos de prevención y disuasión, más que de contención. Sin embargo, la implementación de estos mecanismos no siempre son eficaces o sencillos de...
Amador Aparicio CVE 2020-35710 o cómo tu RAS Gateway Secure revela el espacio de direccionamiento interno de tu organización Parallels RAS (Remote Application Server), es una solución de entrega de aplicaciones e infraestructura de escritorio virtual (VDI) que permite a empleados y clientes de una organización acceder y...
Área de Innovación y Laboratorio de ElevenPaths #CyberSecurityReport20H2: Microsoft corrige muchas más vulnerabilidades, pero descubre bastantes menos Existen muchos informes sobre tendencias y resúmenes de seguridad, pero en ElevenPaths queremos marcar una diferencia. Desde el equipo de Innovación y Laboratorio acabamos de lanzar nuestro propio informe...
ElevenPaths ElevenPaths Radio 3×07 – Entrevista a Mercè Molist ¿Conoces la historia del hacking en España? Primero debemos conocer su ética, su forma de vida y de pensamiento, su cultura… Para hablar sobre hackers y hacking en España, tenemos...
ElevenPaths Noticias de Ciberseguridad: Boletín semanal 9-15 de enero Sunburst muestra coincidencias en su código con malware asociado a Rusia Investigadores de Kaspersky han encontrado que el malware Sunburst utilizado durante el ataque a la cadena de suministro SolarWinds,...