2019/06/28

Recuperando credenciales de Windows con Nishang

Por el 2019/06/28 con 0 comentarios
Nishang es un framework de PowerShell diseñado por Samratashok para automatizar ciertas acciones que solemos realizar durante nuestras labores de pentesting.

El script Copy-VSS, permite automatizar la extracción de los archivos SAM, SYSTEM y NTDS.DIT, y es una de las opciones más cómodas y rápidas de las que disponemos para esta tarea. Podéis descargarlo desde el siguiente enlace:


Su funcionamiento es muy básico. Solo tendremos que importar el módulo y ejecutarlo. Además, mediante el parámetro "-DestinationDir" podremos dejar los 3 archivos en la ruta que le indiquemos. Por lo que si en un ataque conseguimos una shell, podremos dejar los archivos en alguna carpeta para poder recuperarlos de forma sencilla:


El resultado:

Veréis que en la PoC anterior no figura el archivo NTDS.DIT, lo que es debido a que la máquina de pruebas que he utilizado no estaba en dominio.

De igual manera, si tuviésemos una sesión de meterpreter abierta, podríamos cargar powershell, e importar el módulo y lanzar el script exactamente de la misma manera. Por lo que disponéis de distintas vías para su uso durante una intrusión.

Sobre cómo crackear la SAM y NTDS.DIT ya os hemos hablado en Flu Project en varias ocasiones, pero posteriormente dedicaremos nuevos artículos con técnicas diferentes de ataque :)

Saludos!
Leer más
    email this       edit

2019/06/27

Análisis forense de artefactos en pagefile.sys

Por el 2019/06/27 con 0 comentarios
Buenas a todos, en posts anteriores de la cadena "Herramientas forense para ser un buen CSI", hemos hablado largo y tendido sobre la estructura de la memoria RAM. En el post de hoy veremos cómo extraer artefactos del archivo de paginación "pagefile.sys", que permite extender la memoria física mediante memoria virtual.

Este archivo lo encontraremos en la unidad raíz del sistema, por lo general, C:\. Al tratarse de un archivo protegido del sistema, no lo podremos ver directamente, pero podremos desocultarlo desde el propio explorador.



A nivel forense, trabajaremos de forma general con herramientas como FTK o Autopsy para analizar un disco clonado. Mediante cualquiera de ellas podremos localizar fácilmente el archivo y exportarlo para poder analizarlo.


El archivo pagefile.sys no es un fichero secuencial, de manera que su apertura y análisis con cualquier editor se hacen complicados. Existen algunas utilidades y scripts forenses que facilitar la labor de prospección en el fichero, con el fin de buscar información de una manera más o menos automatizada, pero hoy veremos un par de ejemplos manuales para locailzar de forma sencilla 2 tipos de cadenas de texto que nos serán de gran utilidad.

La primera expresión que veremos, basada en strings, nos permitirá localizar URLs que han sido accedidas desde el equipo. Le indicaremos que nos elimine URLs repetidas, y además, que nos devuelva una lista ordenada, para facilitar su lectura. Utilizaremos "egrep" en lugar de "grep" para poder hacer uso del filtro "?" dentro de la expresión regular, el cual nos permitirá obviar repeticiones:


Cómo veis, en apenas unos segundos nos arrojará el listado completo de sitios web visitados:


La segunda expresión, basada en strings también, nos permitirá identificar rutas del sistema operativo que han sido manipuladas:



He ocultado bastantes rutas donde se podían ver archivos que había modificado a lo largo del día :)


¿Sencillo no? Pues esto es todo por hoy, si se os da bien la definición de expresiones regulares, podéis construiros vuestras propias quieries y compartirlas con nuestra comunidad para publicarlas en posteriores artículos.

Saludos!
Leer más
    email this       edit

2019/06/26

Experiencias de un perito forense en un juicio civil. Parte 2

Por el 2019/06/26 con 2 comentarios


Buenas a todos, hoy continuaremos con la cadena sobre el juicio civil que arrancamos ayer, dedicando el artículo al día del juicio.

El día del juicio no os olvidéis el DNI, os lo requerirán nada más entrar, y no os lo devolverán hasta que no entréis a la sala.

Según el juzgado (sobretodo en los más modernos), es posible que haya una sala de espera destinada a ello o simplemente os tocará esperar fuera, con el fin de mantener la neutralidad y no conocer lo que se está fraguando dentro del juicio.

Por norma general, primero entrarán los testigos del demandado y a continuación los del demandante. Los peritos “solemos” ser los últimos en entrar, aunque he tenido casos, en los que el juez nos ha llamado al inicio del juicio para una ratificación fugaz, como un caso por un informe que le llegó sin firmar. Recordad que los informes deben firmarse siempre. Recuerdo en esta ocasión, que el abogado, por confusión, envió un borrador previo al informe final. A todos nos puede pasar. Por suerte, nunca firmo los informes hasta que están en su versión final, y por ello, se pudo solucionar. Recordad esto, porque es un aspecto muy importante.

Dentro del juicio, el juez os devolverá el DNI y podréis comenzar vuestra declaración. Se os indicará el deber de prestar la verdad y no dar falso testimonio, como es obvio, y se os hará entrega del informe pericial que deberéis reconocer como vuestro. En el caso de que detectéis cualquier anomalía en el informe, informadlo al momento, no sea que alguien hubiese manipulado el informe. Yo siempre firmo con un hash Sha256 los informes que emito, de manera que cuando el juez haya recibido ese informe, podría firmarse de nuevo para comprobar que por el camino, ni el abogado, ni ninguna otra persona ha actuado de mala fe modificando nuestra pericial.

A continuación, se os requerirá vuestra formación y experiencia y por la cual actuáis en calidad de peritos expertos. ¿Hace falta ser ingeniero informático o similar? ¡No! Pero este debate es largo, y lo trataremos en otro momento.

A continuación comenzará la rueda de consultas, con un cuestionario realizado por “nuestro” abogado. Las preguntas os las llevaréis "respondidas de casa", por lo que aquí tendréis pocos problemas, siempre y cuando el abogado no se salga del guión. En ocasiones, y aunque su experiencia en juicios es más dilatada que la nuestra, se dejan llevar por la emoción del momento, y es posible que os acaben haciendo una consulta algo diferente a las pactadas. En ese caso y con total naturalidad, se las responderéis sin mayor problema. No os preocupéis si la consulta os parece absurda y recordad que es altamente probable que seáis los más técnicos de la sala, por lo que esforzaros en que se os entienda. Yo siempre digo que ir a un juicio, es como tratar de explicar algo técnico a mis padres. Si ellos lo entienden, el juez y los abogados lo entenderán.

Posteriormente, el juez permitirá a la parte contraria realizar las cuestiones que estimen oportunas, con el fin de rebatir el informe, detectar posibles errores de procedimiento, etc. No se debe entrar en enfrentamientos, y siempre debemos demostrar total neutralidad. En el caso de que la rueda de preguntas se vaya por los cerros de Úbeda, conviene recordar al abogado con total educación, que nos remitiremos al informe y a lo presentado en él.

Cómo antes os comentaba será habitual tener que traducir cosas que pueden parecer obvias, como por ejemplo, qué es un hash, un clonado bit a bit, o una dirección IP. Por lo que no os canséis de repetirlo, hasta que se entienda claramente por todas las partes.

A veces, el abogado de la parte contraria, si es poco técnico y no cuenta con buenos argumentos, os hará la misma pregunta una y otra vez, cambiando el inicio de la cuestión por el final, tratando de darle la vuelta, para ver si os pilla, y respondéis algo diferente. Aquí la picardía jugará a nuestro favor, y respondiendole un simple "señor abogado, ¿no se da cuenta que me está consultando lo mismo de nuevo, ¿es que no lo entiende?" el juez se percatará y es probable que finalice la rueda de consultas.

Finalizado el proceso, nos pedirán abandonar la sala. A veces podremos permanecer en ella como público, pero no podremos interactuar de ninguna manera.

Para concluir recordaros que debemos cobrar nuestra ratificación en un juicio. Es un trabajo, y como tal, debe cobrarse. Habitualmente la tarifa suele ser de unos 250€ por la media jornada que estaremos en el juzgado. Recordad que aunque la ratificación apenas durará 15 minutos, debemos estar preparados desde primera hora, porque desconocemos a que hora nos hará entrar el juez. Ese tiempo es perdido, y será media jornada que no estaremos "produciendo" en nuestras empresas, por lo que deberá cobrarse como media jornada de consultoría habitual.

Espero que os haya gustado esta pequeña cadena. Si tenéis alguna consulta o alguna propuesta de post futuro, no dudéis en dejarnos un comentario, o escribirnos un email :)

Saludos!

Leer más
    email this       edit

2019/06/25

Experiencias de un perito forense en un juicio civil. Parte 1

Por el 2019/06/25 con 0 comentarios
Buenas a todos, ya son varios los años que llevo ejerciendo como perito forense, en su mayoría, en juicios civiles. Muchos de ellos, bastante repetitivos, por ratificaciones de correos electrónicos o mensajes vía WhatsApp referentes a amenazas, robos de información, posibles estafas, etc. . Con el paso de los años te empiezas a acostumbrar, y los nervios previos a la vista oral desaparecen. Entras a la sala como si fueras un letrado más, con la experiencia que el bagaje va construyendo año tras año. Sin embargo, no siempre fue así, y los primeros juicios tuvieron sus dificultadas. Siempre hay una primera vez para todo y para todos ¿verdad? Por ello, me decidí a prepararos estos posts.

Partiré de la base de que os ha contactado un cliente por un problema que tuviese y en el que requirió de vuestros servicios para realizar un análisis forense pericial que podría acabar en una ratificación en un juicio civil o penal.

El proceso fue bien, obtuvisteis la información deseada, garantizando como es obvio la debida cadena de custodia, preservando la información a través de procedimientos forenses y redactando el debido informe siguiendo los estándares de calidad esperados. Este informe tendrá una potente carga técnica, pero sin embargo, ni los abogados de ninguna de las partes, ni el juez (o al menos la mayoría de los jueces), van a tener el conocimiento suficiente como para comprender el 90% del contenido del informe, y básicamente se limitarán a leer las conclusiones, y a escucharos durante el juicio. Esto no es bueno, ni es malo, es un hecho. El hecho de que nosotros actuamos como peritos técnicos y nuestra misión no solamente es dar fe de un hecho acontecido, sino también, "de traducir" lo ocurrido para que el juez pueda entenderlo sin ninguna duda, y unir nuestra prueba al resto de elementos del juicio, para así poder construir la historia que responderá las cuestiones planteadas al inicio del proceso judicial.

Aún así, y aunque sea difícil para nosotros, tenemos que tratar de transmitir todas nuestras averiguaciones en un lenguaje entendible. Para que veáis algún ejemplo, he tenido juicios en los que me he tenido que trasladar de Madrid a distintos puntos de España... para entrar a la sala del juzgado solamente durante 5 minutos y explicar que es un hash, que es un clonado bit a bit o que es una base de datos Oracle. No esperéis un nivel mayor en el juicio. Si conseguís redactar informes muy claros, es posible que os ahorréis ciertos paseos para hacer ratificaciones "relativamente absurdas".

Sobre cómo redactar informes os hablaré otro día, pero al menos debería tener una estructura muy similar a la siguiente, ya que será lo que el juez esperará encontrarse en el documento:
  • Antecedentes
  • Evidencias
  • Análisis y tratamiento
  • Resultados y conclusiones
  • Anexos

Previo al juicio, es recomendable que os reunáis con el abogado, para determinar la estrategia a seguir durante el juicio. No olvidéis que sois un ente neutral, y que no podéis faltar en ningún momento a la verdad, pero actuáis como peritos de parte, y lógicamente, el interés común es que vuestro cliente lleve la razón. Pero insisto, tenéis que permanecer siempre de lado, sin denotar un interés en que una de las partes "gane", y simplemente, confirmando hechos mediante pruebas científicas irrefutables.

Mañana continuaremos hablando del día del juicio, hasta entonces, si tenéis alguna consulta no dudéis en dejármelas escritas en el apartado destinado a los comentarios, vía mensaje privado o correo electrónico.

Saludos!

Leer más
    email this       edit

2019/06/24

Bypass de SmartScreen en Windows 10

Por el 2019/06/24 con 0 comentarios
SmartScreen es una herramienta de Windows que ayuda en la protección para aquellos usuarios que visitan sitios que han sido denunciados como sitios de phishing o sitios que contienen malware, además de una protección contra los archivos descargados que se consideran potencialmente malintencionados.


Img 1 Alerta de SmartScreen (imagen obtenida de howtogeek.com)


Esta herramienta determina que un sitio es potencialmente malintencionado mediante el análisis de las páginas web que el usuario visita con el fin de buscar indicios de comportamientos sospechoso, si los encuentra esta herramienta muestra una advertencia de precaución al usuario. 

Además, SmartScreen determina si una aplicación que ha sido descargada o un instalador de una aplicación, es potencialmente malicioso mediante la comprobación de una lista de sitios de software malintencionados que han sido denunciados, y de programas que se conocen que no son seguros. Si esta herramienta encuentra algún tipo de coincidencia mostrara una advertencia para indicarle al usuario que la aplicación descargada o que desea instalar es malintencionada. 

Se ha descubierto que muestra la alerta al usuario solamente cuando se desea instalar un archivo malintencionado de forma gráfica. El bypass es muy sencillo y consiste en ejecutar el instalador o la aplicación desde el cmd o desde PowerShell, con esto se consigue saltar la comprobación de SmartScreen sin mostrar ningún tipo de alerta. 

Ejemplo:

Para este ejemplo vamos a utilizar una imagen de Flu Project que tiene un formato.jpeg


Img 2 Imagen de Flu Project


Img 3 Archivo de la foto en formato .jpeg

Cambiamos el formato de la imagen de .jpeg a .exe, para que el sistema lo reconozca como un ejecutable.


Img 4 Archivo de la foto en formato .exe

Cuando tratamos de ejecutar el archivo test.exe, Windows Defender SmartScreen envía una alerta de que se está intentado iniciar una aplicación que no ha sido reconocida y ejecutar la misma podría suponer un riesgo.


Img 5 Alerta de SmartScreen

Para la prueba, abrimos la consola de comandos, y nos dirigimos hacia el directorio donde se encuentra el archivo test.exe y ejecutamos este. 


Img 6 Ejecución del archivo test.exe desde cmd

Como se puede apreciar en la Img 7, el archivo ha sido ejecutado con éxito. Nos muestra un mensaje de error de aplicación no soportada, porque no es un programa, sino una imagen que la hemos convertido en un ejecutable para esta prueba. Con este bypass se podría ejecutar cualquier aplicación “bypasseando” SmartScreen.


Img 7 Ejecución exitosa de test.exe

Artículo cortesía de Christian Flores
Consultor de ciberseguridad
Leer más
    email this       edit

2019/06/21

HTTP GET Responses by Rapid7 Project Sonar

Por el 2019/06/21 con 0 comentarios
Buenas a todos, en el post de hoy quería compartiros varios terabytes de información relacionada con  las respuestas a millones de solicitudes HTTP/1.1 GET, realizadas por el Project Sonar de Rapid7, sobre una gran variedad de direcciones IPv4 públicas.


Los resultados pueden ser descargados gratuitamente por bloques, y cuentan con el siguiente formato json:
{
  "$id": "https://opendata.rapid7.com/sonar.http/",
  "type": "object",
  "definitions": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false,
  "properties": {
    "data": {
      "$id": "/properties/data",
      "type": "string",
      "description": "The base64 encoded HTTP response"
    },
    "host": {
      "$id": "/properties/host",
      "type": "string",
      "description": "The name or IP of the HTTP endpoint"
    },
    "ip": {
      "$id": "/properties/ip",
      "type": "string",
      "description": "The IP of the HTTP endpoint"
    },
    "path": {
      "$id": "/properties/path",
      "type": "string",
      "description": "The HTTP path requested"
    },
    "port": {
      "$id": "/properties/port",
      "type": "integer",
      "description": "The HTTP port of the HTTP endpoint"
    },
    "vhost": {
      "$id": "/properties/vhost",
      "type": "string",
      "description": "The HTTP 1.1 Host header used to specify a virtualhost"
    }
  }
}

En el siguiente enlace encontraréis todo el detalle sobre el proyecto y los links para descargar todos los resultados consolidados:


Para acceder a todos los contenidos tendréis que registraros, pero es gratuito. A continuación os comparto un ejemplo de los resultados obtenidos:




Un proyecto muy interesante para alimentar vuestro lagos de datos de activos expuestos, y construiros vuestro propio Shodan, entre otros cientos de utilidades que seguro que se os ocurrirán.

Saludos!
Leer más
    email this       edit

2019/06/20

Nueva vulnerabilidad en librería criptográfica de Microsoft permite DoS a cualquier Windows 8 o superior.


El investigador de seguridad del proyecto Google Zero, Tavis Ormandi, ha descubierto un nuevo fallo de seguridad en la librería criptográfica principal de Microsoft, que afecta a cualquier versión de Windows 8 o superior y Windows Server, permitiendo una denegación de servicios (DoS).




Anuncio del fallo en el Twitter de Tavis Ormandy


El fallo de seguridad se encuentra en la librería SymCrypt, que en Windows 8, se convirtió en la librería criptográfica principal para los algoritmos simétricos. Posteriormente, en 2015, empezaron los trabajos para agregar algoritmos asimétricos a esta. Desde Windows 10 versión 1703, SymCrypt es la librería criptográfica principal para todos los algoritmos en Windows.

Existe un error en las rutinas aritméticas de precisión múltiple de SymCrypt, que causa un bucle infinito de operaciones al momento de calcular el inverso modular en patrones de bits específicos con bcryptprimitives!SymCryptFdefModInvGeneric.

Tavis Ormandy ha construido un certificado X.509 que dispara el fallo. El investigador ha descubierto que incrustando este certificado en un mensaje S/MIME, una firma Authenticode, una conexión schannel hará una Denegación de Servicio a cualquier servidor Windows (ejemplo, ipsec, Internet Information Services -IIS-, Exchange, etc.), pudiendo requerir en algunos casos el reinicio del sistema. Existe mucha cantidad de software que procesa contenido no confiable (como los antivirus), llaman a estas rutinas en datos no confiables, lo que causa un punto muerto y un posterior bloqueo. El certificado puede ser descargado desde el siguiente enlace


Ejecución del certificado creado por Tavis Ormandy


Ejecución múltiples veces del certificado creado por Tavis Ormandy

Tavis Ormandi ha dicho que ha esperado 91 días desde el comunicado del fallo para hacerlo público, y lo considera de severidad baja. Microsoft ha comunicado que el parche para el fallo será publicado el próximo 9 de julio en los parches de seguridad del mes de Julio. Por lo tanto, todos los equipos serán vulnerables hasta dicha fecha.
Leer más
    email this       edit

2019/06/19

PhishStats, monitorizando phishings en tiempo real

Por el 2019/06/19 con 0 comentarios
Buenas a todos, los que alguna vez hayáis trabajado en temas de detección de phishings, seguro que conocéis aplicaciones como Phishtank u Openphish, donde se recopilan muchos de los phishing que cada día son identificados en Internet.

El otro día, mi amigo Serafín me compartía otro sitio web llamado PhishStats, que aúna en un único portal los datos volcados de numerosas fuentes de phishings, entre las que se encuentran las anteriores. Este portal además presenta una serie de indicadores y un buscador, lo que lo convierte en una opción muy interesante y a coste 0 para aquellas compañías que prestan este tipo de servicios.

Cuenta además con un bot en Telegram y otro en Twitter, que publica los últimos sitios web que han sido suplantados.

Podéis acceder a PhishStats desde su sitio web oficial:


A continuación, os compartimos algunas capturas de pantalla, para que podáis ver el tipo de información presentada. En ella se pueden ver por ejemplo algunos phishings de ING, del Bank of America y de Microsoft, entre otros:

.






Leer más
    email this       edit

2019/06/18

Forense: Recuperando el historial de actividades de Windows 10

Por el 2019/06/18 con 0 comentarios
Durante el segundo trimestre del año pasado, Windows 10 incorporó una nueva funcionalidad denominada timeline, a través de la que se comenzaron a registrar las acciones realizadas por el usuario sobre el sistema. Sin entrar en aspectos de privacidad, desde el punto de vista forense es una utilidad muy interesante, ya que junto con otros logs del sistema operativo, nos va a facilitar en gran medida las labores forenses para reconstruir líneas temporales, y tratar de determinar, por ejemplo, el origen de la intrusión en una infección por ransomware.

La información registrada es almacenada en la siguiente base de datos SQLite:
%APPDATA%\ConnectedDevicesPlatform\AAD.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\ActivitivitiesCache.db
Si la abrimos con una herramienta como SQLite Viewer, podremos ver una estructura de tablas como la siguiente:


Al recorrer las tablas, veremos muchos detalles como las aplicaciones que han sido utilizadas, los documentos que han sido manipulados, videojuegos a los que el usuario ha jugado, etc.

A continuación os muestro un ejemplo de la tabla "Activity" de mi archivo "ActivitivitiesCache.db", en el que figuran las aplicaciones que he utilizado. La parte oculta contiene los nombres de los documentos que he manipulado, y sus rutas a un sharepoint, en formato JSON:


Las fechas son almacenadas en el formato típico Unix, con fecha desde 1970.

Esta base de datos puede ser gestionada desde el Historial de actividad de Windows, donde podremos desactivarla, marcar/desmarcar el envío de este historial a Microsoft (recomendable por temas de privacidad), e incluso borrarlo en cualquier momento:


Saludos!
Leer más
    email this       edit

2019/06/17

Carbondate, identificando la fecha de lanzamiento de un sitio web

Por el 2019/06/17 con 0 comentarios
Buenas a todos, en el post de hoy quería compartiros un servicio online ofrecido por el Web Science and Digital Libraries Research Group de la Dominion University, desde el sitio web http://carbondate.cs.odu.edu. Este servicio permite realizar diferentes búsquedas en paralelo con el objetivo de predecir la fecha en la que fue lanzada una página web. 

El servicio Carbondate puede ser muy útil para ciertas investigaciones de Inteligencia, donde se hace necesario localizar cualquier tipo de detalle acerca del registro de un dominio, o el lanzamiento de una web, entre otras problemáticas a investigar.

A continuación os mostramos un par de ejemplos sobre los sitios web de flu-project.com y zerolynx.com:



Cómo veis, en ambos casos ha acertado con un margen de error de menos de 2 meses. Una de las fuentes que consulta es archive.org, herramienta mítica en el mundo OSINT para identificar snapshots de un sitio web a lo largo de su historia, motivo de que su grado de acierto sea tan bueno.

Saludos!

Leer más
    email this       edit

2019/06/14

DSInternals PowerShell Module

Por el 2019/06/14 con 0 comentarios
Buenas a todos, en el post de hoy quería hablaros de algunas de las interesantes funcionalidades del módulo DSInternals de PowerShell, el cual permite sacarle mucho partido a nivel de ciberseguridad al Active Directory jugando con el archivo ntds.dit (sin conexión).

Nuestro objetivo principal siempre suele ser extraer las credenciales del dominio, pero en muchas ocasiones también es útil sacar otros datos, como el historial de credenciales de un usuario, por si las comparte con otro directorio activo de la organización donde no se roten regularmente o incluso si accedemos a otros servicios de la organización (correo, Jira, Jenkins, FTPs, etc.) donde pueda estar haciendo uso de esas credenciales antiguas.

Tenéis más detalles sobre el módulo en el siguiente sitio web:


Os recomiendo echar un vistazo al readme, donde figuran todos los posibles parámetros que podréis utilizar:


Para instalarlo, solamente tendréis que ejecutar la siguiente instrucción:

  • Install-Module -Name DSInternals -Force


Con la siguiente instrucción podremos ver un gran detalle sobre las cuentas del dominio:

  • Get-ADDBAccount -All -DBPath 'ntds.dit' -Bootkey 5XXXXXXXXXXXXXXXXXXXXa

A continuación, os comparto un ejemplo de la salida por consola que arroja, con detalle sobre el último logon, grupos, dominio, distinguishedname, hashes de todo su historial de credenciales, etc.



Otra opción, aplicando algunos filtros más, es exportarnos a un fichero los usuarios y hashes de todo el dominio:
  • Get-ADDBAccount -All -DBPath 'ntds.dit' -Bootkey 5XXXXXXXXXXXXXXXXXXXXa | Format-Custom -View HashcatNT | Out-File hashes.txt -Encoding ASCII



Os recomiendo analizarlo en detalle, porque es un módulo muy interesante para los procesos de pentesting internos.

Saludos!
Leer más
    email this       edit

2019/06/13

Nueva vulnerabilidad de ejecución remota de comandos que afecta a más de 4 millones de servidores

Por el 2019/06/13 con 0 comentarios
La empresa estadounidense Qualys, ha descubierto una vulnerabilidad de ejecución remota de comandos (RCE) en Exim, que podría afectar potencialmente a cerca de 4 millones de servidores de correo electrónico en el mundo. 

Exim es un agente de transferencia de correo (MTA) utilizado en sistemas operativos basados en Unix. Para más información podéis consultar el sitio web de Exim: https://www.exim.org/

Según datos obtenidos en Shodan, existen 3,963,805 millones de servidores de correo electrónico potencialmente vulnerables a este fallo. Lo que significa que, cerca del 73.15% de todos los servidores de correo que utilizan Exim (5,418,810), son potencialmente vulnerables.

Los investigadores de esta empresa han descubierto que el fallo permite ejecutar execv() como root de forma instantánea, al enviar un email a una dirección de correo especial, de forma local. Para la explotación en remoto con la configuración por defecto, requiere que se mantenga una conexión con el servidor vulnerable durante 7 días. 

Los investigadores explican que debido a la complejidad del código de Exim, no pueden garantizar que sea el único método de explotación, y que podrían existir métodos más veloces. 

Las versiones de Exim afectadas van desde la versión 4.87 hasta la versión 4.91. El fallo ha sido categorizado en CVSS 3.0 como crítica (9.8). No existe una PoC pública hasta el momento, pero podría ser cuestión de tiempo.

¡Saludos!

Artículo cortesía de Christian Flores
Consultor de ciberseguridad
Leer más
    email this       edit

2019/06/12

0-Day en macOS permite un bypass en la protección contra “clics sintéticos”

Por el 2019/06/12 con 0 comentarios
Un 0-day para macOS ha sido publicado hace pocos días, en el que se muestra como “bypassear” la protección de Apple contra los “clics sintéticos”. Para entrar en contexto de este 0-Day, los clics sintéticos son clics del mouse programados para que sean ejecutados por un software de forma invisible para el usuario, con el objetivo de suplantar clics reales de un usuario. 


Img 1 Acciones que pueden realizarse con clics sintéticos 
(Imagen obtenida de techcrunch.com)

Recientemente Apple agregó una nueva característica de seguridad para prevenir que aplicaciones o malware, puedan acceder a la información de los usuarios o realizar cualquier acción malintencionada -acceder a la ubicación del usuario, contactos, acceso a la terminal, ejecutar scripts, acceder a la cámara y el micrófono, mensajes, preferencias, entre otros (Img 1)- mediante clics sintéticos. Cada vez que se intente ejecutar un clic sintético, se mostrara una ventana en la que el usuario deberá “permitir” la ejecución de esta acción, para prevenir que los clics sintéticos puedan ejecutarse de forma arbitraria.

El investigador de seguridad Patrick Wardle presentó el 2 de junio del presente año en Mónaco en la conferencia Objetive by the sea, un 0-day para “bypassear” este control de Apple. 

MacOS permite mediante una lista blanca que ciertas aplicaciones verificadas por Apple puedan ejecutar estos clics sintéticos. Wardle ha descubierto que esta protección de macOS solamente valida que la aplicación esté firmada por quien dice ser, pero no realiza ningún tipo de comprobación sobre la integridad de esta, como validar que la aplicación no ha sido manipulada o si es una versión modificada de la misma. Con este fallo, se podría utilizar una versión manipulada de la aplicación para ejecutar clics sintéticos y no generaría ningún tipo de alerta al usuario.


Img 2 Modelo de ejecución de clics sintéticos mediante VLC
(Imagen obtenida de thehackernews.com)

Para la demostración del fallo, Wardle ha creado un nuevo plugin malicioso para VLC, cargándolo en el programa legitimo y consiguiendo que se generen clics sintéticos para realizar cualquier acción maliciosa, como acceder a la ubicación del usuario, webcam o el micrófono. 

No es la primera vez que Wardle presenta este tipo de fallo de seguridad en macOS, el anterior año descubrió una vulnerabilidad para acceder a las llaves privadas, passwords, auth tokens, app data, etc., almacenados en el llavero de MacOS mediante clics sintéticos

Artículo cortesía de Christian Flores
Consultor de ciberseguridad
Leer más
    email this       edit

2019/06/11

Teleco in a nutshell v2.0: Ondas

¿Qué es una onda?, dices mientras clavas...


Es broma :)

Una onda es una perturbación oscilatoria que se propaga por un medio. Olas, el sonido, terremotos... todo son ondas. Sin embargo, aquí nos centraremos en un tipo específico: las ondas electromagnéticas. Estas ondas se propagan a través del campo electromagnético, que existe en todos los puntos del universo. Es por esto que podemos tener comunicación con elementos en el espacio profundo. De hecho, y como veremos en un post más adelante, la transmisión por el vacío apenas tiene pérdidas, ya que no hay nada que "moleste" a nuestra señal.

Las ondas electromagnéticas se propagan en las tres direcciones del espacio, lo cual hace que sean muy complicadas de representar gráficamente. Por esto, normalmente lo que vemos son representaciones simplificadas en forma de sinusoide (senos o cosenos, como los veíamos en matemáticas), que pueden servir para cualquier tipo de onda transversal, es decir aquellas cuya dirección de propagación es perpendicular a la de oscilación (por ejemplo, una ola es tranversal pero el sonido no lo es):

Onda
En el diagrama anterior vemos cómo es una onda en función del tiempo (azul) y el espacio (rojo). Lo dividimos así para explicaros dos conceptos relacionados: la longitud de onda (λ) y el periodo (T). La longitud de onda es la distancia entre dos puntos iguales de una onda, es decir, si elegimos un punto de la onda (por ejemplo un máximo como en el diagrama); la longitud de onda será la distancia que recorre la onda hasta obtener el mismo punto (otro máximo). Por otro lado, el periodo es el tiempo que tarda una onda en realizar una oscilación, es decir, lo que tarda la onda en avanzar una longitud de onda. Normalmente estamos más acostumbrados a oir hablar de frecuencia (f), que simplemente es la inversa del periodo (f=1/T), es decir, el número de oscilaciones que hace la onda en un segundo, y se mide en Hercios (Hz).

Si alguno os acordáis de las clases de física del instituto, nos contaron que el espacio y el tiempo se relacionaban a través de la velocidad, y ¿cuál es la velocidad de una onda electromagnética? Aproximadamente la de la luz (c), según el medio. Por tanto, podemos considerar que λ=c*T.

Otro parámetro que vemos en el diagrama es la amplitud (A), que simplemente es la "cantidad" de perturbación de la onda, o la distancia máxima que se separa del punto nulo. Podemos considerar que la amplitud es la "fuerza" de la onda, pero normalmente estamos más acostumbtrados a relacionar esto con la potencia, que es el cuadrado de la amplitud (P=A^2). Supongo que no os sorprenderé si os digo que la potencia se mide en vatios (W).

Como hemos dicho, el diagrama anterior es una simplificación brutal de lo que es una onda. De hecho, si esa onda se introdujese en un altavoz (que se puede considerar un conversor de señal electromagnética a señal acústica) lo que oiríamos sería un pitido, siempre y cuando la frecuencia de esa onda estuviese dentro del rango de audición humano (de 20Hz a 20kHz). En la vida real enviamos informaciones bastante más complejas que un pitido (saludos, señor Morse), por lo que hacemos es enviar ondas mucho más complejas. Por ejemplo, si habéis visto alguna vez la representación de una onda de sonido, es una señal mucho más compleja (a partir de ahora hablaremos mejor de señales que de ondas, considerando que una señal es una onda que transmite información).
Ejemplo de señal de sonido [fuente: Wikimedia Commons]
Lo primero que tenemos que tener en cuenta es que normalmente no vemos la onda, sino su envolvente, que es la variación de la amplitud máxima de la onda a lo largo del tiempo. Lo segundo es que para obtener señales así de complejas lo que se hace es sumar una enorme cantidad de señales simples de distintas frecuencias y amplitudes que van variando a lo largo del tiempo. Esto es lo que se denomina interferencia o superposición entre dos ondas, concepto que iremos viendo en más detalle en futuros posts. 
Interferencia entre dos ondas [Fuente: Sistemas en Comunicaciones]
Os invitamos a buscar en Google lo siguiente, para que veáis el concepto básico:
  • sin(x)     //Veremos una señal sinusoidal
  • sin(2x)     //Veremos la misma señal, pero con el doble de frecuencia (mitad de periodo)
  • sin(x)+sin(2x)     //Veremos una señal algo más compleja, interferencia de las dos anteriores
  • 10sin(x)+sin(10x)     //Veremos una señal muy compleja, pero donde se pueden apreciar ambas por separado: la sinusoide amplia es como la original y la pequeña tiene un periodo 10 veces menor (tened en cuenta que los máximos de la pequeña no están en el mismo punto debido al efecto de la sinusoide grande).
Pues bien, si has llegado hasta aquí (enhorabuena), ya conoces los coceptos básicos de las ondas, y vamos a cerrar el post con un concepto más avanzado, que es imprescindible.

Para este vais a tener que hacer un pequeño acto de fe... Hay una herramienta matemática llamada serie de Fourier que permite descomponer cualquier señal en una suma de sinusoides con distintas frecuencias y amplitudes. No vamos a entrar en detalles matemáticos (sobre todo porque queremos que nos sigáis leyendo), simplemente tened en cuenta que según la forma de la señal original, se necesitarán más o menos sinusoides "puras" para su descomposición. Este concepto nos abre un mundo nuevo para trabajar con las ondas en el dominio de la frecuencia... Pero eso ya para otro día :)

Serie de Fourier. Cada vez se suma una sinusoide más, hasta obtener señal original [Fuente: Wikimedia Commons]
¡Gracias por leernos y nos vemos en el siguiente post!


Si os habéis quedado con ganas de más:
Leer más
    email this       edit