目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2021-37678 PoC — Google TensorFlow 代码问题漏洞

来源
关联漏洞
标题: Google TensorFlow 代码问题漏洞 (CVE-2021-37678)
Description:Google TensorFlow是美国谷歌(Google)公司的一套用于机器学习的端到端开源平台。 TensorFlow 中存在代码问题漏洞,该漏洞源于产品从YAML格式反序列化到Keras模型时未对输入数据做有效验证,攻击者可通过该漏洞导致代码执行。以下产品及版本收到影响:TensorFlow 2.5.1、TensorFlow 2.4.3 和 TensorFlow 2.3.4。
Description
TP Seguridad Informática UTN FRBA 2021
介绍
# [CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678) Exploit

Para explotar la vulnerabilidad, es necesario levantar un contenedor docker con un ambiente preparado para levantar Tensorflow con una [versión 2.2.3](https://hub.docker.com/r/tensorflow/tensorflow/tags?page=1&ordering=last_updated&name=2.2.3) la cual todavía tiene la vulnerabilidad.
Consta de:
- Una arquitectura AMD de 64 bits,
- CPU o GPU que puede ejecutar instrucciones AVX
- Python de 64 bits en la versión 3.6.9
- Pip3 en la versión 20.2.4
- Tensorflow en la versión 2.2.3
- PyYAML en la versión 3.12


Verificar si la máquina cuenta con docker ejecutando:
```shell
docker -v
```

Una vez que nuestro sistema operativo tenga docker instalado, correr los siguientes comando en la carpeta raiz de este repositorio para construir y levantar la aplicación:

```shell
docker-compose build
```

```shell
docker-compose up
```

O bien, para levantar sin docker compose:

```shell
docker build -t docker-exploit-tensorflow-vulnerability:1.0 . # para construir la imagen
```
```shell
docker run --add-host=host.docker.internal:host-gateway --name exploit-tensorflow-vulnerability docker-exploit-tensorflow-vulnerability:1.0 # para crear y lanzar el proceso por primera vez
docker start -a exploit-tensorflow-vulnerability # para lanzar el proceso nuevamente
```

Para que el reverse shell funcione, hay que tener [netcat](https://en.wikipedia.org/wiki/Netcat) instalado en la máquina atacante, y levantar un puerto de escucha para una sesión ssh. Ej:
```shell
nc -lvp 10000
```
Luego, se explotará la vulnerabilidad mediante un modelo de IA malicioso, donde lanzaremos la conexión con el atacante.
Hay que configurarle la ip y puerto de escucha del atacante en el archivo [reverseShell.yaml](/src/reverseShell.yaml) 
文件快照

登录后查看神龙缓存的 POC 文件快照

登录查看
备注
    1. 建议优先通过来源进行访问。
    2. 本地 POC 快照面向订阅用户开放;当原始来源失效或无法访问时,本地镜像作为订阅权益的一部分提供。
    3. 持续抓取、验证、维护这份 POC 档案需要不少投入,因此本地快照已纳入付费订阅。您的订阅是让这份资料能继续走下去的关键,由衷感谢。 查看订阅方案 →