Whonow - خادم DNS "الخبيثة" لتنفيذ هجمات إعادة توجيه DNS على الطيران (تشغيل المثيل العام على Rebind.Network:53)
خادم DNS الخبيث لتنفيذ هجمات DNS Rebinding على الطاير.
whonow
يتيح لك تحديد استجابات DNS وقواعد rebind بشكل ديناميكي باستخدام طلبات النطاق نفسها .# respond to DNS queries for this domain with 52.23.194.42 the first time
# it is requested and then 192.168.1.1 every time after that
A.52.23.194.42.1time.192.168.1.1.forever.rebind.network
# respond first with 52.23.194.42, then 192.168.1.1 the next five times,
# and then start all over again (1, then 5, forever...)
A.52.23.194.42.1time.192.168.1.1.5times.repeat.rebind.network
whonow
الخادم العام الذي يعمل على المنفذ 53 منrebind.network
. ملاحظة : يجب أن تقوم بتضمين UUID (على سبيل المثال
a06a5856-1fff-4415-9aa2-823230b05826
) كنطاق فرعي في كل بحث DNS إلى whonow
خادم. تم حذف هذه الأمثلة من هذا في README للإيجاز ، لكن تفترض طلبات *.rebind.network
يجب أن تكون *.a06a5856-1fff-4415-9aa2-823230b05826.rebind.network
. راجع قسم Gotchaلمزيد من المعلومات عن السبب.
Subdomains = قواعد Rebind
إن جمالك
whonow
هو أنه يمكنك تعريف سلوك استجابات DNS عبر النطاقات الفرعية في اسم المجال نفسه. باستخدام عدد قليل من الكلمات الرئيسية البسيطة:A
،(n)times
وforever
، وrepeat
، يمكنك تحديد سلوك DNS المعقد والقوي. تشريح
whonow
الطلبA.<ip-address>.<rule>[.<ip-address>.<rule>[.<ip-address>.<rule>]][.uuid/random-string].example.com
A
: نوع طلب DNS.A
يتم دعم السجلات حاليًا فقط ، ولكنAAAA
يجب أن يتم طرحها قريبًا.<ip-address>
: عنوان IPv4 (ipv6 قريبا) مع كل ثماني بتفاصيله بنقطة (على سبيل المثال192.168.1.1
.<rule>
: واحد من ثلاثة قواعد(n)time[s]
: عدد المرات التي يجب أن يرد فيها خادم DNS بعنوان IP السابق. يقبل كل من صيغ الجمع والمفرد (على سبيل المثال1time, 3times, 5000times
)forever
: الاستجابة مع عنوان IP السابق إلى الأبد.repeat
: تكرار مجموعة القواعد بأكملها بدءًا من البداية.
[uuid/random-string]
: سلسلة عشوائية للحفاظ على هجمات DNS Rebind ضد عناوين IP نفسها منفصلة عن بعضها البعض. انظر Gotchas لمزيد من المعلومات.example.com
: اسم المجال الذي يشير إلىwhonow
خادم الأسماء ، مثلrebind.network:53
whonow
مثيل متاح للجمهور .
أمثلة
# always respond with 192.168.1.1. This isn't really DNS rebinding
# but it still works
A.192.168.1.1.forever.rebind.network
# alternate between localhost and 10.0.0.1 forever
A.127.0.0.1.1time.10.0.0.1.1time.repeat.rebind.network
# first respond with 192.168.1.1 then 192.168.1.2. Now respond 192.168.1.3 forever.
A.192.168.1.1.1time.192.168.1.2.2times.192.168.1.3.forever.rebind.network
# respond with 52.23.194.42 the first time, then whatever `whonow --default-address`
# is set to forever after that (default: 127.0.0.1)
A.52.23.194.42.1time.rebind.network
محددات
قد تحتوي كل تسمية [نطاق فرعي] على صفر إلى 63 حرفًا ... لا يجوز أن يتجاوز اسم النطاق الكامل 253 حرفًا في تمثيل النص. (من صفحة DNS ويكيبيديا )بالإضافة إلى ذلك ، قد لا يكون هناك أكثر من 127 علامة / نطاقًا فرعيًا.
Gotchas
استخدم أسماء نطاقات
فريدة كل طلب اسم مجال فريد
whonow
لإنشاء برنامج صغير لحفظ الحالة في ذاكرة الوصول العشوائي للخادم. في المرة التالية التي يتم فيها طلب اسم المجال زيادة العداد البرنامج وقد يتم تحور الدولة. جميع أسماء النطاقات الفريدة هي مثيلاتها الفريدة الخاصة بالبرنامج .لتجنب التعارض مع المستخدمين الآخرين أو زيادة حالة برنامج اسم نطاقك دون قصد ، يجب إضافة نطاق فرعي UUID بعد تعريفات القاعدة. لا ينبغي أبدا إعادة استخدام هذا UUID.# this
A.127.0.0.1.1time.10.0.0.1.1time.repeat.8f058b82-4c39-4dfe-91f7-9b07bcd7fbd4.rebind.network
# not this
A.127.0.0.1.1time.10.0.0.1.1time.repeat.rebind.network
--max-ram-domains
يتم تخزين حالة البرنامج المرتبطة بكل اسم مجال فريد
whonow
في RAM. لتجنب نفاد ذاكرة الوصول العشوائي ، يتم وضع الحد الأعلى على عدد المجالات الفريدة التي يمكن إدارة حالة البرنامج في نفس الوقت. بشكل افتراضي ، يتم تعيين هذه القيمة إلى 10،000،000 ، ولكن يمكن تهيئتها باستخدام --max-ram-domains
. بمجرد الوصول إلى هذا الحد ، ستتم إزالة أسماء النطاقات وحالة البرنامج المحفوظة بالترتيب الذي تمت إضافته به (FIFO). تشغيل الخاص بك
whonow
الخادملتشغيل الخاص بك
whonow
الخادم في السحابة استخدام لوحة المشرف نطاق مزود اسم لتكوين خادم الأسماء لافتا مخصص لVPS الخاص بك. ثم قم بتثبيت whonow
ذلك VPS وتأكد من تشغيله على المنفذ 53 (منفذ DNS الافتراضي) ومن الوصول إلى المنفذ 53 للإنترنت.# install
npm install --cli -g whonow@latest
# run it!
whonow --port 53
استعمال
$ whonow --help
usage: whonow [-h] [-v] [-p PORT] [-d DEFAULT_ANSWER] [-b MAX_RAM_DOMAINS]
A malicious DNS server for executing DNS Rebinding attacks on the fly.
Optional arguments:
-h, --help Show this help message and exit.
-v, --version Show program's version number and exit.
-p PORT, --port PORT What port to run the DNS server on (default: 53).
-d DEFAULT_ANSWER, --default-answer DEFAULT_ANSWER
The default IP address to respond with if no rule is
found (default: "127.0.0.1").
-b MAX_RAM_DOMAINS, --max-ram-domains MAX_RAM_DOMAINS
The number of domain name records to store in RAM at
once. Once the number of unique domain names queried
surpasses this number domains will be removed from
memory in the order they were requested. Domains that
have been removed in this way will have their program
state reset the next time they are queried (default:
10000000).
اختبار
A
whonow
الملقم يجب أن تكون قيد التشغيل علىlocalhost:15353
أداء الاختبارات فيtest.js
# in one terminal
whonow -p 15353
# in another terminal
cd path/to/node_modules/whonow
npm test
Commentaires
Enregistrer un commentaire