Fundamentals of forensic methodology (Part 2)

16 March 2024 16 minutes Author: Cyber Witcher

Fundamentals of forensics, also known as digital or computer forensics, combines the principles and methods of detecting, collecting, preserving, analyzing, and reporting in detail digital evidence obtained from computers, network equipment, and digital media that can be used in legal proceedings. This branch of forensic science is growing in importance with the development of technology and the increase in the number of cybercrimes.

The second part of the article “Fundamentals of Forensic Techniques” is a continuation of the first part

Memory dump analysis

Volatility is the leading open source platform for memory dump analysis. This Python tool analyzes dumps from external sources or VMware virtual machines, identifying data such as processes and passwords based on the OS profile of the dump. It is extensible with plugins, making it extremely versatile for forensics.

Mini-lamp failure report

If the dump is small (only a few KB, maybe a few MB), then it’s probably a minidump crash report, not a memory dump.

If you have Visual Studio installed, you can open this file and bind some basic information like the process name, architecture, exception information, and running modules:

You can also download the exception and view the decompiled instructions

In any case, Visual Studio is not the best tool for dump depth analysis. You should open it with IDA or Radare to check it in detail.

Partitions/filesystems/threads Partitions

A hard disk or SSD can contain different partitions to physically separate data. The minimum unit of a disk is a sector (usually consisting of 512 B). Therefore, the size of each partition must be a multiple of this size.

MBR (Master Boot Record)

It is located in the first sector of the disk after the 446B boot code. This sector is important for telling the computer what and where to mount the partition. It allows you to create up to 4 partitions (at most only 1 can be active/boot). However, if you need more partitions, you can use extended partitions. The last byte of this first sector is the boot record signature 0x55AA. Only one partition can be marked as active. MBR allows a maximum of 2.2 TB.

Between bytes 440 and 443 of the MBR you can find the Windows Disk Signature (if using Windows). The logical drive letter of the hard disk depends on the Windows disk signature. Changing this signature can prevent Windows from booting (tool: Active Disk Editor).

To mount MBR in Linux, you first need to get the initial offset (you can use fdisk and p command)

And then use the following code

#Mount MBR in Linux
mount -o ro,loop,offset=<Bytes>
#63x512 = 32256Bytes
mount -o ro,loop,offset=32256,noatime /path/to/image.dd /media/part/

LBA (logical block addressing)

Logical block addressing ( LBA ) is a common scheme used to locate blocks of data stored on computer storage devices, typically secondary storage systems such as hard drives. LBA is a particularly simple linear addressing scheme; blocks are arranged by integer index , with the first block having LBA 0, the second LBA 1, and so on.

GPT (GUID Partition Table)

The GUID partition table, known as GPT, is favored for its advanced capabilities over MBR (master boot record). Distinguished by a unique global identifier for partitions, GPT stands out in several ways:

  • Location and Size: Both GPT and MBR start at sector 0. However, GPT runs on 64 bits, unlike MBR’s 32 bits.

  • Partition Limit : GPT supports up to 128 partitions on Windows systems and holds up to 9.4 ZB of data.

  • Section Names : Offers the ability to name sections up to 36 Unicode characters.

Data persistence and recovery:

  • Redundancy : Unlike MBR, GPT does not limit partitioning and boot data to one location. It replicates this data on disk, increasing data integrity and durability.

  • Cyclic Redundancy Check (CRC): GPT uses CRC to ensure data integrity. It actively monitors for data corruption, and if GPT is detected, it tries to recover the corrupted data from another location on the drive.

Protective MBR (LBA0):

  • GPT supports backward compatibility through the protective MBR. This feature resides in the legacy MBR space, but is intended to prevent older MBR-based utilities from mistakenly overwriting GPT disks, thus protecting the integrity of data on GPT disks.

 

Hybrid MBR (LBA 0 + GPT) From Wikipedia

On operating systems that support GPT-based booting via BIOS services rather than EFI, the first sector can also be used to store the first stage of the bootloader code, but modified to recognize GPT partitions. The bootloader in the MBR should not assume a sector size of 512 bytes.

Chapter Table Heading (LBA 1) From Wikipedia

The partition table header identifies the usable blocks on the disk. It also defines the number and size of partition entries that make up the partition table (offsets 80 and 84 in the table).

Chapter Entries (LBA 2–33)

Types of partitions

Inspection

After mounting the forensic image with ArsenalImageMounter, you can check the first sector with the Windows Active Disk Editor tool. In the following image, the MBR is detected in sector 0 and interpreted:

If it was a GPT table and not an MBR one, sector 1 (which is empty in the previous image) should be labeled EFI PART.

List of Windows file systems

  • FAT12/16 : MSDOS, WIN95/98/NT/200

  • FAT32 : 95/2000/XP/2003/VISTA/7/8/10

  • ExFAT : 2008/2012/2016/VISTA/7/8/10

  • NTFS : XP/2003/2008/2012/VISTA/7/8/10

  • ReFS : 2012/2016

FAT

The FAT (File Allocation Table) file system is designed around its core component, the file allocation table, which is located at the beginning of a volume. This system protects data by keeping two copies of the table, ensuring data integrity even if one of them is corrupted. The table along with the root folder must be in a fixed location, which is crucial for the system startup process.

The basic storage unit of a file system is a cluster, usually 512B , consisting of several sectors. FAT evolved through versions:

FAT12, which supports 12-bit cluster addresses and supports up to 4078 clusters (4084 with UNIX).

  • FAT16 , extended to 16-bit addresses, thus accommodating up to 65,517 clusters.

  • FAT32 continues to grow with 32-bit addresses, allowing an impressive 268,435,456 clusters per volume.

A significant limitation for FAT versions is the maximum file size of 4 GB, which is imposed by the 32-bit field used to store the file size. Key components of the root directory, particularly for FAT12 and FAT16, include:

  • File/folder name (up to 8 characters)

  • Attributes

  • Creation, modification and last access dates

  • Address of the FAT table (indicates the initial cluster of the file)

  • File size

EXT

Ext2 is the most common file system for non-journaled partitions (partitions that do not change much), such as the boot partition. Ext3/4 are logged and are usually used for the rest of the partitions.

Metadata

Some files contain metadata. This information refers to the contents of the file, which may sometimes be of interest to the analyst because, depending on the file type, it may contain the following information:

  • Name

  • The version of MS Office used

  • Author

  • Creation and last modification dates

  • Camera model

  • GPS coordinates

  • Image information

You can use tools like geolocationtool and Metadiver to get the file’s metadata.

Recover deleted files

Registered deleted files

As shown earlier, there are several places where a file still resides after it has been “deleted”. This is because normally deleting a file from the file system just marks it as deleted, but the data is not affected. You can then check file registries (such as MFT) and find deleted files.

In addition, the OS usually stores a lot of information about file system changes and backups, so you can try to use them to restore a file or as much information as possible.

File for carving

File slicing is a technique that tries to find files in a mass of data. There are 3 main ways such tools work: based on filetype headers and footers , based on filetype structures , and based on the content itself .

Note that this technique does not work for getting fragmented . If the file is not stored in contiguous sectors, this technique will not be able to find it, or at least part of it.

There are several tools that can be used for file carving, specifying the types of files to look for.

Cutting the data stream C

Data Stream Carving is similar to File Carving, but instead of complete files, it looks for interesting pieces of information. For example, instead of searching for an entire file containing registered URLs, this technique will search for URLs.

Safe removal

Obviously, there are ways to “safely” delete files and parts of the logs about them. For example, you can overwrite the contents of a file multiple times with junk data, then delete the logs from $MFT and $LOGFILE about the file and delete the shadow copies of the volumes. You may notice that even when doing this, there may be other parts where the existence of the file is still registered, and that’s true, and it’s part of the forensics professional’s job to find them.

Pcap check

Online tools for pcaps

  • If your pcap header is hacked, try fixing it with: http://f00l.de/hacking/pcapfix.php

  • Extract information and search for malware inside pcap at PacketTotal

  • Search for malware using www.virustotal.com and www.hybrid-analysis.com

Information extraction

The following tools are useful for getting statistics, files, etc.

Xplico Framework

Xplico (Linux only) can analyze pcap and extract information from it. For example, from a pcap file, Xplico extracts every email (POP, IMAP, and SMTP), all HTTP content, every VoIP (SIP), FTP, TFTP, etc.

set

sudo bash -c 'echo "deb http://repo.xplico.org/ $(lsb_release -s -c) main" /etc/apt/sources.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 791C25CE
sudo apt-get update
sudo apt-get install xplico
/etc/init.d/apache2 restart
/etc/init.d/xplico start

Access 127.0.0.1:9876 with xplico:xplico credentials

Then create a new case, create a new session in it and upload the pcap file.

NetworkMiner

Like Xplico, it is a tool for parsing and extracting objects from pcaps . It has a free version that you can download here. It works with Windows. This tool is also useful for analyzing other information from packets so that you can quickly know what is going on.

NetWitness researcher

You can download NetWitness Investigator here (runs on Windows). This is another useful tool that analyzes packets and sorts the information so that you know what’s going on inside.

BruteShark

  • Extraction and encoding of usernames and passwords (HTTP, FTP, Telnet, IMAP, SMTP…)

  • Extract authentication hashes and crack them with Hashcat (Kerberos, NTLM, CRAM-MD5, HTTP-Digest…)

  • Creating a visual network diagram (nodes and network users)

  • Extract DNS queries

  • Reconstruct all TCP and UDP sessions

  • File for carving

Capinfos

capinfos capture.pcap

Ngrep

If you’re looking for something inside pcap, you can use ngrep . Here is an example of using basic filters:

ngrep -I packets.pcap "^GET" "port 80 and tcp and host 192.168 and dst host 192.168 and src host 192.168"

Check for exploits/malware

Install and configure

apt-get install suricata
apt-get install oinkmaster
echo "url = http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz" >> /etc/oinkmaster.conf
oinkmaster -C /etc/oinkmaster.conf -o /etc/suricata/rules

Check the PCAP

suricata -r packets.pcap -c /etc/suricata/suricata.yaml -k none -v -l log

YaraPcap

YaraPCAP — is a tool that:

  • Reads a PCAP file and extracts Http streams.

  • gzip decompresses any compressed streams

  • Scans each file with yara

  • Writes a report.txt

  • Additionally saves the corresponding files in the directory

Zeek

Zeek is an open source passive network traffic analyzer. Many operators use Zeek as a Network Security Monitor (NSM) to support investigations of suspicious or malicious activity. Zeek also supports a wide range of traffic analysis tasks outside of security, including performance measurement and troubleshooting.

In general, logs created with zeek are not pcaps . Therefore, you will need to use other tools to analyze logs that contain information about pcaps.

Connection information

#Get info about longest connections (add "grep udp" to see only udp traffic)
#The longest connection might be of malware (constant reverse shell?)
cat conn.log | zeek-cut id.orig_h id.orig_p id.resp_h id.resp_p proto service duration | sort -nrk 7 | head -n 10

10.55.100.100   49778   65.52.108.225   443     tcp     -       86222.365445
10.55.100.107   56099   111.221.29.113  443     tcp     -       86220.126151
10.55.100.110   60168   40.77.229.82    443     tcp     -       86160.119664


#Improve the metrics by summing up the total duration time for connections that have the same destination IP and Port.
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += $5 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10

10.55.100.100   65.52.108.225   443     tcp     86222.4
10.55.100.107   111.221.29.113  443     tcp     86220.1
10.55.100.110   40.77.229.82    443     tcp     86160.1

#Get the number of connections summed up per each line
cat conn.log | zeek-cut id.orig_h id.resp_h duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2] += $3; count[$1 FS $2] += 1 } END{ for (key in arr) printf "%s%s%s%s%s\n", key, FS, count[key], FS, arr[key] }' | sort -nrk 4 | head -n 10

10.55.100.100   65.52.108.225   1       86222.4
10.55.100.107   111.221.29.113  1       86220.1
10.55.100.110   40.77.229.82    134       86160.1

#Check if any IP is connecting to 1.1.1.1
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto service | grep '1.1.1.1' | sort | uniq -c

#Get number of connections per source IP, dest IP and dest Port
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += 1 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10


# RITA
#Something similar can be done with the tool rita
rita show-long-connections -H --limit 10 zeek_logs

+---------------+----------------+--------------------------+----------------+
|   SOURCE IP   | DESTINATION IP | DSTPORT:PROTOCOL:SERVICE |    DURATION    |
+---------------+----------------+--------------------------+----------------+
| 10.55.100.100 | 65.52.108.225  | 443:tcp:-                | 23h57m2.3655s  |
| 10.55.100.107 | 111.221.29.113 | 443:tcp:-                | 23h57m0.1262s  |
| 10.55.100.110 | 40.77.229.82   | 443:tcp:-                | 23h56m0.1197s  |

#Get connections info from rita
rita show-beacons zeek_logs | head -n 10
Score,Source IP,Destination IP,Connections,Avg Bytes,Intvl Range,Size Range,Top Intvl,Top Size,Top Intvl Count,Top Size Count,Intvl Skew,Size Skew,Intvl Dispersion,Size Dispersion
1,192.168.88.2,165.227.88.15,108858,197,860,182,1,89,53341,108319,0,0,0,0
1,10.55.100.111,165.227.216.194,20054,92,29,52,1,52,7774,20053,0,0,0,0
0.838,10.55.200.10,205.251.194.64,210,69,29398,4,300,70,109,205,0,0,0,0

DNS information

#Get info about each DNS request performed
cat dns.log | zeek-cut -c id.orig_h query qtype_name answers

#Get the number of times each domain was requested and get the top 10
cat dns.log | zeek-cut query | sort | uniq | rev | cut -d '.' -f 1-2 | rev | sort | uniq -c | sort -nr | head -n 10

#Get all the IPs
cat dns.log | zeek-cut id.orig_h query | grep 'example\.com' | cut -f 1 | sort | uniq -c

#Sort the most common DNS record request (should be A)
cat dns.log | zeek-cut qtype_name | sort | uniq -c | sort -nr

#See top DNS domain requested with rita
rita show-exploded-dns -H --limit 10 zeek_logs

Артефакти Windows

Загальні артефакти Windows. Сповіщення Windows 10

У шляху \Users\<username>\AppData\Local\Microsoft\Windows\Notificationsможна знайти базу даних appdb.dat(до Windows Anniversary) або wpndatabase.db(після Windows Anniversary).

У цій базі даних SQLite ви можете знайти Notificationтаблицю з усіма повідомленнями (у форматі XML), які можуть містити цікаві дані.

Хронологія

Хронологічна шкала — це характеристика Windows, яка надає хронологічну історію відвіданих веб-сторінок, відредагованих документів і запущених програм.

База даних знаходиться на шляху \Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db. Цю базу даних можна відкрити за допомогою інструменту SQLite або інструменту WxTCmd , який генерує 2 файли, які можна відкрити за допомогою інструмента TimeLine Explorer .

ADS (альтернативні потоки даних)

Завантажені файли можуть містити ідентифікатор ADS Zone.Identifier , який вказує , як їх було завантажено з внутрішньої мережі, Інтернету тощо. Деяке програмне забезпечення (наприклад, браузери) зазвичай розміщує навіть більше інформації , наприклад URL -адресу , звідки було завантажено файл.

Резервне копіювання файлів

У Vista/Win7/Win8/Win10 Кошик можна знайти в папці $Recycle.binв корені диска ( C:\$Recycle.bin). Коли файл видаляється в цій папці, створюється 2 певних файли:

  • $I{id}: інформація про файл (дата його видалення}

  • $R{id}: Вміст файлу

Маючи ці файли, ви можете використовувати інструмент Rifiuti , щоб отримати вихідну адресу видалених файлів і дату їх видалення (використовуйте rifiuti-vista.exeдля Vista – Win10).

.\rifiuti-vista.exe C:\Users\student\Desktop\Recycle

Томні тіньові копії

Тіньове копіювання — це технологія, включена в Microsoft Windows, яка може створювати резервні копії або знімки комп’ютерних файлів або томів, навіть коли вони використовуються.

Ці резервні копії зазвичай розташовуються в \System Volume Informationкорені файлової системи, а ім’я складається з UID, показаних на наступному зображенні:

Монтуючи криміналістичне зображення за допомогою ArsenalImageMounter , інструмент ShadowCopyView можна використовувати для перевірки тіньової копії та навіть вилучення файлів із резервних копій тіньової копії.

Запис реєстру HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestoreмістить файли та ключі для резервного копіювання :

Реєстр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSSтакож містить інформацію про конфігурацію Volume Shadow Copies.

Автоматично збережені файли Office

Автоматично збережені офісні файли можна знайти в:

C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\

Предмети оболонки

Елемент оболонки — це елемент, який містить інформацію про те, як отримати доступ до іншого файлу.

Останні документи (LNK)

Windows автоматично створює ці ярлики , коли користувач відкриває, використовує або створює файл у:

  • Win7-Win10:C:\Users\\AppData\Roaming\Microsoft\Windows\Recent\

  • офіс:C:\Users\\AppData\Roaming\Microsoft\Office\Recent\

Під час створення папки також створюється посилання на папку, батьківську папку та папку дідуся та бабусі.

Ці автоматично створені файли посилань містять інформацію про походження, наприклад , чи це файл чи папка , час MAC цього файлу, інформацію про обсяг , де зберігається файл, і папку цільового файлу . Ця інформація може бути корисною для відновлення цих файлів, якщо їх було видалено.

Крім того, дата створення файлу посилання — це перше використання оригінального файлу , а дата зміни файлу посилання — це останній раз , коли вихідний файл використовувався. Щоб перевірити ці файли, ви можете використовувати LinkParser .

У цих інструментах ви знайдете 2 набори позначок часу:

Перший набір:

  1. FileModifiedDate

  2. FileAccessDate

  3. FileCreationDate

Другий набір:
  1. LinkModifiedDate

  2. LinkAccessDate

  3. LinkCreationDate.

Перший набір часових позначок посилається на часові позначки самого файлу . Другий набір посилається на мітки часу пов’язаного файлу .

Ви можете отримати ту саму інформацію, запустивши інструмент Windows CLI: LECmd.exe

LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs

У цьому випадку інформація буде збережена у файлі CSV.

Списки стрибків

Це останні файли, які вказуються для кожної програми. Це список нещодавно використовуваних програмою файлів , до якого ви можете отримати доступ у кожній програмі. Вони можуть створюватися автоматично або бути індивідуальними .

Автоматично створені списки переходів зберігаються в C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\. Списки переходів називаються відповідно до формату, {id}.autmaticDestinations-msде початковий ідентифікатор є ідентифікатором програми.

Користувальницькі списки переходів зберігаються в C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\і зазвичай створюються програмою, тому що з файлом сталося щось важливе (можливо, позначено як улюблене)

Час створення будь-якого списку переходів вказує на перший раз, коли файл був доступний , і на час останньої зміни .

Ви можете перевірити списки переходів за допомогою JumplistExplorer.

( Зверніть увагу, що мітки часу, надані JumplistExplorer, пов’язані з самим файлом jumplist )

Використання Windows USB

Визначити, що використовувався USB-пристрій, можна завдяки створенню:

  • Windows Recent Folder

  • Остання папка Microsoft Office

  • Списки стрибків

Зауважте, що деякі файли LNK замість початкового шляху вказують на папку WPDNSE:

Файли в папці WPDNSE є копіями оригінальних файлів, тому вони не переживуть перезавантаження ПК, а GUID взято з оболонки.

setupapi

Перевірте файл C:\Windows\inf\setupapi.dev.log, щоб отримати часові мітки про те, коли було створено USB-з’єднання (знайдіть Section start).

USB детектив

USBDetective можна використовувати для отримання інформації про USB-пристрої, підключені до зображення.

Очищення Plug and Play

Заплановане завдання, відоме як «Очищення Plug and Play», головним чином призначене для видалення застарілих версій драйверів. Всупереч визначеній меті збереження останньої версії пакета драйверів, онлайн-джерела припускають, що він також націлений на драйвери, які були неактивні протягом 30 днів. Отже, драйвери для знімних пристроїв, не підключених протягом останніх 30 днів, можуть бути видалені.

Завдання знаходиться за таким шляхом:

C:\Windows\System32\Tasks\Microsoft\Windows\Plug and Play\Plug and Play Cleanup.

Надається скріншот із зображенням вмісту завдання:

Ключові компоненти та параметри завдання:

  • pnpclean.dll : ця DLL відповідає за фактичний процес очищення.

  • UseUnifiedSchedulingEngine : установіть значення TRUE, що вказує на використання загального механізму планування завдань.

Параметри обслуговування :

  • Період (‘P1M’) : наказує планувальнику завдань ініціювати завдання очищення щомісяця під час регулярного автоматичного обслуговування.

  • Кінцевий термін (‘P2M’) : дає вказівку планувальнику завдань, якщо завдання не виконується протягом двох місяців поспіль, виконати завдання під час аварійного автоматичного обслуговування.

Ця конфігурація забезпечує регулярне технічне обслуговування та очищення драйверів із можливістю повторного виконання завдання у разі послідовних збоїв.

електронні листи

Електронні листи містять 2 цікаві частини: заголовки та вміст електронного листа. У заголовках можна знайти таку інформацію:

  • Хто надіслав електронні листи (електронна адреса, IP, поштові сервери, які перенаправили електронний лист)

  • Коли було надіслано електронний лист

Крім того, у заголовках Referencesі In-Reply-Toможна знайти ідентифікатори повідомлень:

Програма Windows Mail

Ця програма зберігає електронні листи у HTML або текстовому форматі. Ви можете знайти електронні листи у вкладених папках \Users\<username>\AppData\Local\Comms\Unistore\data\3\. Електронні листи зберігаються з .datрозширенням.

Метадані електронних листів і контактів можна знайти в базі даних EDB :\Users\<username>\AppData\Local\Comms\UnistoreDB\store.vol

Змініть розширення файлу з .volна .edb, і ви зможете використовувати інструмент ESEDatabaseView , щоб відкрити його. Усередині Messageтаблиці ви можете побачити електронні листи.

Microsoft Outlook

Коли використовуються сервери Exchange або клієнти Outlook, будуть деякі заголовки MAPI:

  • Mapi-Client-Submit-Time: час системи, коли було надіслано електронний лист

  • Mapi-Conversation-Index: кількість дочірніх повідомлень потоку та позначка часу кожного повідомлення потоку

  • Mapi-Entry-ID: ідентифікатор повідомлення.

  • Mappi-Message-Flagsі Pr_last_Verb-Executed: Інформація про клієнта MAPI (повідомлення прочитано? не прочитано? відповіли? перенаправлено? поза офісом?)

У клієнті Microsoft Outlook усі надіслані/отримані повідомлення, дані контактів і дані календаря зберігаються у файлі PST у:

  • %USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook(WinXP)

  • %USERPROFILE%\AppData\Local\Microsoft\Outlook

Шлях реєстру вказує файл, який використовується.

HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook

Ви можете відкрити файл PST за допомогою інструменту Kernel PST Viewer .

Файли Microsoft Outlook OST

Файл OST створюється Microsoft Outlook, коли його налаштовано за допомогою IMAP або сервера Exchange , зберігаючи інформацію, подібну до файлу PST. Цей файл синхронізується із сервером, зберігає дані за останні 12 місяців до максимального розміру 50 ГБ і розташований у тому самому каталозі, що й файл PST. Для перегляду OST-файлу можна скористатися програмою перегляду OST Kernel .

Отримання вкладень

Втрачені вкладення можна відновити з:

  • Для IE10 :%APPDATA%\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook

  • Для IE11 і вище :%APPDATA%\Local\Microsoft\InetCache\Content.Outlook

Файли Thunderbird MBOX

Thunderbird використовує файли MBOX для зберігання даних, розташовані за адресою \Users\%USERNAME%\AppData\Roaming\Thunderbird\Profiles.

Мініатюри зображень

  • Windows XP і 8-8.1 : під час доступу до папки з мініатюрами створюється thumbs.dbфайл із попереднім переглядом зображень навіть після видалення.

  • Windows 7/10 : thumbs.dbстворюється під час доступу через мережу через шлях UNC.

  • Windows Vista та новіша версія : попередній перегляд ескізів зосереджено у %userprofile%\AppData\Local\Microsoft\Windows\Explorerфайлах з іменами thumbcache_xxx.db . Thumbsviewer і ThumbCache Viewer є інструментами для перегляду цих файлів.

Інформація про реєстр Windows

Реєстр Windows, який зберігає велику кількість системних і користувацьких даних, міститься у файлах у:

  • %windir%\System32\Configдля різних HKEY_LOCAL_MACHINEпідключів.

  • %UserProfile%{User}\NTUSER.DATдля HKEY_CURRENT_USER.

  • Windows Vista та новіші версії створюють резервні копії HKEY_LOCAL_MACHINEфайлів реєстру в %Windir%\System32\Config\RegBack\.

  • Крім того, інформація про виконання програми зберігається у %UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DATWindows Vista та Windows 2008 Server.

Інструменти

Деякі інструменти корисні для аналізу файлів реєстру:

  • Редактор реєстру : він інстальований у Windows. Це графічний інтерфейс для навігації реєстром Windows поточного сеансу.

  • Провідник реєстру : дозволяє завантажувати файл реєстру та переміщатися по ньому за допомогою графічного інтерфейсу користувача. Він також містить закладки, що підсвічують клавіші з цікавою інформацією.

  • RegRipper : знову ж таки, він має графічний інтерфейс, який дозволяє переміщатися по завантаженому реєстру, а також містить плагіни, які виділяють цікаву інформацію всередині завантаженого реєстру.

  • Відновлення реєстру Windows : ще одна програма з графічним інтерфейсом користувача, здатна витягувати важливу інформацію із завантаженого реєстру.

Відновлення видаленого елемента

Коли ключ видаляється, він позначається як такий, але доки не знадобиться місце, яке він займає, він не буде видалено. Таким чином, за допомогою таких інструментів, як Registry Explorer, можна відновити ці видалені ключі.

Час останнього запису

Кожен ключ-значення містить мітку часу , яка вказує час останньої зміни.

СЕМ

Файл/вулик SAM містить хеші користувачів, груп і паролів користувачів системи.

Тут SAM\Domains\Account\Usersможна отримати ім’я користувача, RID, останній вхід, останній невдалий вхід, лічильник входів, політику паролів і дату створення облікового запису. Щоб отримати хеші, вам також потрібен файл/вулик SYSTEM .

Останні програми Windows

Усередині реєстру NTUSER.DATв шляху Software\Microsoft\Current Version\Search\RecentAppsви можете розмістити підрозділи з інформацією про запущену програму , час її останнього виконання та кількість запусків.

BAM (модератор фонової активності)

Ви можете відкрити SYSTEMфайл за допомогою редактора реєстру, і всередині шляху SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}ви зможете знайти інформацію про програми, запущені кожним користувачем (зверніть увагу {SID}на шлях) і час, коли вони були виконані (час вказано в значенні даних реєстру ).

Windows Prefetch

Попередня вибірка — це техніка, яка дозволяє комп’ютеру безшумно отримувати необхідні ресурси, необхідні для відображення вмісту , до якого користувач може отримати доступ у найближчому майбутньому , щоб доступ до ресурсів був швидшим.

Попередня вибірка Windows полягає у створенні кешів виконуваних програм , щоб мати можливість їх швидше завантажувати. Ці кеші створено як .pfфайли всередині шляху: C:\Windows\Prefetch. Існує обмеження в 128 файлів у XP/VISTA/WIN7 і 1024 файли в Win8/Win10.

Ім’я файлу створюється як {program_name}-{hash}.pf(хеш базується на шляху та аргументах виконуваного файлу). У W10 ці файли стискаються. Зауважте, що сама присутність файлу вказує на те, що програма була виконана в певний момент.

Файл C:\Windows\Prefetch\Layout.iniмістить назви папок файлів, які попередньо завантажуються . Цей файл містить інформацію про кількість запусків , дати виконання та файли, відкриті програмою.

Щоб перевірити ці файли, ви можете скористатися інструментом PEcmd.exe :

.\PECmd.exe -d C:\Users\student\Desktop\Prefetch --html "C:\Users\student\Desktop\out_folder"

Superprefetch

Superprefetch має ту саму мету, що й prefetch, завантажувати програми швидше , передбачаючи, що буде завантажено наступним. Однак це не замінює службу попередньої вибірки. Ця служба генеруватиме файли бази даних у форматі C:\Windows\Prefetch\Ag*.db.

У цих базах даних ви можете знайти назву програми , кількість запусків , відкриті файли , обсяги доступу , повний шлях , часові рамки та часові позначки.

Ви можете отримати доступ до цієї інформації за допомогою інструменту CrowdResponse .

SRUM

Монітор використання системних ресурсів (SRUM) відстежує ресурси , які споживає процес . Він з’явився у W8 і зберігає дані в базі даних ESE, розташованій у C:\Windows\System32\sru\SRUDB.dat.

Він надає таку інформацію:

  • AppID і шлях

  • Користувач, який виконав процес

  • Надіслані байти

  • Отримані байти

  • Мережевий інтерфейс

  • Тривалість підключення

  • Тривалість процесу

Ця інформація оновлюється кожні 60 хвилин. Ви можете отримати дату з цього файлу за допомогою інструменту srum_dump .

.\srum_dump.exe -i C:\Users\student\Desktop\SRUDB.dat -t SRUM_TEMPLATE.xlsx -o C:\Users\student\Desktop\srum

AppCompatCache (ShimCache)

AppCompatCache , також відомий як ShimCache , є частиною бази даних сумісності програм , розробленої Microsoft для вирішення проблем сумісності програм. Цей компонент системи записує різні фрагменти метаданих файлів, які включають:

  • Повний шлях до файлу

  • Розмір файлу

  • Час останньої зміни за $Standard_Information (SI)

  • Час останнього оновлення ShimCache

  • Прапор виконання процесу

Такі дані зберігаються в реєстрі в певних місцях залежно від версії операційної системи:

  • Для XP дані зберігаються під SYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCacheємністю для 96 записів.

  • Для Server 2003, а також для версій Windows 2008, 2012, 2016, 7, 8 і 10 шлях зберігання становить SYSTEM\CurrentControlSet\Control\SessionManager\AppcompatCache\AppCompatCache512 і 1024 записи відповідно.

Для аналізу збереженої інформації рекомендується використовувати інструмент AppCompatCacheParser .

Amcache

Файл Amcache.hve — це, по суті, вулик реєстру, який записує відомості про програми, які були виконані в системі. Зазвичай його можна знайти на C:\Windows\AppCompat\Programas\Amcache.hve.

Цей файл відомий тим, що зберігає записи нещодавно запущених процесів, включаючи шляхи до виконуваних файлів та їхні хеші SHA1. Ця інформація є безцінною для відстеження активності програм у системі.

Щоб отримати та проаналізувати дані з Amcache.hve , можна використовувати інструмент AmcacheParser . Наступна команда є прикладом використання AmcacheParser для аналізу вмісту файлу Amcache.hve і виведення результатів у форматі CSV:

AmcacheParser.exe -f C:\Users\genericUser\Desktop\Amcache.hve --csv C:\Users\genericUser\Desktop\outputFolder

Серед згенерованих файлів CSV Amcache_Unassociated file entriesзаслуговує на особливу увагу завдяки багатій інформації, яку він надає про непов’язані файли.

Найцікавішим згенерованим файлом CVS є Amcache_Unassociated file entries.

RecentFileCache

Цей артефакт можна знайти лише в W7 в C:\Windows\AppCompat\Programs\RecentFileCache.bcfі він містить інформацію про нещодавнє виконання деяких двійкових файлів.

Ви можете скористатися інструментом RecentFileCacheParse для аналізу файлу.

Заплановані завдання

Ви можете витягнути їх із C:\Windows\Tasksабо C:\Windows\System32\Tasksта прочитати як XML.

Послуги

Ви можете знайти їх у реєстрі за адресою SYSTEM\ControlSet001\Services. Ви можете побачити, що і коли буде виконано.

Магазин Windows

Установлені програми можна знайти в \ProgramData\Microsoft\Windows\AppRepository\ цьому репозиторії є журнал із кожною програмою, встановленою в системі в базі даних StateRepository-Machine.srd.

У таблиці Application цієї бази даних можна знайти стовпці: «Application ID», «PackageNumber» і «Display Name». Ці стовпці містять інформацію про попередньо інстальовані та інстальовані програми, і їх можна знайти, якщо деякі програми були видалені, оскільки ідентифікатори встановлених програм мають бути послідовними.

Також можна знайти встановлену програму всередині шляху реєстру: Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\ А видалені програми в:Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\

Події Windows

Інформація, яка відображається в подіях Windows:

  • Що сталося

  • Позначка часу (UTC + 0)

  • Залучені користувачі

  • Залучені хости (ім’я хоста, IP)

  • Доступ до ресурсів (файли, папка, принтер, служби)

Журнали розташовано до C:\Windows\System32\configWindows Vista та C:\Windows\System32\winevt\Logsпісля Windows Vista. До Windows Vista журнали подій були у двійковому форматі, а після цього – у форматі XML із розширенням .evtx .

Розташування файлів подій можна знайти в системному реєстрі вHKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}

Їх можна візуалізувати за допомогою засобу перегляду подій Windows ( eventvwr.msc) або за допомогою інших інструментів, наприклад Event Log Explorer або Evtx Explorer/EvtxECmd.

Розуміння журналу подій безпеки Windows

Події доступу записуються у файл конфігурації безпеки, розташований за адресою C:\Windows\System32\winevt\Security.evtx. Розмір цього файлу можна регулювати, і коли його обсяг досягається, старіші події перезаписуються. Записані події включають вхід і вихід користувачів, дії користувача та зміни параметрів безпеки, а також доступ до файлів, папок і спільних ресурсів.

Ключові ідентифікатори подій для автентифікації користувача:

  • EventID 4624 : вказує на успішну автентифікацію користувача.

  • EventID 4625 : сигналізує про помилку автентифікації.

  • Ідентифікатори подій 4634/4647 : представляють події виходу користувача.

  • EventID 4672 : позначає вхід із правами адміністратора.

Підтипи в EventID 4634/4647:

  • Інтерактивний (2) : прямий вхід користувача.

  • Мережа (3) : доступ до спільних папок.

  • Пакетний (4) : виконання пакетних процесів.

  • Служба (5) : запуск служби.

  • Проксі (6) : автентифікація проксі.

  • Розблокувати (7) : екран розблоковано за допомогою пароля.

  • Мережевий чистий текст (8) : передача пароля відкритим текстом, часто з IIS.

  • Нові облікові дані (9) : використання різних облікових даних для доступу.

  • Remote Interactive (10) : вхід у віддалений робочий стіл або термінальні служби.

  • Cache Interactive (11) : вхід із кешованими обліковими даними без звернення до контролера домену.

  • Cache Remote Interactive (12) : віддалений вхід із кешованими обліковими даними.

  • Кешоване розблокування (13) : розблокування за допомогою кешованих облікових даних.

Коди статусу та додаткового статусу для ідентифікатора події 4625:

  • 0xC0000064 : ім’я користувача не існує – це може вказувати на атаку перерахуванням імен користувачів.

  • 0xC000006A : Правильне ім’я користувача, але неправильний пароль – можлива спроба вгадування пароля або підбору пароля.

  • 0xC0000234 : Обліковий запис користувача заблоковано – може статися після атаки грубої сили, що призведе до кількох невдалих входів.

  • 0xC0000072 : обліковий запис вимкнено – неавторизовані спроби отримати доступ до вимкнених облікових записів.

  • 0xC000006F : Вхід поза межами дозволеного часу – вказує на спроби доступу поза встановленими годинами входу, можливу ознаку неавторизованого доступу.

  • 0xC0000070 : Порушення обмежень щодо робочої станції – це може бути спроба входу з несанкціонованого місця.

  • 0xC0000193 : Закінчення терміну дії облікового запису – спроби доступу з обліковими записами користувачів, термін дії яких закінчився.

  • 0xC0000071 : Термін дії пароля минув – спроби входу із застарілими паролями.

  • 0xC0000133 : Проблеми синхронізації часу. Великі розбіжності в часі між клієнтом і сервером можуть свідчити про складніші атаки, такі як передача квитка.

  • 0xC0000224 : Потрібна обов’язкова зміна пароля – часті обов’язкові зміни можуть свідчити про спробу дестабілізувати захист облікового запису.

  • 0xC0000225 : вказує на системну помилку, а не на проблему безпеки.

  • 0xC000015b : заборонений тип входу – спроба доступу з неавторизованим типом входу, наприклад користувач намагається виконати вхід до служби.

Ідентифікатор події 4616:

  • Зміна часу : модифікація системного часу може приховати хронологію подій.

Ідентифікатори події 6005 і 6006:

  • Запуск і завершення роботи системи : ідентифікатор події 6005 вказує на запуск системи, тоді як ідентифікатор події 6006 позначає її завершення роботи.

Ідентифікатор події 1102:

  • Видалення журналу : журнали безпеки очищаються, що часто є ознакою приховування незаконної діяльності.

Ідентифікатори подій для відстеження пристроїв USB:

  • 20001 / 20003 / 10000 : перше підключення пристрою USB.

  • 10100 : Оновлення драйвера USB.

  • EventID 112 : час підключення USB-пристрою.

Практичні приклади імітації цих типів входу та можливостей скидання облікових даних див. у детальному посібнику Altered Security .

Деталі подій, зокрема коди статусу та підстанусу, надають додаткову інформацію про причини події, зокрема в ідентифікаторі події 4625.

Відновлення подій Windows

Щоб збільшити шанси відновлення видалених подій Windows, радимо вимкнути підозрілий комп’ютер, від’єднавши його від мережі. Bulk_extractor , засіб відновлення, що вказує .evtxрозширення, рекомендовано для спроб відновлення таких подій.

  • Виявлення поширених атак через події Windows Щоб отримати вичерпний посібник із використання ідентифікаторів подій Windows для виявлення типових кібератак, відвідайте Red Team Recipe .

  • Атаки грубою силою Ідентифікується кількома записами EventID 4625, за якими слідує EventID 4624, якщо атака вдається.

  • Зміна часу Зміни системного часу, зареєстровані EventID 4616, можуть ускладнити судово-медичний аналіз.

  • Відстеження USB-пристроїв Корисні ідентифікатори системних подій для відстеження USB-пристроїв включають 20001/20003/10000 для початкового використання, 10100 для оновлень драйверів і EventID 112 із DeviceSetupManager для позначок часу вставки.

  • Події живлення системи EventID 6005 вказує на запуск системи, тоді як EventID 6006 означає завершення роботи.

  • Видалення журналу Подія безпеки 1102 сигналізує про видалення журналів, критичну подію для криміналістичного аналізу.

Other related articles
Found an error?
If you find an error, take a screenshot and send it to the bot.