
محاكي honeypot مكتوب بلغة Rust يحاكي نسخة cPanel/WHM ضعيفة لاستغلال CVE-2026-41940

عسل Rust يحاكي مثيل cPanel/WHM ضعيفًا لثغرة CVE-2026-41940 (تجاوز المصادقة في cPanel2Shell).
يحاكي هذا العسل تسلسل الاستجابات المستخدم من قبل ماسحات ثغرة cPanel2Shell:
msg_code:[expired_session] على نقاط نهاية الرمزالمهاجمون الذين يتجاوزون الفحص الأولي يتم إسقاطهم في قشرة bash زائفة مدعومة بنظام ملفات افتراضي في الذاكرة.
cargo build --release
# الافتراضي: المنافذ 2087، 2083 مع TLS مولّد تلقائيًا
./target/release/cpanel2shell-honeypot
# منافذ مخصصة
./target/release/cpanel2shell-honeypot -p 2083,2087
# تعطيل TLS
./target/release/cpanel2shell-honeypot --no-tls
# TLS لكل اسم مضيف مع إعادة تحميل ساخنة
./target/release/cpanel2shell-honeypot --certs-config data/certs.toml
# جميع الخيارات
./target/release/cpanel2shell-honeypot --help
أنشئ data/certs.toml (انظر data/certs.example.toml):
default = "auto"
[auto]
cache_dir = "./captures/certs"
key_type = "ecdsa-p256"
validity_days = 365
issuer_cn = "Let's Encrypt Authority X3"
[[host]]
sni = "cpanel.example.com"
cert = "/etc/honeypot/certs/cpanel.pem"
key = "/etc/honeypot/certs/cpanel.key"
src/
├── main.rs # نقطة الدخول، إعداد وقت التشغيل
├── cli.rs # وسائط سطر الأوامر
├── config.rs # إعداد التطبيق
├── router.rs # تعريفات مسارات HTTP
├── capture.rs # تسجيل الطلبات وتخزين الحمولات
├── sessions/ # استمرار الجلسة
├── handlers/ # معالجات طلبات HTTP
├── shell/ # مترجم bash و VFS
│ ├── lexer.rs # محلل الرموز
│ ├── parser.rs # محلل النزول التكراري
│ ├── exec.rs # منفذ AST
│ ├── expand.rs # توسيع المتغيرات
│ ├── builtins.rs # أوامر القشرة المدمجة
│ ├── commands.rs # نماذج الأوامر الخارجية
│ ├── vfs.rs # نظام الملفات الافتراضي
│ └── init.rs # بيانات بذر نظام الملفات
└── tls/ # إدارة شهادات TLS
├── config.rs # إعداد الشهادات
├── generator.rs # توليد الشهادات
├── resolver.rs # حل شهادات SNI
└── watcher.rs # إعادة تحميل ملف الإعداد الساخنة
تنفذ القشرة الزائفة مجموعة فرعية من bash:
$VAR، ${VAR:-default})$(cmd)، `cmd`)حالة الجلسة (cwd، env، كتابات VFS، السجل) تستمر عبر عمليات إعادة التشغيل عبر لقطات JSON.
تُكتب جميع أنشطة المهاجم إلى ./captures/:
| نمط الملف | الوصف |
|---|---|
upload_*.bin | الملفات المرفوعة |
upload_meta_*.txt | بيانات وصفية للرفع |
post_*.txt | أجسام طلبات POST |
cmd_*.txt | أوامر الطرفية |
sessions/*.json | لقطات الجلسة |
certs/ | شهادات TLS المخزنة مؤقتًا |
until/caseMIT