# Windows Forensic 101

## WINDOWS REGISTRY ADLİ BİLİŞİMİ

### Adli Bilişim Nedir?

Adli bilişim, elektromanyetik ve elektrooptik ortamlarda muhafaza edilen veya bu ortamlarca iletilen ses, görüntü, veri, bilgi veya bunların birleşiminden oluşan her türlü bilişim nesnesinin, mahkemede sayısal delil niteliği taşıyacak şekilde tanımlanması, elde edilmesi, saklanması, incelenmesi ve mahkemeye sunulması çalışmaları bütünüdür.

### FORENSIC ARTIFACT Nedir?

Adli analiz sırasında sıkça "artifact" kelimesi duyulur. Adli artifactlar, insan faaliyetlerine dair kanıt sağlayan önemli bilgilerdir. Örneğin, bir suç mahallindeki parmak izleri, kırık bir düğme veya suç işlemek için kullanılan aletler adli artifact olarak kabul edilir. Bu artefaktlar birleştirilerek suçun nasıl işlendiği anlaşılır.

Bilgisayar adli bilişiminde, adli artifactlar, bilgisayar sisteminde bırakılan küçük izlerdir. Özellikle Windows sistemlerde, çeşitli artifactlar sayesinde bir kullanıcının eylemleri izlenebilir. Bu artifactlar, genellikle normal kullanıcıların uğramadığı sistem bölgelerinde bulunur ve analiz edilebilir.

![forensic-artifacts](/files/vnWea9UUwHCM2qS96rBP)

### WINDOWS REGISTRY FORENSIC

Windows Kayıt Defteri, sistemin yapılandırma verilerini içeren bir veritabanı koleksiyonudur. Bu yapılandırma verileri donanım, yazılım veya kullanıcının bilgileri hakkında olabilir. Ayrıca, yakın zamanda kullanılan dosyalar, kullanılan programlar veya sisteme bağlı cihazlar hakkındaki verileri de içerir.

Windows kayıt defteri, Anahtarlar (Keys) ve Değerlerden (Values) oluşur. Kayıt defterini görüntülemek için regedit.exe aracını açtığınızda, gördüğünüz klasörler Kayıt Anahtarlarıdır (Registry Keys). Kayıt Değerleri (Registry Values) ise bu Kayıt Anahtarlarında saklanan verilerdir. Bir Kayıt Kümesi (Registry Hive), disk üzerinde tek bir dosyada saklanan anahtarlar, alt anahtarlar ve değerler grubudur.

![registry](/files/18DXr4Kzz8I6VeyGNGes)

Canlı bir sisteme erişiyorsanız, **regedit.exe** ile kayıt defterine ulaşabilir ve standart kök anahtarları görebilirsiniz. Ancak, sadece bir disk imajınız varsa, kayıt defteri kümelerinin çoğunun **C:\Windows\System32\Config** dizininde olduğunu bilmelisiniz. Bu kümeler dışında, kullanıcı bilgilerini içeren iki başka kayıt defteri kümesi de Kullanıcı profil dizininde bulunur. Windows 7 ve sonrası için, bir kullanıcının profil dizini **C:\Users\<kullanıcı adı>** konumunda yer alır ve bu kümeler şunlardır:

**NTUSER.DAT:** Her kullanıcı için masaüstü ayarları ve kişisel yapılandırmalar gibi kullanıcıya özgü bilgileri depolar.

**USRCLASS.DAT:** Kullanıcının arayüz ve uygulama tercihleriyle ilgili ek ayarları saklar.

Bunlarla birlikte, AmCache adlı başka kayıt defteri kümesi de bulunmaktadır. Bu küme, **C:\Windows\AppCompat\Programs\Amcache.hve** yolunda yer alır. Windows, bu küme içerisinde, sistemde yakın zamanda çalıştırılan programlarla ilgili bilgileri saklar

İşlem günlükleri, kayıt defteri değişikliklerini izleyen dosyalardır ve Windows, veri yazarken bu günlükleri kullanarak henüz kayıt defteri kümelerine yansımamış en son değişiklikleri içerebilir. Her işlem günlüğü, ilgili kümenin bulunduğu dizinde **.LOG** uzantısıyla saklanır.

Kayıt defteri yedekleri ise işlem günlüklerinin tersine, kayıt defteri kümelerinin yedeklerini içerir. Bu yedekler, her on günde bir **C:\Windows\System32\Config\RegBack** dizinine kopyalanır.

Bir adli analiz sırasında hangi kayıt defteri anahtarından ne gibi bilgilere ulaşılabilir bunları inceleyelim:

İlk olarak işletim sistemi sürümüne bakılır:

`Bilgisayar\HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion`

![win-version](/files/dqhp8QQ5MDOql2FLso9f)

Makinenin başlangıç sırasında kullandığı yapılandırma verilerini içeren kümelere **"Control Sets" (Kontrol Kümeleri)** denir. **ControlSet001**, makinenin önyükleme yaptığı kontrol kümesini gösterir ve **ControlSet002** ise bilinen son iyi yapılandırmayı temsil eder.

**SYSTEM\Select\LastKnown\Good** anahtarı, Windows işletim sisteminde sistemin sorunsuz bir şekilde çalıştığı son başarılı önyükleme yapılandırmasını saklar.

Bilgisayar ismini öğrenmek için:

`HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName`

İnceleme yaparken sistemin zaman dilim bilgilerini bilmek çok önemlidir. Sistemin zaman dilimi bilgilerini öğrenmek için:

`HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation`

![timezone](/files/zM3dz2vBL2AtRmSk4xnN)

Ağ arabirimlerinde her bir arayüz, benzersiz bir tanımlayıcı **(GUID)** alt anahtarı ile temsil edilir ve bu anahtar, arayüzün TCP/IP yapılandırmasıyla ilgili değerleri içerir. Bu anahtar, IP adresleri, DHCP IP adresi, Alt Ağ Maskesi (Subnet Mask), DNS Sunucuları gibi bilgileri sağlar. Birimleri listelemek için:

`SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces`

Önceden bağlanılmış ağlar ise:

`HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Managed`

`HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged`

**Managed anahtarı,** yönetilen ağ bağlantılarını temsil eder. Bu tür ağlar genellikle bir etki alanına bağlı olan veya bir ağ yöneticisi tarafından yönetilen ağlardır.

**Unmanaged anahtarı,** yönetilmeyen ağ bağlantılarını temsil eder. Bu tür ağlar, genellikle kullanıcılar tarafından bağımsız olarak kurulan veya yönetilmeyen ağlardır.

![network-list](/files/78DJNxIEVecNTQV7gks7)

`HKEY\_CURRENT\_USER\Software\Microsoft\Windows\CurrentVersion\Run` `HKEY\_CURRENT\_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce` kayıt defteri anahtarları, kullanıcı oturumu açıldığında çalıştırılacak programları yönetmek için kullanılır.

**Run anahtarı,** kullanıcı oturumu açıldığında her seferinde çalıştırılacak programların listesini içerir. Bu anahtara eklenen programlar, kullanıcı her oturum açtığında otomatik olarak başlatılır. Kullanıcı, bu anahtara eklenen programları kaldırmadığı sürece, program her oturum açılışında çalışmaya devam eder.

**RunOnce anahtarı,** kullanıcı oturumu açıldığında yalnızca bir kez çalıştırılacak programların listesini içerir. Bu anahtara eklenen programlar, kullanıcı oturum açtığında bir kez çalıştırılır ve ardından kayıt defterinden otomatik olarak silinir. Kullanıcı bir sonraki oturum açışında bu programlar tekrar çalıştırılmaz.

Bu anahtarlar aynı zamanda **c:\Users\<kullanici-adi\NTUSER.DAT** altında da bulunur.

`HKEY\_CURRENT\_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run` kayıt defteri anahtarı, Windows'ta kullanıcı oturumu açıldığında belirli programların otomatik olarak çalıştırılmasını sağlar. Genellikle sistem yöneticileri veya kullanıcılar tarafından, belirli uygulamaların her oturum açılışında çalıştırılması amacıyla yapılandırılır. Bu anahtar, güvenlik politikalarıyla ilişkilidir ve istenmeyen uygulamaların çalıştırılmasını zorunlu kılmak için kullanılabilir, bu nedenle dikkatli bir şekilde izlenmesi önemlidir.

Zararlılar kendilerini otomatik olarak çalıştırmak için bu anahtarlara kaydedebilir ve kullanıcı sistemi başlattığı anda zararlı da kendini otomatik olarak başlatır.

`SYSTEM\CurrentControlSet\Services` işletim sisteminin yüklü hizmetlerinin yapılandırmalarını ve durumlarını içeren bir kayıt defteri anahtarıdır.

Bu kayıt defteri anahtarında, **start anahtarı 0x02** olarak ayarlandığında, bu, hizmetin bilgisayar açıldığında başlaması gerektiği anlamına gelir\*\*.\*\*

SAM kaydı, kullanıcı hesap bilgilerini, oturum açma bilgilerini ve grup bilgilerini içerir. Bu bilgiler esasen aşağıdaki konumda yer alır:

`SAM\Domains\Account\Users`

![sam-kaydi](/files/yYHwFwXnlbOv2uYXsh20)

`HKEY\_CURRENT\_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs` bu anahtar altında, kullanıcının son açtığı dosyaların uzantılarına ve konumlarına dair veriler bulunur. Registry Explorer ile NTUSER.DAT dosyası altında bulunur.

![recent-docs](/files/kG3aH5neeQWzMnxiiAPT)

Windows Gezgini tarafından tutulan Son Dokümanlar listesine benzer şekilde, Microsoft Office de açılan son belgelerin bir listesini tutar. Bu liste de NTUSER kayıt defteri kümesinde bulunur ve aşağıdaki konumda yer alır:

`NTUSER.DAT\Software\Microsoft\Office\VERSION`

Windows'da bir kullanıcı herhangi bir klasörü açtığında, o klasör belirli bir düzenle açılır ve kullanıcılar bu düzeni tercihlerine göre değiştirebilir. Farklı klasörler için farklı düzenler olabilir. Bu düzen bilgileri, Windows **"shell"** tarafından saklanır ve en son kullanılan dosyalar ve klasörleri tanımlayabilir. Bu ayarlar her kullanıcıya özgü olduğu için, kullanıcıya ait hives'larda bulunur. Bu bilgilere şu konumlarda erişilebilir:

`USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\Bags`

`USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\BagMRU`

`NTUSER.DAT\Software\Microsoft\Windows\Shell\BagMRU`

`NTUSER.DAT\Software\Microsoft\Windows\Shell\Bags`

Windows, dosya açma veya kaydetme işlemlerinde kullanılan son konumları hatırlar ve bir dahaki sefere bu konumları önerir. Bu bilgilere ulaşmak için belirli kayıt defteri anahtarları incelenir.

`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU`

`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU`

![PidMRU](/files/P0Jol4q1D9QWJO2xHSgJ)

**OpenSavePIDlMRU** Bu anahtar, kullanıcı tarafından en son açılan veya kaydedilen dosyaların ve dizinlerin "Most Recently Used" (MRU) listesini tutar. Kullanıcı, dosya açma veya kaydetme diyalog penceresini kullandığında, bu anahtar altında en son kullanılan dosya ve dizinlerin yolları saklanır. Bu liste, kullanıcıların daha önce kullandıkları dosyalara hızlı erişim sağlamasına yardımcı olur.

**LastVisitedPidlMRU** Bu anahtar, kullanıcı tarafından en son ziyaret edilen dizinlerin MRU listesini tutar. Kullanıcı, dosya açma veya kaydetme diyalog penceresinde gezindiğinde, bu anahtar altında en son ziyaret edilen dizinlerin yolları saklanır. Bu liste, kullanıcıların en son hangi dizinlere gittiğini takip eder ve bu dizinlere hızlı erişim sağlar.

Bir kullanıcının son etkinliklerini belirlemenin başka bir yolu, Windows Gezgini adres çubuğuna yazılan yolları veya yapılan aramaları aşağıdaki kayıt defteri anahtarlarına bakarak incelemektir.

`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths`

`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery`

**TypedPaths:** Kullanıcı tarafından girilen dosya yollarını saklar ve daha önce kullanılan dosya yollarına hızlı erişim sağlar. TypedPaths, Windows Gezgini adres çubuğuna manuel olarak girilen yolları depolar.

**WordWheelQuery:** Kullanıcı tarafından yapılan arama terimlerini saklar ve daha önce kullanılan arama ifadelerine hızlı erişim sağlar. , WordWheelQuery kullanıcının Windows arama çubuğunda yaptığı arama sorgularını kaydeder.

Windows, kullanıcı tarafından Windows Gezgini aracılığıyla başlatılan uygulamaları istatistiksel amaçlarla **UserAssist** kayıt defteri anahtarlarında takip eder. Bu anahtarlar, başlatılan programlar, başlatılma zamanları ve kaç kez çalıştırıldıkları hakkında bilgi içerir. Ancak komut satırıyla çalıştırılan programlar bu anahtarlarda bulunmaz. UserAssist anahtarı, her kullanıcının **GUID'sine göre NTUSER** kümesinde yer alır. Bu anahtarın konumu şu şekildedir:

`NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist\{GUID}\Count`

![UserAssist](/files/KxijejYWmvGRx8Et91Wl)

**Shimcache**, Windows uygulamalarının uyumluk önbelleği AppCompatCache'nin bir parçasıdır. Eski uygulamaların yeni windows sürümleri ile problemsiz bir şekilde çalışabilmesi için shim mekanizması kullanılır. Shim registry içinde depolanmış çalıştırabilir programların metadatasını tutmakla görevlidir. Bu datalar bize bir programın çalışıp çalışmadığının bilgisini vermektedir. İçerideki olay akışı en son olayın en başta olması durumuyla sıralanır yani kronolojik bir sıralama sistemine sahiptir.

`SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache`

İncelenemek için Eric Zimmerman!ın AppCompatParser uygulaması kullanılabilir. Uygulama komut satırı üzerinden çalıştırılarak output olarak bir .csv dosyası verir.

`AppCompatCacheParser.exe --csv <path to save output> -f <path to SYSTEM hive for data parsing> -c <control set to parse>`

![Shimcache](/files/D0q9A1cwNLc7LxHLwAi9)

**Background Activity Monitor (BAM)** ve **Desktop Activity Moderator (DAM),** Microsoft Windows'un arka planda çalışan uygulamaların etkinliğini izlemek için kullandığı bileşenlerdir. BAM, arka plan uygulamalarının aktivitelerini takip ederken, DAM, cihazın enerji tüketimini optimize etmeye yardımcı olur.

Windows kayıt defterinde, BAM ve DAM ile ilgili bilgilere şu konumlarda ulaşabilirsiniz:

`HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications`

`HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Power\PowerSettings`

`HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Services\bam\State\UserSettings`

Bu konumlar, en son çalıştırılan programlar, bunların tam yolları ve en son yürütme zamanı gibi bilgileri içerir.

![bam](/files/YIyNkbNwaq78Kyhaxqi8)

Aşağıdaki konumlar, bir sisteme takılan USB anahtarlarının izlenmesini sağlar. Bu konumlar, takılan USB cihazının vendor ID'si, product ID'si ve versiyonunu saklar ve benzersiz cihazları tanımlamak için kullanılabilir. Bu konumlar ayrıca cihazların sisteme ne zaman takıldığını da kaydeder.

`SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall`

`SYSTEM\CurrentControlSet\Services\UsbStor`

`SYSTEM\CurrentControlSet\Enum\USB`

`SOFTWARE\Microsoft\Windows Portable Devices\Devices`

![usb](/files/QEQCwVErbb2BtFKn8Jfz)

Benzer şekilde, aşağıdaki kayıt defteri anahtarı, aygıtın ilk kez bağlandığı zamanı, son kez bağlandığı zamanı ve aygıtın sistemden son kez çıkarıldığı zamanı takip eder.

`SYSTEM\CurrentControlSet\Enum\USBSTOR\Ven\_Prod\_Version\USBSerial#\Properties\{83da6326-97a6-4088-9453-a19231573b29}\####`

## KAYNAKÇA

<details>

<summary>Windows Forensic için Kaynakça</summary>

* [Tryhackme room](https://tryhackme.com/room/windowsforensics1/)
* [Github Forensic Artefatks](https://github.com/Psmths/windows-forensic-artifacts)
* [Windows Foransic makale](https://www.mehmetyayla.com/temel-windows-registry-forensic-dijital-delil-toplama-part1/)
* [Youtube Eğitim](https://www.youtube.com/watch?v=KSlCTWzpQRM)
* [Eric Zimmermans Tools](https://ericzimmerman.github.io/#!index.md)

</details>

{% embed url="<https://github.com/st4ys3>" fullWidth="false" %}
Bu yazı Ayşe BALCI tarafından hazırlanmıştır.
{% endembed %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.siberaltay.org/forensic/windows-forensic-101.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
