Uygulama Geçmişi¶
Araçların geride bıraktıkları¶
Birçok üçüncü taraf araç, ayarlarını ve geçmişlerini kullanıcının NTUSER.DAT dosyasında tutar. Bunların
birçoğu saldırganların kullandığı ya da verileri dışarı çıkarmadan önce hazırlamak için başvurduğu araçlar
arasındadır: Sysinternals araçları, arşivleyiciler, bulut eşitleme istemcileri ve uzaktan erişim araçları.
Juntei şunları okur:
| Uygulama | HKCU\Software altındaki anahtar |
Gösterdiği |
|---|---|---|
| Sysinternals | Sysinternals\<tool> |
Kullanıcının lisansını kabul ettiği (EulaAccepted) her araç: PsExec, ProcDump, Sysmon, … |
| WinRAR | WinRAR\ArcHistory, DialogEditHistory\ArcName, DialogEditHistory\ExtrPath |
Açılan arşivler; iletişim kutularına yazılan arşiv adları ve ayıklama klasörleri |
| 7-Zip | 7-Zip\Compression\ArcHistory, Extraction\PathHistory, FM\FolderHistory, FM\CopyHistory, FM\PanelPath0/1 |
Oluşturulan arşivler; ayıklama klasörleri; dosya yöneticisinde gezinilen ve kopyalama hedefi olarak kullanılan klasörler |
| WinZip | Nico Mak Computing\WinZip\filemenu, extract, mru\archives |
File menüsündeki arşivler, ayıklama klasörleri, son arşivler |
| OneDrive | Microsoft\OneDrive\Accounts\<account> |
Her hesabın e-posta adresi, yerel klasörü ve adları; eşitlenen kitaplıklar (ScopeIdToMountPointPathCache) ve klasörler (Tenants\<tenant>) |
| Adobe Acrobat ve Reader | Adobe\{Acrobat Reader,Adobe Acrobat}\<version>\AVGeneral\cRecentFiles, cRecentFolders |
En son açılan PDF dosyaları ve klasörler; dosya adları, boyutları ve tarihleriyle |
| TeamViewer | TeamViewer (ve eski bir sürümün Version<N> anahtarı) |
Tüm değerler: hesap ve kullanıcı adları, dosya aktarımı başlangıç klasörleri (<partner ID>?<local>|<remote>), … |
| CCleaner | Piriform\CCleaner |
Tüm değerler: neyi temizlemek üzere ayarlandığı, UpdateKey, … |
En iyi sonuç: bu kullanıcı aracı çalıştırmıştır (veya lisansını kabul etmiştir) ya da araç bu arşivleri ve klasörleri açmış, oluşturmuş veya ayıklamıştır ya da bu bulut hesabı kullanıcı için kurulmuştur. Geçmişlerin çoğunda girdi başına bir zaman yoktur: yalnızca en son girdi, ait olduğu liste anahtarının son yazılma zamanını alır.
Konum¶
C:\Users\<user>\NTUSER.DAT
Software\Sysinternals\<tool> EulaAccepted
Software\WinRAR\ArcHistory 0, 1, … (0 the most recent)
Software\7-Zip\Compression ArcHistory (REG_BINARY UTF-16 list)
Software\Microsoft\OneDrive\Accounts\<account> UserEmail, UserFolder, …
Software\Adobe\Acrobat Reader\<version>\AVGeneral\cRecentFiles\c1, c2, …
Her kullanıcının NTUSER.DAT dosyasını işlem günlükleriyle birlikte, kullanıcıların SID'leri için de
sistemin SOFTWARE kovanını toplayın.
Analist için uyarılar¶
- Sysinternals EULA kabulü.
FirstUsedUTC, anahtarın tek değeri1olarak ayarlanmış okunabilir birEulaAcceptedolduğunda, anahtarın son yazılma zamanından elde edilen bir ilk kullanım tahminidir. Reddedilmiş veya hasarlı bir EULA bu tahmini almaz. Kayıt defteri ayarları önceden yapılandırılmış, kopyalanmış veya düzenlenmiş de olabilir: yürütmeyi ve zamanını diğer artefaktlarla doğrulayın. Ayarlarını burada tutan araçlar (Process Explorer, Autoruns, …) anahtarı daha sonra yeniden yazar: bu durumdaFirstUsedUTCboştur veKeyLastWrittenUTCyalnızca son ayar değişikliğidir.-accepteulaile ya da başka bir kullanıcı olarak çalıştırılan bir araç (PsExec'in uzak tarafı SYSTEM olarak çalışır), o kullanıcının anahtarına yazar. - Zamanlar değil, konumlar. Liste girdileri sıralıdır (
MruPosition0 en sonuncusudur), ancak yalnızca liste anahtarının son yazılması en son girdiyi tarihlendirir. Daha eski girdiler daha önce, bilinmeyen bir zamanda kullanılmıştır. - Yazılan adlar. WinRAR'ın
ArcNamedeğeri, arşiv oluşturulurken yazılan arşiv adıdır: çoğunlukla klasörsüz bir dosya adıdır. - Adobe yolları Adobe'nin yazdığı biçimde tutulur (
/C/Users/alice/a.pdf,C:\Users\alice\a.pdfanlamına gelir).sDatedeğeri (Detailsiçinde) bir PDF tarih dizesidir ve yazıldığı gibi tutulur. - CCleaner'ın
UpdateKeydeğeri saat dilimi olmayan yerel saattir; yazıldığı gibi tutulur. - TeamViewer. Bağlantı günlükleri kayıt defteri değerleri değil dosyalardır
(
Connections_incoming.txt,TeamViewer*_Logfile.log): bunları da toplayın. - Yokluk. Kullanıcılar ve araçlar bu geçmişleri temizleyebilir (CCleaner'ın kendisi de bunu yapabilir).
Juntei ile ayrıştırma¶
Usage: juntei parse-registry app-history <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find NTUSER.DAT hives
-f, --file <FILE> Parse one NTUSER.DAT hive
--log1/--log2 Supply transaction logs explicitly
--no-logs Do not replay logs
Output:
-o, --output <FILE> Save records
-t, --output-type <TYPE> csv, json, or jsonl
juntei parse-registry app-history -d evidence/ -o app-history.csv
juntei parse-registry app-history -f NTUSER.DAT -t jsonl \
| jq 'select(.App == "Sysinternals" and .FirstUsed != null)'
Özet; en yeni Sysinternals ilk kullanım tahminlerini, her listenin en son kullandığı arşivleri ve klasörleri ve OneDrive hesaplarını listeler.
Çıktı alanları¶
| Alan | Yorumlama |
|---|---|
Host, SourcePath |
Ana bilgisayar ve NTUSER.DAT. |
User, UserSID |
Profil klasörünün adı ve sistemin ProfileList kaydından alınan SID'si. |
App |
Sysinternals, WinRAR, 7-Zip, WinZip, OneDrive, Adobe Acrobat Reader, Adobe Acrobat, TeamViewer, CCleaner. |
Item |
Sysinternals aracı, liste (ArcHistory, ExtrPath, FolderHistory, filemenu, cRecentFiles, …), OneDrive hesabı veya eşitlenen klasörlerinin anahtarı ya da değerin adı. |
MRU-Position |
Girdinin listesindeki konumu; 0 en sonuncusudur. |
Path |
Arşiv, klasör veya belge. |
Value |
EulaAccepted, bir OneDrive hesabının e-posta adresi veya eşitlenen bir kitaplığın kimliği, bir TeamViewer veya CCleaner değeri. |
FirstUsedUTC |
EULA kabulünden elde edilen ilk kullanım tahmini (yukarıdaki uyarılara bakın). |
Details |
Bir OneDrive hesabının DisplayName, UserCID, ConfiguredTenantId, … değerleri; bir Adobe belgesinin Version, tFileName, uFileSize, uPageCount, sDate değerleri. |
KeyPath, KeyLastWrittenUTC, ValueName |
Kaydın nereden geldiği ve o anahtarın en son ne zaman değiştiği. |
DataRaw |
Kodu çözülemediğinde değerin baytları (onaltılık). |
TransactionLogStatus, LogsApplied |
Kayıt defteri kurtarma bağlamı. |
Problems |
Kodu çözülemeyen veya okunamayan veriler. |
İnceleme stratejisi¶
- Sıradan bir kullanıcının çalıştırmadığı Sysinternals araçlarını (PsExec, ProcDump, PsLoggedOn, SDelete) ve bunların EULA zaman damgalarını arayın.
- Olay civarındaki arşiv adlarını ve ayıklama klasörlerini gözden geçirin: veriler sistemden çıkmadan
önce
ProgramData,Tempveya bir kullanıcının klasöründe oluşturulan arşivler. - Kuruma ait olmayan OneDrive hesaplarını ve TeamViewer hesap adlarını ve dosya aktarımı klasörlerini kontrol edin.
- Prefetch, Amcache, BAM ve UserAssist (aracın çalışması),
$MFTve USN Journal (arşivin dosyası), LNK dosyaları ve Jump Lists (açılan belgeler) ve olay günlükleriyle ilişkilendirin.