Oneplus. Envío de datos estadísticos. Solución.

Hace muy pocos días se publicaba en numerosos medios que un investigador, Christopher Moore, analizando mediante un proxy (ZAP) la conexiones de su teléfono vio algo que no le convencía. El terminal era del fabricante ONEPLUS. Terminales bastante extendidos y de características premium a coste razonable.

Una de las peticiones de su teléfono contenia parámetros un tanto extraños. Concretamente, estaba codificado en base64, y enviaba dichos parámetros a una URL del fabricante por lo que publicó un artículo demostrándolo. Tengo la “suerte” de tener un terminal de este tipo, un ONEPLUS 3T, y la verdad que es un terminal excelente. Como quería verificar esto, hice las mismas pruebas pero desde burpsuite y efectivamente, tal y como describe Christopher envía parámetros tales como el IMEI, señal del teléfono, cuando está encendida la pantalla, cuando apagada y demás detalles que huelen bastante mal.

A grandes males, grandes remedios. Busquemos la solución.

Read more

Certificado SSL en Subdominios con Cloudflare.

Es ya muy conocido Let’s Encrypt por la concesión de certificados SSL gratuitos que podemos crear para securizar u otorgar a nuestro sitio Web un extra de seguridad, ya que si instalamos un certificado SSL y hacemos los pertinentes cambios (evitar contenido, mixto, redirigir, etc…)tendremos nuestro sitio Web bajo un flamante HTTPS verdoso.

Igualmente, Cloudflare se posiciona en una alternativa bastante interesante tanto en niveles Free como de Pago para conseguir un extra de rapidez a nuestro sitio con su CDN y por supuesto evitar (o intentarlo xD) ataques de denegación de servicio (DoS).

Juntos, el certificado SSL y Cloudflare, hacen que tu sitio sea más seguro. No seguro 100% sino más de lo que estaría sin Cloudflare o SSL, evidentemente nos dejamos atrás numerosos cambios a realizar para mejorar esta “seguridad” de la que hablamos.

El tema de este artículo viene a tratar como conseguir generar un certicado Let’s Encrypt para un subdominio partiendo de que nuestro dominio está ya bajo el “paragua protector” de Cloudflare.

Read more

Burpsuite. Solución al error “SEC_ERROR_UNKNOWN_ISSUER”

El siguiente artículo pretende aclarar, de una manera bastante rápida y sencilla, un error que puede tornarse común cuando hacemos pruebas con Burpsuite.

Concretamente vamos a solucionar el problema de cuando aparece el mensaje “SEC_ERROR_UNKNOWN_ISSUER” y no nos deja añadir excepción de seguridad en nuestro navegador, para continuar con nuestra tarea.

Al tener HSTS activado, cualquier Web, podemos encontrarnos que el certificado autogenerado o el certificado que instalamos con Burpsuite en nuestro navegador, puede mandarnos a paseo y frustrarnos, buscando posibles alternativas para que podamos pasar nuestro sitio Web por Burp.

Burpsuite

Read more

El Hacking Ético y el nuevo Reglamento Europeo de Protección de Datos

… o sobre cómo puede emplearse de forma efectiva y práctica el Hacking Ético al cumplimiento de las previsiones del Reglamento UE 2016/679, relativo a la protección de las personas físicas en lo que respecta al tratamiento de datos personales y a la libre circulación de estos datos (RGPD).

Hasta ahora solamente he visto como abogado en ejercicio cómo las técnicas de pentesting o hacking ético son utilizadas en el ámbito pericial, forense o de investigación, y os va a extrañar y asombrar en qué forma van a coexistir también en el mundo de la protección de datos de carácter personal.

 

Pero antes de entrar en materia os preguntareis ¿qué hace un abogado caminando entre hackers y escribiendo en un blog de ciberseguridad?

 

El Derecho y la Informática: agua y aceite

 

Los juristas y los informáticos estamos destinados, y en cierta forma condenados, a comprendernos y entendernos mutuamente. La sociedad en la que vivimos camina hacia el futuro con dos nuevos compañeros de viaje: la ciencia y la tecnología. Por ello, las normas que la rigen y la regulan han de orientarse a esta nueva realidad: documentos digitales, comunicaciones telemáticas, comercio electrónico, Administración Pública electrónica, relaciones personales virtualizadas, delitos tecnológicos, etc …

 

Es un reto motivador y apasionante conocer, comprender y acercar ambos mundos a veces tan distantes, y  hacer que los profesionales de ambos ámbitos se entiendan mutuamente. Ese es el objetivo de mi despacho profesional (Derecho más Informática @d_mas_i) pues tras veinte años de ejercicio profesional de la abogacía me sumerjo en el mundo informático que no me es ajeno (y que me apasiona).

 

Algunos dicen que el Derecho y la Informática son como el agua y el aceite, pero yo les replico que el agua y el aceite son los ingredientes esenciales del gazpacho, aunque para que el resultado sea sabroso han de entremezclarse en sus justas cantidades y permanecer en constante movimiento.

 

¡ Bye bye spanish law, hello european regulation !

 

La actual normativa española, la famosa LOPD (Ley Orgánica, 15/1999, de protección de datos de carácter personal) y el RLOPD (Real Decreto, 1720/2007 que aprueba el desarrollo reglamentario de la misma) quedan inaplicables en virtud de la aplicación directa y obligatoria en todos sus elementos del nuevo RGPD al incluirse dicha norma europea en el derecho interno de cada estado miembro sin necesidad de un texto normativo nacional de transposición o aplicación. Dicha normativa entró en vigor el 25 de mayo de 2016 y su periodo de transición para la adaptación y cumplimiento de lo dispuesto en él finaliza el 25 de mayo de 2018.

 

La nueva regulación europea, a diferencia de la actual normativa española, se fundamenta en la libertad de forma y en el principio de accountability o de responsabilidad proactiva: el responsable del tratamiento ha de decidir y ha de estar en condiciones de demostrar, qué medidas técnicas y organizativas son las adecuadas para su sistema de información y estar en condiciones de demostrar que son efectivas y conformes a la normativa.

 

Esto es un cambio tan tremendamente disruptivo que ha ocasionado un giro copernicano en la concepción de la política de seguridad relativa a la protección de datos de carácter personal. Pero antes de continuar …

 

… veamos los conceptos jurídicos básicos que nos interesan

 

El ya mencionado responsable del tratamiento (desaparece la figura del responsable del fichero así como también desaparece el Registro General de Protección de Datos donde se inscribían tales ficheros) es la persona física o jurídica que determina los fines y medios del tratamiento, siendo el tratamiento cualquier operación realizada sobre datos personales por procedimientos automatizados o manuales que implique recogida, registro, organización, estructuración, conservación, modificación, consulta, comunicación, transmisión, difusión o supresión y destrucción, o sea el uso de cualquier forma de los datos personales, que son toda aquella información sobre una persona física identificada o identificable.

 

Esos conceptos son un resumen, sin enumerar los preceptos legales que determinan y delimitan dichas definiciones, pues intento huir siempre que sea posible, de la mención legal y que se capte el concepto, pero hay un artículo que oiréis mucho a partir de ahora.

 

El poderoso y revolucionario artículo 32 del RGPD

 

Este precepto viene a sustituir (él solito y sin complejos) a la totalidad el Título VIII del actual RLOPD destinado íntegramente a las medidas de seguridad en el tratamiento de datos de carácter personal.

 

En la normativa española se calificaban hasta ahora los datos según su nivel de protección (nivel de protección básico, medio y alto) tras una enumeración tasada de qué tipo de datos pertenecían a qué categoría (el error que también se cometía era que por brevedad o por desconocimiento se decía que un dato era de nivel alto, cuando correspondía decir que era un dato al que correspondía un nivel de protección alto) En la normativa europea tan sólo existen los datos y los datos sensibles (como una categoría especial de datos) y es el responsable del tratamiento el que ha de evaluar el nivel de seguridad que sea adecuado.

 

Personalmente creo que es una decisión más acertada y cercana a la realidad. Por ejemplo un “dato de nivel básico” sería por ejemplo la edad, pero … ¿y si mi edad es de 89 años? ¿no podría llevar implícito un dato relativo a la salud? ¿no hay más posibilidades de que necesite un audífono, o una gafas para la vista cansada o la necesidad de realizarme más chequeos médicos? Y si trata ese dato una compañía de seguros ¿cuál sería la prima de un seguro de fallecimiento? Por eso un dato digamos que normal, quizás puede requerir un nivel de seguridad superior dependiendo de quién lo trate y para qué lo use.

 

Os transcribo por su claridad el apartado 1 de dicho artículo 32 del RGPD:

 

“Teniendo en cuenta el estado de la técnica, los costes de aplicación, y la naturaleza, el alcance, el contexto y los fines de tratamiento, así como riesgos de probabilidad y gravedad variables para los derechos y libertades de las personas físicas, el responsable y el encargado de tratamiento aplicarán medidas técnicas y organizativas apropiadas para garantizar un NIVEL DE SEGURIDAD ADECUADO AL RIESGO, […]”

Cómo entiendo que el RGPD se refiere al Hacking Ético

 

Es en esa adecuación al riesgo dónde existe una conexión del Hacking Ético con el nuevo Reglamento Europeo de Protección de Datos al establecer el apartado 2 del artículo 32 lo siguiente:

 

“Al evaluar la adecuación del nivel de seguridad SE TENDRÁN PARTICULARMENTE EN CUENTA LOS RIESGOS que presente el tratamiento de datos, en particular como consecuencia de la destrucción, pérdida o alteración accidental o ilícita de datos personales transmitidos, conservados o tratados de otra forma, o la comunicación o acceso no autorizados a dichos datos.”

 

¿Y qué es el Hacking Ético sino las medidas de seguridad ofensiva que analizan los riesgos para evitar el acceso ilícito a los datos o la comunicación o acceso no autorizados a los mismos?

 

Así pues, y por imperativo legal es imprescindible antes de realizar una consultoría y/o adaptación de una actividad a la normativa de protección de datos personales, una auditoria de seguridad informática previa que pueden, y a mi juicio deben incluir sesiones de Pentesting y Hacking Ético para conocer los riesgos en concreto que afectan a cada tratamiento de datos por una posible alteración o acceso ilícito o no autorizado a los mismos.

 

La conclusión lógica

 

Tras lo que hemos visto es lógico que el asesor o consultor ha de pedir consejo al auditor informático sobre cuáles son las mejores y más adecuadas medidas de seguridad personalizadas y adaptadas para ese sistema informático en concreto.

 

El repetido artículo 32 solamente propone como medidas de seguridad la seudonimización y el cifrado de datos personales y cita la capacidad de garantizar la confidencialidad, integridad, disponibilidad y resilencia permanentes de los sistemas y servicios de tratamiento, y la capacidad de restaurar la disponibilidad y el acceso a los datos de forma rápida en caso de incidente físico o técnico, así como un proceso de verificación, evaluación y valoración regulares de la eficacia de las medidas técnicas y organizativas para garantizar la seguridad del tratamiento.

 

Al ser ahora la política de seguridad de cada entidad la que se diseñe al efecto para cada responsable de tratamiento conforme a los riesgos reales que entrañen dicho tratamiento, el ámbito legal habrá de apoyarse en el ámbito técnico, siendo necesario que los informáticos se compenetren y se entiendan con los juristas que diseñen la consultoría o adaptación a la normativa de protección de datos. Es decir, que se mezclen el agua y el aceite …

 

Rafael Perales Cañete

@D_mas_l

Ingeniería Social: Camuflando un payload. Parte 2

En el artículo anterior vimos cómo camuflar un fichero ejecutable en sistemas Windows, utilizando un payload con msfvenon, sin ofuscar.

La idea era mostrar únicamente cómo se conseguía camuflar un ejecutable. Si habéis probado el ejemplo tal cual, veréis que, aunque Windows muestra el fichero tal como queríamos, los antivirus detectarán el payload.

Esto no nos será de utilidad en los sistema donde exista algún antivirus, lo cual estará dentro de los escenarios comunes.

Una solución a este problema es, además de camuflar el ejecutable, ofuscar el payload y conseguir saltar el antivirus. Para ello vamos a utilizar Hércules, una herramienta diseñada para este propósito.

Lo primero que vamos a hacer, es instalarla:

git clone https://github.com/EgeBalci/HERCULES
 cd HERCULES
 apt-get install golang-go
 export GOPATH=$HOME && go get github.com/fatih/color
 go run Setup.go

Read more

Ingeniería Social: Camuflando un payload

Una de las cosas que a veces necesitamos es camuflar un backdoor, para que el usuario confíe en el fichero y lo ejecute.

Para generar payloads tenemos múltiples métodos, por ejemplo, podemos utilizar msfvenon para crearlos. Con el framework Hercules podemos crear payloads, que permiten saltar diferentes antivirus. Sin embargo, estos payloads son ficheros .exe, lo que puede hacer sospechar al usuario y no ejecutarlos.

Una de las características que posee Windows, activadas por defecto (y que todos deberíamos desactivar) es ocultar las extensiones de ficheros conocidos. Esta característica nos permite cambiar el nombre de un fichero, estableciendo dos extensiones, de manera que sólo se oculta la última. Esto hace que el usuario final crea que está abriendo un fichero no ejecutable cuando, en realidad, sí lo es. Por ejemplo, suponiendo que hemos generado un payload con el nombre backdoor.exe, bastaría cambiar el nombre por backdoor.doc.exe. El usuario, en su explorador de ficheros, sólo vería backdoor.doc. Aún así queda el tema del icono. También debería cambiarse para que aparentera ser, en realidad, un .doc.

Read more

Filesystem Sandbox for Linux – FSSB

Autor: SentavioEn muchas ocasiones, necesitamos un sandbox (caja de arena) de nuestro sistema de ficheros, para poder analizar qué ficheros crea, lee o modifica una determinada aplicación o herramienta.

Esto es muy útil para poder realizar diferentes pruebas, en un entorno seguro. De esta manera, podemos analizar desde aplicaciones en las que estemos trabajando, hasta herramientas que hayamos descargado, siendo muy amplio el abanico de posibilidades que nos ofrece.

Read more

PGP. Porque quiero y porque puedo.

Seguramente si eres habitual de la curiosidad informática, sepas que significan estas iniciales (PGP) y para qué sirve este sistema, pero por si tienes mala memoria o se te suelen olvidar las cosas como a mí, o simplemente no lo habías oído nunca, en hacking-etico.com te lo contamos.

PGP, sigla de Pretty Good Privacy (Privacidad bastante Buena, en el idioma de Cervantes) es un cifrado desarrollado por Zimmermann cuyo objetivo es claro, proteger el contenido de los correos y firmar documentos digitalmente para autentificarlos.

 

Read more

Mi GRUB protegido

Una característica de GRUB (y otros cargadores de arranque), es que nos proporcionan una línea de comandos o un editor para poder ajustar los parámetros que le pasamos al kernel. Esto es muy útil en ciertos casos, como por ejemplo, tener la necesidad de arrancar en un modo diferente (en lugar de gráfico, en modo multiusario), desactivar alguna opción de algún controlador, etc.

Una de las cosas que nos permite hacer es arrancar un intérprete de órdenes (shell), sin necesidad de realizar un login, opción que utilizamos en el artículo anterior para restablecer la contraseña del usuario root, pero que también podemos utilizar para recuperar un sistema dañado.

Esto está muy bien y es muy útil, hasta que compartimos la máquina con otras personas, nos dejamos el portátil en casa de alguien, nos levantamos del puesto de trabajo un momento, etc. En ese caso, podríamos tener problemas, pues el arranque que se realiza se hace con permisos de usuario root.

Read more

Sandboxing con Firejail

Firejail es una herramienta fácil de usar, que nos permite realizar una especie de jaula con aplicaciones, especialmente útil para navegadores, clientes de correo electrónico, etc.

Instalación

$ sudo pacman -Syu firejail

Para que el funcionamiento de la herramienta sea óptimo debemos utilizar un kernel con el user-namespaces habilitado. En el caso de Arch, se recomienda utilizar en conjunción con el kernel linux-grsec, que lleva los parches grsecurity y habilitada esta opción o el kernel linux-usernd (disponible en el AUR).