WEBVTT 0:00:03.080000 --> 0:00:08.040000 In this video, we will do another test on an NTFS file system to see how 0:00:08.040000 --> 0:00:12.100000 the file system interprets data runs, which are used to locate files, 0:00:12.100000 --> 0:00:16.580000 especially files that are stored outside the MFT, in other words, non 0:00:16.580000 --> 0:00:21.900000 -resident files. A small disk with an empty file system was created for 0:00:21.900000 --> 0:00:25.580000 this video. We can see that there are no files currently stored on this 0:00:25.580000 --> 0:00:31.200000 disk. I have also created two files, which are here, on the desktop. 0:00:31.200000 --> 0:00:35.360000 If we open the first file, which is called File AB, it is named as such 0:00:35.360000 --> 0:00:40.880000 because it has 2000 As and 2000 Bs, which total 4000 bytes. 0:00:40.880000 --> 0:00:46.780000 Our second file, File CD, is similar to the first in that it has 2000 0:00:46.780000 --> 0:00:54.180000 Cs and 2000 Ds, totaling 4000 bytes. 0:00:54.180000 --> 0:00:58.300000 If we go to the properties of these files to look at the storage, we can 0:00:58.300000 --> 0:01:02.900000 confirm the file size is 4000 bytes, as each character represents one 0:01:02.900000 --> 0:01:18.520000 byte. Looking at the disk, it has a cluster size of 4096, which we will 0:01:18.520000 --> 0:01:22.520000 also calculate. So, let's go ahead and close this. 0:01:22.520000 --> 0:01:27.120000 Now, let's copy these files to the disk. 0:01:27.120000 --> 0:01:36.220000 We can now open and run FTK Imature as an administrator so that we can 0:01:36.220000 --> 0:01:38.500000 take a forensic copy of this disk. 0:01:38.500000 --> 0:01:45.500000 Let's go to the file and select Create Disk Image. 0:01:45.500000 --> 0:01:47.880000 Let's create it for a logical drive. 0:01:47.880000 --> 0:01:51.440000 Select the A drive and click the Finish button. 0:01:51.440000 --> 0:01:55.460000 Now, let's click the Add button so that we can add a destination. 0:01:55.460000 --> 0:01:59.160000 Let's select raw DD and click Next. 0:01:59.160000 --> 0:02:01.660000 We're not going to fill this in right now. 0:02:01.660000 --> 0:02:04.500000 We can always enter this information in later. 0:02:04.500000 --> 0:02:07.380000 Next, let's store the file on the desktop. 0:02:07.380000 --> 0:02:15.560000 Let's name the file NTFS test01. 0:02:15.560000 --> 0:02:19.400000 Since we don't want the file split, let's update this value to zero and 0:02:19.400000 --> 0:02:21.320000 then click the Finish button. 0:02:21.320000 --> 0:02:24.580000 Now, we can click the Start button to begin the creation of the forensic 0:02:24.580000 --> 0:02:34.120000 image. Everything is now complete and verified. 0:02:34.120000 --> 0:02:40.140000 We can go ahead and close this. 0:02:40.140000 --> 0:02:43.740000 Now, let's copy this file over so we can open this image using WinHacks 0:02:43.740000 --> 0:02:45.580000 on this virtual machine. 0:02:45.580000 --> 0:02:59.140000 Let's go ahead and run WinHacks as an administrator. 0:02:59.140000 --> 0:03:10.100000 Once open, let's go to File, then Open and open the file we created. 0:03:10.100000 --> 0:03:16.360000 Now, let's go to the Specialist and select Interpret Image File as Disk. 0:03:16.360000 --> 0:03:21.320000 So now, we have an NTFS disk with an NTFS file system. 0:03:21.320000 --> 0:03:24.760000 Here, we see all of our files from previous videos, which represent the 0:03:24.760000 --> 0:03:27.220000 NTFS file system. 0:03:27.220000 --> 0:03:29.400000 Here's the file AB. 0:03:29.400000 --> 0:03:32.680000 As we scroll through its contents, we can see the As as well as where 0:03:32.680000 --> 0:03:40.960000 the Bs start. And, if we scroll down, we can see that there are 96 bytes 0:03:40.960000 --> 0:03:44.820000 of empty space, which is why there are zeros because the file size is 0:03:44.820000 --> 0:03:46.480000 only 4,000 bytes. 0:03:46.480000 --> 0:03:51.220000 Just below, File CD starts. 0:03:51.220000 --> 0:03:54.340000 And, as we scroll through the entries, we can also see that it's using 0:03:54.340000 --> 0:04:02.700000 a cluster. And like the other file, the rest is filled with zeros. 0:04:02.700000 --> 0:04:07.580000 Our goal, and the goal of this video, is to locate the exact cluster number. 0:04:07.580000 --> 0:04:11.880000 Before we do that, though, there is one more important thing that we need. 0:04:11.880000 --> 0:04:14.920000 We need to go to the boot to understand what the exact size of the cluster 0:04:14.920000 --> 0:04:19.760000 is. We should always verify this by checking the boot of the disk, as 0:04:19.760000 --> 0:04:23.280000 we cannot depend on what we see here in the video, and assume we'll always 0:04:23.280000 --> 0:04:27.400000 have this. In a real case, we need to understand how big this size actually 0:04:27.400000 --> 0:04:32.420000 is. We cannot depend on what we see in the video. 0:04:32.420000 --> 0:04:36.580000 So, let's select the boot, and go to View, and select Template Manager, 0:04:36.580000 --> 0:04:40.800000 and then, let's apply the boot sector NTFS, as this option allows us to 0:04:40.800000 --> 0:04:44.920000 find the location where we'll find the bytes, the sectors per cluster, 0:04:44.920000 --> 0:04:46.920000 and bytes per sector. 0:04:46.920000 --> 0:04:52.480000 Let's click the Apply button. 0:04:52.480000 --> 0:04:58.140000 Here, we can see that we have eight sectors, and each sector is 512 bytes. 0:04:58.140000 --> 0:05:01.480000 So now we know that we have eight sectors, which means we have a cluster 0:05:01.480000 --> 0:05:08.720000 size of 4096. Let's go ahead and close this, and go back to File AB. 0:05:08.720000 --> 0:05:14.080000 This time, though, let's right-click, go to Navigate, and select Seek 0:05:14.080000 --> 0:05:21.540000 File Record. Here we can see the file entry, also called File Record, 0:05:21.540000 --> 0:05:23.740000 in the MFT file table. 0:05:23.740000 --> 0:05:27.460000 What we need to do now is locate the data run. 0:05:27.460000 --> 0:05:41.660000 To do that, let's use a really useful document by Jason Maderos. 0:05:41.660000 --> 0:05:44.640000 Let's go to the Attributes section as we need to identify the attributes 0:05:44.640000 --> 0:05:52.460000 type and ID. Here, we see the Data attribute, which is the attribute that 0:05:52.460000 --> 0:05:58.580000 we'll be holding our data, and has an ID of 80. 0:05:58.580000 --> 0:06:03.180000 So, let's go back to WinHacks and, like in a previous video, we'll go 0:06:03.180000 --> 0:06:08.800000 through all of these. 0:06:08.800000 --> 0:06:13.200000 Here, this is an attribute and its size. 0:06:13.200000 --> 0:06:17.040000 We can see that our data attribute starts here, and since we have 48, 0:06:17.040000 --> 0:06:29.840000 which is 72 bytes in decimals, we need to select 72 bytes. 0:06:29.840000 --> 0:06:32.680000 This selection is all of the data attribute. 0:06:32.680000 --> 0:06:36.840000 It starts with 80, the attribute ID, and then we have 4 bytes for its 0:06:36.840000 --> 0:06:40.660000 size, which says we have 72 bytes in decimal. 0:06:40.660000 --> 0:06:47.440000 At the end of this attribute is where we have our data run. 0:06:47.440000 --> 0:06:52.960000 So, the data run is located here. 0:06:52.960000 --> 0:06:55.400000 How can we interpret this data run? 0:06:55.400000 --> 0:07:00.280000 To answer that question, let's start off by copying it by right-clicking, 0:07:00.280000 --> 0:07:03.560000 selecting Copy Block, and then Hex Values. 0:07:03.560000 --> 0:07:09.180000 On the desktop, I'll open the Notes file we used previously and copy in 0:07:09.180000 --> 0:07:16.140000 the values. So, now we have 1, 1, 0, 1, and 24. 0:07:16.140000 --> 0:07:20.720000 The second number in the Values box, the 1, indicates that we have 1 byte 0:07:20.720000 --> 0:07:24.900000 used for the number of clusters or the number of runs. 0:07:24.900000 --> 0:07:37.980000 So, this particular 1 here represents this. 0:07:37.980000 --> 0:07:41.800000 The first number, this 1, means that we have 1 byte used for the first 0:07:41.800000 --> 0:07:47.140000 cluster number. So, what this means is that this byte will be for the 0:07:47.140000 --> 0:08:12.640000 number of runs, and this byte for the first cluster number. 0:08:12.640000 --> 0:08:15.420000 Don't forget that this is in Littleandian. 0:08:15.420000 --> 0:08:19.360000 If we had more than 1 byte, we would have to swap these bytes. 0:08:19.360000 --> 0:08:30.420000 Now, let's call our calculator. 0:08:30.420000 --> 0:08:34.560000 The 0, 1 is already known, so we don't have to convert it, but let's go 0:08:34.560000 --> 0:08:36.920000 ahead and convert the 24. 0:08:36.920000 --> 0:08:42.120000 We need to convert the 24 from Hex to decimal, which is 36 decimal bytes. 0:08:42.120000 --> 0:08:46.720000 Now, let's go back to WinHacks. 0:08:46.720000 --> 0:08:50.540000 For the value we just converted, it is in cluster numbers, so we need 0:08:50.540000 --> 0:08:56.020000 to multiply this by 8, because our cluster number is using 8 sectors. 0:08:56.020000 --> 0:08:58.200000 This gives us 288. 0:08:58.200000 --> 0:09:03.140000 So, if we go here and select the file AB, we can see that the file's first 0:09:03.140000 --> 0:09:09.500000 sector is 288, meaning we were able to identify this file's exact location. 0:09:09.500000 --> 0:09:13.600000 Let's do the same with file CD. 0:09:13.600000 --> 0:09:15.740000 Let's select it, and right-click. 0:09:15.740000 --> 0:09:20.620000 Then, choose Navigation, and go to Seek File Record. 0:09:20.620000 --> 0:09:24.460000 We already know that our data attributes start with 80, so here is our 0:09:24.460000 --> 0:09:29.380000 data attribute, and the size is 72 in decimals and 48 in Hex. 0:09:29.380000 --> 0:09:36.980000 Let's start selecting our bytes. 0:09:36.980000 --> 0:09:43.680000 Now, we can see that this here represents the data runs. 0:09:43.680000 --> 0:09:48.680000 Let's go ahead and select them, and then select Copy as Hex values. 0:09:48.680000 --> 0:09:55.100000 Let's paste these values into Notepad. 0:09:55.100000 --> 0:10:01.960000 Here we have one byte that we'll be holding our first cluster number. 0:10:01.960000 --> 0:10:08.060000 We have this one byte here, which is the number of clusters used by this 0:10:08.060000 --> 0:10:13.780000 file. It is clear that we have only one cluster, but let's go ahead and 0:10:13.780000 --> 0:10:25.400000 convert it. So, we have 25, and if we convert it to decimal, it's 37. 0:10:25.400000 --> 0:10:30.640000 And, if we multiply it by 8, then we get 296. 0:10:30.640000 --> 0:10:37.920000 Here, we can see that it's also 296. 0:10:37.920000 --> 0:10:40.640000 So, why did we multiply it by 8? 0:10:40.640000 --> 0:10:44.100000 Because, as mentioned earlier, this gives us the cluster number, as the 0:10:44.100000 --> 0:10:46.280000 cluster number is using 8 sectors. 0:10:46.280000 --> 0:10:51.100000 Let's go ahead and calculate another file, the MFT. 0:10:51.100000 --> 0:10:58.540000 So, how can we identify the location of the file? 0:10:58.540000 --> 0:11:00.220000 It's the same as we did earlier. 0:11:00.220000 --> 0:11:04.940000 The MFT is a file, so let's right-click, select Navigation, and select 0:11:04.940000 --> 0:11:07.380000 Navigate. Then go to Seek File Record. 0:11:07.380000 --> 0:11:11.700000 We are already here. 0:11:11.700000 --> 0:11:16.840000 Now, let's go to the Data section, which is right here, and select it. 0:11:16.840000 --> 0:11:28.160000 This one is different. 0:11:28.160000 --> 0:11:33.840000 As we can see, we have these bytes, which represent our data run. 0:11:33.840000 --> 0:11:38.380000 So, let's select these bytes, right -click, choose Edit, and select Copy, 0:11:38.380000 --> 0:11:40.360000 and go to Hex Values. 0:11:40.360000 --> 0:11:44.360000 Let's go to our notepad so we can analyze it. 0:11:44.360000 --> 0:11:48.920000 So, what we have here is the following. 0:11:48.920000 --> 0:11:54.900000 Here, we have two bytes, which represent our first cluster number, and 0:11:54.900000 --> 0:12:01.520000 one byte, will represent how many clusters we have for this file. 0:12:01.520000 --> 0:12:04.860000 Two means that these two bytes here are for the first cluster number, 0:12:04.860000 --> 0:12:08.860000 since they are in Little Indian. 0:12:08.860000 --> 0:12:13.340000 We have 52 and 55 for the first cluster number. 0:12:13.340000 --> 0:12:19.860000 The one means we have 40 in hexadecimal. 0:12:19.860000 --> 0:12:22.160000 Now, let's go ahead and convert them. 0:12:22.160000 --> 0:12:27.760000 Making sure the calculator is in hex, 52, 55 converted to decimals is 0:12:27.760000 --> 0:12:30.020000 to the first cluster number. 0:12:30.020000 --> 0:12:36.860000 21,077. We now need to multiply this by 8, which gives us 168,616. 0:12:36.860000 --> 0:12:42.120000 This is our first sector number. 0:12:42.120000 --> 0:12:49.840000 Now, let's convert 40. 0:12:49.840000 --> 0:12:59.080000 We get 64. So, we have 64 clusters for this file. 0:12:59.080000 --> 0:13:04.040000 Let's check it in WinHacks, and verify if our calculations are correct. 0:13:04.040000 --> 0:13:09.580000 We can see in our file and WinHacks that 16,86,16 is where the first sector 0:13:09.580000 --> 0:13:15.200000 for the MFT starts, so our calculation is correct. 0:13:15.200000 --> 0:13:30.960000 If we go ahead and multiply 64 by 4096, this gives us 262,144 in bytes. 0:13:30.960000 --> 0:13:36.600000 And, if we divide it based on 1024, we get 256 kilobytes, which is the 0:13:36.600000 --> 0:13:40.320000 same size we have here for this MFT file. 0:13:40.320000 --> 0:13:45.860000 As you can see, it's very easy to calculate the clusters and the entries 0:13:45.860000 --> 0:13:49.620000 for the data runs, especially if you know how the data is structured and 0:13:49.620000 --> 0:13:52.760000 how it's actually stored on the disk. 0:13:52.760000 --> 0:13:56.240000 Also, WinHacks makes these very easy to calculate because we don't need 0:13:56.240000 --> 0:13:58.100000 to go through all the headache. 0:13:58.100000 --> 0:14:02.040000 We can just simply select the file, right-click it, go to navigation, 0:14:02.040000 --> 0:14:04.420000 and select list clusters. 0:14:04.420000 --> 0:14:08.280000 Here we can see that the location is at cluster 36, and if we multiply 0:14:08.280000 --> 0:14:11.960000 that by 8, it will give us 288. 0:14:11.960000 --> 0:14:16.800000 It also tells us that it is using only one cluster and it's holding 4000 0:14:16.800000 --> 0:14:23.480000 bytes. If we go through the same steps for file CD, its location is at 0:14:23.480000 --> 0:14:28.800000 cluster 37, holds 4000 bytes, and is using a single cluster. 0:14:28.800000 --> 0:14:36.200000 Let's do the same steps for a MFT as well. 0:14:36.200000 --> 0:14:40.120000 Here's the first cluster number, 201077. 0:14:40.120000 --> 0:14:44.220000 We also see that clusters were omitted. 0:14:44.220000 --> 0:14:50.980000 This value here is the final cluster number, so we have from 201077 up 0:14:50.980000 --> 0:14:58.180000 to 21140, and we have 64 clusters. 0:14:58.180000 --> 0:15:02.700000 In this video, we did the calculation manually, should we not have WinHacks 0:15:02.700000 --> 0:15:05.940000 available or need to perform this process manually. 0:15:05.940000 --> 0:15:10.420000 We then used WinHacks to verify our calculations, as well as use its features 0:15:10.420000 --> 0:15:13.300000 to do the same calculations automatically. 0:15:13.300000 --> 0:15:16.980000 You can now experiment with these techniques and identify files regardless 0:15:16.980000 --> 0:15:21.080000 of their location, sector, etc. 0:15:21.080000 --> 0:15:26.560000 And this concludes our video lesson on Manually Analyzing File Data Runs. 0:15:26.560000 --> 0:15:27.400000 Thank you for joining us.