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 Eventos en los que participamos en el mes de marzo Llega el nuevo mes y con él nuevos eventos. Marzo viene cargado de eventos importantes así que ¡apúntatelos y no te los pierdas, hacker! RSA Conference 2019 RSA Conference es uno...
ElevenPaths Presentamos a los nuevos Chief Security Envoys (CSEs) de ElevenPaths para 2020 Desde hace varios años, en ElevenPaths contamos con la figura de los CSAs (Chief Security Ambassadors). Se trata de expertos en ciberseguridad, embajadores de nuestra marca alrededor del mundo...
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 Noticias de Ciberseguridad: Boletín semanal 31 de octubre-6 de noviembre Apple corrige 3 vulnerabilidades 0-day Apple, con el lanzamiento de la nueva versión de iOS 14.2, ha corregido tres vulnerabilidades 0-day que estarían siendo explotadas activamente y que afectarían a...
Sergio De Los Santos Firefox empeñado en usar DoH por defecto. ¿Obliga a elegir entre privacidad y seguridad? DNS over HTTPS viene a ponerlo todo patas arriba tal y como lo conocemos. Y como en todo, se han formado dos bandos: principalmente Firefox y los demás.
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 #CodeTalks4Devs – Un Macintosh SE con espacio infinito de almacenamiento gracias a Google Photos Existen proveedores de servicios en Internet que ofrecen diferentes opciones como soluciones ilimitadas en función del formato del fichero a subir. En este nuevo Code Talks for Devs, nuestros...
ElevenPaths ElevenPaths Radio 2×14 – Entrevista a Francisco Hernández Cuchí Sea cual sea tu trabajo, tarde o temprano tendrás que hacer presentaciones ante un público más o menos numeroso. Para que el mensaje llegue de forma clara y efectiva...
Cómo realizar peticiones API REST a los servicios ocultos de Tor desde un APK de AndroidRafael A. Ortiz 19 mayo, 2020 Nos encontrábamos desarrollando una prueba de concepto en el Área de Innovación y Laboratorio como parte de la arquitectura necesaria para crear un servicio oculto de Tor. También necesitábamos una aplicación móvil para interactuar con ese servicio oculto a través de una API de JSON. Sin embargo parece ser que no hay muchas maneras (bien documentadas) de conseguir esta tarea que parece, en principio, sencilla. Vamos a compartir nuestras notas aquí por si alguien más quisiera ver cómo añadir este soporte a su aplicación. Si no te interesa la parte de conocimientos previos, avanza un poco más y ve directamente al apartado “Implementación” que encontrarás más abajo. Contexto Primero, echemos un vistazo a los diferentes bloques de construcción que necesitaremos para realizar peticiones a un servicio oculto desde nuestra aplicación. En las explicaciones se da por sentado que se tienen nociones básicas de desarrollo de aplicaciones para Tor y Android. Orbot, NetCipher y el Proyecto Guardian Orbot es una aplicación gratuita para Android que actúa como un proxy Tor para tu dispositivo. Algo así como si ejecutaras el servicio Tor en tu teléfono, igual que lo harías en cualquier otro sistema Linux. Orbot ha sido desarrollado por el Proyecto Guardian, que crea y mantiene muchas aplicaciones para Android enfocadas en la privacidad. Son el equipo que está detrás de Tor Browser para Android (aprobado oficialmente), así como del combo Orfox+Orbot que vino antes. Sin embargo, obligar a un usuario a instalar y ejecutar Orbot antes de ejecutar su aplicación no es una experiencia nada grata. Para solucionar esto, se creó NetCipher. NetCipher proporciona, entre otras cosas, una clase de utilidad OrbotHelper que permite a la aplicación comprobar si Orbot está instalado, instar al usuario a que lo instale fácilmente y ejecutar automáticamente Orbot en segundo plano cuando se inicia la aplicación. El proceso es análogo a cuando el paquete del navegador Tor lanza un servicio Tor en segundo plano. Sin embargo, no es exactamente lo mismo. El actual navegador oficial de Tor para Android elimina NetCipher y Orbot como requisito, y opta por incluir Tor en la propia aplicación. Esto da a los usuarios del navegador Tor una experiencia sencilla e integrada en las diferentes plataformas. Sin embargo, usaremos Orbot ya que su integración es mucho más simple que añadir un demonio Tor a nuestra aplicación. Volley Library and ProxiedHurlStack En la página de gitlab de la biblioteca NetCipher se pueden ver los ejemplos proporcionados para muchas bibliotecas HTTP de Android diferentes. Los principales métodos soportados son HttpUrlConnection, OkHttp3, HttpClient y Volley. También hay ejemplos de implementaciones para cada una de estas técnicas. Por desgracia, estos ejemplos y los artefactos asociados a ellos para otros clientes HTTP no funcionan a la primera. La mayoría de ellos no se han usado prácticamente en, por lo menos, un año, y parece que el método estándar de implementación de Tor ha pasado de NetCipher+Orbot (análogo al proxy de tu instalación FireFox local a través de Tor) a un servicio Tor integrado en el propio APK (análogo al paquete del navegador Tor). Tras algunos intentos, resulta que en realidad no se necesita el artefacto info.guardianproject.netcipher:netcipher-volley para que Tor funcione en la aplicación. Si echamos un ojo a la fuente de StrongHurlStack.java se puede ver que es bastante sencillo de reimplementar. También dimos con este post de stackoverflow que describe el mismo concepto. El ejemplo no incluye un SSLSocketFactory como lo hace el StrongHurlStack, pero podemos confiar en Tor para que proporcione la encriptación de extremo a extremo y la seguridad de identidad que proporcionaría SSL. Para los servicios ocultos de Tor, SSL es redundante. Implementación Para este proceso, asumimos que el usuario ya tiene una API accesible como servicio oculto en somesite.onion. Las dependencias que hay que añadir al archivo build.gradle del nivel de aplicación son las siguientes: dependencies { implementation 'com.android.volley:volley:1.1.1 implementation 'info.guardianproject.netcipher:netcipher:2.1.0} Asegúrate de actualizar las versiones a las últimas disponibles en el momento de la implementación. A continuación, crea un archivo y una clase ProxiedHurlStack.java como se describe tanto en los ejemplos de NetCipher como en el post de stackoverflow y añádelo a tu proyecto. package your.app.here;import com.android.volley.toolbox.HurlStack;import java.io.IOException;import java.net.HttpURLConnection;import java.net.InetSocketAddress;import java.net.Proxy;import java.net.URL;public class ProxiedHurlStack extends HurlStack { @Override protected HttpUrlConnection createConnection(URL url) throws IOException { Proxy proxy = new Proxy( Proxy.Type.SOCKS, InetSocketAddress.createUnresolved("127.0.0.1", 9050) ); return (HttpURLConnection) url.openConnection(proxy); }} Ahora en nuestro archivo MainActivity.java podemos importar todas las bibliotecas correspondientes. package your.app.here;import com.android.volley.Request;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.JsonObjectRequest;import com.android.volley.toolbox.Volley;import org.json.JSONObject;import info.guardianproject.netcipher.proxy.OrbotHelper; Después, lanzamos una petición a init() e installOrbot() desde nuestro método onCreate()para ejecutar Orbot en segundo plano. Si Orbot ya está instalado, init() devolverá true y pedirá a Orbot que se conecte a la red Tor. Pero si Orbot todavía no está instalado, init() devolverá false y el usuario será redirigido a la Play Store para que instale Orbot. Cuando finalice la instalación, la aplicación le dirá a Orbot que cree una conexión a la red Tor. @Overrideprotected void onCreate(Bundle savedInstanceState) { // ... other actions here ... if (!OrbotHelper.get(this).init()) { OrbotHelper.get(this).installOrbot(this); }} Ahora podemos hacer una petición vía JSON a nuestro servicio oculto. Debes añadir la parte siguiente, sin importar desde dónde envíes peticiones a la API. JSONObject jsonBody = new JSONObject("{\"your payload\": \"goes here\"}");RequestQueue queue = Volley.newRequestQueue(this, new ProxiedHurlStack());String url = "http://somesite.onion/your/api/endpoint/here";JsonObjectRequest jsonRequest = new JsonObjectRequest( Request.Method.POST, url, jsonBody, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { // do something with the response } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // do something with the error } });queue.add(jsonRequest); ¡Y eso es todo! Ahora puedes probar tu aplicación y ver las peticiones que realiza la API a tu servicio oculto. ElevenPaths Radio 2×08 – Entrevista a Manuel BruscasDecepticons vs. Covid-19: la batalla definitiva
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,...