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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/lachesis/scallion
كسر كلمات المرورالاستطلاعجمع المعلوماتالتشفير
GitHublachesis/scallion

scallion

مولّد هاش Onion يعمل على GPU

عرض المستودع
1.3k162منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

2020 Project Update

كان Scallion مشروعًا هواية لتعلم OpenCL و RSA. نحن لا نقوم حاليًا بصيانة scallion. لقد تعرض للتآكل البرمجي بطريقتين مهمتين:

  1. انتقل Tor إلى عناوين Onion من v3، والتي لا يدعمها scallion. ستتوقف عناوين v2 القديمة عن العمل في أكتوبر 2021. يستخدم المواصفات الجديدة بدائل تشفير مختلفة وهو أكثر تعقيدًا بشكل عام. الحيلة التي نستخدمها لتوليد دفعات من مفاتيح RSA على وحدة معالجة الرسومات لا تعمل بنفس الطريقة مع مفاتيح ECDSA الجديدة المطلوبة. من الممكن توليد مفاتيح ECDSA مماثلة (ولكن غير متوافقة) على وحدة معالجة الرسومات، لتوليد عناوين Bitcoin. انظر vanitygen-plus أو oclvanitygen القديم. للحصول على قائمة بأدوات توليد (تعتمد على وحدة المعالجة المركزية) تعمل مع خدمات Tor v3 المخفية، انظر منشور المدونة هذا.
  2. إصدار OpenSSL الذي نعتمد عليه قد تم إهماله وغير متوفر في معظم أنظمة التشغيل الحديثة. ليس من السهل الترقية، لأننا نستخدم بعض دوال الرياضيات منخفضة المستوى في OpenSSL غير متوفرة في روابط C# للإصدارات الأحدث. أنا شخصيًا أشغل Scallion باستخدام ملف dockerfile الخاص بـ nvidia، والذي يعتمد على Ubuntu 16.04 Xenial، والذي لا يزال يشحن OpenSSL القديم. هذا خيار فقط لمستخدمي GPU من Nvidia. يمكنك أيضًا محاولة بناء مكتبة OpenSSL القديمة والربط بها مباشرة، أو تشغيل إصدار أقدم من نظام التشغيل الخاص بك من USB مباشر أو آلة افتراضية (مع تمرير PCI-e).

مع الاهتمام والجهد الكافيين، سيكون من الممكن التغلب على كلا التحديين المذكورين أعلاه. يمكننا تنفيذ دعم لخوارزمية توليد مفاتيح ECDSA على GPU للحصول على دعم Tor v3. يمكننا تحديث OpenSSL واستبدال دوال الرياضيات بمكتبة مختلفة، أو إنشاء غلاف كود مُدار خاص بنا لمكتبة OpenSSL. ومع ذلك، سيكون من الأفضل على الأرجح إضافة دعم لعناوين Onion v3 إلى مشروع مُصان مثل vanitygen-plus.

Scallion

يتيح لك Scallion إنشاء مفاتيح GPG مخصصة وعناوين .onion (لـ خدمات Tor المخفية) باستخدام OpenCL.

يعمل Scallion على Mono (تم اختباره في Arch Linux) و .NET 3.5+ (تم اختباره على Windows 7 و Server 2008).

Scallion حاليًا في مرحلة تجريبية وتحت التطوير النشط. ومع ذلك، نشعر أنه جاهز للاستخدام. التحسينات متوقعة بشكل أساسي في الأداء وواجهة المستخدم وسهولة التثبيت، وليس في الخوارزمية العامة المستخدمة لتوليد المفاتيح.

Scallion متاح تحت رخصة MIT. إذا استخدمت كودًا من هذا المشروع في مشاريعك الخاصة، فسنقدر إبلاغنا بذلك على [email protected].

أسئلة شائعة

فيما يلي بعض الأسئلة المتداولة وإجاباتها:

  • لماذا إنشاء مفاتيح GPG؟

    تم استخدام Scallion للعثور على تصادمات لكل معرف مفتاح 32 بت في المجموعة القوية لشبكة الثقة، مما يوضح مدى عدم أمان معرفات المفاتيح 32 بت. كان/هناك محاضرة في DEFCON (فيديو) ويمكن العثور على معلومات إضافية على https://evil32.com/.

  • ما هي الأحرف الصالحة؟

    عناوين Tor .onion تستخدم Base32، وتتكون من جميع الحروف والأرقام من 2 إلى 7 شاملة. وهي غير حساسة لحالة الأحرف.

    بصمات GPG تستخدم نظام سداسي عشري، وتتكون من الأرقام 0-9 والحروف A-F.

  • هل يمكنك استخدام ASICs بيتكوين (مثل Jalapeno، KnC) لتسريع هذه العملية؟

    للأسف لا. بينما العملية التي يستخدمها Scallion متشابهة من الناحية المفاهيمية (زيادة nonce والتحقق من التجزئة)، فإن التفاصيل مختلفة (SHA-1 مقابل SHA-256 المزدوج لبيتكوين). علاوة على ذلك، ASICs بيتكوين سريعة جدًا لأنها مصممة خصيصًا لتطبيقات تعدين بيتكوين. على سبيل المثال، إليك ورقة البيانات لـ CoinCraft A-1، وهو ASIC لم يصدر أبدًا، ولكن من المحتمل أنه يشير إلى النهج العام. يرسل المتحكم الدقيق العمل في شكل آخر 128 بت من كتلة بيتكوين، والحالة الوسطى للتجزئة للبتات السابقة، وصعوبة الهدف، وأقصى nonce لتجربته. يختار ASIC الموقع لإدراج nonce، ويختار أي الكتل تحقق التجزئة. يتعين على Scallion إدراج nonce في موقع مختلف، ويتحقق من تطابق النمط بدلاً من مجرد "أقل من XXXX".

  • كيف يمكنك استخدام أجهزة متعددة؟

    قم بتشغيل عدة نسخ من Scallion. 😄 عمليات البحث في Scallion احتمالية، لذا لن تكرر العمل مع الجهاز الثاني. الدعم الحقيقي لأجهزة متعددة لن يكون صعبًا للغاية، لكنه أيضًا لن يضيف الكثير. لقد قمت بتشغيل عدة نسخ من scallion في tmux أو screen بنجاح كبير. ستحتاج فقط إلى إنهاء جميع المهام يدويًا عندما يعثر أحدها على نمط (أو كتابة سكربت شل لمراقبة ملف المخرجات وقتلهم جميعًا عند رؤية النتائج).

التبعيات

  • تثبيت وتكوين OpenCL وبرامج التشغيل ذات الصلة. راجع وثائق توزيعة Linux الخاصة بك.
  • OpenSSL. بالنسبة لنظام Windows، يتم تضمين DLLs المعدة مسبقًا لـ x86
  • على Windows فقط، VC++ Redistributable 2008

تحميل ملف ثنائي

هل تريد أحدث إصدار ثنائي فقط؟ احصل عليه من هنا.

بناء على Linux

المتطلبات الأساسية

  • احصل على أحدث mono لتوزيعة Linux الخاصة بك:

    http://www.mono-project.com/download/

  • تثبيت التبعيات الشائعة:

    root@kitploit:~
    sudo apt-get update
    sudo apt-get install libssl-dev mono-devel
    
  • بناء AMD/مصدر مفتوح sudo apt-get install ocl-icd-opencl-dev

  • بناء Nvidia sudo apt-get install nvidia-opencl-dev nvidia-opencl-icd

  • أخيرًا msbuild scallion.sln

Docker على Linux (وحدات معالجة رسومات Nvidia فقط)

  1. احصل على بيئة تشغيل حاوية nvidia-docker

  2. بناء الحاوية:

    root@kitploit:~
    docker build -t scallion -f Dockerfile.nvidia .
    
  3. التشغيل:

    root@kitploit:~
    docker run --runtime=nvidia -ti --rm scallion -l
    

    لقطة شاشة للمخرجات المتوقعة

بناء على Windows

  1. افتح 'scallion.sln' في VS Express for Desktop 2012
  2. قم ببناء الحل، لقد فعلت كل شيء في وضع التصحيح.

الاستخدام

إعادة تشغيل Scallion أثناء البحث لن تفقد "التقدم". إنه بحث احتمالي وScallion لا يحقق "تقدمًا"

سرد الأجهزة

root@kitploit:~
$ mono scallion/bin/Debug/scallion.exe -l

توليد تجزئة

root@kitploit:~
$ mono scallion/bin/Debug/scallion.exe -d 0 prefix
Cooking up some delicious scallions...
Using kernel optimized from file kernel.cl (Optimized4)
Using work group size 128
Compiling kernel... done.
Testing SHA1 hash...
CPU SHA-1: d3486ae9136e7856bc42212385ea797094475802
GPU SHA-1: d3486ae9136e7856bc42212385ea797094475802
Looks good!
LoopIteration:40  HashCount:671.09MH  Speed:9.5MH/s  Runtime:00:01:10  Predicted:00:00:56  Found new key! Found 1 unique keys.
<XmlMatchOutput>
  <GeneratedDate>2014-08-05T07:14:50.329955Z</GeneratedDate>
  <Hash>prefix64kxpwmzdz.onion</Hash>
  <PrivateKey>-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCmYmTnwGOCpsPOqvs5mZQbIM1TTqOHK1r6zGvpk61ZaT7z2BCE
FPvdTdkZ4tQ3/95ufjhPx7EVDjeJ/JUbT0QAW/YflzUfFJuBli0J2eUJzhhiHpC/
1d3rb6Uhnwvv3xSnfG8m7LeI/Ao3FLtyZFgGZPwsw3BZYyJn3sD1mJIJrQIEB/ZP
ZwKBgCTUQTR4zcz65zSOfo95l3YetVhfmApYcQQd8HTxgTqEsjr00XzW799ioIWt
vaKMCtJlkWLz4N1EqflOH3WnXsEkNA5AVFe1FTirijuaH7e46fuaPJWhaSq1qERT
eQT1jY2jytnsJT0VR7e2F83FKINjLeccnkkiVknsjrOPrzkXAkEA0Ky+vQdEj64e
iP4Rxc1NreB7oKor40+w7XSA0hyLA3JQjaHcseg/bqYxPZ5J4JkCNmjavGdM1v6E
OsVVaMWQ7QJBAMweWSWtLp6rVOvTcjZg+l5+D2NH+KbhHbNLBcSDIvHNmD9RzGM1
Xvt+rR0FA0wUDelcdJt0R29v2t19k2IBA8ECQFMDRoOQ+GBSoDUs7PUWdcXtM7Nt
QW350QEJ1hBJkG2SqyNJuepH4PIktjfytgcwQi9w7iFafyxcAAEYgj4HZw8CQAUI
3xXEA2yZf9/wYax6/Gm67cpKc3sgKVczFxsHhzEml6hi5u0FG7aNs7jQTRMW0aVF
P8Ecx3l7iZ6TeakqGhcCQGdhCaEb7bybAmwQ520omqfHWSte2Wyh+sWZXNy49EBg
d1mBig/w54sOBCUHjfkO9gyiANP/uBbR6k/bnmF4dMc=
-----END RSA PRIVATE KEY-----
</PrivateKey>
  <PublicModulusBytes>pmJk58BjgqbDzqr7OZmUGyDNU06jhyta+sxr6ZOtWWk+89gQhBT73U3ZGeLUN//ebn44T8exFQ43ifyVG09EAFv2H5c1HxSbgZYtCdnlCc4YYh6Qv9Xd62+lIZ8L798Up3xvJuy3iPwKNxS7cmRYBmT8LMNwWWMiZ97A9ZiSCa0=</PublicModulusBytes>
  <PublicExponentBytes>B/ZPZw==</PublicExponentBytes>
</XmlMatchOutput>
init: 491ms / 1 (491ms, 2.04/s)
generate key: 1193ms / 6 (198.83ms, 5.03/s)
cpu precompute: 10ms / 6 (1.67ms, 600/s)
total without init: 70640ms / 1 (70640ms, 0.01/s)
set buffers: 0ms / 40 (0ms, 0/s)
write buffers: 3ms / 40 (0.08ms, 13333.33/s)
read results: 67442ms / 40 (1686.05ms, 0.59/s)
check results: 185ms / 40 (4.63ms, 216.22/s)

9.50 million hashes per second

Stopping the GPU and shutting down...

التجزئة متعددة الأنماط

يدعم Scallion العثور على نمط واحد أو أكثر من أنماط متعددة من خلال صيغة تعبير عادي بدائية. يتم دعم فئات الأحرف فقط (مثل [abcd]). الحرف . يمثل أي حرف. عناوين Onion دائمًا بطول 16 حرفًا وبصمات GPG دائمًا بطول 40 حرفًا. يمكنك العثور على لاحقة بوضع $ في نهاية المطابقة (مثل DEAD$). أخيرًا، يمكن استخدام صيغة الأنابيب (مثل pattern1|pattern2) للعثور على أنماط متعددة. البحث عن أنماط متعددة (ضمن المعقول) لن ينتج عنه انخفاض كبير في السرعة. العديد من التعبيرات العادية ستنتج نمطًا واحدًا على GPU ولا تؤدي إلى تقليل السرعة.

بعض حالات الاستخدام مع أمثلة:

  • إنشاء بادئة متبوعة برقم لتحسين القراءة:

    root@kitploit:~
      mono scallion.exe prefix[234567]
    
  • البحث عن عدة أنماط في وقت واحد (ملاحظة: -c يجعل scallion يستمر في التوليد حتى بعد العثور على تطابق)

    root@kitploit:~
      mono scallion.exe -c prefix scallion hashes
      mono scallion.exe -c "prefix|scallion|hashes"
    
  • البحث عن اللاحقة "badbeef"

    root@kitploit:~
      mono scallion.exe .........badbeef
      mono scallion.exe --gpg badbeef$ # Generate GPG key
    
  • مثال معقد يشرح نفسه:

    root@kitploit:~
      mono scallion.exe "suffixa$|suffixb$|prefixa|prefixb|a.suffix$|a.test.$"
    

كيف يعمل Scallion؟

على مستوى عالٍ، يعمل Scallion على النحو التالي:

  1. توليد مفتاح RSA باستخدام OpenSSL على CPU
  2. إرسال المفتاح إلى GPU
  3. زيادة الأس العام للمفتاح
  4. تجزئة المفتاح
  5. إذا لم يكن المفتاح المُجزأ تصادمًا جزئيًا، اذهب إلى الخطوة 3
  6. إذا لم يجتز المفتاح اختبارات السلامة الموصى بها من PKCS #1 v2.1 (يتم التحقق على CPU) اذهب إلى الخطوة 3
  7. مفتاح جديد تمامًا مع تصادم جزئي!

الخوارزمية الأساسية موصوفة أعلاه. السرعة/الأداء هو نتيجة التوازي الهائل، سواء على GPU أو CPU.

السرعة / الأداء

من المهم إدراك أن Scallion يقوم ببحث احتمالي. قد تختلف الأوقات الفعلية بشكل كبير عن المتوقعة

توليد مفتاح RSA الأولي يتم على CPU. يمكن لـ ivybridge i7 توليد 51 مفتاحًا في الثانية باستخدام نواة واحدة. يمكن لكل مفتاح توفير 1 جيغاهاش من الأسس للتعدين ويمكن لوحدة معالجة مركزية لائقة مواكبة عدة GPUs كما هو مطبق حاليًا.

تجزئة SHA1 تتم على GPU. معدلات التجزئة لعدة GPUs اختبرناها أدناه (مجمعة حسب الشركة المصنعة ومرتبة حسب الطاقة):

MH/s = مليون تجزئة في الثانية

من الجدير بالذكر أن Intel أصدرت برامج تشغيل OpenCL لمعالجاتها ويمكن العثور على تصادمات قصيرة على CPU.

لحساب عدد الثواني المطلوبة لتصادم جزئي معين (في المتوسط)، استخدم الصيغة:

TypeEstimated time
GPG Key2^(4*length-1) / hashspeed
.onion Address2^(5*length-1) / hashspeed

على سبيل المثال على nVidia Quadro K2000M الخاص بي، أرى حوالي 90 MH/s. بهذه السرعة يمكنني توليد بادئة .onion من ثمانية أحرف في حوالي ساعة و41 دقيقة، 2^(5*8-1)/90 million = 101 دقيقة.

حجم مجموعة العمل

سيستخدم Scallion حجم مجموعة العمل المفضل المُبلَّغ عنه لجهازك افتراضيًا. هذا إعداد افتراضي معقول ولكن تجربة حجم مجموعة العمل قد تزيد الأداء.

الأمان

المفاتيح التي تم إنشاؤها بواسطة Scallion تشبه إلى حد كبير تلك التي تم إنشاؤها بواسطة shallot. لديها أسس عامة كبيرة بشكل غير عادي، ولكن يتم إخضاعها لمجموعة كاملة من اختبارات السلامة الموصى بها من PKCS #1 v2.1 عبر دالة RSA_check_key من openssl. يدعم Scallion عدة أحجام لمفاتيح RSA، مع نوى محسّنة لـ 1024b و 2048b و 4096b. قد تعمل أحجام مفاتيح أخرى، ولكن لم يتم اختبارها.

شكر / مراجع

  • يعتمد Scallion جزئيًا على shallot ومستوحى من vanitygen
  • تم تعديل تنفيذ OpenCL SHA-1 من NearSHA
  • يتضمن مكونات من OpenTK و OpenSSL-net

التبرعات

لا تتردد في توجيه التبرعات إلى عنوان البيتكوين: 1FxQcu6vhpwsqcTjPsjK43CZ9vjnuk4Hmo

تنزيل الأداة
GPUSpeed
Intel i7-2620M9.9 MH/s
Intel i5-5200U118 MH/s
NVIDIA GT 52038.7 MH/s
NVIDIA Quadro K2000M90 MH/s
NVIDIA GTS 250128 MH/s
NVIDIA GTS 450144 MH/s
NVIDIA GTX 670480 MH/s
NVIDIA GTX 9702350 MH/s
NVIDIA GTX 9803260 MH/s
NVIDIA GTX 1050 (M)1400 MH/s
NVIDIA GTX 10704140 MH/s
NVIDIA GTX 1070 TI5100 MH/s
NVIDIA GTX TITAN X4412 MH/s
NVIDIA GTX 10805760 MH/s
NVIDIA Tesla V10011646 MH/s
AMD A8-7600 APU120 MH/s
AMD Radeon HD5770520 MH/s
AMD Radeon HD6850600 MH/s
AMD Radeon RX 460840 MH/s
AMD Radeon RX 470957 MH/s
AMD Radeon R9 380X2058 MH/s
AMD FirePro W91002566 MH/s
AMD Radeon RX 4802700 MH/s
AMD Radeon RX 5803180 MH/s
AMD Radeon R9 Nano3325 MH/s
AMD Vega Frontier Edition7119 MH/s