jueves, 7 de marzo de 2024

RootedCon 2024: Crónica primer día

Un año más hemos podido ir a la RootedCon. Como de costumbre he llegado poniendo la carretera. 

Al llegar he podido saludar a todo el equipo de la organización y de Eventos Creativos. Además, he conocido a algunas personas y he podido encontrarme con compañeros del trabajo, tanto con los que trabajo ahora como con los que estuve trabajando hace muchos años, algo que me ha hecho mucha ilusión.

Keynote

Empezamos con la keynote. En la que nos contaron que esperaban más de 6.100 asistentes y presentaron a los patrocinadores.. Además explicaron cómo han organizado este año el evento. Después presentaron "el círculo.io" y los premios "Raúl Jover 2024", que se lo dieron a título póstumo a Angelucho, que tristemente falleció el año pasado. Román, que era el encargado de hacer esta keynote, no ha dejado de tener palabras de elogio para Angelucho y todo lo que hacía, tanto por la comunidad como la asociación que creó de X1Red+Segura con otros compañeros del sector o las prácticas que conseguía para jóvenes "delincuentes" para conseguir que fueran por el buen camino y no entrasen en un centro penitenciario donde acabarían saliendo peor.


ZTNA VS ZTNA

Cristina Crespo y Sonia Cancha
RootedCon 2024 - Cristina Crespo y Sonia Cancha

Empezaron explicando la integración de Accenture con Innotec. Han explicado los retos de la imprevisibilidad del comportamiento humano y los problemas que ello conlleva, siendo un reto casi inalcanzable evitar los problemas que se producen. La idea es descargar la responsabilidad de la solución en la tecnología. De las amenazas internas se ha hablado que está subestimada, ya sea por errores de los empleados o por malicia. Han hablado de los derechos de mínimo acceso a los datos, el de monitorización y la necesidad de aislar un dispositivo si hace algo no esperado. También nos han explicado cómo abordan el reto desde Accenture.

En cuanto se acabó la ponencia nos fuimos a hacer un descanso. Allí me encontré con Lorenzo ( @lawwait ) y Longinos ( @l0ngin0s ).

DFIR en el gobierno de la Rioja 

RootedCon 2024 - Miguel Ángel de Castro y Tomás Gómez
RootedCon 2024 - Miguel Ángel de Castro y Tomás Gómez

Nos hablaron del contexto; 7 consejerías, el Servicio Riojano de Salud y fundaciones públicas. Nos describieron el tipo de infraestructura con la que trabajan como el número de usuarios, dispositivos, servidores, aplicaciones, etc y las posibles amenazas y estadísticas de las mismas. Después han hablado de distintos incidentes que detectaron: ataques de identidad, sobre una tarjeta SIM 3G expuesta y un servidor expuesto a través de un API. Más adelante contaron las lecciones aprendidas: ser conscientes de la superficie de exposición, que de ella también forman parte los usuarios. Además las APIs y los servicios web de deben de proteger igual o más que las aplicaciones. Y los sistemas hay que parchearlos en una ventana de tiempo razonable. Además es imprescindible usar 2FA y estudiar las consecuencias de añadir tecnología sin control. Sin olvidarse de compartir secretos de manera segura o tener la seguridad de que el SIEM ingesta casi todos los logs. Para finalizar contaron lo que creían que habían hecho bien.

Aegis: aproximación a la ciberseguridad dirigida a datos y machine learning

RootedCon 2024 - Iván Fernández Mora
RootedCon 2024 - Iván Fernández Mora

Nos habla de los objetivos críticos por los que una empresa puede ser atacada. Después nos ha contado por qué y para qué se usa machine learning en ciberseguridad. Además, también ha contado por qué han desarrollado su propia herramienta de análisis con machine learning y cómo decidieron organizarse para desarrollarla. Sobre todo porque es más versátil y además pueden usar sus propios datos, si buen en ocasiones hay problemas: que no lleguen todos los logs del SIEM, quién es el responsable de los mismos, etc. También es importante las regulaciones legales sobre la categoría de los datos en relación a cómo se pueden publicar, si son personales, etc. Después ha explicado propiamente el fundamento de la herramienta AEGIS. 

Después me fui a comer, encontrándome con mi compañero de trabajo Iván con el que estuve comiendo y vi las dos siguientes charlas.

Dark territory: paralizando la red ferroviaria de un país entero

Tras la comida, fuimos a la siguiente charla, por David Meléndez ( @TaiksonTexas ) y Gabriela García ( @constrainterror ) ; "Dark territory: paralizando la red ferroviaria de un país entero"

RootedCon 2024 - David Meléndez y Gabriela García
RootedCon 2024 - David Meléndez y Gabriela García


Concepto ferroviario: zona ferroviaria sin controles eléctricos. Más adelante han conceptos ferroviarios como "cantón ferroviario", "contador de ejes", "bloqueo de vía", "control de trafico centralizado", etc. Han explicado el sistema de balizas ASFA. Han puesto ejemplos de accidentes como el de Uharte Arakil en Navarra o el accidente de Angrois. También han descrito cómo están construidas las balizas. Más tarde puesto un ejemplo de manipulación de la baliza con una pila de petaca. O la opción de hacerse con un testeador de balizas, que permitiendo hacer algún tipo de ataque a las balizas: replicación de balizas, denegación de servicio, etc. Han mostrado una posible forma de crear una baliza falsa. 

First rule of CLR is you do not simply inject the CRL

Al finalizar hemos podido disfrutar de la siguiente ponencia: first rule of CLR is you do not simply inject the CRL, por Marcos González y Antonio Pérez

RootedCon 2024 - Marcos González y Antonio Pérez
RootedCon 2024 - Marcos González y Antonio Pérez 

Explican qué es CRL y el intermediate language, de qué se encarga y cómo funciona. También han contado algunos lenguajes que usan CRL: C#, .Net... Y medidas y contra medidas para controlar la ejecución de los programas que están hechos en esos lenguajes. Han explicado qué es herramientas thunderstrike. Han explicado cómo hay que organizar el ataque para evitar que un EDR no detecte que está thunderstrike atacando. Después de la teoría han hecho una POC.

En cuanto acabaron nos fuimos a un descanso y al finalizarlo ya me fui yo a la sala 19.

My mobile is screwing me up

Esta charla la dieron Ofelia Tejerina ( @OfeTG ) , Pablo Fernández ( @pablofb ) y Luis Diego de Aguilar ( @h3st4k3r ) hicieron la charla my mobile is screwing me up. Pedro Candel ( @NN2ed_s4ur0n ) formaba parte del equipo que la montó pero no pudo venir.

RootedCon 2024 - Ofelia Tejerina, Pablo Fernández y Luis Diego de Aguilar (y Pedro Candel)
RootedCon 2024 - Ofelia Tejerina, Pablo Fernández y Luis Diego de Aguilar (y Pedro Candel)

Luis ha hablado de los sistemas callback tanto desde el punto de vista técnico como legal. Han mostrado código fuente de una web real (Jazztel) mostrando cómo se podría activar pero tiene sus protecciones. Con el plugin selenium ha grabado qué se ha ejecutado al introducir los datos para que nos hagan una llamada. Con un scripts se categorizan las webs que permiten hacer ese tipo de llamadas. Nos ha mostrado cómo ha funcionado en node y ha hecho una demo real con Python y una tarjeta SIM completamente nueva y desprecintada en directo. Después ha explicado qué hace el script original. Después ha hablado Ofelia, una de los abogados que han explicado qué puede suceder por usar de mala manera esos sistemas como por ejemplo las llamadas no solicitadas. Entre otras cosas también han incluido artículos del BOE. Más adelante Pablo también ha explicado los distintos tipos de llamadas comerciales y cuándo pueden y no pueden hacernos esas llamadas.


Tu robot ha perdido una tuerca

La Dra. Claudia Álvarez ( @claudiacataplau ) y el Dr. Adrián Campazas ( @gripapc ) han expuesto Tu robot ha perdido una tuerca 

RootedCon 2024 - Claudia Álvarez y Adrián Campazas
RootedCon 2024 - Claudia Álvarez y Adrián Campazas

Han hablado de dónde trabajan y a qué se dedican. Ciberseguridad, hápticos (transmisión de sensaciones, relacionado con el tacto), visión por computación y robótica de servicio (que ayuda a las personas).  Después nos han enseñado algunas fotos de robots con los que trabajan. Han hablado de riesgos y amenazas en sistemas industriales, entre otros algunos accidentes mortales en industria. Después han hecho dos demos atacando a unos robots (con un simulador gráfico, simulando el robot UR3 y Unitree A1 en "persona"). Y han dado sus conclusiones: que el cifrado no se usa aunque esté disponible porque quita eficiencia en entornos de tiempo real. Tiene un servicio SSH que se puede atacar por fuerza bruta y servidor web sin autenticación pudiendo ver por su cámara. Lo que pasa es que el atacante puede hacer un MITM para redirigir al operador a otro servidor web para que vea otra cosa. De las cosas que han hecho les han dado sus Caves. 

Y ya con esta última charla finalizamos la primera jornada de RootedCon 2024.

domingo, 25 de junio de 2023

OpenMediaVault: Error 500 Failed to connect to socket No such file or directory

Esto es una solución por si te sucede algo similar a lo que me pasó a mí hace unos meses y no he sido capaz de resolverlo hasta hace ahora unos escasos 2 minutos. Y lo primero que he hecho al ver que ha funcionado la solución ha sido venirme corriendo a escribirla aquí porque si vuelve a suceder, que podría ser, tenerlo a mano.

Al actualizar el servidor OpenMediaVault se me quedó un poco a medias. Además de poner las actualizaciones del /etc/apt/sources.list hay que acordarse de verificar si hay que modificar los propios sources de OpenMediaVault dentro de la carpeta /etc/apt/sources.list.d/.

Después de hacer las actualizaciones normales del tipo:


#apt-get update
#apt-get upgrade


En teoría ya lo tienes. Pero si no ha ido del todo bien podrías encontrarte con que al intentar iniciar sesión la interfaz web te devuelva un error del tipo:

Error 500: Internal server error. No such file or directory.

ó 

Error 500: Failed to connect to socket: No such file or directory

Bueno. Algo así. Y si buscas en Google te encontrarás con muchas soluciones pero no acaban de funcionar. La solución del Error 500... No such file or directory que me ha permitido volver a entrar en el panel de gestión vía web es la siguiente:

# systemctl unmask openmediavault-engined.service # systemctl enable openmediavault-engined.service # systemctl start openmediavault-engined.service


Espero que si os encontráis con este problema esta sea solución sea de ayuda. 

domingo, 12 de marzo de 2023

RootedCon 2023: Crónica del tercer día

 Al llegar el tercer día lo primer que fue hacer acopio de algo de merchandising.

En la sala 25, antes de empezar, presentaron una canción inédita compuesta por un amigo de la asociación y especialmente para RootedCon. 

La primera charla la dio José Manuel Vera (@jmveraortiz): "Hacker memes... ¿En serio?"

RootedCon 2023 - José Manuel Vera
RootedCon 2023 - José Manuel Vera

Ha creado una historia enlazando memes relacionados con la seguridad, empezando por la procedencia del término "meme" y cómo se generaron en general. Su conclusión ha sido que para las campañas de concienciación los memes son una muy buena herramienta porque se recuerdan mejor.

La siguiente charla, "Atrápame si puedes" la dieron Lorenzo Martínez (@lawwait) y Juan Antonio Rodríguez (@guardiacivil).

RootedCon 2023 - Lorenzo Martinez y Juan Antonio Rodríguez
RootedCon 2023 - Lorenzo Martínez y Juan Antonio Rodríguez

Lo primero que hicieron fue presentarse para posteriormente explicar las diferencias y similitudes que hay entre lo que pueden hacer las FCSE y un perito privado: cómo llega el encargo, formalización, cliente (juzgado, fiscalía, privado). También cómo o hasta dónde se pueden adquirir las evidencias y, por ejemplo, que uno privado no puede pedir datos a operadores de comunicaciones y la policía sólo con mandamientos judiciales. También explicaron qué tipos de casos pueden hacer los unos y los otros. Tampoco se han olvidado de la defensa del trabajo, que suele ser en el ámbito judicial: ambos tienen que convencer al tribunal. Después pusieron ejemplos de algunos casos que no salieron todo lo bien que cabía esperar. Algunos por problemas en la cadena de custodia, sospechas de alteración de evidencias (cambian muchos ficheros aunque podrían haber sido solo por actualización de sistema operativo y no el artefacto de interés). Hicieron hincapié en la importancia que tiene si aparecen otras cosas ajenas a la causa que se está investigando. Acabaron con un resumen sobre los informes periciales. "La credibilidad cuesta mucho ganarla y muy poco perderla." 

Cuando acabaron hicimos un muy pequeño descanso porque casi no dio tiempo. Por suerte sí que pudimos disfrutar de unas conchas Codan.

Después, de vuelta en la sala 25, tuvimos la ponencia "Das Bo0T..." por parte de Miguel Haro y Josué González.

RootedCon 2023 - Josué González y Miguel Haro
RootedCon 2023 - Josué González y Miguel Haro

Han hablado de ciberseguridad industrial. Empezaron presentándose y haciendo una introducción de términos. Lo primero es la seguridad de las personas y lo siguiente la fiabilidad. Nos han mostrado una serie de libros y sistemas virtuales para aprender y probar. Además, diferenciaron entre el uso de malware normal en la industria y el malware industrial (específico para industria). Después pusieron algunos ejemplos de malware,  explicado qué son los gemelos digitales y en qué pueden ayudar o qué aplicaciones pueden tener con respecto a la seguridad: pentest, backups, inventariado, etc. Pero también explciaron los problemas y limitaciones que pueden tener los gemelos digitales. Uno de los ataques que han explicado es EvilPLC.

En cuanto acabaron Jesús Muñoz habló de ataques a redes móviles con "A malicious attacker versus 5G"

RootedCon 2023 - Jesús Muñoz
RootedCon 2023 - Jesús Muñoz

Hizo una introducción muy rápida sobre telefonía móvil y cómo se conecta un móvil con su SIM a la antena, el servicio y la base de datos de usuarios (SIMs y terminales). También desglosó la seguridad según las generaciones de telefonía móvil para centrarse en el 5G. Uno de los ataques mostrados era contra las tarjetas SIM, preocupante porque es un servicio que se usa muchas veces para la doble autenticación. Uno de los posibles ataques están los clonados de tarjetas pero hoy hay que ponerles unos parámetros muy específicos para que funcionen, entre otros la clave de operador, la cual no se puede obtener (fácilmente). Lo más rápido y fácil es conseguir un duplicado de tarjeta. El siguiente ataque que explicó fue el de hacer una estación base falsa aprovechando SDR. Después mostró en vídeo cómo configuró una estación base falsa y cómo se conectaba un móvil contra esa estación. Se vio cómo la transmisión del móvil se podía ver en claro desde el wireshark que tenía la estación base falsa. Lo siguiente que pudimos ver un ejemplo de GPS spoofing con SDR. 


Al acabar esa charla nos fuimos a comer y a la vuelta regresé a la sala 25, donde Tomás Isasia (@TiiZss y @tisasia) expuso "Firm to the future, firm from the past"

RootedCon 2023 - Tomás Isasia
RootedCon 2023 - Tomás Isasia

Lo primero que hizo fue presentarse para después hacer una introducción de lo que nos iba a contar. La primera parte fue explicar cómo surgió la primera firma digital en 1976 y cómo en 1995 apareció la primera CA en España. Hay tres tipos de firmas: simple, avanzada y cualificada (que es equiparable a la manuscrita). Además, la cualificada tiene que tener varias características. Uno dispositivo cualificado puede ser un DNI, pero cada dos años hay que renovar el certificado que guarda o también otro dispositivo puede ser un USB criptográfico que únicamente puede guardar certificados. Nos contó varios formatos existentes; CMS/PKCS#7 (embebido y disociada), S/MIME, orientado a documentos XML o el propio de Adobe basado en PKCS#7 que puede ser una firma o más por fichero. Lo importante es que podría incluir timestamp. También explicó otros formatos: XAdES, XAdES y el PAdES. Continuó contando cómo funciona el proceso de firma y su verificación. La pregutna que se hizo y que le llevó a hacer la investigación era saber si realmente se verifica la fecha y hora que se le pasa al firmar. Por lo que mostró varios ataques conocidos a firmas digitales. Después hizo una serie de demos, entre las que estaba una en la que firmaba un documento con una hora en la que nos estaba hablando en directo y no estaba delante del ordenador. Otras PoC fueron firmar con una fecha anterior a la existencia del certificado o ficheros con firmas cuya fecha y hora están  en el futuro. Finalizó contando las situaciones en las que puede saltar una alerta por la incoherencia entre fechas. Tomás invitó a Lorenzo (Martínez) a que explicara por qué se puede identificar en un forense que se ha aplicado esta manipulación.


Después se hizo una ponencia sobre computación cuántica en la que explicaban cómo afecta a la ciber seguridad, por parte de Mario Muñoz, Gustavo A. Lara, Jesús Domingo y Francisco González

RootedCon 2023 - Mario Muñoz, Gustavo A. Lara, Jesús Domingo y Francisco González
RootedCon 2023 - Mario Muñoz, Gustavo A. Lara, Jesús Domingo y Francisco González

Diferenciaron entre ordenadores corrientes y cuánticos. Los ordenadores cuánticos ponen tener el estado 0, 1 o los dos a la vez, es lo que se conoce como "el principio de superposición". También explicaron en su introducción a la computación cuántica cómo son los estados cuánticos de los "qbits" y cómo suceden. Los ordenadores cuánticos necesitan muchos parámetros para funcionar como tal o en caso contrario acaban dando resultados erróneos. Contaron que mezclar resultados de uno cuántico con la tradicional se le llama "hibridación". Tampoco se olvidaron del rendimiento de estos sistemas, aunque también afirmaron que no es correcto compararlos directamente por el uso al que los cuánticos suelen estar destinados. Después enumeraron algunas limitaciones y retos que tienen estos sistemas. Continuaron con las implicaciones que tienen respecto a la ciberseguridad, como esa afirmación de China que dice que han roto un RSA de 48 bits con un ordenador de este tipo. Tampoco se dejaron en en el tintero algunas consideraciones relacionadas con la seguridad, tanto las buenas como las no tan buenas. Y por último mostraron algunas soluciones que han hecho empresas grandes, haciendo hincapié en Azure Quantum.

Cuando acabaron nos fuimos a descansar media horita.

De nuevo en la sala 25, y antes de empezar la charla, la organización habló de la "hacker night" y dieron los números de cuántos researchers participaron, cómo lo hicieron, etc. 

RootedCon 2023 - Hacker Night
RootedCon 2023 - Hacker Night

Según nos comunicaron, se encontraron unas 70 vulnerables. Eso sí: todos los investigadores firmaron un NDA antes de empezar el reto. Incidieron en que la calidad ha subido muchísimo con respecto a años anteriores. Además, mostraron los ganadores de un premio en metálico por la calidad de sus informes.

La siguiente charla la hizo Pablo San Emeterio (@psaneme) y se titulaba "Flutter inspection challenges".

RootedCon 2023 - Pablo San Emeterio
RootedCon 2023 - Pablo San Emeterio

Lo primero que hizo fue preguntar si alguien sabía qué es "Flutter", el cual se trata de un framework de desarrollo de aplicaciones para que el resultado sea multiplataforma. Además permite quitar el ssl pinning. Nos habló de genymotion para posteriormente recordar por qué históricamente se empezó a cifrar las comunicaciones (debido al MITM). Después seguió con las técnicas de hooking en la aplicaciones utilizando, por ejemplo, Frida. Continuó contando qué les pasó con una aplicación en genymotion que no se dejaba instalar y cómo también lo intentaron con AVD. Mostró la investigación de cómo instalar Google Play con root en AVD ya que no es posible de forma nativa. Tras conseguirlo vieron cómo el descifrado seguía sin funcionar. Siguió mostrando cómo consiguieron con muchos quebraderos de cabeza descifrar las funciones y el código que había generado Flutter. Después mostró una demo, acabando con las conclusiones.

La última ponencia de esta edición en la sala 25 la hizo David Meléndez (@TaiksonTexas), "Tú no tienes poder aquí: sáltate los sistemas antidron con SDR"

RootedCon 2023 - David Meléndez
RootedCon 2023 - David Meléndez

Primero se presentó indicando cómo comenzó y cómo le ha estado yendo hasta ahora. Después fue enunciando los distintos usos de drones con un tono muy cómico. Continuó con la detección de drones, como por ejemplo, con visión (tanto por personas como por IA) o su detección vía radiofrecuencia. Siguió describiendo los drones que ha montado y que ya explicó en ediciones pasadas. Para cada uno de ellos fue describiendo las mejoras que les fue añadiendo. Y ahora tocaba una nueva implementación. Expuso cómo ha creado una nueva implementación de modulación y para la que le dedicó mucho tiempo para explicarlo, incluyendo la placa/chip que ha utilizado: MT7628. Después encendió el dron que trajo, y al cual le había atado un cordel largo no fuera a ser que se dirigiera a la pantalla del cine donde estábamos. Tuvo algunas dificultades para encenderlo, a las que le quitaba importancia haciendo chistes y tal situación estresaba mucho a Román. Además, el dron haciendo musiquita mientras estaba arrancando. Cuando hubo encendido y David se dispuso a volarlo, alzó el vuelo dos segundos para inmediatamente después caer a plomo al suelo, con un gran alivio para Román.

Aquí acabó la edición de RootedCon 2023, despidiéndose todo el equipo y voluntarios en el escenario, y a los que espero poder ver el año que viene:

RootedCon 2023 - Equipo y voluntarios de RootedCon 2023
RootedCon 2023 - Equipo y voluntarios de RootedCon 2023

viernes, 10 de marzo de 2023

RootedCon 2023: Crónica del segundo día

Antes de entrar a la sala me encontré de nuevo, como ayer, con un antiguo compañero de la empresa donde estoy, Víctor. Ayer no tuve oportunidad de ponerlo aquí. ¡Y de hoy no pasa!

Antes de iniciar la charla Román ha mostrado un montaje del logo del año pasado y algunas BSOs 

RootedCon 2023 - Román Ramirez con el logo de RootecCon 2022
RootedCon 2023 - Román Ramirez con el logo de RootecCon 2022

La primera charla, "Ataques bluetooth: de la teoría a la práctica... Hay un trecho " en esta segunda jornada la he visto en la sala 25. La han dado Jesús María Gómez y Antonio Vázquez, pertenecientes al equipo de @Tarlogic.

RootedCON 2023 - Antonio Vázquez y Chema Gómez
RootedCON 2023 - Antonio Vázquez y Chema Gómez

Han explicado cómo funciona bluetooth de una forma muy resumida y simple para poder contar su charla: los dos tipos de bluetooth (LE, BR/EDR), host y controler, master y slave... Entre medias han puesto un vídeo "broma". Así, han explicado dos tipos de ataques que no son sencillos de ejecutar: BIAS (suplantación de equipos) y KNOB (un MITM). Uno de los problemas está en el cifrado y el conseguir forzar que la clave de cifrado se reduzca al mínimo posible y además que entre ambos dispositivos se acepte ese tamaño. Después nos han presentado el dispositivo que han implementado, BlueTrust, que consigue hacer un mayor acercamiento a esos ataques y una demo.

La siguiente charla la ha presentado Andrés Soriano (@osintares) y Javier Rodríguez (@Javiover). "HUMINT (HUMan INTelligence) against the hacker".

RootedCON 2023 - 03 Javier Rodríguez y Andrés Soriano
RootedCON 2023 - Javier Rodríguez y Andrés Soriano

Se trata de obtener información a través de personas, pero no acaba siendo realmente ingienería social. Para conseguir la información o que haga ciertas cosas se pueden hacer varias entrevistas o hacerle ver algunas cosas que le induzcan a pensar cosas que no son ciertas. Por ejemplo, que se crea que va a hacer unos trabajos para las FCSE pero realmente no es así. Muy parecido a las entrevistas de RRHH y headhunters. Han puesto un ejemplo ficticio de una persona que ha pasado del periodo de entrevista, a hacer trabajos, a ver que puede haber algo ilegal a los problemas que eso le acarrea (por ejemplo: paranoia).

Después hicimos un pequeño descanso porque nos pasamos de tiempo. 

De vuelta a la sala 25, Agustín Muñoz-Grades y Álvaro López: "Retos de seguridad en entornos multi cloud"

RootedCON 2023 - 04 Agustín Muñoz-Grandes y Álvaro López
RootedCON 2023 - Agustín Muñoz-Grandes y Álvaro López

Han hecho una introducción con las diferentes consideraciones de seguridad en esos entornos y las estadísticas que hay con respecto a este tema: incidentes, problemas, costes... También han incidido en los tipos de nubes y ventajas y desventajas de las mismas. Ha mostrado una demo de cómo lo gestionan en Accenture y qué herramientas han montado para llevar a cabo el control y vigilancia de la infraestructura que ellos están usando.

En la siguiente charla, Alejandro Ramos y Félix Brezo han contado su charla "DoubleDragon: la doble extorsión en el post-incidente"

RootedCON 2023 - Alejandro Ramos y Félix Brezo
RootedCON 2023 - Alejandro Ramos y Félix Brezo

La expresión "double" es por el cifrado de la información y su exfiltración. Incluso mencionan un tercero: la denegación de servicio. Y han puesto ejemplos bastante mediáticos. Han clasificado el tipo de filtrado: estructurado como las bases de datos o en bruto; ficheros y carpetas tal cual. Se han centrado en estos últimos: qué se han llevado, a qué ya quién afecta, qué es lo más relevante, etc. Y han estructurado distintas fases: identificar los indicios, artefactos como ejecutables sospechosos o extensiones de ramsonware conocidas, etc... Evidencias de datos transferidos... Han mostrado la demo de una herramienta opensource que es capaz de analizar los datos que hay analizar para identificar de una forma más sencilla qué en la estructura que contienen de una forma automática.

Después nos fuimos a comer, entre otros David (@esferared). Y antes de ir a la siguiente ponencia me encontré con Lorenzo (@lawwait) y tuve oportunidad de hablar unos minutos con él.

En la siguiente charla Chema Alonso (@chemaalonso) ha expuesto "Deepfake: are you talking to me?"

RootedCON 2023 - Chema Alonso
RootedCON 2023 - Chema Alonso

Ha recordado ponencias pasadas relacionadas con el deepfake. También ha hablado de cómo se pueden recuperar audios de los altavoces inteligentes. A partir de ahí ha derivado en las distintas pruebas que han hecho con distintos sistemas de IA que han ido apareciendo que permiten clonar la voz y cómo se pueden saltar sistemas de 2FA que usan la voz. Juntando esos audios con otros sistemas de deepfakes de vídeo se puede acabar engañando al espectador. Nos ha enseñado una herramienta que está en desarrollo que intenta detectar si se está ante algún tipo de deepfake o no.

La siguiente ponencia la han dado Antonio Sanz (@antoniosanzalc) y Javier García (@jagaher) titulada "Detecta o muere!"

RootedCON 2023 - Javier Garcia  y Antonio Sanz
RootedCON 2023 - Javier Garcia  y Antonio Sanz

Nos han hablado de detección de incidentes, cómo se debería de montar el sistema evaluando y demensionando qué tráfico y cantidad de datos harán falta para poder hacer un análisis. Muy importante usar protocolos como zeek y como mínimo syslog. Es muy importante normalizar los resultados de logs de cada sistema para facilitar el análisis porque nativamente cada uno los genera como quiere. Y muy importante poner en formato UTC las horas y fechas. Asumiendo que se perderán cosas y que habrá falsos positivos que harán perder tiempo, identificar y detectar al atacante. Hay que actuar de acuerdo a lo que se encuentra y reforzar según lo que se va aprendiendo. Para cada una de las secciones que ha tenido la charla han puesto ejemplos de situaciones que han tenido. 

Después del descanso fui a la sala 18, donde Sandra Bardón expuso su ponencia "We are all mad here": cómo crear una infra potente de red teaming.

RootedCON 2023 - Sandra Bardón
RootedCON 2023 - Sandra Bardón

Ha empezado contando cómo se debería planificar la infraestructura de un red team. Además de tener que usar varios servidores para cada miembro del equipo por si uno se detecta poder levantar otro rápidamente, también recomienda recompilar el software que se use eliminando/cambiando el user-agent. Lo importante es evitar dejar huella o dejar la menor posible. 

La siguiente y última charla de la sala 18, donde me quedé, la ha dado Antonio José Sánchez (@T0n1sm) y estaba relacionada con clonado de tarjetas RFID.

RootedCON 2023 - Antonio Sánchez
RootedCON 2023 - Antonio Sánchez

No ha tenido mucho tiempo para exponer. Ha contado los dos tipos de tarjetas que hay según las frecuencias con las que trabajan (13,56 MHz y 125 KHz) y las diferencias entre ambas: si almacenan información, distancias en las que operan, etc. Nos ha mostrado algunos aparatos que son capaces de hacer el clonado y muy por encima algunos sectores y formas de acceder a las claves que almacenan y que son necesarias para hacer los ataques.

Al finalizar han hecho unos sorteos que tenían planeados, momento en el que cerré porque no tenía posibilidad de participar.

jueves, 9 de marzo de 2023

RootedCon 2023: Crónica del primer día

El primer día de la RootedCon 2023 ha estado genial.

Hemos empezado con la keynote en la que nos han mostrando un vídeo como introducción. Arantxa ha sido la que nos la ha presentado.

RootedCon 2023 - Arantxa presenta la keynote
RootedCon 2023 - Arantxa presenta la keynote

Después nos ha explicado Arantxa cómo ha pasado a ser la presidenta de la Asociación que hace en evento, por qué se ha decido este año el logo de Lego y cómo se hicieron las conchas Codan como el "alimento" oficial. Además, ha presentado los premios Raúl Jover 2023 entregándoselos a Chema Alonso el cual ha decidido donar la cantidad en metálico a la Fundación Gomaespuma.

Después empezó la primera charla por parte de Pablo Estévan. 

RootedCon 2023 - Pablo Estevan
RootedCon 2023 - Pablo Estevan

Puso la perspectiva de las tecnologías de hace 20 años comparando con lo de ahora: consolas, coches, sistemas operativos... Con la diferencia de que los SIEMs son prácticamente iguales. A excepción del producto de Palo Alto que nos ha presentado; identifica las amenazas automáticamente con la IA que han desarrollado y es capaz de paralizar ese ataque automáticamente. Nos ha mostrado varias demos.

Ya con un buen descanso, David Marrugan  (@radiohacking) y Chema Mezcua (@chemamezcua) nos han presentado "Telecom hacking". 

RootedCon 2023 - David Marrugán y Chema Mezcua
RootedCon 2023 - David Marrugán y Chema Mezcua

Después de explicar el objetivo de la charla han contado el escenario inicial de Ucrania desde el 2014. Cómo crearon un roaming Nacional de emergencia o cómo se las buscaron para impedir el de los equipos rusos en el país invadido. También se ha explicado el funcionamiento de las comunicaciones de radio, su control y su uso. Entre otras frecuencias mencionadas están las de honda corta. Pero también se han mencionado la posible captura de las comunicaciones por fibra marítima. De ahí ya han explicado cómo funcionan los protocolos de red de los routers: el BGP. Y cómo Rusia se ha aprovechado para, posiblemente, spoofear comunicaciones. 

Tras esta charla, Miguel Ángel de Castro y Jonathan Monroy nos han expuesto el estudio que hicieron a un malware que apareció en unos pinchos USB que se analizaron antes de entregarlos a los accionistas destinatarios. 

Rootedcon 2023 - Miguel Angel De Castro y Jonatan Monroy
RootedCon 2023 - Miguel Angel De Castro y Jonatan Monroy

La primera parte fue un análisis del propio malware con su pequeño reversing. La segunda parte es la que buscaba responder a varias preguntas e identificar si fue un ataque dirigido o accidental, llegando a la conclusión de que fue el segundo. Entre otras se hizo un estudio de la situación geopolítica de China y sus acuerdos internacionales, estado interno, compromiso de cadena de suministros, etc. Con todos los análisis fueron capaces de responder a sus preguntas iniciales

Ya después de la comida, Santiago Anaya y Jorge Testa presentaron "!Por mis profilings!"

RootedCon 2023 - Jorge Testa y Santiago Amaya
RootedCon 2023 - Jorge Testa y Santiago Amaya

Hablan de hacer un perfil del posible atacante del objetivo que se quiere proteger (por ejemplo, un cliente), como método de anticipación. Es el medio que permite identificar qué será lo más probable que será atacado. Han explicado qué te un adversario digital y han analizado cuáles han sido las tendencias de los ataques de los últimos meses. Entre otras, que se siguen usando vulnerabilidades que se darían por parcheadas como algunas de 2010. Han diferenciado tres elementos: actores, herramientas y vulnerabilidades (CVEs). El perfilado, explicado con una serie de pasos, se hace día a día emulando distintos ataques.

La siguiente ponencia la ha hecho Ángela Barriga, y estaba relacionada con los deepfakes.

RootedCon 2023 - Ángela Barriga
RootedCon 2023 - Ángela Barriga

Explicó que son y puso varios ejemplos, incluyendo una foto muy antigua. También contó que en estos momentos esta técnica se usa mas como entretenimiento que para manipular a las personas que las consumen. No obstante, puede provocar un problema de identidad digital para las personas que aparecen en el contenido donde se utiliza. También nos ha explicado distintas formas de generar los deepfakes y cómo detectarlos. Ha mencionado dos herramientas que las genera, Faceswap y DeepFaceLab, desglosando el funcionamiento de la segunda. No se ha olvidado de explicar los posibles errores que aparecen en los resultados que se obtienen. 

Después de un descanso me trasladé a la sala 19, donde Yassir Kazar expuso "Don't fear the hacker"

RootedCon 2023 - Yassir Kazar
RootedCon 2023 - Yassir Kazar

Después de presentarse ha explicado por qué los hackers son necesarios para la sociedad. También ha mostrado un informe de la ENISA (European Union Agency for Cybersecyrity). Ha mostrado un timeline sobre el uso de la palabra "hacker" en la historia. El fuerte de la charla ha sido la presentación de dos proyectos sin ánimo de lucro. El primero, Hack4Values, en el que se buscan hackers con mucha experiencia trabajando pro-bono. El segundo, Good Faith Cybersecurity Researchers Coalition, en el que si buscando vulnerabilidades en alguna empresa que no te lo ha pedido, se tiene que dar absolutamente toda la información sin pedir nada a cambio (porque si no es extorsión), y sobre todo, respetar los estándares. 

La siguiente charla y última charla de la jornada, también en la sala 19, fue por parte de Lorenzo Martínez (@lawwait). 

RootedCon 2023 - Lorenzo Martínez
RootedCon 2023 - Lorenzo Martínez

Primero ha expuesto los antecedentes del caso, que empezó en 2013. El FBI informó a la Policía Nacional del acceso a una página web de pedofilia desde una dirección IP del hacker llamado "H". Casi 9 años después es cuando se inicia el proceso judicial, el de instrucción. Al pedirle 'H' el peritaje, Lorenzó evaluó si podía aceptar el trabajo de hacer el informe contrapericial emitido por la policía. Nos ha contado qué mostraba esa pericial, con qué ficheros se estaba sustentando la acusación y los errores o fallos de los que cojeaba. También nos ha contado Lorenzo las dificultades que tuvo para poder analizar las evidencias, desde los problemas que daban las que se encontraban en los DVDs que le entregaron para hacer el análisis hasta el disco duro original que contenía las evidencias y con el que pudo hacer otro informe. Con sus resultados finales pudo defenderlos ante el juez en un careo con los peritos de la policía.

Y hasta aquí la primera jornada de la RootedCon 2023. Después de varios años sin venir, ha estado genial.

jueves, 4 de noviembre de 2021

Hace un tiempo que me instalé una Debian en mi portátil. Pero como este trasto HP Pavilion x360 es un poco especialito no me dejaba configurar la tarjeta de red inalámbrica. Y la verdad me ha costado que a pesar de que sí que aparecía al buscar con comandos como 

# dmesg

O

# lspci -vnn | grep -i 14e4

Al menos estos los tuve que lanzar unas cuantas veces.

También están los distintos drivers e historias que tiene Debian en su repositorio. Eso sí, hay que acordarse antes de poner en el fichero /etc/apt/sources.list el parámetro non-free a la ristra de los que ya tiene la url del repositorio.

deb http://url contrib ... non-free 

Y con 

# apt-cache search broadcom

Instalar los paquetes adecuados. Ahora mismo no los tengo a mano pero eran algunos como broadcom-sta-dkms, broadcom-sta-source, firmware-43-installer o similares. Al final el que te dirá qué módulos te pueden funcionar para tu tarjeta es el comando lspci en la sección Kernel driver in use (aunque realmente no es del todo cierto).

El driver que en mi caso me ocupaba era wl. Pero buscando tanto en los logs como en dmesg o incluso ejecutando 

# modprobe -vv wl

No había manera de que funcionara. Es más, en este último caso me devolvía un error. Por cierto, para el que no lo sepa, las "v" son para que devuelva más información. Un posible error que me salía (he tenido que buscar el ejemplo ya que  no lo documenté):

modprobe: ERROR: could not insert 'wl': Required key not availablemodprobe: ERROR:../libkmod/libkmod-module.c:977 command_do() Error running install command for wl
modprobe: ERROR: could not insert 'wl': Operation not permitted


No recuerdo si era con modprobe, pero sí buscando en resultados del dmesg o journal una línea muy interesante:

Kernel is locked down from Kernel configuration; see man kernel_lockdown.7

Esto viene a querer decir que si se tiene activado el arranque seguro y el driver no está firmado no se podrá instalar. ¿Solución? Los hay que tiran por la calle de en medio: "deshabilita el arranque seguro". Pero hay otra solución. Crear un certificado de firma, instalarlo en la máquina y después firmar el driver. 

¿Cómo creo que certificado de firma?

Me encontré un tutorial bastante interesante en la pregunta de un foro en ITecTec. Y la verdad es que funcionó mucho mejor de lo que esperaba. Pero antes de nada conecta la máquina con un cable de red, actualiza todo el sistema y asegúrate de que tienes instalado linux-headers. Al menos en algún punto me suena que los instalé. Repasando algunas rutas estoy viendo que es muy posible que instalara build-essential y linux-headers-generic. Ya contaré esto último más adelante. Antes de que empieces con lo siguiente: más adelante te tocará preparar un script porque el driver dejará de funcionar cada vez que se actualice el kernel.

Vete a una carpeta. En mi caso hice con el usuario root directamente.

  1. Situate en una carpeta fácil y créate una en la que vas a crear los certificados. Por seguir ele ejemplo: module-signing
    1. # mkdir module-signing
  2. Entra dentro de la carpeta:
    1. # cd module-signing
  3. Ahora crearemos nuestro certificado de firma:
    1. # openssl req -new -x509 -newkey rsa:2048 -keyout mok.priv -outform DER -out mok.der -nodes -days 36500 -subj "/CN=Nombre/"
  4. Le reasignamos los permisos para que sólo tenga lectura por parte del propietario:
    1. # chmod 600 mok.priv
  5. Con la herramienta mokutil nos pedirán asignar una contraseña que (parece ser) apenas se usará un par de veces y con esto se instalará el certificado en algún punto de la UEFI:
    1. # mokutil --import /rutaCompletaCertificados/mok.der
¿Cómo instalo certificado de firma en la UEFI?
  1. Una vez hayas introducido la contraseña apaga la máquina. ¿No te sale el grub por defecto? Tendrás que vigilarlo y hacer lo que siempre hagas para que te aparezca. De todas formas, en este paso debería de aparecerte en la pantalla un menú que nunca has visto. Había un pequeño paso adicional que no indican en el ejemplo y no me acuerdo cuál. Pero una selección por descarte. ¡Ah! Los teclados externos podrían no funcionar.
    1. Presionar cualquier tecla cuando te lo pidan si quieres acceder al MOK.
    2. Selecciona "Enroll MOK"
    3. Selecciona "Continuar" o "Continue"
    4. Me suena que en mi caso salió por aquí ese otro paso.
    5. Seleccionar "Yes" o "Sí".
    6. Introducir la contraseña del certificado.
    7. Aceptar para continuar el arranque. Recuerda: si no te suele salir el grub, es posible que te arranque el sistema por defecto y tengas que arrancar tu Linux como siempre lo hagas.
¿Cómo firmo el módulo?
  1. Ahora puedes firmar el módulo en cuestrión:
    1. /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 /rutaCompletaCertificados/mok.priv /rutaCompletaCertificados/mok.der /rutaCompletaMódulo

Con estos pasos ahora si ejecutas modprobe tal y como hicimos al principio del artículo dejará de darte problemas.

Otros cambios realizados

La verdad es que entre medias hice otros cambios que se proponían y que a pesar de que no hacían lo que esperaba creo que también funcionaron bien para otras historias. 

En los parámetros del kernel en el grub puse dos parámetros adicionales:
  • pci=biosirq
  • acpi_osi= (tal cual. Así es como lo ponían en la página donde lo encontré)
La verdad, no he sido capaz de encontrar qué hacen pero sin estos alguna cosa no acaba de funcionar.

Una ruta interesante en la que se explican los distintos módulos de Broadcom está en Ubuntu

Sorpresa

En todo este proceso para instalar los drivers de la tarjeta inalámbrica Broadcom 43142 no sé cómo el se consiguió instalar el grub en el almacén de sistemas operativos accesibles por la UEFI. El problema está en que a pesar de que los ficheros necesarios para poder arrancar el sistema sí que se guardaban en /boot/efi/ el siguiente paso era que la UEFI lo identificara automáticamente y no había manera. Por lo tanto tocaba forzar a darle al F9 en el arranque, navegar por la ruta mencionada y seleccionar el fichero shimx64.efi. El comando que intentaba usar para crear en la entrada que necesitaba la UEFI era algo parecido a

# efibootmgr -c -d /dev/sda -p 3 -L "etiqueta" -l \EFI\"label"\grubx64.efi

Pero como digo, me decía algo así como "el directorio no existe". 

Pues bueno, para resumir, con todo el lío que he hecho para que se inicie la tarjeta de red inalámbrica, la entrada se ha puesto ella solita. Por lo que ahora en el menú de la UEFI puedo indicarle qué sistema quiero que arranque. En mi caso será el grub, que a su vez me permitirá lanzar Windows cuando quiera.

sábado, 3 de julio de 2021

Cómo configurar FreePBX para Masmovil

Después de conseguir el acceso al router Sercomm FG824CD y obtener los datos de acceso al servidor SIP no quedaba otra que configurar mi FreePBX para tirar de este servidor. Así podría quitar (o no) el ATA LinkSys SPA3102.

A pesar de que ya lo he hecho para otros servicios, incluyendo el ATA, el conseguir hacer el "register" me costó mucho tiempo. Accediendo a la consola de asterisk tenía activado el debug:

# asterisk -r
sip set debug [on | trunkName ]


Según el instante lo puse tanto probando con on como con el nombre del trunk entrante (inbound trunk) .
Uno de los manuales principales que me ha guiado ha sido el de ADSLZone. No obstante, como ya decía, no acaba de funcionar del todo.

*** Register ***

Con respecto al register existen distintos formatos:

register => user[:secret[:authuser]]@host[:port][/extension]
register => fromuser@fromdomain:secret@host
register => fromuser@fromdomain:secret:authuser@host:port/extension


Lo siguiente es tener claro cuáles de los todos los valores que fuimos obteniendo se corresponden con esos valores. Porque, y aquí está donde me hice el lío (y la verdad, posiblemente me lo siga haciendo. Pero sabré por dónde van los tiros).
  • DigestUserName: e34[teléfono]@evisemad.yoigo.com.
  • fromuser@fromdomain: +34[teléfono]@ims.masmovil.com. Como podéis ver, esto es el DigestUserName.
  • fromuser: +34[teléfono].
  • fromdomain: ims.masmovil.com.
Este es el ejemplo genérico que ponen en el manual:

"DigestUserName":"AuthPassword":"DigestUserName"@[proxy]/[TEL]

Por lo que quedaría algo así:

+34[teléfono]@ims.masmovil.com:[p@$$W0rd]:e34[teléfono]@evimsemad.yoigo.com:5060/+34[teléfono]~3600

Si supierais la de combinaciones que hice pensando que el resultado que me devolvía era un error... Aunque catalogué cada formato no lo hice con los mensajes. Eran los mismos:

[2021-05-30 11:27:39] NOTICE[445]: chan_sip.c:15828 sip_reregister: -- Re-registration for +34[teléfono]@evimsemad.yoigo.com

[2021-05-30 11:27:39] NOTICE[30765]: app_queue.c:9096 reload_queue_rules: queuerules.conf has not changed since it was last loaded. Not taking any action.

[2021-05-30 11:27:39] NOTICE[445]: chan_sip.c:24840 handle_response_register: Outbound Registration: Expiry for evimsemad.yoigo.com is 2390 sec (Scheduling reregistration in 2375 s)


Estas líneas no significaban que el register estuviese mal. Y yo emperrado en que sí.

Lo dicho: tirad del formato que os pongo y os hará que el register funcione.

*** Outbound trunk ***

Esta configuración es la que está relacionada con las llamadas salientes. Aquí la muestra de un error que cometí:
  1. fromuser=e34[teléfono]@ims.masmovil.com
  2. fromuser=+34[teléfono]
Con la primera opción intenté hacer una llamada que no funcionó. El debug me devolvió el siguiente mensaje de error:

[2021-05-30 11:41:35] WARNING[445][C-0000001c]: chan_sip.c:24304 handle_response_invite: Received response: "Forbidden" from '<sip:e34[teléfono]%40ims.masmovil.com@ims.masmovil.com>;tag=XXXXXXXXX'

Por lo que hice alguna prueba más cambiando ese parámetro en concreto. Así es como en mi caso tengo la siguiente configuración. ¿Qué se podría hacer mejor? Seguro que sí. Pero de momento cumple su función:

type=peer
timeout=3600
sendrpid=yes
secret=[password]
registertimeout=3600
qualify=no
port=5060
outboundproxyport=5060
outboundproxy=evimsemad.yoigo.com
nat=force_rport,comedia
insecure=port,invite
host=ims.masmovil.com
fromuser=+34[teléfono]
fromdomain=ims.masmovil.com
dtmfmode=rfc2833
disallow=all
directmedia=no
defaultuser=+34[teléfono]@ims.masmovil.com
context=from-pstn
authname=+34[teléfono]@ims.masmovil.com
auth=+34[teléfono]@ims.masmovil.com
allow=alaw,gsm



*** Inbound trunk ***

En este caso empecé con los parámetros que se muestran en el manual pero después revisando el debug conseguí no tener que configurar un nuevo trunk.

Hice una prueba muy aproximada de lo que tenían en el manual:

username=+34[teléfono]
type=peer
trustrpid=yes
timeout=3600
sendrpid=yes
secret=[password]
registertimeout=3600
qualify=no
port=5060
outboundproxyport=5060
outboundproxy=evimsemad.yoigo.com
nat=force_rport,comedia
keepalive=30
insecure=port,invite
host=ims.masmovil.com
;host=evimsemad.yoigo.com
fromuser=+34[teléfono]
fromdomain=evimsemad.yoigo.com
dtmfmode=rfc2833
disallow=all
directmedia=no
context=from-pstn
allow=alaw,gsm


Y me devolvio el siguiente error:

[2021-06-04 21:22:13] NOTICE[445][C-00000028]: chan_sip.c:26605 handle_request_invite: Failed to authenticate device <sip:[unMóvil]@[IPAsterisk]>;tag=XXXXXXXXXXXXXXXX

[2021-06-04 21:22:16] WARNING[3337][C-00000027]: app_dial.c:2507 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)


La verdad no recuerdo si encontré otros mensajes diferentes. Pero acabé haciendo otros cambios:

username=+34[teléfono]
authname=+34[teléfono]@ims.masmovil.com
auth=+34[teléfono]@ims.masmovil.com
callerid=+34[teléfono]
type=peer
trustrpid=yes
timeout=3600
sendrpid=yes
secret=[password]
registertimeout=3600
qualify=no
port=5060
nat=force_rport,comedia
keepalive=30
insecure=port,invite
host=evimsemad.yoigo.com
fromuser=+34[teléfono]
fromdomain=evimsemad.yoigo.com
dtmfmode=rfc2833
disallow=all
directmedia=no
context=from-pstn
allow=alaw,gsm


Y ya estaría. Como decía con esta configuración ya no hace falta crear otro trunk adicional tal y como indican en el manual.

Como comentario adicional: he visto este mensaje con la corrección que ahora os contaré. Pero sólo con un teléfono de esos de spam, algo raro porque con mi móvil conseguí que no saliera.

Sólo hay una cosa curiosa que sucede cuando llegan unas llamadas y que tendré que buscar qué parámetro tengo que añadir o qué valor tengo que darle (si es que ya lo tengo en mi configuración). Cuando llegan las llamadas el origen llega con un formato como el siguiente:

[miMóvil];phone-context=+34

También es otra rara: he visto que el teléfono que os decía aparecía sin este formato. 

*** Otros ***

Algunas de las correcciones o búsquedas que hice, además de activar el debug para ver en directo qué mostraba la consola de asterisk al entrar la llamada hice una comparáción desde Wireshark de un tcpdump desde la centralita a la hora de hacer el register con otro .pcap generado por el propio router.

También quisiera comentar que he tenido configurado uno de los teléfonos IP conectados al servicio de VoIP de la operadora y a mi asterisk a la vez. Evidentemente el sistema se liaba: empezaba con la centralita y a los dos segundos saltaba el teléfono y la centralita no acababa de mostrar que se había producido esa llamada.