Novedades de OWASP Top 10 2021 (III)

Tras comentar en el primer post de la serie algunos detalles sobre la nueva versión de OWASP Top 10, y en el segundo la nueva categoría A08, fallos de integridad del software y de los datos, en este tercer y último post vamos a analizar la categoría A10: Falsificación de solicitudes del lado del servidor (Server-Side Request Forgery, SSRF), así como las posibilidades de mitigación de este tipo de vulnerabilidades.

A10: Falsificación de solicitudes del lado del servidor (Server-Side Request Forgery, SSRF)

Se está en riesgo de sufrir ataques SSRF cuando una aplicación permite obtener un recurso remoto sin validar la URL que proporciona el usuario. Este tipo de ataque puede evitar la protección que brinda el cortafuegos, la VPN o los controles de acceso.

Por ejemplo, cuando una aplicación permite especificar una URL a la que será redirigida la petición inicial, si no filtramos la URL a la que se redireccionará, el atacante podría aprovechar para indicar una dirección cualquiera.

[Read more…]

Cazando con Inteligencia Artificial: Detección de dominios maliciosos (II)

Esta entrada y la serie en su conjunto ha sido elaborada conjuntamente con Ana Isabel Prieto, Sergio Villanueva y Luis Búrdalo.


En el artículo anterior se comentó la dificultad ante la que los analistas de Threat Hunting se enfrentan como consecuencia de la alta cantidad de dominios que registra diariamente una organización. Esto dificulta el análisis y la localización de dominios potencialmente maliciosos, que pueden pasar desapercibido entre tanto tráfico. Por esta razón, en un intento de facilitar la tarea del analista, se propone la utilización de técnicas alternativas basadas en Machine Learning. Antes de presentar las diferentes pruebas realizadas, el artículo introduce los algoritmos que se van a utilizar para la detección de anomalías en los dominios.

Para empezar, es necesario comentar que tener una base de datos grande y variada es fundamental para que un modelo sea capaz de detectar dominios potencialmente maliciosos de forma fiable, ya que sus parámetros van a ser ajustados en un entorno que debe ser similar al real.

Sin embargo, existe una gran dificultad a la hora de identificar patrones en datos de alta dimensión, y más aún a la hora de representar dichos datos gráficamente y de expresarlos de forma que se destaquen sus similitudes y diferencias. Es aquí donde surge la necesidad de utilizar una herramienta potente de análisis de datos como el PCA (Principal Components Analysis).

[Read more…]

Offensive Golang (II)

Una vez vistas en el artículo anterior las ventajas y limitaciones que existen en el desarrollo de artefactos ofensivos en Golang, en esta segunda parte vamos a explicar más detalladamente de qué trata el repositorio OffensiveGolang, y qué podemos encontrar en él. Vamos allá.

OffensiveGolang cuenta principalmente con cinco módulos que tratan de lo siguiente:

  • Encryption: Una forma sencilla de evitar que un análisis estático detecte un payload que se desea ejecutar, es cifrar el shellcode que contiene el artefacto. Este módulo permite utilizar el algoritmo de cifrado simétrico AES mediante una clave de 32 bytes generada aleatoriamente. Además, cuenta con los métodos de descifrado correspondiente para incluirlos en los binarios generados y poder ejecutar el payload.

A continuación se muestra un ejemplo básico del módulo encryption, que devolverá un fichero denominado data.txt con el shellcode cifrado y la clave generada aleatoriamente en la salida estándar de la terminal.

package main

import “github.com/MrTuxx/OffensiveGolang/pkg/encryption”

func main() {
      encryption.GetEncryption(“<SHELLCODE>”)
}
[Read more…]

Offensive Golang (I)

Offensive Golang

Dentro de la seguridad Ofensiva en general, así como en el desarrollo de malware en particular, se requiere salirse de lo convencional para explorar nuevas ideas o herramientas que puedan permitir lograr los objetivos.

Un buen reflejo de este pensamiento podría ser el uso del lenguaje de programación menos común Go (Golang) en el desarrollo de malware. Golang es un lenguaje de programación que ha sido desarrollado por Google y tiene más de una década de antigüedad, pero desde hace unos años se han identificado diferentes ransomwares y artefactos que intentan aprovecharse de las ventajas que posee este lenguaje. Esto ha propiciado una mayor popularidad de Golang en este campo y han aparecido nuevas herramientas y técnicas.

En este artículo se pretende explicar los diferentes componentes y funcionalidades básicas que componen el repositorio OffensiveGolang que he desarrollado, tomando como inspiración la charla en la DEFCON 29 de Ben Kurtz y el repositorio de Michael Long.

Pero antes de comenzar se debe resolver la pregunta principal, ¿Por qué Golang?:

[Read more…]

Cazando con Inteligencia Artificial: Detección de dominios maliciosos (I)

Esta entrada y la serie en su conjunto ha sido elaborada conjuntamente con Ana Isabel Prieto, Sergio Villanueva y Luis Búrdalo.


Internet aporta un mundo de posibilidades para el desarrollo personal y la realización de muchas de las actividades diarias, siendo una pieza indispensable en la sociedad actual. En esta red existen cientos de millones de dominios a los que acceder, aunque por desgracia, no todos ellos son seguros. Los dominios maliciosos son aquellos utilizados por los cibercriminales con el fin de realizar conexiones con servidores command and control, robar credenciales a través de campañas de phishing o distribuir malware.

En muchas ocasiones, estos dominios comparten entre sí ciertas características léxicas que a simple vista pueden llamar la atención. Por ejemplo, en campañas de phishing son relativamente comunes los dominios con TLD xyz, top, space, info, email, entre otros. De igual manera, los atacantes utilizan técnicas DGA (Domain Generation Algorithm) para crear dominios aleatorios con los que exfiltrar información como, por ejemplo, istgmxdejdnxuyla[.]ru. Otras propiedades llamativas pueden ser un exceso de guiones, dominios de varios niveles o dominios que intentan suplantar organizaciones legítimas como sería el caso de amazon.ytjksb[.]com y amazon.getfreegiveaway[.]xyz.

Con la digitalización en auge, las organizaciones navegan a miles de dominios diferentes, lo cual dificulta la detección de dominios maliciosos entre tanto tráfico legítimo. En una organización de tamaño medio, se registra a diario tráfico de entre 3000 y 5000 dominios. Este volumen hace inviable llevar a cabo su análisis de manera manual. Tradicionalmente, parte de este proceso de detección se automatiza mediante reglas de búsqueda de patrones, por ejemplo, reglas para hallar dominios con TLD (Top Level Domain) utilizados en campañas de phishing, que contengan el nombre de grandes empresas y no sean los legítimos o que tengan más de X caracteres.

[Read more…]

Ataques a Exchanges de Criptomonedas

Esta entrada ha sido elaborada conjuntamente con Álvaro Moreno.


Las criptomonedas han crecido tanto en los últimos años en volumen económico y relevancia que se han convertido en uno de los objetivos importantes de los ciberdelincuentes. Dado que los Exchange, plataformas donde los usuarios pueden comprar y vender estas criptomonedas, aglutinan un gran número de operaciones y usuarios de estos activos, han pasado a ser un objetivo importante para los cibercriminales, que buscar conseguir la mayor cantidad de dinero posible explotando las vulnerabilidades de las mismas.

En este artículo vamos a tratar sobre algunos de los ataques más recientes en estas plataformas de Exchange y se concluirá con una tabla sobre otros ataques importantes a exchanges de criptomonedas.

Crypto.com

El 17 de enero de 2022, la plataforma de Exchange Crypto.com descubrió que un pequeño número de usuarios estaba realizando retiradas no autorizadas de criptomonedas de sus cuentas por un valor de aproximadamente 4800 ETH y 440 BTC, más unos 66.200 dólares en otras monedas.

La respuesta por parte de la plataforma fue suspender las retiradas de cualquier “token” mientras se realizaba una tarea de investigación. Finalmente, ningún cliente de la plataforma sufrió pérdida de fondos, ya que los 483 usuarios afectados recibieron un reembolso completo.

[Read more…]

Novedades de OWASP Top 10 2021 (II)

Tras comentar en el anterior post de la serie algunos detalles sobre la nueva versión de OWASP Top 10, en esta segunda entrada vamos a profundizar en otra categoría introducida, la A08, fallos de integridad del software y de los datos.

A08: Fallos de integridad del software y de los datos

Esta nueva categoría introducida en la versión de 2021 hace referencia a la falta de verificación de integridad en procesos, como por ejemplo: actualizaciones de software, fuentes CDN (Content Delivery Network), flujos CI/CD, serialización de datos o codificación de estructuras de datos, entre otros.

En esta nueva categoría está incluida también la categoría de la anterior versión de 2017: A08:2017-Serialización insegura; dicha referencia puede ser útil para quien ya la conozca o para ampliar información consultando ediciones anteriores.

En general, se podría estar expuesto al riesgo si se usan componentes para los que no se dispone de una forma de verificar su integridad o esta no se lleva a cabo. Si se realiza la verificación, podríamos estar más seguros de que los componentes que estamos usando son los mismos que los que se tenían en el origen.

A continuación expondremos algunos ejemplos de como podría llevarse a cabo la verificación de integridad para los casos mencionados.

[Read more…]

Exploiting Leaked Handles for LPE

La herencia de manejadores de objetos entre procesos en un sistema Microsoft Windows puede constituir una buena fuente para la identificación de vulnerabilidades de elevación de privilegios locales (LPE). Tras introducir los conceptos básicos alrededor de este tipo de debilidades de seguridad, se presentará una herramienta capaz de identificarlos y explotarlos, aportando a Pentesters y Researchers un nuevo punto donde focalizar sus acciones de intrusión e investigación respectivamente, sigue leyendo!

Dentro de un sistema operativo Microsoft Windows los procesos son capaces de interactuar con objetos securizables del sistema como ficheros, PIPES, claves de registro, hilos o incluso otros procesos. Para ello y mediante el uso del WINAPI el proceso origen requiere al S.O. de un manejador (Handle en inglés)  para realizar una determinada acción sobre el objeto en cuestión.

Si se disponen de los permisos y/o privilegios adecuados el S.O. autoriza este acceso entregando el susodicho manejador del objeto al proceso que lo requiere. Desde ese momento es posible interactuar con el dentro de los límites de los permisos solicitados. Veamos el siguiente ejemplo donde un proceso origen haría uso de la función del WinApi OpenProcess para tratar de abrir un proceso destino (spoolsv.exe) con el objetivo de obtener información de forma remota de él (PROCESS_QUERY_INFORMATION).

[Read more…]

DICOMo se hackea: el estándar de los hospitales

¿Alguna vez has pensado que las radiografías eran simples imágenes en JPG? ¿Recuerdas haber escuchado el nombre de DICOM? En este artículo esperamos resolver todas tus dudas sobre el protocolo de envío de imágenes médicas y mostrarte sus implicaciones en la ciberseguridad.

Introducción rápida a DICOM

Figura 1. Logo de DICOM

Las imágenes médicas que se transmiten dentro de los hospitales, como radiografías o ecografías, no están en los formatos comunes de imagen, sino que están en formato DICOM (Digital Imaging and Communications in Medicine), sin embargo, sí que se pueden convertir a JPG o PNG.

Aunque a primera vista solo parezca un simple formato de imagen, DICOM es mucho más, es el estándar de transmisión, almacenamiento, recuperación, impresión, procesado y visualización de imágenes médicas y su información. Gracias a la implementación de este estándar, se revolucionó la tecnología en el ámbito sanitario, sustituyendo las radiografías físicas por radiografías digitales con todos los datos que estas implican. Hoy en día, DICOM está reconocido como el estándar ISO 12052.

[Read more…]

ATT&CK reconnaissance: críticas constructivas

Sin duda, MITRE ATT&CK se ha convertido en el marco de trabajo de referencia para la estructuración (y análisis, y detección…) de tácticas y técnicas ligadas a operaciones ofensivas. Este estándar de facto constituye un esfuerzo enorme que sirve de gran ayuda para todos los que trabajamos en seguridad, pero también tiene muchas opciones de mejora, al ser un trabajo en curso y permanente actualización. Algunas de las críticas a MITRE ATT&CK pasan por la estructura plana de técnicas asociadas a cada táctica, sin ningún tipo de estructura que facilite su análisis.

En particular, en el caso de la táctica Reconocimiento, en la que un actor hostil trata de obtener información sobre su objetivo a través de diferentes medios, MITRE ATT&CK proporciona igualmente una estructura plana para las técnicas, como en el resto de tácticas, pero en este caso mezcla conceptos que pueden inducir a error y que no constituirían técnicas en sí mismas. Veamos: MITRE ATT&CK define las siguientes técnicas para la táctica “Reconnaissance” (no detallamos al nivel de sub técnica):

IDTechnique
T1595Active Scanning
T1592Gather Victim Host Information
T1589Gather Victim Identity Information
T1590Gather Victim Network Information
T1591Gather Victim Org Information
T1598Phishing for Information
T1597Search Closed Sources
T1596Search Open Technical Databases
T1593Search Open Websites/Domains
T1594Search Victim-Owned Websites
[Read more…]