Translated ['', 'src/generic-methodologies-and-resources/basic-forensic-

This commit is contained in:
Translator 2025-08-21 02:33:43 +00:00
parent 6bc2161900
commit 5aaf5445d3
2 changed files with 173 additions and 68 deletions

View File

@ -5,33 +5,33 @@
## Zaman Damgaları
Bir saldırgan, **dosyaların zaman damgalarını değiştirmekle** ilgilenebilir.\
Zaman damgalarını MFT içinde `$STANDARD_INFORMATION` \_\_ ve \_\_ `$FILE_NAME` özniteliklerinde bulmak mümkündür.
Zaman damgalarını, MFT içinde `$STANDARD_INFORMATION` \_\_ ve \_\_ `$FILE_NAME` özniteliklerinde bulmak mümkündür.
Her iki öznitelik de 4 zaman damgasına sahiptir: **Değiştirme**, **erişim**, **oluşturma** ve **MFT kayıt değişikliği** (MACE veya MACB).
**Windows gezgini** ve diğer araçlar, **`$STANDARD_INFORMATION`** içindeki bilgileri gösterir.
### TimeStomp - Anti-forensic Aracı
### TimeStomp - Anti-forensic Tool
Bu araç, **`$STANDARD_INFORMATION`** içindeki zaman damgası bilgilerini **değiştirir** **ama** **`$FILE_NAME`** içindeki bilgileri **değiştirmez**. Bu nedenle, **şüpheli** **etkinlikleri** **belirlemek** mümkündür.
Bu araç, **`$STANDARD_INFORMATION`** içindeki zaman damgası bilgilerini **değiştirir** **ancak** **`$FILE_NAME`** içindeki bilgileri **değiştirmez**. Bu nedenle, **şüpheli** **faaliyetleri** **belirlemek** mümkündür.
### Usnjrnl
**USN Journal** (Güncelleme Sırası Numarası Günlüğü), NTFS (Windows NT dosya sistemi) özelliğidir ve hacim değişikliklerini takip eder. [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) aracı, bu değişikliklerin incelenmesini sağlar.
**USN Journal** (Güncelleme Sırası Numarası Günlüğü), NTFS (Windows NT dosya sistemi) özelliğidir ve hacim değişikliklerini takip eder. [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) aracı, bu değişikliklerin incelenmesine olanak tanır.
![](<../../images/image (801).png>)
Önceki resim, dosya üzerinde bazı **değişikliklerin yapıldığını** gözlemleyebileceğimiz **aracın** gösterdiği **çıktıdır**.
Önceki resim, dosya üzerinde bazı **değişikliklerin yapıldığını** gözlemleyebileceğimiz **araç** tarafından gösterilen **çıktıdır**.
### $LogFile
**Bir dosya sistemine yapılan tüm meta veri değişiklikleri**, [ön yazma günlüğü](https://en.wikipedia.org/wiki/Write-ahead_logging) olarak bilinen bir süreçte kaydedilir. Kaydedilen meta veriler, NTFS dosya sisteminin kök dizininde bulunan `**$LogFile**` adlı bir dosyada tutulur. [LogFileParser](https://github.com/jschicht/LogFileParser) gibi araçlar, bu dosyayı ayrıştırmak ve değişiklikleri belirlemek için kullanılabilir.
**Bir dosya sistemine yapılan tüm meta veri değişiklikleri**, [write-ahead logging](https://en.wikipedia.org/wiki/Write-ahead_logging) olarak bilinen bir süreçte kaydedilir. Kaydedilen meta veriler, NTFS dosya sisteminin kök dizininde bulunan `**$LogFile**` adlı bir dosyada tutulur. [LogFileParser](https://github.com/jschicht/LogFileParser) gibi araçlar, bu dosyayı ayrıştırmak ve değişiklikleri belirlemek için kullanılabilir.
![](<../../images/image (137).png>)
Yine, aracın çıktısında **bazı değişikliklerin yapıldığını** görmek mümkündür.
Aynı aracı kullanarak **zaman damgalarının ne zaman değiştirildiğini** belirlemek mümkündür:
Aynı aracı kullanarak, **zaman damgalarının ne zaman değiştirildiğini** belirlemek mümkündür:
![](<../../images/image (1089).png>)
@ -48,28 +48,28 @@ Aynı aracı kullanarak **zaman damgalarının ne zaman değiştirildiğini** be
**NTFS** zaman damgalarının **kesinliği** **100 nanosecond**'dir. Bu nedenle, 2010-10-10 10:10:**00.000:0000 gibi zaman damgalarına sahip dosyaları bulmak **çok şüphelidir**.
### SetMace - Anti-forensic Aracı
### SetMace - Anti-forensic Tool
Bu araç, hem `$STARNDAR_INFORMATION` hem de `$FILE_NAME` özniteliklerini değiştirebilir. Ancak, Windows Vista'dan itibaren, bu bilgileri değiştirmek için canlı bir işletim sistemine ihtiyaç vardır.
## Veri Gizleme
NFTS, bir küme ve minimum bilgi boyutu kullanır. Bu, bir dosya bir buçuk küme kapladığında, **kalan yarımın asla kullanılmayacağı** anlamına gelir. Bu nedenle, bu boş alanda **veri gizlemek mümkündür**.
NFTS, bir küme ve minimum bilgi boyutu kullanır. Bu, bir dosya bir küme ve yarım küme kapladığında, **kalan yarımın asla kullanılmayacağı** anlamına gelir. Bu nedenle, bu boşlukta **veri gizlemek mümkündür**.
Slacker gibi, bu "gizli" alanda veri gizlemeye olanak tanıyan araçlar vardır. Ancak, `$logfile` ve `$usnjrnl` analizi, bazı verilerin eklendiğini gösterebilir:
![](<../../images/image (1060).png>)
Daha sonra, FTK Imager gibi araçlar kullanarak boş alanı geri almak mümkündür. Bu tür araçların içeriği obfuscate veya hatta şifreli olarak kaydedebileceğini unutmayın.
Bu nedenle, FTK Imager gibi araçlar kullanarak boş alanı geri almak mümkündür. Bu tür araçların içeriği obfuscate veya hatta şifreli olarak kaydedebileceğini unutmayın.
## UsbKill
Bu, **USB** portlarında herhangi bir değişiklik algılandığında bilgisayarı **kapatan** bir araçtır.\
Bu, **USB** portlarında herhangi bir değişiklik tespit edildiğinde bilgisayarı **kapatan** bir araçtır.\
Bunu keşfetmenin bir yolu, çalışan süreçleri incelemek ve **her bir python betiğini gözden geçirmektir**.
## Canlı Linux Dağıtımları
Bu dağıtımlar, **RAM** belleği içinde **çalıştırılır**. Onları tespit etmenin tek yolu, **NTFS dosya sisteminin yazma izinleriyle monte edilmesidir**. Sadece okuma izinleriyle monte edilirse, ihlali tespit etmek mümkün olmayacaktır.
Bu dağıtımlar **RAM** belleği içinde **çalıştırılır**. Onları tespit etmenin tek yolu, **NTFS dosya sisteminin yazma izinleriyle monte edilmesidir**. Sadece okuma izinleriyle monte edilirse, ihlali tespit etmek mümkün olmayacaktır.
## Güvenli Silme
@ -85,15 +85,15 @@ Bu, her çalıştırılan yürütülebilir dosyanın tarihlerini ve saatlerini k
UserAssist'i devre dışı bırakmak iki adım gerektirir:
1. UserAssist'i devre dışı bırakmak istediğimizi belirtmek için `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` ve `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled` adlı iki kayıt anahtarını sıfıra ayarlayın.
1. `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` ve `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled` adlı iki kayıt anahtarını sıfıra ayarlamak, UserAssist'in devre dışı bırakılmasını istediğimizi belirtmek için.
2. `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>` gibi görünen kayıt alt ağaçlarınızı temizleyin.
### Zaman Damgalarını Devre Dışı Bırak - Prefetch
Bu, Windows sisteminin performansını artırmak amacıyla çalıştırılan uygulamalar hakkında bilgi kaydedecektir. Ancak, bu adli uygulamalar için de faydalı olabilir.
Bu, Windows sisteminin performansını artırmak amacıyla çalıştırılan uygulamalar hakkında bilgi kaydedecektir. Ancak, bu adli uygulamalar için de yararlı olabilir.
- `regedit` komutunu çalıştırın
- Dosya yolunu `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters` olarak seçin
- `regedit` çalıştırın
- Dosya yolunu seçin `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters`
- Hem `EnablePrefetcher` hem de `EnableSuperfetch` üzerinde sağ tıklayın
- Her birinin değerini 1 (veya 3) yerine 0 olarak değiştirmek için Değiştir'i seçin
- Yeniden başlatın
@ -104,27 +104,27 @@ Bir NTFS hacminden bir klasör açıldığında, sistem, listedeki her klasör i
1. Kayıt Defteri Düzenleyicisini (Regedit.exe) açın.
2. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem` yoluna gidin.
3. `NtfsDisableLastAccessUpdate` anahtarını arayın. Eğer yoksa, bu DWORD'u ekleyin ve değerini 1 olarak ayarlayın, bu işlem devre dışı bırakılacaktır.
3. `NtfsDisableLastAccessUpdate` anahtarını arayın. Eğer yoksa, bu DWORD'u ekleyin ve değerini 1 olarak ayarlayın, bu işlemi devre dışı bırakacaktır.
4. Kayıt Defteri Düzenleyicisini kapatın ve sunucuyu yeniden başlatın.
### USB Geçmişini Sil
Tüm **USB Aygıt Girişleri**, bir USB Aygıtını PC veya Dizüstü Bilgisayarınıza taktığınızda oluşturulan alt anahtarları içeren **USBSTOR** kayıt anahtarı altında Windows Kayıt Defteri'nde saklanır. Bu anahtarı burada bulabilirsiniz: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Bunu silerek** USB geçmişini sileceksiniz.\
Tüm **USB Aygıt Girişleri**, bir USB Aygıtını PC veya Dizüstü Bilgisayarınıza taktığınızda oluşturulan alt anahtarları içeren **USBSTOR** kayıt anahtarı altında Windows Kayıt Defteri'nde saklanır. Bu anahtarı burada bulabilirsiniz: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Bunu silerek** USB geçmişini silmiş olursunuz.\
Ayrıca, bunları sildiğinizden emin olmak için [**USBDeview**](https://www.nirsoft.net/utils/usb_devices_view.html) aracını kullanabilirsiniz (ve silmek için).
USB'ler hakkında bilgi kaydeden bir diğer dosya, `C:\Windows\INF` içindeki `setupapi.dev.log` dosyasıdır. Bu dosya da silinmelidir.
### Gölge Kopyalarını Devre Dışı Bırak
**Gölge kopyalarını listeleyin**: `vssadmin list shadowstorage`\
**Silin**: `vssadmin delete shadow`
**Gölge kopyaları** listelemek için `vssadmin list shadowstorage`\
**Silmek için** `vssadmin delete shadow` komutunu çalıştırın.
Ayrıca, [https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html](https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html) adresinde önerilen adımları izleyerek GUI üzerinden de silebilirsiniz.
Gölge kopyalarını devre dışı bırakmak için [buradaki adımları](https://support.waters.com/KB_Inf/Other/WKB15560_How_to_disable_Volume_Shadow_Copy_Service_VSS_in_Windows) izleyin:
1. Windows başlat düğmesine tıkladıktan sonra metin arama kutusuna "services" yazarak Hizmetler programınıın.
2. Listeden "Hacim Gölge Kopyası"nı bulun, seçin ve sağ tıklayarak Özellikler'e erişin.
2. Listeden "Volume Shadow Copy"yi bulun, seçin ve sağ tıklayarak Özellikler'e erişin.
3. "Başlangıç türü" açılır menüsünden Devre Dışı seçeneğini seçin ve ardından değişikliği onaylamak için Uygula ve Tamam'a tıklayın.
Hangi dosyaların gölge kopyasında kopyalanacağını yapılandırmayı da kayıt defterinde `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot` yolunda değiştirmek mümkündür.
@ -136,7 +136,7 @@ Hangi dosyaların gölge kopyasında kopyalanacağını yapılandırmayı da kay
### Windows Olay Günlüklerini Sil
- Windows + R --> eventvwr.msc --> "Windows Günlükleri"ni genişletin --> Her bir kategoriye sağ tıklayın ve "Günlüğü Temizle"yi seçin
- Windows + R --> eventvwr.msc --> "Windows Günlükleri"ni genişletin --> Her kategoriye sağ tıklayın ve "Günlüğü Temizle"yi seçin
- `for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"`
- `Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }`
@ -154,7 +154,7 @@ Hangi dosyaların gölge kopyasında kopyalanacağını yapılandırmayı da kay
## Gelişmiş Günlükleme & İzleme Manipülasyonu (2023-2025)
### PowerShell ScriptBlock/Modül Günlüğü
### PowerShell ScriptBlock/Module Logging
Windows 10/11 ve Windows Server'ın son sürümleri, `Microsoft-Windows-PowerShell/Operational` altında **zengin PowerShell adli kalıntıları** tutar (olaylar 4104/4105/4106). Saldırganlar bunları anlık olarak devre dışı bırakabilir veya silebilir:
```powershell
@ -193,25 +193,102 @@ type cobalt.bin > report.pdf:win32res.dll
rem Execute directly
wmic process call create "cmd /c report.pdf:win32res.dll"
```
Akışları `dir /R`, `Get-Item -Stream *` veya Sysinternals `streams64.exe` ile listeleyin. Ana makine dosyasını FAT/exFAT'a veya SMB üzerinden kopyalamak, gizli akışı kaldırır ve bu, araştırmacılar tarafından yükü geri almak için kullanılabilir.
Akışları `dir /R`, `Get-Item -Stream *` veya Sysinternals `streams64.exe` ile listeleyin. Ana makine dosyasını FAT/exFAT'a veya SMB üzerinden kopyalamak gizli akışı kaldırır ve bu, araştırmacılar tarafından yükü geri almak için kullanılabilir.
### BYOVD & “AuKill” (2023)
Kendi Zayıf Sürücünüzü Getirin, fidye yazılımı ihlallerinde **anti-forensics** için artık rutin olarak kullanılmaktadır. Açık kaynaklı araç **AuKill**, şifreleme ve günlük yok etmeden **önce** EDR ve adli sensörleri askıya almak veya sonlandırmak için imzalı ancak zayıf bir sürücü (`procexp152.sys`) yükler:
Kendi Zayıf Sürücünüzü Getirin, fidye yazılımı saldırılarında **anti-forensics** için artık rutin olarak kullanılmaktadır. Açık kaynaklı araç **AuKill**, şifreleme ve günlük yok etmeden **önce** EDR ve adli sensörleri askıya almak veya sonlandırmak için imzalı ancak zayıf bir sürücü (`procexp152.sys`) yükler:
```cmd
AuKill.exe -e "C:\\Program Files\\Windows Defender\\MsMpEng.exe"
AuKill.exe -k CrowdStrike
```
Sürücü daha sonra kaldırılır ve minimal artefaktlar bırakır.
Sürücü daha sonra kaldırılır, minimum artefakt bırakır.
Önlemler: Microsoft'un savunmasız sürücü kara listesini (HVCI/SAC) etkinleştirin ve kullanıcı yazılabilir yollarından kernel hizmeti oluşturulması hakkında uyarı verin.
---
## Referanslar
## Linux Anti-Forensics: Kendinden Yamanma ve Bulut C2 (20232025)
- Sophos X-Ops “AuKill: EDR'yi Devre Dışı Bırakmak İçin Silahlandırılmış Savunmasız Sürücü” (Mart 2023)
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
- Red Canary “Gizlilik İçin EtwEventWrite'ı Yamanlama: Tespit ve Avlanma” (Haziran 2024)
https://redcanary.com/blog/etw-patching-detection
### Kendinden yamanmış tehlikeye atılmış hizmetler ile tespiti azaltma (Linux)
Düşmanlar, yeniden istismar edilmesini önlemek ve zafiyet tabanlı tespitleri bastırmak için bir hizmeti istismar ettikten hemen sonra giderek daha fazla "kendinden yamanma" yapmaktadır. Amaç, savunmasız bileşenleri en son meşru yukarı akış ikili/jar'ları ile değiştirmektir, böylece tarayıcılar ana bilgisayarı yamalı olarak rapor ederken kalıcılık ve C2 devam eder.
Örnek: Apache ActiveMQ OpenWire RCE (CVE202346604)
- İstismar sonrası, saldırganlar Maven Central'dan (repo1.maven.org) meşru jar'ları aldı, ActiveMQ kurulumundaki savunmasız jar'ları sildi ve aracıyı yeniden başlattı.
- Bu, diğer ayak izlerini (cron, SSH yapılandırma değişiklikleri, ayrı C2 implantları) korurken başlangıçtaki RCE'yi kapattı.
Operasyonel örnek (gösterim amaçlı)
```bash
# ActiveMQ install root (adjust as needed)
AMQ_DIR=/opt/activemq
cd "$AMQ_DIR"/lib
# Fetch patched JARs from Maven Central (versions as appropriate)
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.18.3/activemq-client-5.18.3.jar
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-openwire-legacy/5.18.3/activemq-openwire-legacy-5.18.3.jar
# Remove vulnerable files and ensure the service uses the patched ones
rm -f activemq-client-5.18.2.jar activemq-openwire-legacy-5.18.2.jar || true
ln -sf activemq-client-5.18.3.jar activemq-client.jar
ln -sf activemq-openwire-legacy-5.18.3.jar activemq-openwire-legacy.jar
# Apply changes without removing persistence
systemctl restart activemq || service activemq restart
```
Forensic/hunting tips
- Zamanlanmamış ikili/JAR değişiklikleri için hizmet dizinlerini gözden geçirin:
- Debian/Ubuntu: `dpkg -V activemq` ve dosya hash'lerini/yollarını repo aynalarıyla karşılaştırın.
- RHEL/CentOS: `rpm -Va 'activemq*'`
- Paket yöneticisi tarafından sahiplenilmeyen veya dışarıdan güncellenmiş sembolik bağlantılar için disk üzerinde mevcut JAR sürümlerini arayın.
- Zaman çizelgesi: `find "$AMQ_DIR" -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort` ile ctime/mtime'yi uzlaşma penceresi ile ilişkilendirin.
- Shell geçmişi/proses telemetresi: ilk istismar sonrası `curl`/`wget` ile `repo1.maven.org` veya diğer artefakt CDN'lerine dair kanıt.
- Değişiklik yönetimi: “yamanın” kim tarafından ve neden uygulandığını doğrulayın, sadece yamanın mevcut olduğunu değil.
### Cloudservice C2 with bearer tokens and antianalysis stagers
Gözlemlenen ticaret, birden fazla uzun mesafe C2 yolu ve anti-analiz paketlemesini birleştirdi:
- Sandbox'lamayı ve statik analizi engellemek için şifre korumalı PyInstaller ELF yükleyicileri (örneğin, şifreli PYZ, `/_MEI*` altında geçici çıkarım).
- Göstergeler: `strings` ile elde edilen `PyInstaller`, `pyi-archive`, `PYZ-00.pyz`, `MEIPASS` gibi.
- Çalışma zamanı artefaktları: `/tmp/_MEI*` veya özel `--runtime-tmpdir` yollarına çıkarım.
- Hardcoded OAuth Bearer token'ları kullanan Dropbox destekli C2
- Ağ işaretleri: `api.dropboxapi.com` / `content.dropboxapi.com` ile `Authorization: Bearer <token>`.
- Normalde dosya senkronize etmeyen sunucu iş yüklerinden Dropbox alanlarına dışa doğru HTTPS için proxy/NetFlow/Zeek/Suricata'da avlanın.
- Bir kanal engellendiğinde kontrolü koruyarak tünelleme (örneğin, Cloudflare Tunnel `cloudflared`) ile paralel/yedek C2.
- Ana bilgisayar IOCs: `cloudflared` süreçleri/birimleri, `~/.cloudflared/*.json` konfigürasyonu, Cloudflare kenarlarına dışa doğru 443.
### Persistence and “hardening rollback” to maintain access (Linux examples)
Saldırganlar genellikle kendini yamanayı dayanıklı erişim yollarıyla birleştirir:
- Cron/Anacron: her `/etc/cron.*/` dizinindeki `0anacron` stub'unda düzenlemeler yaparak periyodik yürütme.
- Avlanma:
```bash
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
grep -R --line-number -E 'curl|wget|python|/bin/sh' /etc/cron.*/* 2>/dev/null
```
- SSH yapılandırma sertleştirme geri alma: kök oturum açmalarını etkinleştirme ve düşük ayrıcalıklı hesaplar için varsayılan shell'leri değiştirme.
- Kök oturum açma etkinleştirmesini arayın:
```bash
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# "yes" gibi bayrak değerleri veya aşırı izinli ayarlar
```
- Sistem hesaplarında şüpheli etkileşimli shell'leri arayın (örneğin, `games`):
```bash
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
```
- Disk'e bırakılan ve aynı zamanda bulut C2 ile iletişim kuran rastgele, kısa adlandırılmış beacon artefaktları (8 alfabetik karakter):
- Avlanma:
```bash
find / -maxdepth 3 -type f -regextype posix-extended -regex '.*/[A-Za-z]{8}$' \
-exec stat -c '%n %s %y' {} \; 2>/dev/null | sort
```
Savunucular, bu artefaktları dışa açılma ve hizmet yamanma olaylarıyla ilişkilendirerek, ilk istismarı gizlemek için kullanılan anti-forensic kendiliğinden düzeltmeyi ortaya çıkarmalıdır.
## References
- Sophos X-Ops “AuKill: A Weaponized Vulnerable Driver for Disabling EDR” (Mart 2023)
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
- Red Canary “Patching EtwEventWrite for Stealth: Detection & Hunting” (Haziran 2024)
https://redcanary.com/blog/etw-patching-detection
- [Red Canary Patching for persistence: How DripDropper Linux malware moves through the cloud](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
- [CVE202346604 Apache ActiveMQ OpenWire RCE (NVD)](https://nvd.nist.gov/vuln/detail/CVE-2023-46604)
{{#include ../../banners/hacktricks-training.md}}

View File

@ -6,7 +6,7 @@
### Temel Bilgiler
Öncelikle, üzerinde **iyi bilinen ikili dosyalar ve kütüphaneler bulunan bir **USB** bulundurmanız önerilir** (sadece ubuntu alıp _/bin_, _/sbin_, _/lib,_ ve _/lib64_ klasörlerini kopyalayabilirsiniz), ardından USB'yi bağlayın ve bu ikili dosyaları kullanmak için ortam değişkenlerini değiştirin:
Öncelikle, üzerinde **iyi bilinen ikili dosyalar ve kütüphaneler bulunan** bir **USB**'ye sahip olmanız önerilir (sadece ubuntu alıp _/bin_, _/sbin_, _/lib,_ ve _/lib64_ klasörlerini kopyalayabilirsiniz), ardından USB'yi bağlayın ve bu ikili dosyaları kullanmak için ortam değişkenlerini değiştirin:
```bash
export PATH=/mnt/usb/bin:/mnt/usb/sbin
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
@ -33,8 +33,8 @@ find /directory -type f -mtime -1 -print #Find modified files during the last mi
Temel bilgileri elde ederken, tuhaf şeyler için kontrol etmelisiniz:
- **Root süreçleri** genellikle düşük PID'lerle çalışır, bu nedenle büyük bir PID'ye sahip bir root süreci bulursanız şüphelenebilirsiniz.
- `/etc/passwd` içinde shell'i olmayan kullanıcıların **kayıtlı oturum açmalarını** kontrol edin.
- **Root süreçleri** genellikle düşük PID'lerle çalışır, bu yüzden büyük bir PID'ye sahip bir root süreci bulursanız şüphelenebilirsiniz.
- `/etc/passwd` içinde shell'i olmayan kullanıcıların **kayıtlı girişlerini** kontrol edin.
- Shell'i olmayan kullanıcılar için `/etc/shadow` içinde **şifre hash'lerini** kontrol edin.
### Bellek Dökümü
@ -42,11 +42,11 @@ Temel bilgileri elde ederken, tuhaf şeyler için kontrol etmelisiniz:
Çalışan sistemin belleğini elde etmek için [**LiME**](https://github.com/504ensicsLabs/LiME) kullanmanız önerilir.\
Bunu **derlemek** için, kurban makinesinin kullandığı **aynı çekirdek** ile çalışmalısınız.
> [!NOTE]
> [!TIP]
> Kurban makinesine **LiME veya başka bir şey** yükleyemeyeceğinizi unutmayın, çünkü bu makinede birçok değişiklik yapacaktır.
Bu nedenle, eğer aynı Ubuntu sürümüne sahipseniz `apt-get install lime-forensics-dkms` kullanabilirsiniz.\
Diğer durumlarda, [**LiME**](https://github.com/504ensicsLabs/LiME) 'yi github'dan indirip doğru çekirdek başlıkları ile derlemeniz gerekir. Kurban makinesinin **tam çekirdek başlıklarını** elde etmek için, sadece `/lib/modules/<kernel version>` dizinini makinenize **kopyalayabilir** ve ardından bunları kullanarak LiME'yi **derleyebilirsiniz**:
Diğer durumlarda, [**LiME**](https://github.com/504ensicsLabs/LiME) github'dan indirmeniz ve doğru çekirdek başlıkları ile derlemeniz gerekir. Kurban makinesinin **tam çekirdek başlıklarını** elde etmek için, sadece `/lib/modules/<kernel version>` dizinini makinenize **kopyalayabilir** ve ardından bunları kullanarak LiME'yi **derleyebilirsiniz**:
```bash
make -C /lib/modules/<kernel version>/build M=$PWD
sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
@ -54,7 +54,7 @@ sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
LiME 3 **formatı** destekler:
- Ham (her segment bir araya getirilmiş)
- Doldurulmuş (ham ile aynı, ancak sağ bitlerde sıfırlarla)
- Doldurulmuş (ham ile aynı, ancak sağ bitlerde sıfırlar ile)
- Lime (meta verilerle önerilen format)
LiME ayrıca **dökümü ağ üzerinden göndermek için** de kullanılabilir, bunu yapmak için şöyle bir şey kullanabilirsiniz: `path=tcp:4444`
@ -63,12 +63,12 @@ LiME ayrıca **dökümü ağ üzerinden göndermek için** de kullanılabilir, b
#### Sistemi kapatma
Öncelikle, **sistemi kapatmanız** gerekecek. Bu her zaman bir seçenek değildir çünkü bazen sistem, şirketin kapatmayı göze alamayacağı bir üretim sunucusu olabilir.\
Sistemi kapatmanın **2 yolu** vardır, bir **normal kapatma** ve bir **"fişi çekme" kapatması**. İlk yöntem, **işlemlerin normal şekilde sonlanmasına** ve **dosya sisteminin** **senkronize edilmesine** izin verir, ancak aynı zamanda olası **kötü amaçlı yazılımın** **delilleri yok etmesine** de olanak tanır. "Fişi çekme" yaklaşımı, **bazı bilgi kaybı** taşıyabilir (bilgilerin çoğu kaybolmayacak çünkü zaten belleğin bir görüntüsünü aldık) ve **kötü amaçlı yazılımın** bununla ilgili bir şey yapma fırsatı olmayacaktır. Bu nedenle, eğer **kötü amaçlı yazılım** olabileceğinden **şüpheleniyorsanız**, sistemde **`sync`** **komutunu** çalıştırın ve fişi çekin.
Öncelikle, **sistemi kapatmanız** gerekecek. Bu her zaman bir seçenek değildir çünkü bazı durumlarda sistem, şirketin kapatmayı göze alamayacağı bir üretim sunucusu olabilir.\
Sistemi kapatmanın **2 yolu** vardır, bir **normal kapatma** ve bir **"fişi çekme" kapatması**. İlk yöntem, **işlemlerin normal şekilde sonlanmasına** ve **dosya sisteminin** **senkronize edilmesine** izin verir, ancak aynı zamanda olası **kötü amaçlı yazılımın** **kanıtları yok etmesine** de olanak tanır. "Fişi çekme" yaklaşımı, **bazı bilgi kaybı** taşıyabilir (bilgilerin çoğu kaybolmayacak çünkü zaten belleğin bir görüntüsünü aldık) ve **kötü amaçlı yazılımın** bununla ilgili bir şey yapma fırsatı olmayacaktır. Bu nedenle, eğer **kötü amaçlı yazılım** olabileceğinden **şüpheleniyorsanız**, sistemde **`sync`** **komutunu** çalıştırın ve fişi çekin.
#### Diskin görüntüsünü alma
**Bilgisayarınızı davayla ilgili herhangi bir şeye bağlamadan önce**, bunun **sadece okunur olarak** bağlanacağından emin olmanız önemlidir, böylece herhangi bir bilgiyi değiştirmemiş olursunuz.
**Dava ile ilgili herhangi bir şeye bilgisayarınızı bağlamadan önce**, bunun **sadece okunur olarak monte edileceğinden** emin olmanız önemlidir, böylece herhangi bir bilgiyi değiştirmemiş olursunuz.
```bash
#Create a raw copy of the disk
dd if=<subject device> of=<image file> bs=512
@ -139,7 +139,7 @@ ThisisTheMasterSecret
Linux, potansiyel olarak sorunlu dosyaları tespit etmek için sistem bileşenlerinin bütünlüğünü sağlamak için araçlar sunar.
- **RedHat tabanlı sistemler**: Kapsamlı bir kontrol için `rpm -Va` kullanın.
- **Debian tabanlı sistemler**: İlk doğrulama için `dpkg --verify` kullanın, ardından `debsums | grep -v "OK$"` (önce `apt-get install debsums` ile `debsums` yükledikten sonra) ile herhangi bir sorunu tespit edin.
- **Debian tabanlı sistemler**: İlk doğrulama için `dpkg --verify` kullanın, ardından `debsums | grep -v "OK$"` (önce `debsums`'ı `apt-get install debsums` ile yükledikten sonra) ile herhangi bir sorunu tespit edin.
### Kötü Amaçlı Yazılım/Rootkit Tespit Cihazları
@ -151,7 +151,7 @@ malware-analysis.md
## Yüklenmiş Programları Ara
Debian ve RedHat sistemlerinde yüklenmiş programları etkili bir şekilde aramak için, sistem günlüklerini ve veritabanlarını manuel kontrollerle birlikte kullanmayı düşünün.
Debian ve RedHat sistemlerinde yüklenmiş programları etkili bir şekilde aramak için, sistem günlüklerini ve veritabanlarını kullanmanın yanı sıra yaygın dizinlerde manuel kontroller yapmayı düşünün.
- Debian için, paket yüklemeleri hakkında bilgi almak için _**`/var/lib/dpkg/status`**_ ve _**`/var/log/dpkg.log`**_ dosyalarını kontrol edin, belirli bilgileri filtrelemek için `grep` kullanın.
- RedHat kullanıcıları, yüklenmiş paketleri listelemek için `rpm -qa --root=/mntpath/var/lib/rpm` ile RPM veritabanını sorgulayabilir.
@ -174,13 +174,13 @@ find / -type f -executable | grep <something>
```
## Silinmiş Çalışan İkili Dosyaları Kurtarma
/tmp/exec konumundan çalıştırılan ve ardından silinen bir süreci hayal edin. Onu çıkarmak mümkündür.
/tmp/exec' den çalıştırılan ve ardından silinen bir süreci hayal edin. Onu çıkarmak mümkündür.
```bash
cd /proc/3746/ #PID with the exec file deleted
head -1 maps #Get address of the file. It was 08048000-08049000
dd if=mem bs=1 skip=08048000 count=1000 of=/tmp/exec2 #Recorver it
```
## Autostart konumlarını denetle
## Autostart konumlarını İncele
### Zamanlanmış Görevler
```bash
@ -196,14 +196,40 @@ cat /var/spool/cron/crontabs/* \
#MacOS
ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/
```
#### Hunt: Cron/Anacron kötüye kullanımı 0anacron ve şüpheli stub'lar aracılığıyla
Saldırganlar genellikle her /etc/cron.*/ dizininde bulunan 0anacron stub'unu düzenleyerek periyodik yürütmeyi garanti ederler.
```bash
# List 0anacron files and their timestamps/sizes
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
# Look for obvious execution of shells or downloaders embedded in cron stubs
grep -R --line-number -E 'curl|wget|/bin/sh|python|bash -c' /etc/cron.*/* 2>/dev/null
```
#### Hunt: SSH hardening rollback and backdoor shells
sshd_config ve sistem hesap kabuklarındaki değişiklikler, erişimi korumak için yaygın olarak postexploitation'da yapılır.
```bash
# Root login enablement (flag "yes" or lax values)
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# System accounts with interactive shells (e.g., games → /bin/sh)
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
```
#### Hunt: Cloud C2 işaretleri (Dropbox/Cloudflare Tunnel)
- Dropbox API işaretleri genellikle api.dropboxapi.com veya content.dropboxapi.com'u HTTPS üzerinden Authorization: Bearer tokenları ile kullanır.
- Sunuculardan beklenmeyen Dropbox çıkışları için proxy/Zeek/NetFlow'da avlanın.
- Cloudflare Tunnel (`cloudflared`), çıkış 443 üzerinden yedek C2 sağlar.
```bash
ps aux | grep -E '[c]loudflared|trycloudflare'
systemctl list-units | grep -i cloudflared
```
### Hizmetler
Kötü amaçlı yazılımın bir hizmet olarak kurulabileceği yollar:
Kötü amaçlı yazılımların bir hizmet olarak kurulabileceği yollar:
- **/etc/inittab**: rc.sysinit gibi başlatma betiklerini çağırır, daha sonra başlatma betiklerine yönlendirir.
- **/etc/rc.d/** ve **/etc/rc.boot/**: Hizmet başlatma betiklerini içerir, ikincisi daha eski Linux sürümlerinde bulunur.
- **/etc/init.d/**: Debian gibi belirli Linux sürümlerinde başlatma betiklerini depolamak için kullanılır.
- Hizmetler ayrıca Linux varyantına bağlı olarak **/etc/inetd.conf** veya **/etc/xinetd/** üzerinden de etkinleştirilebilir.
- Hizmetler, Linux varyantına bağlı olarak **/etc/inetd.conf** veya **/etc/xinetd/** üzerinden de etkinleştirilebilir.
- **/etc/systemd/system**: Sistem ve hizmet yöneticisi betikleri için bir dizin.
- **/etc/systemd/system/multi-user.target.wants/**: Çok kullanıcılı çalışma seviyesinde başlatılması gereken hizmetlere bağlantılar içerir.
- **/usr/local/etc/rc.d/**: Özel veya üçüncü taraf hizmetler için.
@ -212,7 +238,7 @@ Kötü amaçlı yazılımın bir hizmet olarak kurulabileceği yollar:
### Çekirdek Modülleri
Kötü amaçlı yazılım tarafından genellikle rootkit bileşenleri olarak kullanılan Linux çekirdek modülleri, sistem önyüklemesi sırasında yüklenir. Bu modüller için kritik dizinler ve dosyalar şunlardır:
Kötü amaçlı yazılımlar tarafından genellikle rootkit bileşenleri olarak kullanılan Linux çekirdek modülleri, sistem önyüklemesi sırasında yüklenir. Bu modüller için kritik dizinler ve dosyalar şunlardır:
- **/lib/modules/$(uname -r)**: Çalışan çekirdek sürümü için modülleri tutar.
- **/etc/modprobe.d**: Modül yüklemeyi kontrol etmek için yapılandırma dosyalarını içerir.
@ -220,7 +246,7 @@ Kötü amaçlı yazılım tarafından genellikle rootkit bileşenleri olarak kul
### Diğer Otomatik Başlatma Yerleri
Linux, kullanıcı girişi sırasında programları otomatik olarak çalıştırmak için çeşitli dosyalar kullanır, bu da kötü amaçlı yazılımları barındırma potansiyeline sahiptir:
Linux, kullanıcı girişi sırasında programları otomatik olarak çalıştırmak için çeşitli dosyalar kullanır, bu da kötü amaçlı yazılımlara ev sahipliği yapabilir:
- **/etc/profile.d/**\*, **/etc/profile**, ve **/etc/bash.bashrc**: Herhangi bir kullanıcı girişi için çalıştırılır.
- **\~/.bashrc**, **\~/.bash_profile**, **\~/.profile**, ve **\~/.config/autostart**: Kullanıcıya özgü dosyalar, kullanıcı girişinde çalışır.
@ -228,7 +254,7 @@ Linux, kullanıcı girişi sırasında programları otomatik olarak çalıştır
## Günlükleri İnceleyin
Linux sistemleri, kullanıcı etkinliklerini ve sistem olaylarını çeşitli günlük dosyaları aracılığıyla takip eder. Bu günlükler, yetkisiz erişim, kötü amaçlı yazılım enfeksiyonları ve diğer güvenlik olaylarını tanımlamak için kritik öneme sahiptir. Anahtar günlük dosyaları şunlardır:
Linux sistemleri, kullanıcı etkinliklerini ve sistem olaylarını çeşitli günlük dosyaları aracılığıyla takip eder. Bu günlükler, yetkisiz erişimi, kötü amaçlı yazılım enfeksiyonlarını ve diğer güvenlik olaylarını tanımlamak için kritik öneme sahiptir. Anahtar günlük dosyaları şunlardır:
- **/var/log/syslog** (Debian) veya **/var/log/messages** (RedHat): Sistem genelindeki mesajları ve etkinlikleri yakalar.
- **/var/log/auth.log** (Debian) veya **/var/log/secure** (RedHat): Kimlik doğrulama girişimlerini, başarılı ve başarısız girişleri kaydeder.
@ -237,7 +263,7 @@ Linux sistemleri, kullanıcı etkinliklerini ve sistem olaylarını çeşitli g
- **/var/log/maillog** veya **/var/log/mail.log**: E-posta sunucusu etkinliklerini kaydeder, e-posta ile ilgili hizmetleri takip etmek için yararlıdır.
- **/var/log/kern.log**: Hata ve uyarılar da dahil olmak üzere çekirdek mesajlarını saklar.
- **/var/log/dmesg**: Aygıt sürücü mesajlarını tutar.
- **/var/log/faillog**: Başarısız giriş girişimlerini kaydeder, güvenlik ihlali soruşturmalarına yardımcı olur.
- **/var/log/faillog**: Başarısız giriş girişimlerini kaydeder, güvenlik ihlali araştırmalarında yardımcı olur.
- **/var/log/cron**: Cron işlerinin yürütülmelerini kaydeder.
- **/var/log/daemon.log**: Arka plan hizmeti etkinliklerini takip eder.
- **/var/log/btmp**: Başarısız giriş girişimlerini belgeler.
@ -246,8 +272,8 @@ Linux sistemleri, kullanıcı etkinliklerini ve sistem olaylarını çeşitli g
- **/var/log/xferlog**: FTP dosya transferlerini kaydeder.
- **/var/log/**: Burada beklenmedik günlükleri her zaman kontrol edin.
> [!NOTE]
> Linux sistem günlükleri ve denetim alt sistemleri, bir ihlal veya kötü amaçlı yazılım olayında devre dışı bırakılabilir veya silinebilir. Çünkü Linux sistemlerindeki günlükler genellikle kötü niyetli etkinlikler hakkında en yararlı bilgileri içerir, saldırganlar bunları düzenli olarak siler. Bu nedenle, mevcut günlük dosyalarını incelerken, silinme veya müdahale belirtisi olabilecek boşluklar veya düzensiz girişler aramak önemlidir.
> [!TIP]
> Linux sistem günlükleri ve denetim alt sistemleri, bir ihlal veya kötü amaçlı yazılım olayı sırasında devre dışı bırakılabilir veya silinebilir. Çünkü Linux sistemlerindeki günlükler genellikle kötü niyetli etkinlikler hakkında en yararlı bilgileri içerir, bu nedenle saldırganlar bunları düzenli olarak siler. Bu nedenle, mevcut günlük dosyalarını incelerken, silinme veya müdahale belirtisi olabilecek boşluklar veya düzensiz girişler aramak önemlidir.
**Linux, her kullanıcı için bir komut geçmişi tutar**, şu dosyalarda saklanır:
@ -259,10 +285,10 @@ Linux sistemleri, kullanıcı etkinliklerini ve sistem olaylarını çeşitli g
Ayrıca, `last -Faiwx` komutu kullanıcı girişlerinin bir listesini sağlar. Bilinmeyen veya beklenmedik girişler için kontrol edin.
Ek rprivilejeleri verebilecek dosyaları kontrol edin:
Ek rprivileges verebilecek dosyaları kontrol edin:
- Verilen beklenmedik kullanıcı ayrıcalıkları için `/etc/sudoers` dosyasını gözden geçirin.
- Verilen beklenmedik kullanıcı ayrıcalıkları için `/etc/sudoers.d/` dosyasını gözden geçirin.
- Beklenmedik kullanıcı ayrıcalıkları verilmiş olabileceğinden `/etc/sudoers` dosyasını gözden geçirin.
- Beklenmedik kullanıcı ayrıcalıkları verilmiş olabileceğinden `/etc/sudoers.d/` dosyasını gözden geçirin.
- Herhangi bir olağandışı grup üyeliği veya izinleri tanımlamak için `/etc/groups` dosyasını inceleyin.
- Herhangi bir olağandışı grup üyeliği veya izinleri tanımlamak için `/etc/passwd` dosyasını inceleyin.
@ -270,9 +296,9 @@ Bazı uygulamalar ayrıca kendi günlüklerini oluşturur:
- **SSH**: Yetkisiz uzaktan bağlantılar için _\~/.ssh/authorized_keys_ ve _\~/.ssh/known_hosts_ dosyalarını inceleyin.
- **Gnome Masaüstü**: Gnome uygulamaları aracılığıyla yakın zamanda erişilen dosyalar için _\~/.recently-used.xbel_ dosyasını kontrol edin.
- **Firefox/Chrome**: Şüpheli etkinlikler için _\~/.mozilla/firefox_ veya _\~/.config/google-chrome_ dizinlerinde tarayıcı geçmişi ve indirmeleri kontrol edin.
- **VIM**: Erişim sağlanan dosya yolları ve arama geçmişi gibi kullanım detayları için _\~/.viminfo_ dosyasını gözden geçirin.
- **Open Office**: Tehdit altındaki dosyaları gösterebilecek yakın tarihli belge erişimlerini kontrol edin.
- **Firefox/Chrome**: Şüpheli etkinlikler için _\~/.mozilla/firefox_ veya _\~/.config/google-chrome_ dizinlerinde tarayıcı geçmişini ve indirmeleri kontrol edin.
- **VIM**: Erişilen dosya yolları ve arama geçmişi gibi kullanım detayları için _\~/.viminfo_ dosyasını gözden geçirin.
- **Open Office**: Tehlikeye atılmış dosyaları gösterebilecek yakın tarihli belge erişimlerini kontrol edin.
- **FTP/SFTP**: Yetkisiz olabilecek dosya transferleri için _\~/.ftp_history_ veya _\~/.sftp_history_ dosyalarını gözden geçirin.
- **MySQL**: Yetkisiz veritabanı etkinliklerini ortaya çıkarabilecek yürütülen MySQL sorguları için _\~/.mysql_history_ dosyasını araştırın.
- **Less**: Görüntülenen dosyalar ve yürütülen komutlar dahil olmak üzere kullanım geçmişi için _\~/.lesshst_ dosyasını analiz edin.
@ -282,7 +308,7 @@ Bazı uygulamalar ayrıca kendi günlüklerini oluşturur:
[**usbrip**](https://github.com/snovvcrash/usbrip), USB olay geçmişi tabloları oluşturmak için Linux günlük dosyalarını (`/var/log/syslog*` veya `/var/log/messages*` dağıtıma bağlı olarak) ayrıştıran saf Python 3 ile yazılmış küçük bir yazılımdır.
Kullanılan tüm USB'leri **bilmek** ilginçtir ve "ihlal olaylarını" bulmak için yetkilendirilmiş bir USB listesine sahip olursanız daha faydalı olacaktır (o listedeki USB'lerin dışındaki USB'lerin kullanımı).
Kullanılan tüm USB'leri **bilmek** ilginçtir ve "ihlal olaylarını" bulmak için yetkilendirilmiş bir USB listesine sahip olmanız daha faydalı olacaktır (o listedeki USB'lerin dışındaki USB'lerin kullanımı).
### Kurulum
```bash
@ -297,29 +323,29 @@ usbrip events history --pid 0002 --vid 0e0f --user kali #Search by pid OR vid OR
usbrip ids download #Downlaod database
usbrip ids search --pid 0002 --vid 0e0f #Search for pid AND vid
```
Daha fazla örnek ve bilgi github'da: [https://github.com/snovvcrash/usbrip](https://github.com/snovvcrash/usbrip)
Daha fazla örnek ve bilgi için github'a bakın: [https://github.com/snovvcrash/usbrip](https://github.com/snovvcrash/usbrip)
## Kullanıcı Hesaplarını ve Giriş Aktivitelerini Gözden Geçirme
## Kullanıcı Hesaplarını ve Giriş Aktivitelerini Gözden Geçirin
_**/etc/passwd**_, _**/etc/shadow**_ ve **güvenlik günlüklerini** olağandışı isimler veya bilinen yetkisiz olaylarla yakın zamanda oluşturulmuş veya kullanılmış hesaplar için inceleyin. Ayrıca, olası sudo brute-force saldırılarını kontrol edin.\
Ayrıca, kullanıcılara verilen beklenmedik ayrıcalıkları kontrol etmek için _**/etc/sudoers**_ ve _**/etc/groups**_ gibi dosyaları kontrol edin.\
Son olarak, **şifresiz** veya **kolay tahmin edilebilen** şifreleri olan hesapları arayın.
## Dosya Sistemini İnceleme
## Dosya Sistemini İnceleyin
### Kötü Amaçlı Yazılım Soruşturmasında Dosya Sistemi Yapılarını Analiz Etme
Kötü amaçlı yazılım olaylarını araştırırken, dosya sisteminin yapısı, olayların sırasını ve kötü amaçlı yazılımın içeriğini ortaya çıkaran kritik bir bilgi kaynağıdır. Ancak, kötü amaçlı yazılım yazarları, dosya zaman damgalarını değiştirmek veya veri depolamak için dosya sisteminden kaçınmak gibi bu analizi engellemek için teknikler geliştirmektedir.
Bu anti-forensic yöntemlere karşı koymak için, şunları yapmak önemlidir:
Bu anti-forensic yöntemlere karşı koymak için, aşağıdakileri yapmak önemlidir:
- **Olay zaman çizelgelerini görselleştirmek için** **Autopsy** gibi araçlar kullanarak **kapsamlı bir zaman çizelgesi analizi** gerçekleştirin veya detaylı zaman çizelgesi verileri için **Sleuth Kit'in** `mactime` aracını kullanın.
- **Olay zaman çizelgelerini görselleştirmek için** **Autopsy** gibi araçlar kullanarak kapsamlı bir zaman çizelgesi analizi yapın veya detaylı zaman çizelgesi verileri için **Sleuth Kit'in** `mactime` aracını kullanın.
- **Sistemin $PATH'inde beklenmedik betikleri** araştırın; bu, saldırganlar tarafından kullanılan shell veya PHP betiklerini içerebilir.
- **Atypik dosyalar için `/dev`'i inceleyin**, çünkü genellikle özel dosyalar içerir, ancak kötü amaçlı yazılımla ilgili dosyaları barındırabilir.
- **Atypik dosyalar için `/dev`'i inceleyin**; çünkü genellikle özel dosyalar içerir, ancak kötü amaçlı yazılımla ilgili dosyalar da barındırabilir.
- **Kötü amaçlı içeriği gizleyebilecek** ".. " (nokta nokta boşluk) veya "..^G" (nokta nokta kontrol-G) gibi isimlere sahip gizli dosyaları veya dizinleri arayın.
- **Yükseltilmiş izinlere sahip setuid root dosyalarını** bulmak için şu komutu kullanın: `find / -user root -perm -04000 -print` Bu, saldırganlar tarafından kötüye kullanılabilecek yüksek izinlere sahip dosyaları bulur.
- **Kütük tablolarındaki silme zaman damgalarını** gözden geçirerek, kök kitleri veya trojanların varlığını gösterebilecek kitlesel dosya silme işlemlerini tespit edin.
- **Birini belirledikten sonra** yan yana kötü amaçlı dosyalar için ardışık inode'ları inceleyin; çünkü bunlar birlikte yerleştirilmiş olabilir.
- **Bir kötü amaçlı dosya tespit edildikten sonra** yan yana bulunan inodları inceleyin; çünkü bunlar birlikte yerleştirilmiş olabilir.
- **Son zamanlarda değiştirilmiş dosyalar için yaygın ikili dizinleri** (_/bin_, _/sbin_) kontrol edin; çünkü bunlar kötü amaçlı yazılım tarafından değiştirilmiş olabilir.
````bash
# List recent files in a directory:
@ -328,8 +354,8 @@ ls -laR --sort=time /bin```
# Sort files in a directory by inode:
ls -lai /bin | sort -n```
````
> [!NOTE]
> Bir **saldırganın** **dosyaları meşru** göstermek için **zamanı değiştirebileceğini**, ancak **inode'u** **değiştiremeyeceğini** unutmayın. Eğer bir **dosyanın** aynı klasördeki diğer dosyalarla **aynı zamanda** oluşturulup değiştirildiğini gösteriyorsa, ancak **inode** **beklenmedik şekilde büyükse**, o zaman **o dosyanın zaman damgaları değiştirilmiştir**.
> [!TIP]
> Bir **saldırganın** **zamanı** **değiştirerek** **dosyaların meşru görünmesini** sağlayabileceğini, ancak **inode'u** **değiştiremeyeceğini** unutmayın. Eğer bir **dosyanın** aynı klasördeki diğer dosyalarla **aynı zamanda** oluşturulup değiştirildiğini gösteriyorsa, ancak **inode** **beklenmedik şekilde büyükse**, o zaman **o dosyanın zaman damgaları değiştirilmiştir**.
## Farklı dosya sistemi sürümlerini karşılaştırma
@ -367,4 +393,6 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
- [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
- **Kitap: Linux Sistemleri için Kötü Amaçlı Yazılım Adli Bilişim Alan Rehberi**
- [Red Canary Süreklilik için yamanma: DripDropper Linux kötü amaçlı yazılımının bulut üzerinden nasıl hareket ettiği](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
{{#include ../../banners/hacktricks-training.md}}