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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SwishDbgExt — إضافة تصحيح الأخطاء للاستجابة للحوادث والتحقيق الرقمي الجنائي | Kitploit
أدوات/GitHubGitHub/magnetforensics/swishdbgext
تحليل الذاكرة الجنائيالهندسة العكسيةمصممي الأخطاءتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةالاستجابة للحوادث
GitHubmagnetforensics/swishdbgext

SwishDbgExt

إضافة تصحيح الأخطاء للاستجابة للحوادث والتحقيق الرقمي الجنائي

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

الأكثر شعبية

عرض الكل →

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

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

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

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

#SwishDbgExt

SwishDbgExt هي إضافة تصحيح أخطاء من Microsoft WinDbg تعمل على توسيع مجموعة الأوامر المتاحة من Microsoft WinDbg، كما تقوم بإصلاح وتحسين الأوامر الموجودة. تم تطوير هذه الإضافة بواسطة Matt Suiche (@msuiche) – لا تتردد في التواصل عبر [email protected] لطلب المزيد من الميزات، أو عرض المساهمة، و/أو الإبلاغ عن الأخطاء.

تهدف SwishDbgExt إلى تسهيل الحياة لمطوري النواة، ومحللي الأعطال، وخبراء الأمن من خلال سلسلة من أوامر التصحيح، والاستجابة للحوادث، وتحليل الذاكرة. نظرًا لأن SwishDbgExt هي إضافة تصحيح WinDbg، فهذا يعني أنه يمكن استخدامها في جلسات تصحيح النواة المحلية أو البعيدة، والجلسات الحية التي تم إنشاؤها بواسطة Microsoft LiveKd، وكذلك على تفريغات الأعطال من Microsoft الناتجة عن شاشة الموت الزرقاء أو الأدوات الهجينة مثل Comae DumpIt.

مسابقة 2016

مزيد من المعلومات على https://blog.comae.io/comae-2016-contest-swishdbgext-features-3c9a63c62209#.tnt1b9usx

التثبيت

يمكنك إما نسخ إضافة WinDbg في المجلد المقابل (x86 أو x64) الخاص بـ WinDbg أو تحميلها يدويًا باستخدام الأمر !load كما هو موضح أدناه. يرجى ملاحظة أنه لا يمكنك وجود مسافات أو علامات اقتباس في المسار الكامل لملف dll المستهدف ليتم تحميله. !load X:\FullPath\SwishDbgExt.dll

مثال:

root@kitploit:~
kd> !load E:\projects\labs\SwishDbgExt\bin\x64\SwishDbgExt.dll;
       SwishDbgExt v0.7.0 (Nov  2 2016) - Incident Response & Digital Forensics Debugging Extension
       SwishDbgExt Copyright (C) 2016 Comae Technologies FZE - http://www.comae.io
       SwishDbgExt Copyright (C) 2014-2016 Matthieu Suiche (@msuiche)

       This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
       This is free software, and you are welcome to redistribute it
       under certain conditions; type `show c' for details.

إذا كنت ترغب في تحديث قالب WinDbg الخاص بك إلى قالب أكثر توافقًا مع DML، يمكنك استيراد ملف windbg_template.reg المرفق مع الحزمة مباشرة.

TODO

  • تعريف الهياكل
  • تعريف الأوامر
  • الإعلان عن مسابقة الميزات.

الأوامر

!SwishDbgExt.help

يعرض معلومات حول أوامر الإضافة المتاحة.

هذا الأمر سيعطيك قائمة بجميع الأوامر إذا لم تحدد أي وسيطة، وسيعطيك قائمة بمعلمات أمر موجود إذا تم تحديده كوسيطة.

!ms_callbacks

عرض دوال الاستدعاء

!ms_checkcodecave

البحث عن فتحات الكود المستخدمة

!ms_consoles

عرض سجل الأوامر في وحدة التحكم

!ms_credentials

عرض بيانات اعتماد المستخدم (مستند إلى mimikatz الخاص بـ gentilwiki)

!ms_drivers

عرض قائمة ببرامج التشغيل. !ms_drivers سيعرض قائمة ببرامج التشغيل المحملة حاليًا. في هذا المثال، إليك بعض برامج التشغيل المحملة وقت الانهيار في هذا التفريغ النواة: باستخدام هذا الأمر، يمكننا أيضًا عرض معلومات IRP التفصيلية حول برنامج تشغيل معين: في الصورة أعلاه يمكننا رؤية موقع مكدس الإدخال/الإخراج الخاص ببرنامج التشغيل داخل IRP الخاص بـ e1cexpress.sys. هنا يمكننا رؤية رموز الوظائف مثل IRP_MJ_CREATE الذي يفتح كائن الجهاز الهدف، مما يشير إلى أنه موجود ومتاح لعمليات الإدخال/الإخراج.

!ms_dump

تفريغ مساحة الذاكرة على القرص

!ms_exqueue

عرض العمال في قائمة الانتظار (Ex queued workers).

الأمر !exqueue لا يعمل بشكل صحيح على Windows 8، لذلك تم تطبيق نسخة عاملة. تمامًا مثل الأمر الأصلي، يعرض هذا الأمر قائمة انتظار العمال الجاري تشغيلها.

!ms_fixit

إعادة تعيين التقسيم في WinDbg (إصلاح "16.kd>")

!ms_gdt

عرض GDT.

!ms_gdt يعرض جدول الواصف العام (Global Descriptor Table). لاحظ على x64 أن كل محدد يكون مسطحًا (0x0000000000000000 إلى 0xFFFFFFFFFFFFFFFF). يمكن أن يكون هذا الأمر مفيدًا جدًا للتحقق من أي ربط مشبوه في GDT، حيث أن محاولة القيام بذلك على x64 ستستدعي فحص خطأ. وذلك لأن x64 يحظر ربط GDT.

!ms_hivelist

عرض قائمة بخلايا التسجيل (registry hives).

ms_hivelist يعرض قائمة بخلايا التسجيل. يمكننا النظر مباشرة إلى خلية (على سبيل المثال \Registry\Machine\Software) لرؤية مفاتيحها الفرعية وقيمها وما إلى ذلك:

Alt text

!ms_idt

عرض IDT.

!ms_idt يعرض جدول واصف المقاطعة (Interrupt Descriptor Table). مشابه جدًا لـ GDT، إذا تم ربط IDT على نظام x64، فسيستدعي فحص خطأ. وذلك لأن Microsoft قامت (برمجيًا) بتنفيذ منع ربط IDT باستخدام برنامج تشغيل وضع النواة الذي يعترض عادةً استدعاءات IDT ثم يضيف معالجة خاصة به. لهذا السبب في الصورة أعلاه، نرى 'لا' على مدى البصر.

!ms_malscore

تحليل مساحة الذاكرة وإرجاع مؤشر تقييم البرامج الضارة (MSI) - (مبني على عمل Frank Boldewin)

!ms_mbr

مسح سجل الإقلاع الرئيسي (MBR)

!ms_netstat

عرض معلومات الشبكة (المقابس، الاتصالات، ...)

!ms_object

عرض قائمة الكائنات

!ms_process

عرض قائمة العمليات. !ms_process هو نسخة محسنة من !process و !dml_proc. من الأمور الجميلة التي يمكنك ملاحظتها أدناه هو استخدام لغة ترميز التصحيح (DML) مع الأوامر. جميع الأوامر المسطرة هي في الواقع روابط لأوامر. على سبيل المثال أدناه، يمكنك رؤية ناتج /vads /scan لمسح واصفات العنوان الافتراضي (VAD). يمكنك ملاحظة أن عمودًا واحدًا يعطي "مؤشر تقييم البرامج الضارة" والذي يمكن أن يكون مفيدًا للكشف عن الشيل كود أو heap-spray. في لقطة الشاشة أدناه، يمكنك رؤية درجة عالية بشكل غير طبيعي في عدة VADs – بسبب استخدام heap spray. بمجرد النقر على النتيجة، سيتم تشغيل خوارزمية المسح. خوارزمية المسح مبنية على أداة Frank Boldewin's OfficeMalScanner. وتعيد لك معلومات حول مكان الشيل كود: يمكن استخدام خيار /scan أيضًا على الدوال المصدرة لمعرفة ما إذا تم تعديل جدول عناوين التصدير (EAT) أو إذا تم تعديل البرولوج الخاص بالدالة.

اختبارات مماثلة متاحة لـ SSDT (!ms_ssdt).

!ms_readkcb

قراءة كتلة التحكم الرئيسية (key control block)

!ms_readknode

قراءة عقدة المفتاح (key node). كان الأمر !reg في WinDbg مصدر إحباط لفترة طويلة، بسبب بعض الأخطاء. لهذا السبب، تمتلك SwishDbgExt وظائف مستكشف التسجيل الخاصة بها لمحاولة جعل الوصول إلى بيانات التسجيل بسيطًا قدر الإمكان.

!ms_readkvalue

قراءة قيمة المفتاح

!ms_scanndishook

مسح وعرض خطافات NDIS المشبوهة

!ms_services

عرض قائمة الخدمات

!ms_ssdt

عرض دوال جدول واصف الخدمة (SDT). !ms_ssdt يعرض جدول توزيع خدمات النظام (System Service Dispatch Table). هذا الأمر مفيد جدًا في التحقيق في خطافات الروت كيت المشبوهة من خلال ما يعرف باسم التلاعب المباشر بكائنات النواة (DKOM). إذا رأيت روتينًا منخفض المستوى هنا يتم خطافه (مثل nt!NtEnumerateKey)، فهذا يمكن أن يساعدك في تحليلك بشأن احتمالية إصابة الروت كيت.

!ms_store

عرض المعلومات المتعلقة بمدير التخزين (ReadyBoost).

يسمح الأمر الحالي بإدراج ذاكرة التخزين المؤقت الحالية لـ ReadyBoost (يتطلب USB 3.0) المستخدمة من قبل نظام التشغيل، وكذلك عرض سجلات صفحات الذاكرة التي يديرها مدير التخزين. المعلمة: /cache

!ms_timers

عرض قائمة بـ KTIMER.

!ms_timers يعرض هيكل KTIMER، وهو هيكل غير شفاف يمثل ويحتوي على كائنات مؤقتة متنوعة. يمكن أن يكون هذا الأمر مفيدًا لمعرفة أي برامج تشغيل أنشأت أي كائنات مؤقتة، وأي برامج تشغيل استدعت أي روتينات، إلخ.

!ms_vacbs

عرض قائمة بـ VACBs المخزنة مؤقتًا

!ms_verbose

تشغيل/إيقاف وضع التفصيل (verbose mode)

!ms_lxss

ما يلي مبني على البحث الذي نشره Alex Ionescu والمتوفر هنا: https://github.com/ionescu007/lxss/

هذه الميزة متاحة على أنظمة Windows 10+ كميزة اختيارية يمكن تثبيتها عبر أمر PowerShell التالي:

root@kitploit:~
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

يمكنك قراءة المزيد حول النظام الفرعي لنظام Windows للينكس (WSL) على الروابط التالية:

  • https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/
  • https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-Architectural-Overview
  • https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
root@kitploit:~
	نظرة عامة على النظام الفرعي لنظام Windows للينكس.
	Instance 0xFFFFE704EEB8F010
	GUID: {E29032FD-35D3-4C53-AB68-6BCEBDA7176F}
	State:            (1) [STARTED]
	Creation Flags:   00000001
	GlobalData:       0xFFFFF802ED4138A0
	Root Handle:      80000834
	Temp Handle:      80000838
	Job Handle:       8000083c
	Token:            80000818
	Event Handle:     800008bc

	Map Paths (0):    0xFFFFE704EF437920
	VFS Context:      0xFFFFE704EEFC4710
	Memory Flags:     0x2

	Last PID:         35
	Thread Groups:    3
		Session 0xFFFFE704EDB79EC0
		Instance:         0xFFFFE704EEB8F010
		Console inode:    0x0
		Foreground PID:   -1
			Process Group 0xFFFFE704EDB79AE0
			Instance:      0xFFFFE704EEB8F010
			Session:       0xFFFFE704EDB79EC0
				Thread Group 0xFFFFE704EF4F8000
				Binary Path:           /init
				Thread(s):             1
				Owner Process Group:   0xFFFFE704EDB79AE0
				Flags:                 0x00000000
				Main Thread:           0xFFFFE704EF5CC010
				Arguments (006 bytes): 0x00007FFFC081D6E0
					Process 0xFFFFE704EF2F1D70
					Instance:            0xFFFFE704EEB8F010
					NT Process Object:   0xFFFFAE05E84EF800
					NT Process Handle:   0xFFFFFFFF80000F58
					VDSO Address:        0x00007FFFC0849000
					Stack Address:       0x00007FFFC001E000
		Session 0xFFFFE704EF5DB830
		Instance:         0xFFFFE704EEB8F010
		Console inode:    0xFFFFE704EF32D7A0
		Foreground PID:   2
			Process Group 0xFFFFE704EF5EF970
			Instance:      0xFFFFE704EEB8F010
			Session:       0xFFFFE704EF5DB830
				Thread Group 0xFFFFE704EF5EE000
				Binary Path:           /bin/bash
				Thread(s):             1
				Owner Process Group:   0xFFFFE704EF5EF970
				Flags:                 0x0000000C
				Main Thread:           0xFFFFE704EF5F8010
				Arguments (010 bytes): 0x00007FFFDF34E418
					Process 0xFFFFE704EDEF6EC0
					Instance:            0xFFFFE704EEB8F010
					NT Process Object:   0xFFFFAE05E84E6800
					NT Process Handle:   0xFFFFFFFF80000D9C
					VDSO Address:        0x00007FFFDF883000
					Stack Address:       0x00007FFFDEB4F000
		Session 0xFFFFE704EF0A8ED0
		Instance:         0xFFFFE704EEB8F010
		Console inode:    0xFFFFE704EF06B9C0
		Foreground PID:   19
			Process Group 0xFFFFE704F059CBC0
			Instance:      0xFFFFE704EEB8F010
			Session:       0xFFFFE704EF0A8ED0
				Thread Group 0xFFFFE704EDE51000
				Binary Path:           /bin/bash
				Thread(s):             1
				Owner Process Group:   0xFFFFE704F059CBC0
				Flags:                 0x0000000C
				Main Thread:           0xFFFFE704EDC78090
				Arguments (010 bytes): 0x00007FFFF78CFB78
					Process 0xFFFFE704F06389B0
					Instance:            0xFFFFE704EEB8F010
					NT Process Object:   0xFFFFAE05E618D800
					NT Process Handle:   0xFFFFFFFF80001650
					VDSO Address:        0x00007FFFF7C99000
					Stack Address:       0x00007FFFF70D0000

!ms_yarascan

مسح ذاكرة عملية باستخدام قواعد YARA.

مسح ذاكرة عملية.

root@kitploit:~
!ms_yarascan /pid 0x228 /yarafile /yarafile C:\Rules.yar

مسح ذاكرة جميع العمليات.

root@kitploit:~
!for_each_process "r? @$t0 = (nt!_EPROCESS *) @#Process; .process /r /p @$t0; !ms_yarascan /pid @@C++(@$t0->UniqueProcessId) /yarafile C:\\Rules.yar"

الفئات (Classes)

PEFile

MsPEImageFile يحتوي على المعلومات الأساسية المشتركة المستخدمة من قبل ملفات Windows الثنائية (PE) وقد تم اشتقاقه إلى ثلاث فئات مختلفة:

  • MsProcessObject
  • MsDllObject
  • MsDriverObject
تنزيل الأداة