Introducción
Este informe identifica servidores Docker accesibles en el puerto 2375/tcp. Como se describe en Wikipedia, Docker es un conjunto de productos de plataforma como servicio (PaaS) que utilizan la virtualización a nivel del sistema operativo para entregar software en paquetes denominados contenedores.
En este escaneo se esta identificando la plataforma de servicio Docker subyacente (el host) que puede ejecutar contenedores.
Proceso de escaneo
Se escanea enviando una solicitud HTTP GET/version al puerto 2375/tcp y se espera una respuesta de Docker.
Puede replicar el escaneo usando el siguiente comando zgrab2 :
zgrab2 http -p 2375 --endpoint="/versión"
Según la respuesta recibida, algunos datos también pueden etiquetarse como CVE-2019-5736 (la etiqueta se activa en BuildTime < 2019-02-11), lo que puede permitir obtener acceso raíz del host.
Mitigación
Es poco probable que necesite tener un servicio Docker que permita conexiones externas desde Internet (y, por lo tanto, una posible superficie de ataque externa). Si recibe este informe de nuestra parte para su red o circunscripción, asegúrese de bloquear el tráfico a este servicio o colocarlo detrás de una VPN. ¡Asegúrese de actualizar si su instancia está etiquetada con CVE-2019-5736 !
Para obtener más información sobre los esfuerzos de escaneo, consulte la página de resumen de escaneo de Internet.
Nombre de archivo: scan_docker
CAMPOS
timestamp | Hora en que se sondeó la IP en UTC+0 |
ip | La dirección IP del dispositivo en cuestión. |
protocol | Protocolo en el que se produjo la respuesta (siempre TCP) |
port | Puerto que se está consultando (el puerto 2375 es el predeterminado, se pueden agregar otros con el tiempo) |
hostname | Nombre DNS inverso del dispositivo en cuestión |
tag | Etiqueta establecida en «docker». También puede contener CVE-2019-5736 si se detecta según Docker build_time. |
version | Versión acoplable |
asn | ASN de donde reside el dispositivo en cuestión |
geo | País donde reside el dispositivo en cuestión |
region | Estado/Provincia/Región administrativa donde reside el dispositivo en cuestión |
city | Ciudad en la que reside el dispositivo en cuestión |
naics | Código del sistema de clasificación de la industria de América del Norte |
sic | Código del sistema de clasificación industrial estándar |
sector | Sector al que pertenece el dispositivo identificado |
http | Tipo de respuesta HTTP (HTTP/1.1, etc.) |
http_code | Código de respuesta HTTP: por ejemplo, 200, 401, 404 |
http_reason | El motivo del texto para ir con el código HTTP |
content_type | El tipo MIME del cuerpo de la solicitud. |
server | Tipo de servidor HTTP, Apache o similar |
date | Fecha devuelta en los encabezados de respuesta HTTP |
experimental | ¿Está fijada la bandera experimental? |
api_version | Versión de la API de Docker |
arch | Arquitectura (brazo/amd/etc) |
go_version | La versión de la ventana acoplable de Golang se compiló con |
os | Sistema operativo sobre el que se ejecuta Docker |
kernel_version | Kernel del sistema operativo host |
git_commit | Etiqueta cuando se construye desde la fuente |
min_api_version | Versión mínima de la API que puede comunicarse con Docker |
build_time | Marca de tiempo de cuando se compiló docker |
pkg_version | Versión del paquete (puede estar vacío) |
EJEMPLO
"timestamp","ip","protocol","port","hostname","tag","version","asn","geo","region","city","naics","sic","sector","http","http_code","http_reason","content_type","server","date","experimental","api_version","arch","go_version","os","kernel_version","git_commit","min_api_version","build_time","pkg_version"
"2010-02-10 00:00:00",192.168.0.1,tcp,2375,node01.example.com,docker,18.05.0-ce,64512,ZZ,Region,City,0,0,"Communications, Service Provider, and Hosting Service",HTTP/1.1,200,OK,"application/json; charset=UTF-8","Docker/18.05.0-ce (linux)","Fri, 06 May 2022 14:06:30 GMT",false,1.37,amd64,go1.9.5,linux,3.10.0-514.26.2.el7.x86_64,f150324,1.12,2018-05-09T22:18:36.000000000+00:00,
"2010-02-10 00:00:01",192.168.0.2,tcp,2375,node02.example.com,docker,1.13.1,64512,ZZ,Region,City,0,0,,HTTP/1.1,200,OK,application/json,"Docker/1.13.1 (linux)","Fri, 06 May 2022 14:08:07 GMT",false,1.26,amd64,go1.10.3,linux,3.10.0-693.2.2.el7.x86_64,7d71120/1.13.1,1.12,2022-03-02T15:25:43.414574467+00:00,docker-1.13.1-209.git7d71120.el7.centos.x86_64
"2010-02-10 00:00:02",192.168.0.3,tcp,2375,node03.example.com,docker,18.05.0-ce,64512,ZZ,Region,City,0,0,,HTTP/1.1,200,OK,"application/json; charset=UTF-8","Docker/18.05.0-ce (linux)","Fri, 06 May 2022 14:08:06 GMT",false,1.37,amd64,go1.9.5,linux,3.10.0-514.26.2.el7.x86_64,f150324,1.12,2018-05-09T22:18:36.000000000+00:00,
Fuente: https://www.shadowserver.org/what-we-do/network-reporting/accessible-docker-service-report/