Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
avml — أداة محمولة لالتقاط ذاكرة الوصول العشوائي (RAM) في لينكس لأغراض التحليل الجنائي الرقمي والاستجابة للحوادث، تلتقط صورًا متوافقة مع LiME مع دعم الضغط الاختياري والبث عن بُعد. | Kitploit
أدوات/GitHubGitHub/microsoft/avml
تحليل الذاكرة الجنائيالتحقيق الجنائي الرقميالتحاليل الرقمية الجنائيةالاستجابة للحوادثالأفضل في التحاليل الرقمية الجنائية #10الأفضل في التحقيق الجنائي الرقمي #10الأفضل في الاستجابة للحوادث #11الأفضل في تحليل الذاكرة الجنائي #3
1.1k9658منذ يوم واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

avml

أداة محمولة لالتقاط ذاكرة الوصول العشوائي (RAM) في لينكس لأغراض التحليل الجنائي الرقمي والاستجابة للحوادث، تلتقط صورًا متوافقة مع LiME مع دعم الضغط الاختياري والبث عن بُعد.

عرض المستودع

AVML (الحصول على الذاكرة المتطايرة لنظام Linux)

الملخص

أداة محمولة للحصول على الذاكرة المتطايرة لنظام Linux.

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

الميزات

  • حفظ الصور المسجلة إلى مواقع خارجية عبر Azure Blob Store أو HTTP PUT
  • تعيد عمليات الرفع إلى Azure Blob Storage محاولة الفشل العابر عبر سياسة التراجع الأسي الافتراضية في Azure SDK (8 محاولات، بحد أقصى دقيقة واحدة من الوقت المنقضي).
  • ضغط اختياري على مستوى الصفحة باستخدام Snappy.
  • يستخدم تنسيق إخراج LiME (عند عدم استخدام الضغط).

مصادر الذاكرة

  • /dev/crash
  • /proc/kcore
  • /dev/mem

إذا لم يتم تحديد مصدر الذاكرة على سطر الأوامر، سيتنقل AVML عبر مصادر الذاكرة للعثور على مصدر فعّال.

ملاحظة: إذا كانت ميزة النواة kernel_lockdown مفعّلة، فلن يتمكن AVML من الحصول على الذاكرة.

التوزيعات المُختبرة

مصفوفة اختبار Azure VM معرّفة في eng/images.txt وتغطي حاليًا:

  • Ubuntu: 16.04, 18.04, 20.04, 22.04, 24.04, 26.04
  • CentOS: 7.9
  • RHEL: 7.9, 8.5, 8.10, 9.0, 9.8, 10.2
  • Debian: 11, 12, 13
  • Oracle Linux: 8.10, 9.8, 10.2
  • CBL-Mariner: 2.0
  • Azure Linux: 3.0
  • SUSE Linux Enterprise Server: 12 SP5, 15 SP7, 16.0
  • AlmaLinux: 8, 9, 10

الأوامر الفرعية

avml هو ملف ثنائي واحد بأوامر فرعية. كل أمر فرعي محكوم بميزة Cargo بحيث يتضمن البناء الأدنى فقط القدرة التي تحتاجها:

الأمر الفرعيالميزةافتراضيما يفعله
acquire(دائمًا)نعمأخذ لقطة للذاكرة إلى ملف محلي (مع رفع اختياري بعد ذلك).
convertconvertنعمالتحويل بين تنسيقات AVML / LiME / الخام.
uploaduploadنعمرفع ملف محلي عبر HTTP PUT أو إلى Azure Block Blob.
streamstreamنعمبث لقطة مباشرة إلى وجهة، دون ملف محلي.

ابنِ ملفًا ثنائيًا أدنى للحصول فقط باستخدام cargo build --release --no-default-features.

البدء

التقاط صورة ذاكرة مضغوطة

على المضيف الهدف:

avml acquire --compress output.lime.compressed

التقاط صورة ذاكرة غير مضغوطة

على المضيف الهدف:

avml acquire output.lime

التقاط صورة ذاكرة ورفعها إلى Azure Blob Store

على مضيف آمن مع بيانات اعتماد az cli، أنشئ SAS URL.

EXPIRY=$(date -d '1 day' '+%Y-%m-%dT%H:%MZ')
SAS_URL=$(az storage blob generate-sas --account-name ACCOUNT --container CONTAINER test.lime --full-uri --permissions c --output tsv --expiry ${EXPIRY})

على المضيف الهدف، نفّذ avml باستخدام رمز SAS المُنشأ.

avml acquire --sas-url ${SAS_URL} --delete output.lime

بث صورة ذاكرة دون الكتابة إلى القرص المحلي

للمضيفين الذين يكون فيها كتابة اللقطة إلى ملف محلي أولًا أمرًا غير مرغوب فيه (جذر للقراءة فقط، قرص محدود، مخاوف سلسلة الحيازة الجنائية)، استخدم الأمر الفرعي stream. يختار مصدر الذاكرة مرة واحدة في البداية (بنفس ترتيب التفضيل لمسار /dev/stdout في acquire — /proc/kcore، ثم /dev/crash، ثم /dev/mem؛ مرّر --source للتجاوز) ويكتب البايتات بالتسلسل إلى الوجهة المختارة. لا يمكن تغيير المصدر أثناء البث، لذا لا يوجد تراجع تلقائي عن المصدر.

إلى Azure Block Blob Storage

avml stream blob ${SAS_URL}
  • يُشتق حجم الكتلة تلقائيًا بحيث تتلاءم اللقطة مع حد 50,000 كتلة لكل blob في Azure. يعمل --sas-block-size (MiB) كـ حد أدنى؛ إذا كان الحد الأدنى المشتق أكبر، تفوز القيمة الأكبر.
  • يحدّ --sas-block-concurrency من عدد استدعاءات stage_block الجارية. ذروة الذاكرة العشوائية تقريبًا (concurrency + 1) * block_size.
  • إذا فشلت اللقطة أثناء الرفع، تُترك الكتل المُجهّزة دون تنفيذ؛ يتجاهلها Azure تلقائيًا وفقًا لسياسته القياسية.

إلى مستمع TCP بعيد

على مضيف المجمّع:

nc -l 9000 > snapshot.lime

على المضيف الهدف:

avml stream tcp collector.example.com:9000

يتصل avml مرة واحدة ويكتب اللقطة بالتسلسل. إذا انقطع الاتصال أثناء البث، تُلغى اللقطة؛ لا يوجد استئناف. لا يوجد TLS — اقترنه بنفق SSH أو stunnel للسرية والسلامة إذا لزم الأمر.

رفع لقطة تم التقاطها مسبقًا

avml upload put  ./output.lime ${URL}              # HTTP PUT
avml upload blob ./output.lime ${SAS_URL}          # Azure Block Blob

التقاط صورة ذاكرة لجهاز Azure VM باستخدام امتدادات VM

على مضيف آمن مع بيانات اعتماد az cli، قم بما يلي:

  1. أنشئ SAS URL (انظر أعلاه)
  2. أنشئ config.json يحتوي على المعلومات التالية:
{
    "commandToExecute": "./avml acquire --compress --sas-url <GENERATED_SAS_URL> --delete",
    "fileUris": ["https://FULL.URL.TO.AVML.example.com/avml"]
}
  1. نفّذ امتداد customScript مع config.json المحدد
az vm extension set -g RESOURCE_GROUP --vm-name VM_NAME --publisher Microsoft.Azure.Extensions -n customScript --settings config.json

للرفع إلى AWS S3 أو GCP Cloud Storage

على مضيف آمن، أنشئ S3 pre-signed URL أو أنشئ GCP pre-signed URL.

على المضيف الهدف، نفّذ avml باستخدام pre-signed URL المُنشأ.

avml acquire --url ${URL} --delete output.lime

لفك ضغط صورة مضغوطة بـ AVML

avml convert ./compressed.lime ./uncompressed.lime

لضغط صورة LiME غير مضغوطة

avml convert --source-format lime --format lime_compressed ./uncompressed.lime ./compressed.lime

الاستخدام

A portable volatile memory acquisition tool for Linux

Usage: avml <COMMAND>

Commands:
  acquire  Acquire a memory snapshot to a local file (and optionally upload it)
  convert  Convert between AVML and LiME snapshot formats and a raw memory image
  upload   Upload an already-acquired snapshot file to remote storage
  stream   Stream a memory snapshot directly to remote storage, without writing it to a local file
  help     Print this message or the help of the given subcommand(s)

شغّل avml <COMMAND> --help لخيارات كل أمر.

البناء على Ubuntu

# Install MUSL
sudo apt-get install musl-dev musl-tools musl

# Install Rust via rustup
curl https://sh.rustup.rs -sSf | sh -s -- -y

# Add the MUSL target for Rust
rustup target add x86_64-unknown-linux-musl

# Build
cargo build --release --target x86_64-unknown-linux-musl

# Build without upload functionality
cargo build --release --target x86_64-unknown-linux-musl --no-default-features

الاختبار على Azure

ستنشئ نصوص الاختبار وتستخدم وتنظف عددًا من مجموعات الموارد والأجهزة الافتراضية وحساب تخزين.

  1. ثبّت az cli
  2. سجّل الدخول إلى اشتراك Azure الخاص بك باستخدام: az login
  3. ابنِ avml (انظر أعلاه)
  4. ./eng/test-on-azure.sh

المساهمة

يرحب هذا المشروع بالمساهمات والاقتراحات. تتطلب معظم المساهمات منك الموافقة على اتفاقية ترخيص المساهم (CLA) التي تُقر بأن لديك الحق في، وتمنحنا فعليًا، حقوق استخدام مساهمتك. للتفاصيل، زُر https://cla.microsoft.com.

عند تقديم طلب سحب، سيحدد روبوت CLA تلقائيًا ما إذا كنت بحاجة إلى تقديم CLA ويزيّن طلب السحب بشكل مناسب (مثل التسمية والتعليق). ما عليك سوى اتباع الإرشادات التي يقدمها الروبوت. ستحتاج إلى القيام بذلك مرة واحدة فقط عبر جميع المستودعات التي تستخدم CLA الخاصة بنا.

تنزيل الأداة