Mostrando entradas con la etiqueta CISO. Mostrar todas las entradas
Mostrando entradas con la etiqueta CISO. Mostrar todas las entradas

jueves, noviembre 17, 2022

I Congreso de Ciberseguridad ETJ: El valor de proteger la información, las personas y las empresas. Ciberseguridad en el C-Level.

El próximo 29 de Noviembre, en Madrid, tendrá lugar el I Congreso de Ciberseguridad ETJ: El valor de proteger la información, las personas y las empresa, cuya dirección académica dirige el Ilmo. Sr. Eloy Velasco Núñez, Magistrado de la Audiencia Nacional, y que ha preparado una formación intensa de alto nivel técnico, pero en el área, legal, de cumplimiento regulatorio, de gestión de seguridad, de administración. Es decir, pensada para los profesionales de Ciberseguridad que quieren llegar al C-Level.
Como sabéis, el C-Level, o el nivel de "Chief", cuenta con varios roles de ciberseguridad que tienen que ver con la parte de más de gestión de los planes directores de seguridad, como son los que llevan los CSO (Chief Security Officer) o CISO (Chief Information Security Officer), o con la parte regulatoria/legal, como son el CCO (Chief Compliance Officer), o desde la parte regulatoria de privacidad, como el CDPO (Chief Data Privacy Officer) o CPO (Chief Privaty Officer). Y por supuesto, para los CLO (Chief Legal Officer) que van a gestionar incidentes de ciberseguridad en las empresas.

Figura 2: Entrevista a Eloy Velasco sobre el

Estos roles son fundamentales en todas las medianas y grandes empresas, y el área de ciberseguridad tenemos mucha formación técnica, de investigación, de comunicad de ciberinteligencia, o directamente nuestras CONs de Hackers. Pero el número de eventos de formación desde el punto de vista más regulatorio y legal para profesionales que quieren ser C-Suite es menor. 

Para ello, el gran Eloy Velasco - que ha hecho esta pequeña entrevista, ha desarrollado esta jornada intensiva, donde entre otros está nuestro compañero Chief Compliance Officer de Telefónica, D. Manuel Crespo. Aquí tienes la agenda.
  • 09:45-10:00: Inauguración.
  • 10:00-10:45: Introducción a la Ciberseguridad. Infraestructuras, redes, sistemas y su aseguramiento. Certificación, Reglamento de resiliencia operativa digital (DORA). Gobernanza digital.
    • Ponente: D. Javier Puyol. Of Counsel de MA Abogados. Ex Magistrado. Ex Director de los Servicios Jurídicos del BBVA.
  • 10:45-11:30: Ley de Servicios Digitales: Intermediación, Alojamiento, Plataformas on line y Plataformas de gran tamaño (gatekeepers), Digital Services Act.
    • Ponente: Dª. Ofelia Tejerina Rodríguez. Abogada, Doctora en Derecho Constitucional por la UCM. Premio Mejor Jurista Digital ENATIC 2021. Presidenta Asociación de Internautas.
  • 11:30-11:50: Pausa-Café.
  • 12:00-12:45: Ciberdelincuencia Intrusiva. Pornografía Infantil, Child Grooming, Acoso, descubrimiento y revelación de secretos. Custodia documentos / violación de secretos para su venta; contra el orden público; incitación al odio y violencia contra grupos; delitos de protección a la infancia.
    • Ponente: D. Ángel Perrino. Fiscal de la Sección de Criminalidad informática de la Fiscalía de Madrid. www.etj.es
  • 12:45-13:45: Ciberdelincuencia Económica. Estafa, defraudación, hurto de tiempo, daños informáticos contra la propiedad intelectual e industrial, espionaje informático de secretos de empresa, falsedad, spoofing, falsedad de tarjetas, blanqueo de capitales.
  • 13:45-14:30: Cómo proteger a las empresas en el ámbito de la ciberseguridad. Consecuencias jurídicas.
    • Ponente: D. Francisco Pérez Bes. Ex Director del INCIBE - Instituto Nacional de Ciberseguridad. Abogado Derecho Digital en Ecix.
  • 16:30-17:15 Ciberseguridad y Protección de Datos. Retos para las Empresas.
    • Ponente: D. José Luis Piñar Mañas. Ex Director de la Agencia de Protección de datos. Catedrático de Derecho Administrativo de la Universidad San Pablo. Of Counsel de CMS Albiñana y Suárez de Lezo.
  • 17.15-18.00: Ciberseguridad: Cumplimiento Normativo en Grandes Empresas.
    • Ponente: D. Manuel Crespo de la Mata. Chief Compliance Officer de Telefónica
  • 18.00-18.45: Seguridad desde el diseño en la Inteligencia Artificial
    • Ponente: D. Ricard Martínez Martínez. Director de la Cátedra de Privacidad y Transformación Digital Microsoft-Univesitat de Valencia.
  • 18:45-19:30 Metaverso y Ciberseguridad.
    • Ponente: D. Moisés Barrio Andrés. Letrado del Consejo de Estado. Doctor en Derecho Digital. 
  • 19:30-20:10: Debate Final
Tienes el programa completo y detallado en la web del evento del I Congreso de Ciberseguridad ETJ: El valor de proteger la información, las personas y las empresas, donde verás que hay dos modalidades de inscripción con dos modelos de pago, y en el programa del evento que tienes en la web tienes cómo formalizar el pago.
  • Presencial: Precio inscripción: 240 €/persona. Aforo limitado por riguroso orden de inscripción. 
  • Conexión en streaming: Precio inscripción: 125 €/persona. Se indicarán oportunamente los datos de acceso.
  • Visualización en diferido en www.etj.es: Precio inscripción: 125 € /persona. (Los contenidos estarán disponibles a partir del 15 diciembre de 2022 y por un plazo de 40 días a partir de dicha fecha.)
En MyPublicInbox, en la sección de Convierte tus Tempos, puedes conseguir un código de descuento con el 10% de reducción (24€ o 12.5€) en el precio para cualquiera de las modalidades de inscripción, pero solo hay 20 códigos para los 20 primeros que los soliciten por Tempos.

Además, en esta jornada se entregarán Tempos de MyPublicInbox a todos los asistentes, habrá libros de 0xWord que se regalarán entre los asistentes, y una evaluación de capacidades de Singularity Hackers

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, abril 20, 2022

Docker: Lista de Materiales de Software o Software Bill Of Materials (SBOM)

Software Bill Of Materials (SBOM), es un inventario de los componentes de software y dependencias de un sistema, información de dichos componentes y la relación entre ellos. Este inventario se mantiene en un formato que es fácilmente legible por máquinas. Últimamente se han visto muchas vulnerabilidades relacionadas con la cadena de suministro de dependencias, una de las más sonadas el famoso log4shell entre otras. Cuando aparece una vulnerabilidad de este tipo, la pregunta es ¿Estamos afectado por dicha vulnerabilidad? ¿Alguno de nuestros sistemas usa la librería X? Y Docker nos puede ayudar.

Figura 1: Docker. Lista de Materiales de Software
o Software Bill Of Materials (SBOM)

La única forma de poder responder a este tipo de preguntas con cierta confianza es manteniendo el inventario, actualizado, de los componentes y dependencias que nuestros sistemas usan. Hay que tener en cuenta también que dicho inventario no sólo contenga los componentes y dependencias usadas directamente en nuestros sistemas, sino también las dependencias heredadas por dichos componentes y dependencias, también conocidas como dependencias transitivas.

Aunque SBOM no es algo nuevo, se puso muy de moda el año pasado cuando la Casa Blanca lanzó una orden ejecutiva en la requería que cualquier empresa que hiciera negocios con el gobierno norteamericano (venta de software, desarrollo o venta de licencias de uso) fuera capaz de proveer de esta lista de materiales con todos los componentes del software. De esta forma han sido muchas de las empresas que han incluido la posibilidad de la creación de SBOMs en sus herramientas, entre ellas Docker, dentro de su producto Docker Desktop

En la versión 4.7.0, justo después de la publicación de la segunda la edición de nuestro libro Docker: SecDevOps, Docker añadió un plugin por defecto que permite la generación de ficheros SBOM y de los que vamos a ver algunos ejemplos, que ya hemos visto un poco qué es SBOM y por qué es importante. 

Una cosa para recalcar, como se comentó antes, esto no es algo nuevo, y además tampoco es un estándar, por lo que existen varias iniciativas y formatos. Aunque no son los únicos que existen, los siguientes son los formatos que más fuerza o repercusión tienen actualmente:
Sin entrar en más detalles sobre dichos formatos, vamos a ver cómo se puede generar la lista de componentes y dependencias de una imagen de Docker.

Como comenté anteriormente, en la versión 4.7.0, Docker añadió una opción nueva (realmente un plugin) al comando *docker* llamada *sbom*. Este plugin usa por detrás un proyecto de Anchore llamado [syft](https://github.com/anchore/syft). Éste analiza las capas de la imagen y extrae la información sobre que comoponentes hay en cada capa. Si ejecutamos dicho comando obtendremos la siguiente salida:
    $ docker sbom

    Usage:  docker sbom [OPTIONS] COMMAND

    View the packaged-based Software Bill Of Materials (SBOM) for an image.

    EXPERIMENTAL: The flags and outputs of this command may change.
    Leave feedback on https://github.com/docker/sbom-cli-plugin.
    Examples:

    docker sbom alpine:latest                                    a summary of discovered packages
    docker sbom alpine:latest --format syft-json                 show all possible cataloging details
    docker sbom alpine:latest --output sbom.txt                  write report output to a file
    docker sbom alpine:latest --exclude /lib --exclude '**/*.db' ignore one or more paths/globs in the image

    Options:
    -D, --debug                 show debug logging
        --exclude stringArray   exclude paths from being scanned using a glob expression
        --format string         report output format, options=[syft-json cyclonedx-xml cyclonedx-json
                                github-0-json spdx-tag-value spdx-json table text] (default "table")
        --layers string         [experimental] selection of layers to catalog, options=[squashed all] (default
                                "squashed")
    -o, --output string         file to write the default report output to (default is STDOUT)
        --platform string       an optional platform specifier for container image sources (e.g. 'linux/arm64',
                                'linux/arm64/v8', 'arm64', 'linux')
        --quiet                 suppress all non-report output
    -v, --version               version for sbom

    Commands:
    version     Show Docker sbom version information

    Run 'docker sbom COMMAND --help' for more information on a command.
    an image argument is required
Dicho plugin permite la generación de ficheros SBOM en formato SPDX y CycloneDX. Veamos a continuación la salida por defecto que se produciría sobre una imagen Alpine:
    $ docker sbom alpine
    Syft v0.43.0
    ✔ Loaded image
    ✔ Parsed image
    ✔ Cataloged packages      [14 packages]

    NAME                    VERSION      TYPE
    alpine-baselayout       3.2.0-r16    apk
    alpine-keys             2.3-r1       apk
    apk-tools               2.12.7-r0    apk
    busybox                 1.33.1-r3    apk
    ca-certificates-bundle  20191127-r5  apk
    libc-utils              0.7.2-r3     apk
    libcrypto1.1            1.1.1l-r0    apk
    libretls                3.3.3p1-r2   apk
    libssl1.1               1.1.1l-r0    apk
    musl                    1.2.2-r3     apk
    musl-utils              1.2.2-r3     apk
    scanelf                 1.3.2-r0     apk
    ssl_client              1.33.1-r3    apk
    zlib                    1.2.11-r3    apk
En este caso se puede ver la lista de los componentes de la imagen *alpine:latest*. Ahora veamos el mismo ejemplo, pero en formato SPDX:
    $ docker sbom --format spdx alpine
    Syft v0.43.0
    ✔ Loaded image
    ✔ Parsed image
    ✔ Cataloged packages      [14 packages]

    SPDXVersion: SPDX-2.2
    DataLicense: CC0-1.0
    SPDXID: SPDXRef-DOCUMENT
    DocumentName: alpine-latest
    DocumentNamespace: https://anchore.com/syft/image/alpine-latest-b478dc4d-bced-406a-adf9-6f7b7ea6d231
    LicenseListVersion: 3.16
    Creator: Organization: Anchore, Inc
    Creator: Tool: syft-[not provided]
    Created: 2022-04-15T20:19:57Z

    ##### Package: alpine-baselayout

    PackageName: alpine-baselayout
    SPDXID: SPDXRef-Package-apk-alpine-baselayout-ed18f2a986e77aab
    PackageVersion: 3.2.0-r16
    PackageDownloadLocation: NOASSERTION
    FilesAnalyzed: false
    PackageLicenseConcluded: GPL-2.0-only
    PackageLicenseDeclared: GPL-2.0-only
    PackageCopyrightText: NOASSERTION
    ExternalRef: SECURITY cpe23Type cpe:2.3:a:alpine-baselayout:alpine-baselayout:3.2.0-r16:*:*:*:*:*:*:*
    ExternalRef: SECURITY cpe23Type cpe:2.3:a:alpine-baselayout:alpine_baselayout:3.2.0-r16:*:*:*:*:*:*:*
    ExternalRef: SECURITY cpe23Type cpe:2.3:a:alpine_baselayout:alpine-baselayout:3.2.0-r16:*:*:*:*:*:*:*
    ExternalRef: SECURITY cpe23Type cpe:2.3:a:alpine_baselayout:alpine_baselayout:3.2.0-r16:*:*:*:*:*:*:*
    ExternalRef: SECURITY cpe23Type cpe:2.3:a:alpine:alpine-baselayout:3.2.0-r16:*:*:*:*:*:*:*
    ExternalRef: SECURITY cpe23Type cpe:2.3:a:alpine:alpine_baselayout:3.2.0-r16:*:*:*:*:*:*:*
    ExternalRef: PACKAGE_MANAGER purl pkg:alpine/alpine-baselayout@3.2.0-r16?arch=x86_64&upstream=alpine-baselayout&distro=alpine-3.14.2

    ##### Package: alpine-keys
    ...
La salida es mucho más larga, pero a modo de ejemplo se puede ver uno de los componentes encontrados, con nombre, licencia, referencias externas, etcétera. También es posible generar la salida en formato *json*:
    $ docker sbom --format spdx-json alpine
    Syft v0.43.0
    ✔ Loaded image
    ✔ Parsed image
    ✔ Cataloged packages      [14 packages]

    {
        "SPDXID": "SPDXRef-DOCUMENT",
        "name": "alpine-latest",
        "spdxVersion": "SPDX-2.2",
        "creationInfo": {
        "created": "2022-04-15T21:15:23.057754Z",
        "creators": [
        "Organization: Anchore, Inc",
        "Tool: syft-[not provided]"
    ],
        "licenseListVersion": "3.16"
    },
        "dataLicense": "CC0-1.0",
        "documentNamespace": "https://anchore.com/syft/image/alpine-latest-2ea1fa9e-099e-4939-bdd8-d41fab29f1b0",
        "packages": [
        {
        "SPDXID": "SPDXRef-ed18f2a986e77aab",
    ...
Para ver la salida en formato CycloneDX:
    $ docker sbom --format cyclonedx alpine
    Syft v0.43.0
    ✔ Loaded image
    ✔ Parsed image
    ✔ Cataloged packages      [14 packages]

    [0000]  WARN unable to convert relationship from CycloneDX 1.3 JSON, dropping:
    {From:Pkg(name="musl" version="1.2.2-r3" type="apk" id="304c2239a7d1d6b7")
     To:Location<RealPath="/lib/ld-musl-x86_64.so.1" 

    ...

    <?xml version="1.0" encoding="UTF-8"?>
    <bom xmlns="http://cyclonedx.org/schema/bom/1.4"
           serialNumber="urn:uuid:faaf4f40-e332-4f0e-8acc-3fadcae62d25" version="1">
    <metadata>
        <timestamp>2022-04-15T17:17:00-04:00</timestamp>
        <tools>
        <tool>
            <vendor>anchore</vendor>
            <name>syft</name>
            <version>[not provided]</version>
        </tool>
        </tools>
        <component bom-ref="e33e1cadf7cfbd1e" type="container">
        <name>alpine:latest</name>
        <version>sha256:a2f19fdc3f78ddc201c5bb37e302fed8b3487695056215b5577113d3938196bf</version>
        </component>
    </metadata>
    <components>
        <component type="library">
        <publisher>Natanael Copa <ncopa@alpinelinux.org></publisher>
        <name>alpine-baselayout</name>
        <version>3.2.0-r16</version>
        <description>Alpine base dir structure and init scripts</description>
        <licenses>
            <license>
            <id>GPL-2.0-only</id>
            </license>
        </licenses>
        <cpe>cpe:2.3:a:alpine-baselayout:alpine-baselayout:3.2.0-r16:*:*:*:*:*:*:*</<pe>
        <purl>pkg:alpine/alpine-baselayout@3.2.0-r16?arch=x86_64&upstream=alpine-baselayout&distro=alpine-3.14.2</purl>
        <externalReferences>
            <reference type="distribution">
            <url>https://git.alpinelinux.org/cgit/aports/tree/main/alpine-baselayout</url>
            </reference>
        </externalReferences>
        <properties>
            <property name="syft:package:foundBy">apkdb-cataloger</property>
            <property name="syft:package:metadataType">ApkMetadata</property>
            <property name="syft:package:type">apk</property>
            <property name="syft:cpe23">cpe:2.3:a:alpine-baselayout:alpine_baselayout:3.2.0-r16:*:*:*:*:*:*:*</property>
            <property name="syft:cpe23">cpe:2.3:a:alpine_baselayout:alpine-baselayout:3.2.0-r16:*:*:*:*:*:*:*</property>
            <property name="syft:cpe23">cpe:2.3:a:alpine_baselayout:alpine_baselayout:3.2.0-r16:*:*:*:*:*:*:*</property>
            <property name="syft:cpe23">cpe:2.3:a:alpine:alpine-baselayout:3.2.0-r16:*:*:*:*:*:*:*</property>
            <property name="syft:cpe23">cpe:2.3:a:alpine:alpine_baselayout:3.2.0-r16:*:*:*:*:*:*:*</property>
            <property name="syft:location:0:layerID">sha256:e2eb06d8af8218cfec8210147357a68b7e13f7c485b991c288c2d01dc228bb68</property>
            <property name="syft:location:0:path">/lib/apk/db/installed</property>
            <property name="syft:metadata:gitCommitOfApkPort">8a8c96a0ea2fcd824c361aa4438763fa33ee8ca0</property>
            <property name="syft:metadata:installedSize">413696</property>
            <property name="syft:metadata:originPackage">alpine-baselayout</property>
            <property name="syft:metadata:pullChecksum">Q1UJtB9cNV4r+/VbxySkEei++qbho=</property>
            <property name="syft:metadata:pullDependencies">/bin/sh so:libc.musl-x86_64.so.1</property>
            <property name="syft:metadata:size">20716</property>
        </properties>
        </component>
        ...
    ...
Como se pueden ver los campos generados son distintos que SPDX y el formato, por defecto, es XML, pero al final la información que se recolecta es prácticamente la misma. También es posible la generación en formato *json*:
    $ docker sbom --format cyclonedx-json alpine
    Syft v0.43.0
    ✔ Loaded image
    ✔ Parsed image
    ✔ Cataloged packages      [14 packages]

    [0000]  WARN unable to convert relationship from CycloneDX 1.3 JSON, dropping: {From:Pkg(name="musl" version="1.2.2-r3" type="apk" id="304c2239a7d1d6b7") To:Location<RealPath="/lib/ld-musl-x86_6
    ...

    {
    "bomFormat": "CycloneDX",
    "specVersion": "1.4",
    "serialNumber": "urn:uuid:95cef6a2-edcb-4b82-91a4-3ed026f1670f",
    "version": 1,
    "metadata": {
        "timestamp": "2022-04-15T17:21:34-04:00",
        "tools": [
            {
                "vendor": "anchore",
                "name": "syft",
                "version": "[not provided]"
            }
            ],
                "component": {
            "bom-ref": "e33e1cadf7cfbd1e",
            "type": "container",
            "name": "alpine:latest",
            "version": "sha256:a2f19fdc3f78ddc201c5bb37e302fed8b3487695056215b5577113d3938196bf"
        }
    },
    "components": [
        {
            "type": "library",
            "publisher": "Natanael Copa \u003cncopa@alpinelinux.org\u003e",
            "name": "alpine-baselayout",
            "version": "3.2.0-r16",
            "description": "Alpine base dir structure and init scripts",
            "licenses": [
                {
                    "license": {
                        "id": "GPL-2.0-only"
                }
                }
        ],
            "cpe": "cpe:2.3:a:alpine-baselayout:alpine-baselayout:3.2.0-r16:*:*:*:*:*:*:*",
            "purl": "pkg:alpine/alpine-baselayout@3.2.0-r16?arch=x86_64\u0026upstream=alpine-baselayout\u0026distro=alpine-3.14.2",
            "externalReferences": [
                {
                    "url": "https://git.alpinelinux.org/cgit/aports/tree/main/alpine-baselayout",
                    "type": "distribution"
            }
        ],
        "properties": [
            {
                "name": "syft:package:foundBy",
                "value": "apkdb-cataloger"
            },
            {
                "name": "syft:package:metadataType",
    ...
La lista de los formatos soportados actualmente son:
* syft-json
* cyclonedx-xml
* cyclonedx-json
* github-0-json 
* spdx-tag-value 
* spdx-json 
* table (formato por defecto)
* text
Si en vez mandar el contenido del fichero a la consola o salida estándar, queréis que se guarde en un fichero, se puede usar la opción -o o --output:
    $ docker sbom --format spdx-json -o alpine.json alpine
    Syft v0.43.0
    ✔ Loaded image
    ✔ Parsed image
    ✔ Cataloged packages      [14 packages]
La inclusión de este plugin en Docker está en modo experimental y puede que en futuras versiones éste cambie. Si tienes que generar SBOMs en entornos de producción, se podría usar la herramienta syft directamente. Esta herramienta es mucho más completa que lo que ofrece actualmente el plugin de Docker.

Happy Hacking!

miércoles, octubre 27, 2021

El defacement de la web de Donald Trump y la "competi" por hacer grafitis en sitios web

Hacía mucho tiempo que no entraba a Zone-h a ver algunos Defacement de páginas web. Durante años visitaba todos los días para ver qué habían publicado nuevo, pero desde que comenzaron los ataques masivos a servidores DNS para hacer defacements con técnicas de redirect por miles, lo fui dejando de visitar poco a poco. Hoy la noticia ha sido el Defacement de la web del ex-presidente Donald Trump, y he entrado otra vez a primera hora de la mañana para ver "cómo iba la competi".

Figura 1: El defacement de la web de Donald Trump y
la "competi" por hacer grafitis en sitios web

Si has visto charlas mías antiguas, seguramente me habrás escuchado hablar de Zone-h y los defacement. El arte del "Defacement" consiste en modificar la apariencia de una web controlando lo que se pinta en un determinado dominio, en el caso de hoy, el dominio de la web personal del ex-presidente Donald Trump
Esto se puede hacer de muchas formas, desde hackeando el servidor DNS y haciendo que apunte a otra servidor web controlado, hasta hackeando el servidor web y cambiando los archivos que sirve, modificando la base de datos de dónde se cargan los datos o, como se hizo en la web de la popular conferencia de seguridad informática, hackeando un servidor tercero desde el que se carga algo de contenido - es decir, un ataque a un proveedor -.
El defacement es un arte muy similar al grafiti, consiste en hacer una pintada en una web en forma de mensaje escrito, de diseño gráfico, de simple firma para saber que el artista ha sido capaz de firmar en la web, pero que podría haber hecho algo mucho más sibilino y sutil. Hay que tener en cuenta que, por ejemplo, si alguien hubiera visitado la web hackeada de "juantaextremadura.net" - reportada la semana pasada - podría haber sito atacado si el atacante hubiera querido poner algo malicioso para los visitantes. Pero a él le ha bastado con poner un archivo de texto con su firma.

Figura 4: Defacement de firma aún activo en juntaextremadura.net

Entrar a Zone-h siempre es darse cuenta de cómo funciona el mundo de Internet, de lo fácil que sigue siendo para los atacantes entrar en los servidores expuestos a la red de empresas y administraciones públicas. Por ejemplo, ese ejemplo que os acabo de poner de Junta de Extremadura, aún se encuentra sin ser detectado y reparado, a pesar de que esta dado de alto y publicado en la web más famosa de defacements.
Por supuesto, siempre quedarán ya en el mirror - la copia que hace el sito Zone-h del defacement para que perdure después de que sea arreglado, así que es también una buena medida para conocer el nivel de protección o no que tiene una determinada organización, ya que se pueden buscar dominios, direcciones IPdefacements, etcétera.

Figura 6: Mirror de defacement Homepage en dominio .FR

Además siempre es curioso ver los defacement destacados, con especial interés con los que han sido en la Homepage, que vienen marcados con la H. Este es otro fresco, de un dominio en Francia que aún está "caliente" ya que es de ayer mismo. Supongo que hoy tendrán trabajo los equipos de CSIRT, el CISO, los pentesters, etcétera, para saber qué ha pasado, a qué ha afectado, cuánto hay que notificar a los clientes, cómo lo arreglamos, cómo hacemos que no vuelva a pasar.... es decir, hoy es día para que casi todos los roles de seguridad en esa organización trabajen un poco más nerviosos debido a la exposición pública... como los de la web de Donald Trump.

Figura 7: Defacement de Homepage aún "caliente" en domino .FR

Entra un rato a Zone-h, curiosea por allí a ver qué encuentras, que siempre hay cosas curiosas, por lo artístico de los defacers rusos, turcos y chinos, por las víctimas que te vas a encontrar, o por la cantidad de sitios que es capaz de hacerse un solo defacer o un grupo de ellos. Te va a dar una curiosa impresión de cómo es la seguridad del mundo de la web, para que navegues por sitios web al tuntún en tu día a día... Imagina que todos esos sitios hackeados en lugar de grafitis y firmas se dedicaran a distribuir ransomware... oh, wait!

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, mayo 22, 2021

Hacer Copias de Seguridad: Regla número 1 de tu plan de seguridad informática

Desde que tengo uso de razón, los sistemas informáticos han existido y han tenido fallos. Desde esos archiconocidos pantallazos azules en Windows, hasta fallos en el sistema de arranque, pasando corrupciones en el sistema de archivos o actualizaciones que hacen que algunos programas dejen de funcionar. Sin contar aquellos que se convierten también en fallos de seguridad. Bugs. Muchos bugs.

Figura 1: Hacer Copias de Seguridad.
Regla número 1 de tu plan de seguridad informática

Esto provoca que cuando nos vemos afectados por uno de esos fallos, corremos el riesgo de tener una perdida de información y, si tenemos que repetir un trabajo, de tiempo y dinero. El tiempo se pierde porque se nos borra el trabajo no guardado, además de que hay que pararse a arreglar el fallo. Por otro lado, la perdida de información que puede provocar, por ejemplo, una corrupción del sistema de archivos hace que podamos perder archivos importantes que tuviéramos en el sistema, como fotos familiares, contratos, o documentos que no están almacenados en ningún otro sitio.

Por todo esto, se inventaron las copias de seguridad o backups. Hace muchos años. Y así podemos tener una clon de los archivos importantes para que en caso de que ocurra algún fallo que nos haga perder información, podamos recuperarlo. Fallo del sistema. Ransomware. Rotura del hardware. Lo que sea. Pero si tenemos copias de seguridad, siempre podremos recuperar esos documentos. Regla número uno de la fortificación de un sistema para un plan de seguridad informática: Haz copia de seguridad.

Figura 2: Máxima Seguridad en Windows Gold Edition
de Sergio de los Santos en 0xWord

Pero ¿cómo se hace una copia de seguridad?, ¿dónde se almacenan?, ¿cómo funcionan el proceso completo de copia de seguridad y restauración?, ¿podemos confiar en ellas?, ¿que soluciones existen?, son muchas de las preguntas que nos podemos hacer, así que, lo mejor es ir por partes a la hora de responderlas.

¿Cómo se hace una copia de seguridad?

La forma de hacer una copia de seguridad cambia dependiendo del sistema operativo que utilicemos. Cambia si queremos utilizar las herramientas integradas en el propio sistema operativo o utilizar unas herramientas externas especializadas en backup. Por ejemplo, en MacOS se puede utilizar la herramienta llamada “Time Machine”, que permite generar una serie de copias de los archivos de nuestro ordenador, en la propia maquina o en un disco externo, que siempre podremos recuperar.

Figura 3: Time Machine en hacer copias de seguridad en MacOS

En sistemas Microsoft Windows, existen varios métodos de copias de seguridad. Por ejemplo podemos crear un Punto de Restauración, que nos permite en un futuro recuperar el estado completo del sistema  operativo en un punto en concreto de tiempo. Supongamos que instalamos un programa y que está funcionando mal por lo que decidimos desinstalarlo. Aún así, el sistema contendrá archivos o restos de esa instalación. Si tenemos un Punto de Restauración justo antes de instalarlo, podremos volver al momento antes de instalarlo y todo volverá a la normalidad.

Figura 4: Puntos de Restauración en Microsoft Windows

Por otro lado  también podemos crear una copia completa de un disco duro, esto permitirá tener una copia exacta del sistema, con sus archivos y programas intactos. E incluso tenerlo en espejo o redundante por hardware en RAID 1, RAID 3 o RAID 5.

También podemos hacer copias de seguridad más selectivas de documentos o archivos en discos externos en Cloud. Si eres cliente de Telefónica y tienes Movistar Fusión puedes usar Movistar Cloud que tiene almacenamiento ilimitado para ti de documentos, fotos, vídeos, etcétera y hasta podrás compartir los documentos multimedia y verlos a través de la Living App de Movistar Cloud en la televisión de Movistar + y en Movistar Home.


Figura 5: Living App de Movistar Cloud

Si no, con cualquier aplicación de cloud como Google Drive, OneDrive o Dropbox, que pueden instalarse en tu escritorio ya sean Windows o MacOS, puedes seleccionar las carpetas que quieres que se nos sincronicen con la nube - hasta que se nos llene el almacenamiento contratado -, permitiendo que cualquier cambio que hagamos reciba una copia de seguridad fuera de nuestro disco local.

¿Dónde se almacenan o se deben almacena los Backups?

Cada copia de seguridad se almacena en un sitio diferente, por defecto, dependiendo del programa que la haya realizado o del sistema operativo que se esté utilizando. Por norma general, cuando se le dice a un programa que queremos hacer una copia de seguridad, nos pedirá una ruta donde guardarla. Por supuesto, lo más aconsejado es guardarla en un disco externo o en la nube. 


Figura 6: Funcionamiento de Latch ARW

No tiene sentido que la copia de seguridad y el documento original o el sistema operativo, estén juntos, ya que si falla el sistema, la copia se pierde, algo que pasa mucho en los ataques de Ransomware, por lo que nuestros compañeros sacaron un programa llamado Latch AntiRansonware que pone protecciones a bajo nivel a las carpetas con Latch para evitar que se vean afectadas las copias en una infección aún estando en el mismo sistema operativo.

¿Cómo funcionan las copias de seguridad?

Las copias de seguridad pueden funcionar de distintas maneras, desde una copia de ficheros completa bit a bit, hasta en modo de copias de seguridad diferencial con los cambios o incrementales, donde se necesitan copias de seguridad anteriores que se van aplicando unas sobre otras. El mundo del backup profesional en la empresa es muy avanzado, y la copia de seguridad de servidores depende mucho del tipo que sea cada máquina.

En el caso de un usuario particular, dependiendo de lo que se quiera conseguir, deberemos realizar una copia puntual y completa del sistema que se haría con una copia de seguridad simple. Pero si tenemos documentos que editamos continuamente,  deberemos tener una estrategia especial para ellos, que puede ser hacer copia de los documentos en la nube de manera sincronizada o realizar una copia de seguridad diferencial del sistema operativo, en la cual solo se añadirán los cambios nuevos que hagamos, en cambio si queremos realizar copias completas pero solo de lo que se ha modificado y de lo nuevo, deberemos hacer una copia incremental, la que ira modificando la copia original actualizándola con los nuevos archivos. De esta forma tenemos tres tipos de copias de seguridad que funcionan de distinta forma. 
  • Copia Simple Completa:En la copia simple completa, cada vez que hagamos una copia de seguridad deberemos guardar todos los datos de nuevo, consumiendo una cantidad de espacio muy grande.
  • Copia Incremental: Que guarda los nuevos cambios que se han realizado desde que se creo la copia original, permitiendo ahorrar mucho espacio ya que no se deberá guardar todo de nuevo.
  • Copia Diferencial: guarda todos los cambios que han ocurrido desde la ultima copia completa, ahorrando también bastante espacio frente a una copia simple.
Por otro lado tenemos el historial de versiones de los archivos, por ejemplo, en un documento de Word, cada cambio que hacemos en el mismo queda registrado en el historial de cambios, pudiendo restaurar un estado anterior del mismo sin problema, esto es poco conocido aunque esta muy extendido y existen herramientas como git que se basan en ello.

¿Podemos confiar en ellas?

Las copias de seguridad, son igual de confiables que el medio en el que se almacenen, es decir, si yo hago una copia de seguridad de mi ordenador y lo guardo en un “Pendrive” que llevo todo el día en la cartera, lo mas probable es que lo acabe perdiendo y por lo tanto pierda también la copia de seguridad, en cambio si yo mi copia de seguridad la tengo ordenada en la nube, con replicación en varios centros de datos distintos, solo una gran catástrofe a nivel global podría hacer que me quedara sin mi copia de seguridad.

Figura 7: La regla 3,2,1 de los Backups

Esto nos lleva a la recomendación que muchas personas dan en lo referente a copias de seguridad y es el método 3-2-1, es decir: 3 copias de seguridad en 2 tipos diferentes de almacenamiento con 1 copia, al menos, en un lugar distinto al de las otras dos. Por ejemplo, yo podría guardar mis copias de seguridad en 2 discos duros y 1 copia en la nube, de esta forma, si por algún casual se inunda mi casa, tendría la copia de seguridad en la nube intacta. Y viceversa, que las nubes también se caen.

¿Qué soluciones existen?

Afortunadamente, hay una solución para cada uno de los gustos. Como he comentado antes cada sistema operativo suele traer su propia solución de copias de seguridad, pero también existen soluciones especialistas de terceros, por ejemplo, Duplicati, una utilidad Open Source que nos permite generar de forma bastante sencilla copias de seguridad y guardarlas en almacenamientos de los mas variados, desde los destinados a consumidores finales como OneDrive o GoogleDrive hasta los mas profesionales como SharePoint o B2 de Backblaze. También se permite el cifrado de las propias copias de seguridad para tener mayor privacidad en caso de que se filtre.

Figura 8: Duplicati

Por otro lado, también tenemos otras soluciones de código cerrado, pero también gratuitas, que no nos permiten hacer copias completas del sistema operativo, pero sí de carpetas que queramos conservar, como puede ser OneDrive para escritorio o Google Drive “Backup and Sync” - que fue lo que utilizaron nuestros compañeros para crear el repositorio infinito de juegos para Macintosh en la nube -, los cuales nos permiten de forma selectiva elegir que queremos guardar.

Saludos,

Autor: Guillermo Peñarando Sánchez, Developer en Ideas Locas CDCO de Telefónica.

domingo, enero 24, 2021

Entrevista a Alejandro Corletti: Ciberseguriad y "Resiliencia" en el Blue Team

Retomando el gusto que comencé allá por el año 2008 de hacer entrevistas a gente del sector, compañeros, amigos y gente especial, he vuelto a hacer algunas durante este año pasado, y seguiré durante este año 2021, que me parece una forma de conocer a la gente que hace cosas distintas en nuestra profesión. Hoy he entrevistado a Alejandro Corletti.

Figura 1: Entrevista a Alejandro Corletti: Ciberseguriad y "Resiliencia" en el Blue Team


El compañero Alejandro Corletti con el que he coincidido trabajando en Telefónica, lleva años en este sector. Con un origen en el mundo militar, especializado en auditoría y fortificación de sistemas - y Blue Teams -, ha publicado varios libros, que siempre ha dado de forma gratuita en Internet.


Compagina su vida profesional, con la vida académica, dando másters y clases en universidades para formar a las nuevas generaciones de profesionales en esta disciplina. Hoy le he hecho una pequeña entrevista para hablar de esto mismo. De seguridad, de "resiliencia", del trabajo en el mundo de los Blue Teams. Espero que la disfrutéis.

1.- Alejandro, este año pasado has publicado el libro gratuito de “Manual de la Resiliencia: Una guía práctica de ciberresiliencia en redes y sistemas de TI”, pero para los que no conocen bien el término, ¿en que consiste la resiliencia aplicado a redes y sistemas TI?

Resiliencia, es sencillamente la capacidad de recuperación. Pero, no una vez sino las veces que fuera necesario recuperarse y, desde un hecho simple, hasta lo más complejo que te puedas imaginar. Este concepto aplica a las personas, empresas y a cualquier diseño del mundo físico (y para los que creemos en el alma… pues también).


En los últimos años venía observando que el término “Resiliencia” en nuestro entorno estaba en un altísimo porcentaje, orientado únicamente hacia la metodología de copias de respaldo y recuperación, como si esto solo fuese la panacea. Tal vez esta sea la causa raíz del libro pues, en realidad, para que las redes y sistemas de TI pueden alcanzar un estado importante de Resiliencia la clave está en ser serios en la planificación, diseño, implantación y mantenimiento del ciclo de vida de un “SGSI” (Sistema de Gestión de la Seguridad de la Información), tema que desarrollo, creo que, con bastante detalle en el mencionado libro.

2.- Llevas muchos años colaborando con la comunidad, y este no ha sido tu primera aportación a la educación en ciberseguridad. ¿Podrías contar a los lectores cuántos libros gratuitos y de qué temática has publicado a disposición gratuita para todos?

Antes que nada, deseo expresar la experiencia personal que para mí ha sido esta filosofía de “Compartir desinteresadamente TODO lo poco que sé, sin restricciones”.  Cada vez que puedo, intento transmitir esta experiencia de vida, pues los que me conocen, saben he intentado siempre difundir lo que estudio, aprendo e investigo, y la verdad es que este hecho me ha abierto cientos de puertas, permitiéndome vivir bien y a gusto con lo que hago.

Este mensaje es una invitación a todos para que también lo hagáis, pues os aseguro que el “karma” os devuelve con creces este tipo de acciones, y si no es el karma, pues será el empresario que en alguna oportunidad se interesará en tu conocimiento, y probablemente te valore más que otro desconocido o anónimo. 


Los libros técnicos gratuitos ya van por cuatro, el primero fue todo un desafío contra la burocracia, las editoriales y afines, pero luego uno va aprendiendo los pormenores de auto editar y las cosas parecen ser más sencillas.  También a veces tengo otros pasatiempos en forma de novelas, que suman tres más, alguna gratuita… y otras que me han pirateado y están dando vueltas también por la Web .

3.- Llevas años trabajando en Blue Teams y auditoría de seguridad de redes de empresas. Si tuvieras que darle, en base a tu experiencia, un consejo a los que quieren desarrollar su carrera como CISO en una compañía, ¿cuál sería el más importante?

Estoy absolutamente convencido que un CISO debe ser capaz de organizar y dirigir su área en tres divisiones:

- Gobierno de la Seguridad
- Planificación e Ingeniería de la Seguridad.
- Operación de la Seguridad

En alguno de mis libros (creo que fue en Seguridad en Redes), tengo un capítulo completo sobre ello. Fíjate, que esta idea coincide muchísimo con el marco militar (o empresarial) de tres patas: Estratégico (o Directivo), Operacional (o Gerencial) y Táctico (o Técnico).  Un buen CISO como base fundamental de su área debería estar en capacidad de organizarla y dirigirla siempre orientada a estos niveles o subdivisiones.

4.- Cuando uno ve tu currículo impresiona, no solo por todo lo que has hecho en seguridad informática y ciberseguridad, en tu carrera profesional y en el ámbito de la comunidad, sino también por tu pasado militar. ¿Qué te ha aportado en tu carrera ese paso por el mundo militar?

Lo primero que me aportó mi carrera militar, a los pocos meses que me recibí como Oficial, fue una Guerra (Malvinas), así que como para empezar bien las cosas, me enseñó a fuego (nunca mejor dicho) la importancia del trabajo en equipo, ser plenamente consciente que siempre dependes de los demás, que solo no se puede hacer nada, y que la gente que te rodea vale mucho y hay que cuidarla como el bien más preciado.

La vida militar como todo en este mundo tiene cosas feas y preciosas. Lo que es innegable es que la capacidad de organización (a veces cuadriculada… también debo reconocer), y aunque parezca que no es así, el espíritu de sacrificio, son dos constantes en todo aquél que haya pasado un par de décadas en este ámbito.

En mi caso tuve la inmensa fortuna que, dentro del Ejército Argentino, como Oficial de Cuerpo Comando (en mi caso, paracaidista del arma de Infantería) en el grado de Capitán puedes ingresar en nuestra Facultad de Ingeniería, de la cuál obtuve el título de Ingeniero en Informática y luego de ello, mi vida militar se orientó exclusivamente al mundo de las redes, llegando a ser Jefe de Redes del Ejército Argentino tres años, y allí creo que fue donde afiancé las bases de lo que hoy sigo haciendo.

5.- El año pasado publicaste, como hemos dicho antes, un libro centrado en la ciberresiliencia de redes y sistemas TI, pero en el mundo del teletrabajo actual… ¿estás pensando en ampliar la cobertura de tu guía con las redes remotas en los hogares de los empleados?

Sí, estoy dándole vueltas a las técnicas de túnel, que a nivel protocolos suelen basarse en la familia de estándares IPSec, sobre los mismos hay opciones comerciales y Open Source.

Me interesa, en particular, analizar las diferentes alternativas del mercado que permiten este tipo de conexiones remotas a través de canales seguros, que en definitiva nos permiten configurar VPNs (Virtual Private Netwoks) a través de redes públicas, pues como bien dices el teletrabajo es, y espero que siga siendo, una metodología habitual de conexión empresarial remota.


6.- En tu trabajo en ciberseguridad en el Blue Team se notan dos cosas fundamentales. La primera esa disciplina organizativa de tus tareas y recomendaciones que tal vez vienen de tu pasado militar. Lo segundo que destaca es tu profundo conocimiento de tecnologías para redes. ¿Te cuesta encontrar perfiles profesionales en ciberseguridad con esas dos características para ocuparse de la seguridad de redes en grandes empresas?

Lo que sinceramente creo que es más complicado es el tema “organizativo”. El concepto de planificación a medio y largo plazo es muy importante en Ciberseguridad, pues hay que saber justificar bien los presupuestos, sino no los conseguimos. Los cálculos necesarios para que la brecha entre lo planificado y los desvíos sea mínima, es complejo y requiere “organización” y lo peor: experiencia (que en el mundo militar se dice que: cuesta cara y llega tarde).

La seguridad en redes de “grandes empresas” difieren radicalmente de una PyME en cuanto a su grado de exposición, vías de aproximación, accesos, y envergadura de sus infraestructuras. Tienes firewalls con miles de reglas, routers y switchs de terabits por segundo, SIEMs con millones de Logs por minuto, protocolos de comunicación complejos y muchas veces desconocidos, redes de acceso, transporte, agregación, core, centros de virtualización con miles de dispositivos virtuales, balanceadores de carga, bases de datos de tamaños increíbles, cientos de productos con tecnologías diferentes, etc. Personas que estén acostumbradas a lidiar con estas exageraciones tecnológicas no son fáciles de encontrar.

7.- Siempre hemos defendido que “sentir” lo que pasa por la red de tu empresa es la mejor forma de detectar un adversario dentro de tu organización. ¿Qué caso, guardando la privacidad, te impactó más por la calidad del ataque?

Desde hace años que me encanta el término “ruido de red” que propuso Cisco.  Será por mi perfil de cantautor, pero el tema de la armonía me fascina. Admiro profundamente a cualquier director de orquesta, que al escuchar simultáneamente a docenas de músicos detecta ese violín que está desafinado.

Uno de los trabajos principales de un responsable de red debe ser el análisis de tráfico. Si sabe hacerlo bien y a consciencia, puede (y debería) ser como ese director de orquesta que encuentra el “ruido anómalo” en su red ni bien se produce.

Todo esto viene a cuento, de que en una ocasión nos avisan de una gran empresa, que sus redes hacía varios meses que tenían una alta latencia (lentas), sufrían delays, cortes, etcétera. A los pocos días de iniciar nuestro trabajo de auditoría de red, detectamos más de trescientos dispositivos que estaban comprometidos, por supuesto se empleaban como botnets. El tema no queda aquí, pues al continuar la investigación siguiendo el rastro de estos hechos, llegamos a la conclusión que esta intrusión llevaba más de un año. Es decir, se habían movido por esta infraestructura como Pedro por su casa, y el hecho más grave de todos, es que ese director de orquesta, ni se enteró, no fue capaz de reconocer que toda la orquesta de su red desafinaba completamente.

Este tipo de situaciones hoy en día, para un responsable de red, o de seguridad en red, es imperdonable, es inconcebible que no tenga un sistema de análisis de tráfico, monitorización y supervisión, al menos que haga algo, como sucedió en este caso, que todo ello era prácticamente inexistente.

8.- Eres una persona muy activa con una mente muy inquieta, ¿cuáles son los próximos proyectos en los que Alejandro Corletti se va a meter este 2021?

Como ya sabéis me está despertando mucho interés la seguridad (en la parte de la red) de los Servicios Digitales Financieros (DFS), pues se están cometiendo varias anomalías y fallos de seguridad que, si bien son corregibles, por alguna razón que desconozco en detalle, no se están mitigando y esto impacta en usuarios o subscriptores (es decir, nosotros, ciudadanos de a pie). Esto es algo que afecta mucho en nuestra vida personal, ya que el e-money se ha metido de lleno en ella y hay muchos investigadores trabajando en ello - como se ve en el libro de Show me the e-money de Salvador Mendoza publicado por  0xWord. Hay que profundizar bien en la seguridad de estos sitemas.

Figura 5: Show me the (e-)money. Hacking a sistemas de pagos digitales
por Salvador Mendoza (Netxing)

Quiero seguir profundizando mucho más sobre la infraestructura de señalización (Sistema de señalización 7: SS7), es algo con lo que vengo trabajando desde los años 90’ y esta red la seguiremos sufriendo varios, varios, años más con todos los problemas de seguridad ampliamente conocidos, y los que nos quedan aún por conocer.

Por último, mi gran deuda pendiente (por mi tremenda ignorancia y fobia al respecto) es la “seguridad de las redes sociales”. Este es un tema que soy como un parvulito, pero con su misma aspiración a aprender y entender. Algún día me meteré de lleno a las raíces, protocolos de comunicaciones, y términos legales de uso… lo prometo. 

Bueno, pues ya está, esta es la pequeña conversación mantenida con Alejandro Corletti, espero que os haya entretenido un ratito, además de estimularos a aprender más y leeros sus libros.

miércoles, noviembre 18, 2020

Este jueves ven al Innovación Day y al Meet & Geet de la 8dot8

Esta semana voy a participar en tres actividades distintas, todas ellas a través de Internet a las que puedes asistir. Dos serán este jueves, y una el viernes - de la que os informaré en detalle mañana -. Pero este jueves tenemos vamos a tener un evento con todos los equipos de las área de innovación, donde nos centraremos en contaros todo lo que estamos haciendo en innovación dentro de Telefónica, pero también todo lo que estamos haciendo con startups a través de Wayra y Telefónica Tech Ventures, en un evento que espero que os guste.

Figura 1: Este jueves ven al Innovación Day y al Meet & Geet de la 8dot8

El evento de Innovación, del que ya os hablé hace poco, es el Road To Innovation Day en el que Irene Gómez Luque - directora de Connected Open Innovation - y David del Val - director de Core Innovation - harán de maestros de ceremonia del evento. La agenda y la información para el registro la tenéis en la web del evento, así que solo recordaos que podéis registraros aún y que es el próximo jueves 20 de Noviembre a las 16:00 horas.


Después de ese evento, el mismo jueves, también participaré en un Meet & Greet organizado por Gabriel Bergel y el equipo de la 8.8 para tener una sesión de Q&A con los asistentes. Será algo limitado y que hemos organizado de forma especial, así que si quieres asistir deberás convencer a Gabriel.
Y el viernes haremos una cosa chula, pero os lo contaré mañana. Eso sí, si tienes la tarde del viernes de 17:00 a 18:00 libre y te la puedes reservar, tal vez te puedas animar y participar con nosotros.

Saludos Malignos!

viernes, diciembre 06, 2019

ATT&CK Matrix Tool: Emular amenazas en tu organización

Después de ver las técnicas de auditoría y hacking de BLE en el artículo anterior, ahora toca hablar de la charla de Cybercamp 2019. El objetivo de la presentación era contextualizar la emulación de adversarios en una organización, mostrar la matriz ATT&CK, tanto como matriz para mapear controles y amenazas, como utilizarlo como fuente de conocimiento para técnicos.

Figura 1: ATT&CK Matrix Tool: Emular amenazas en tu organización

Además, presentaba una prueba de concepto en forma de herramienta básica para hacer una implementación de la matriz ATT&CK a través de funciones de Powershell y poder poner a prueba la emulación de las amenazas sobre entornos de dominio.

Figura 2: Libro de Pentesting con PowerShell (2ª Edición)


Los primeros puntos de la charla fueron la contextualización de conceptos como un ejercicio de Red Team y qué es una emulación de un adversario. Los vectores en los que se basa un ejercicio basado en escenarios de Red Team y las diferencias principales con una auditoría o con un Ethical Hacking. Además, la definición de la matriz ATT&CK como catálogo de tácticas y técnicas que implementan las amenazas es algo muy potente, pero no solo desde el punto de vista del mapeo de controles, sino de conocimiento para la gente técnica que hace auditoría, pentesting y ejercicios de red team diariamente.

Se dejó claro cuál era el objetivo de un Red Team, el cual se puede agrupar o enumerar de la siguiente manera:
• Demostrar nivel exposición y riesgo.
• Demostrar impacto en el negocio y ayudar a la toma de decisiones.
• Demostrar las capacidades de prevención que tiene la organización.
• Demostrar las capacidades de detección.
• Evaluar al equipo de seguridad ante una amenaza.
¿Qué es el MITRE ATT&CK? 

Ya hemos hablado en el blog sobre esto a través de un artículo sobre Caldera. MITRE ATT&CK es una base de conocimiento de acceso global de tácticas y técnicas adversarias basadas en observaciones del mundo real. La base de conocimientos de ATT&CK se utiliza como base para el desarrollo de modelos y metodologías de amenazas específicas en el sector privado, en el gobierno y en la comunidad de productos y servicios de ciberseguridad

Las tácticas se utilizan para describir los pasos de ataque de alto nivel utilizados por un adversario. La forma en que se ejecuta una determinada táctica se describe mediante una variedad de técnicas. Para cada técnica, MITRE ATT&CK incluye una descripción, recomendaciones de detección y prevención y actores de amenazas conocidos que utilizan la técnica.

Figura 3: Matriz de técnicas y operaciones

MITRE ATT&CK asume la brecha y por lo tanto la "primera" táctica es la intrusión inicial. Cualquier actividad realizada anteriormente está cubierta por el marco de PRE-ATT&CK. En la web del MITRE podemos encontrar el browser de ATT&CK, el cual es dinámico y se actualiza, relativamente, cada poco tiempo. Es decir, pueden aparecer nuevas tácticas y, por supuesto, nuevas técnicas especificadas en la matriz.

En la matriz podremos encontrar, cómo llevar a cabo la técnica, por lo que es interesante para el aprendizaje y el reciclaje de cualquiera. Podemos encontrar la mitigación, detección y los ejemplos donde se ha utilizado la técnica. Es decir, se indica qué amenazas han utilizado cada técnica.

Figura 4: Caldear para emulación ATT&CK

Como tercer punto se habló del plan de emulación. Toda emulación debe llevar asociado un plan que indique las fases de la amenaza y las técnicas que van ejecutarse en cada fase. El plan de emulación recoge los puntos fundamentales de una amenaza y la emula. Esto es interesante y es que no se ejecuta la amenaza completamente, pero sí se recogen los puntos fuertes de ésta y son ejecutados contra el entorno a probar. Hubo un apartado para hablar de herramientas que implementan entornos de emulación de adversarios. En su día hablamos de Caldera y fue una de las herramientas a probar.

Idea Loca: Construir una herramienta en PowerShell para emular ATT&CK

Y llegó a punto de mostrar la prueba de concepto para utilizar funciones de Powershell y mapearlo con ATT&CK, así como poder llevar a cabo la emulación de adversarios. Hay un listado de cosas por hacer y mejorar que, poco a poco, se irán haciendo. La idea de todo esto era construir una herramienta con agentes y un nodo raíz para planificar y ejecutar el plan. Con varios objetivos.
Figura 5: Idea de herramienta a construir en PowerShell
• Construir una herramienta básica y mostrar cómo todos podían hacer una propia. Además, poder incluir de manera sencilla y rápida el conocimiento que cada uno tiene. 

• Aplicar ATT&CK a través de diferentes técnicas con Powershell. 
• Ejecutar la planificación a través de agentes desplegados en las máquinas. Estos agentes estarán escritos en Powershell. 
• Proporcionar una planificación de acciones, tal como indica el plan de emulación.
¿Cómo funciona el flujo básico de la herramienta? En las siguientes imágenes se puede ver el flujo básico de conexión “HI” y el flujo básico de solicitud de planificación y ejecución de tareas.

Figura 6: Flujo definido de la herramienta para una conexión "Hi"

En resumen, se genera un agente de Powershell con un pequeño código que solicitará una función consola. Este código se debe desplegar en los equipos que simularán la amenaza. Cuando esto se ejecuta los agentes se conectan contra el master o nodo raíz. Aquí comienza el flujo de conexión “HI”.

En este flujo se puede ver cómo se envían una serie de datos: un ID aleatorio para identificar al agente e información del sistema operativo como, por ejemplo, nombre de máquina, arquitectura, versión de Windows, PID, etcétera.

Figura 7: Flujo de planificación y despliegue del plan

Tras la realización de conexión se solicita un plan. Aquí puede ocurrir dos cosas, que el servidor aún no tenga configurado un plan de emulación para el agente, ya que éste depende del usuario y lo que haya configurado. En el instante que hay una solicitud de plan y éste existe, se procede a servir el plan. El plan tiene un ID de plan, un ID de agente para que ese agente lo ejecute, el nombre de las funciones o tareas que se deben ejecutar y el número de tareas a ejecutar. Cuando esta información llega al agente tiene un bucle que le permite iterar contras las acciones.

Figura 8: Herramienta ATT&CK Matrix Tool

En este punto, el agente irá solicitando cada función o tarea que debe realizar. El nodo central recibe la petición “getTask” y le devuelve la función correspondiente. El agente la ejecute y devuelve los resultados que hayan dado mediante la llamada “putResult”.

Figura 9: Información remitida por el agente

El nodo raíz tiene una serie de funcionalidades a través de una interfaz web con Flask y Bootstrap. Podemos encontrar:
Inicio: Aquí se listarán los agentes que tenemos disponibles o que han reportado al nodo en algún momento. 
Plan: Permite generar el plan que desplegarán sobre los agentes. 
Resultados: Muestra los resultados de la ejecución de los agentes. 
Guerreros: Aquí se generan los agentes de Powershell que se desplegarán.
Los resultados se pueden visualizar de manera ejecutiva, es decir, si la técnica se ha ejecutado correctamente o ha habido algún control que ha evitado o mitigado la ejecución.

Figura 10: Información y comandos de agente

Además, se ha realizado un script de consola con el que podemos hacer un seguimiento de todo lo que ocurre, así como generar planes para los agentes.  Este script puede ser utilizado por personal más técnico para poder ver las salidas devueltas, en detalle, de los agentes.

Figura 11: Script para analizar la salida de los agentes

Hasta aquí un poco la participación en Cybercamp 2019. Un taller y una charla hechas con la ilusión de los anteriores. Solo nos queda decir gracias a la ciudad de Valencia y a la gente de Incibe por hacer esto posible.

Saludos,

Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.
Para consultas puedes usar el Buzón Público para contactar con Pablo González

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares