
يستخرج بسرعة عناوين IP، عناوين البريد الإلكتروني، التجزئات (Hashes)، الملفات، بطاقات الائتمان، أرقام الضمان الاجتماعي، والكثير غيرها من النص.
DataSurgeon (ds) هي أداة متعددة الاستخدامات مصممة للاستجابة للحوادث، ومنع تسرب البيانات (DLP)، واختبار الاختراق، وتحديات CTF. تسمح باستخراج أنواع مختلفة من المعلومات الحساسة بما في ذلك عناوين البريد الإلكتروني، وأرقام الهواتف، والتجزئات، وبطاقات الائتمان، وعناوين URL، وعناوين IP، وعناوين MAC، وسجلات SRV DNS، وغيرها الكثير!
لمعرفة كيفية إدارة الإضافات، يرجى اتباع الدليل هنا.
يقدم هذا التحديث نظام إدارة الإضافات لـ DataSurgeon. يمكنك الآن إضافة وإزالة وعرض الإضافات باستخدام الخيارات --add و --remove و --list.
أضفت أيضًا إضافة جديدة، ds-winreg-plugin، التي يمكنها العثور على مسارات سجل ويندوز.
لإضافة إضافة جديدة، استخدم --add <URL>، حيث يكون الرابط مستودع GitHub يحتوي على ملف plugins.json. لإزالة إضافة، استخدم --remove <URL>. لعرض جميع الإضافات، استخدم الخيار --list.
بمجرد إضافة إضافة، يمكنك استخدامها كوسيطة في DataSurgeon. اسم الوسيطة هو "Argument Long Name" في ملف plugins.json الخاص بالإضافة.
يمكن أيضًا استخدام المثبت السريع لتحديث DataSurgeon.
قم بتثبيت Rust و Github ثم أعد تشغيل المحطة الطرفية.
read -p "Would you like to add 'ds' to your local bin? This will make 'ds' executable from any location in your terminal. (y/n) " response && wget -q -O - https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | bash -s -- "$response"
أدخل السطر التالي في نافذة PowerShell بصلاحيات مرتفعة.
IEX (New-Object Net.WebClient).DownloadString("https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.ps1")
أعد تشغيل المحطة الطرفية وستتمكن من استخدام ds من سطر الأوامر.
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | sh

هنا أستخدم wget لتقديم طلب إلى stackoverflow ثم أقوم بتوجيه نص الجسم إلى ds. الخيار -F سيعرض جميع الملفات التي تم العثور عليها. يُستخدم --clean لإزالة أي نص إضافي قد يتم إرجاعه (مثل HTML إضافي). ثم يتم إرسال النتيجة إلى uniq الذي يزيل أي ملفات غير فريدة تم العثور عليها. إذا أردت، يمكنك إزالة رسالة التحذير في الأعلى 'Reading standard input..' باستخدام -S.
$ wget -qO - https://www.stackoverflow.com | ds -F --clean | uniq

هنا أقوم بسحب جميع عناوين MAC الموجودة في ملف سجل autodeauth باستخدام استعلام -m. الخيار --hide سيعمل على إخفاء سلسلة المعرف أمام النتائج. في هذه الحالة، يتم إخفاء 'mac_address: ' من الإخراج. يُستخدم الخيار -T للتحقق من نفس السطر عدة مرات للعثور على تطابقات. عادةً، عند العثور على تطابق، تنتقل الأداة إلى السطر التالي بدلاً من التحقق مرة أخرى.
$ ./ds -m -T --hide -f /var/log/autodeauth/log
2023-02-26 00:28:19 - Sending 500 deauth frames to network: BC:2E:48:E5:DE:FF -- PrivateNetwork
2023-02-26 00:35:22 - Sending 500 deauth frames to network: 90:58:51:1C:C9:E1 -- TestNet
يمكنك استخدام الخيار --directory لقراءة جميع الملفات في الدليل المحدد بشكل متكرر. يُستخدم الخيار -D لعرض اسم الملف الذي تم العثور على التطابق فيه. يُستخدم -l أو --line لعرض رقم السطر الذي تم العثور على المحتوى فيه.
$ ds --directory test_dir/ -Dl

لإخراج نتائجك إلى ملف CSV، استخدم الخيار -o متبوعًا باسم الملف الذي تريد حفظ بياناتك فيه. يتم دعم -D و -X. الصيغة هي: ds -o <FILENAME>.csv (يلزم .csv).
$ wget -qO - https://www.stackoverflow.com | ds -o output.csv -C

عند عدم تقديم استعلام محدد، سيبحث ds في جميع أنواع البيانات الممكنة، وهو أبطأ بشكل كبير من استخدام استعلامات فردية. أبطأ استعلام هو --files. كما أن استخدام cat لتوجيه البيانات إلى ds أسرع قليلاً.
فيما يلي الوقت المنقضي عند معالجة ملف اختبار بحجم 5 جيجابايت تم إنشاؤه بواسطة ds-test. تم تشغيل كل اختبار 3 مرات وتم تسجيل متوسط الوقت.
Processor Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz, 2904 Mhz, 6 Core(s), 12 Logical Processor(s)
Ram 12.0 GB (11.9 GB usable)
| الأمر | السرعة |
|---|---|
cat test.txt | ds -t | 00h:02m:04s |
ds -t -f test.txt | 00h:02m:05s |
cat test.txt | ds -t -o output.txt | 00h:02m:06s |
| الأمر | السرعة | عدد الاستعلامات |
|---|---|---|
cat test.txt | ds -t -6 | 00h:00m:12s | 1 |
عند تقديم مشكلة جديدة، يرجى الإجابة على جميع الأسئلة في قالب الخطأ. سيتم إغلاق المشكلات التي لا تحتوي على معلومات كافية.
cat test.txt | ds -t -i -m |
| 00h:00m:22 |
| 2 |
cat test.txt | ds -tF6c | 00h:00m:32s | 3 |