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

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

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

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

دليل الأدوات

الفئات

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

avml

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

عرض المستودع
1.1k96منذ 4 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

AVML (التقاط الذاكرة المتطايرة لنظام Linux)

ملخص

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

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

الميزات

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

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

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

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

ملاحظة: إذا كانت خاصية kernel kernel_lockdown مفعلة، فلن يتمكن AVML من التقاط الذاكرة.

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

  • Ubuntu: 12.04, 14.04, 16.04, 18.04, 18.10, 19.04, 19.10, 20.04, 21.04, 22.04
  • Centos: 6.5, 6.6, 6.7, 6.8, 6.9, 6.10, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.9
  • RHEL: 6.7, 6.8, 6.9, 7.0, 7.2, 7.3, 7.4, 7.5, 7.7, 8.5, 9.0
  • Debian: 8, 9, 10, 11, 12
  • Oracle Linux: 6.8, 6.9, 6.10, 7.3, 7.4, 7.5, 7.6, 7.9, 8.5, 9.0
  • CBL-Mariner: 1.0, 2.0

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

avml هو ملف ثنائي واحد يحتوي على أوامر فرعية. كل أمر فرعي مُقيَّد بميزة Cargo، بحيث لا يتضمن البناء الأصغر سوى القدرة التي تحتاجها:

ابنِ ملفًا ثنائيًا بأمر acquire فقط باستخدام: cargo build --release --no-default-features.

البدء

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

على الجهاز الهدف:

root@kitploit:~
avml acquire --compress output.lime.compressed

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

على الجهاز الهدف:

root@kitploit:~
avml acquire output.lime

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

على جهاز آمن يحمل بيانات اعتماد az cli، أنشئ SAS URL.

root@kitploit:~
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 المُولَّد.

root@kitploit:~
avml acquire --sas-url ${SAS_URL} --delete output.lime

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

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

إلى Azure Block Blob Storage

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

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

على جهاز الجامع:

root@kitploit:~
nc -l 9000 > snapshot.lime

على الجهاز الهدف:

root@kitploit:~
avml stream tcp collector.example.com:9000

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

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

root@kitploit:~
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 يحتوي على المعلومات التالية:
root@kitploit:~
{
    "commandToExecute": "./avml acquire --compress --sas-url <GENERATED_SAS_URL> --delete",
    "fileUris": ["https://FULL.URL.TO.AVML.example.com/avml"]
}
  1. نفّذ ملحق customScript مع config.json المحدد
root@kitploit:~
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 المُولَّد.

root@kitploit:~
avml acquire --url ${URL} --delete output.lime

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

root@kitploit:~
avml convert ./compressed.lime ./uncompressed.lime

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

root@kitploit:~
avml convert --source-format lime --format lime_compressed ./uncompressed.lime ./compressed.lime

الاستخدام

root@kitploit:~
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

root@kitploit:~
# 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.

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

اعتمد هذا المشروع مدونة قواعد السلوك مفتوحة المصدر من Microsoft. لمزيد من المعلومات، راجع الأسئلة الشائعة حول مدونة قواعد السلوك أو تواصل مع [email protected] لأي أسئلة أو تعليقات إضافية.

الإبلاغ عن المشكلات الأمنية

يجب الإبلاغ عن المشكلات الأمنية والأخطاء بشكل خاص، عبر البريد الإلكتروني، إلى مركز استجابة الأمان من Microsoft (MSRC) على [email protected]. يجب أن تصلك استجابة خلال 24 ساعة. إذا لم تصلك لسبب ما، فيُرجى المتابعة عبر البريد الإلكتروني للتأكد من استلامنا رسالتك الأصلية. يمكن العثور على مزيد من المعلومات، بما في ذلك مفتاح MSRC PGP، في المركز التقني للأمان.

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