1
1

00:00:00,630  -->  00:00:02,670
<v Instructor>Unauthorized Software.</v>
2

2

00:00:02,670  -->  00:00:05,250
Unauthorized software is one of the most obvious
3

3

00:00:05,250  -->  00:00:07,320
IOCs that you can encounter.
4

4

00:00:07,320  -->  00:00:09,570
Essentially, you find some piece of software
5

5

00:00:09,570  -->  00:00:10,800
that shouldn't be there.
6

6

00:00:10,800  -->  00:00:13,560
It could be a worm, a virus, a Trojan,
7

7

00:00:13,560  -->  00:00:15,360
or any other kind of malware.
8

8

00:00:15,360  -->  00:00:17,820
If you see this and you get a malware alert,
9

9

00:00:17,820  -->  00:00:18,960
this is an indicator
10

10

00:00:18,960  -->  00:00:21,270
that something is there that shouldn't be,
11

11

00:00:21,270  -->  00:00:23,580
and this is unauthorized software.
12

12

00:00:23,580  -->  00:00:26,730
Now, in addition to these obvious examples of malware,
13

13

00:00:26,730  -->  00:00:29,310
there are more subtle software-based indicators
14

14

00:00:29,310  -->  00:00:31,440
of compromise that could involve the presence
15

15

00:00:31,440  -->  00:00:33,780
of attack tools on a given system,
16

16

00:00:33,780  -->  00:00:35,850
because a lot of the attack tools that are out there
17

17

00:00:35,850  -->  00:00:38,550
are actually used by system administrators as well.
18

18

00:00:38,550  -->  00:00:40,830
For example, we've talked about Netcat before,
19

19

00:00:40,830  -->  00:00:43,980
we've talked about Nmap before, and Wireshark.
20

20

00:00:43,980  -->  00:00:45,330
All of these are tools that can be used
21

21

00:00:45,330  -->  00:00:47,040
by an analyst or an administrator,
22

22

00:00:47,040  -->  00:00:49,080
but they can also be used by an attacker.
23

23

00:00:49,080  -->  00:00:50,280
So when you find them,
24

24

00:00:50,280  -->  00:00:53,280
you have to determine are they authorized or not?
25

25

00:00:53,280  -->  00:00:55,770
And if they aren't, that could be an indicator of compromise
26

26

00:00:55,770  -->  00:00:58,440
of that system that some attacker's now put new tools
27

27

00:00:58,440  -->  00:01:00,690
on that system for them to use.
28

28

00:01:00,690  -->  00:01:03,180
Now, unauthorized software doesn't always have to mean
29

29

00:01:03,180  -->  00:01:06,060
some kind of malware or admin tool.
30

30

00:01:06,060  -->  00:01:07,260
It can just be software
31

31

00:01:07,260  -->  00:01:10,050
that a user isn't permitted to install themself.
32

32

00:01:10,050  -->  00:01:12,330
For example, unauthorized software can include
33

33

00:01:12,330  -->  00:01:14,430
legitimate software that shouldn't be installed
34

34

00:01:14,430  -->  00:01:16,320
on a particular workstation.
35

35

00:01:16,320  -->  00:01:18,750
In one company I worked at, we had a lot of users
36

36

00:01:18,750  -->  00:01:20,820
who would want a particular piece of software,
37

37

00:01:20,820  -->  00:01:24,180
maybe something like Adobe Acrobat or Microsoft Visio,
38

38

00:01:24,180  -->  00:01:25,650
and if we didn't provide it for them,
39

39

00:01:25,650  -->  00:01:27,810
they would go to the store, buy it themself,
40

40

00:01:27,810  -->  00:01:29,790
and then try to install it on the computer.
41

41

00:01:29,790  -->  00:01:31,440
Now, if they were successful in doing that,
42

42

00:01:31,440  -->  00:01:33,600
that is technically unauthorized software,
43

43

00:01:33,600  -->  00:01:34,590
because they weren't approved
44

44

00:01:34,590  -->  00:01:36,510
to install it on that workstation.
45

45

00:01:36,510  -->  00:01:37,860
And now the big problem with this
46

46

00:01:37,860  -->  00:01:40,020
isn't that that piece of software was bad,
47

47

00:01:40,020  -->  00:01:42,510
but it now introduces new vulnerabilities,
48

48

00:01:42,510  -->  00:01:44,760
because we have to know it's there so we can patch it
49

49

00:01:44,760  -->  00:01:47,430
and update it and make sure we have a valid license for it
50

50

00:01:47,430  -->  00:01:48,960
and all of those type of things.
51

51

00:01:48,960  -->  00:01:50,610
So all of those things are things you have to consider
52

52

00:01:50,610  -->  00:01:52,920
as well when you're dealing with software.
53

53

00:01:52,920  -->  00:01:55,710
Another area of concern is if users start installing
54

54

00:01:55,710  -->  00:01:58,290
other services on their machines.
55

55

00:01:58,290  -->  00:02:01,080
For example, Apache may be an authorized
56

56

00:02:01,080  -->  00:02:03,810
piece of software for you to install on a web server,
57

57

00:02:03,810  -->  00:02:06,540
but does that mean that everyone in the organization
58

58

00:02:06,540  -->  00:02:08,610
should be able to install Apache on their workstation
59

59

00:02:08,610  -->  00:02:10,410
and run their own web server?
60

60

00:02:10,410  -->  00:02:11,880
Well, of course not.
61

61

00:02:11,880  -->  00:02:13,500
That would be silly, because it would be something
62

62

00:02:13,500  -->  00:02:15,600
that would be a big glaring vulnerability.
63

63

00:02:15,600  -->  00:02:16,980
So as we're scanning our network
64

64

00:02:16,980  -->  00:02:18,900
and looking for different pieces of software,
65

65

00:02:18,900  -->  00:02:20,880
these are the kind of things we're looking for,
66

66

00:02:20,880  -->  00:02:23,490
things that are out of place, things that are not authorized
67

67

00:02:23,490  -->  00:02:26,460
and shouldn't be out there on those given workstations.
68

68

00:02:26,460  -->  00:02:27,840
Now, another thing an attacker can do
69

69

00:02:27,840  -->  00:02:31,050
is they can modify normal files for malicious use.
70

70

00:02:31,050  -->  00:02:34,320
For example, think about your host file on a computer.
71

71

00:02:34,320  -->  00:02:36,330
If you think back to your A+ studies,
72

72

00:02:36,330  -->  00:02:40,170
you'll remember that a host file is essentially a local DNS.
73

73

00:02:40,170  -->  00:02:42,210
So if I modify that host file
74

74

00:02:42,210  -->  00:02:45,930
and I change youtube.com to a particular IP address,
75

75

00:02:45,930  -->  00:02:49,350
it's always going to trust the host file over the DNS server.
76

76

00:02:49,350  -->  00:02:52,440
It checks there first, and so I can actually bypass
77

77

00:02:52,440  -->  00:02:55,380
you going to a valid DNS server by using your host file
78

78

00:02:55,380  -->  00:02:57,027
and modifying it as an attacker.
79

79

00:02:57,027  -->  00:02:59,760
And so this is something to keep in mind as well.
80

80

00:02:59,760  -->  00:03:02,040
As you conduct the analysis of a workstation,
81

81

00:03:02,040  -->  00:03:05,070
you're going to come across a lot of different files out there,
82

82

00:03:05,070  -->  00:03:06,450
and a lot of different file types
83

83

00:03:06,450  -->  00:03:08,820
based on the applications that are installed.
84

84

00:03:08,820  -->  00:03:10,620
Now, to look at these, you're going to have to use
85

85

00:03:10,620  -->  00:03:13,110
an application viewer in some cases.
86

86

00:03:13,110  -->  00:03:16,410
Most of your forensic toolkits, such as Encase shown here,
87

87

00:03:16,410  -->  00:03:19,650
can go in and read a lot of these different file formats.
88

88

00:03:19,650  -->  00:03:22,290
For example, here I'm looking at the webcache
89

89

00:03:22,290  -->  00:03:24,180
for a particular internet browser.
90

90

00:03:24,180  -->  00:03:25,470
This allows me to go into that
91

91

00:03:25,470  -->  00:03:28,710
and I can see what has been cashed and what has been viewed
92

92

00:03:28,710  -->  00:03:32,250
by that user with that web browser by going through it.
93

93

00:03:32,250  -->  00:03:34,440
In addition to that, it will allow me to go through
94

94

00:03:34,440  -->  00:03:36,480
and look at lots of different pieces of information
95

95

00:03:36,480  -->  00:03:38,400
and create a timeline from it.
96

96

00:03:38,400  -->  00:03:40,890
These application viewers can allow you to go in
97

97

00:03:40,890  -->  00:03:43,500
and look for different types of applications and files,
98

98

00:03:43,500  -->  00:03:45,600
such as browser histories and cookies,
99

99

00:03:45,600  -->  00:03:49,140
examining contact databases, looking at email mailboxes,
100

100

00:03:49,140  -->  00:03:52,503
or even extracting histories of calls from VoIP software.
101

101

00:03:53,400  -->  00:03:55,530
As I said, most forensic toolkits
102

102

00:03:55,530  -->  00:03:58,020
can view application usage and history,
103

103

00:03:58,020  -->  00:04:00,540
so if you're using something like Encase or FTK,
104

104

00:04:00,540  -->  00:04:03,150
or even the Sleuth toolkit, they have this capability
105

105

00:04:03,150  -->  00:04:05,730
and it makes your job a lot easier.
106

106

00:04:05,730  -->  00:04:06,960
Another thing we have to consider
107

107

00:04:06,960  -->  00:04:09,480
in our analysis is prefetch files.
108

108

00:04:09,480  -->  00:04:12,180
Now, prefetch files are files that record the names
109

109

00:04:12,180  -->  00:04:14,190
of applications that have been run,
110

110

00:04:14,190  -->  00:04:17,460
as well as the date and time, the file path, the run count,
111

111

00:04:17,460  -->  00:04:20,490
and the DLLs that were used by the executable.
112

112

00:04:20,490  -->  00:04:22,590
This is a treasure trove of information
113

113

00:04:22,590  -->  00:04:24,360
for the cybersecurity analyst,
114

114

00:04:24,360  -->  00:04:27,270
because these prefetch files have a lot of information
115

115

00:04:27,270  -->  00:04:30,390
about what has been done as you ran this executable.
116

116

00:04:30,390  -->  00:04:32,820
And so if you are running some kind of a piece of malware,
117

117

00:04:32,820  -->  00:04:34,140
you can get a lot of information
118

118

00:04:34,140  -->  00:04:35,943
from these prefetch files as well.
119

119

00:04:36,930  -->  00:04:38,910
Now, in addition to those prefetch files,
120

120

00:04:38,910  -->  00:04:41,400
you also want to look at the shimcache.
121

121

00:04:41,400  -->  00:04:44,460
Now, a shimcache is an application usage cache
122

122

00:04:44,460  -->  00:04:46,740
that is stored as a registry key.
123

123

00:04:46,740  -->  00:04:49,290
This allows you to go in and use this as an artifact
124

124

00:04:49,290  -->  00:04:51,000
as you're generating a timeline
125

125

00:04:51,000  -->  00:04:52,230
and you're trying to figure out exactly
126

126

00:04:52,230  -->  00:04:54,870
what happened when on a given system.
127

127

00:04:54,870  -->  00:04:56,400
If you're looking for the shimcache,
128

128

00:04:56,400  -->  00:05:00,680
you can find it at HKLM/SYSTEM/CurrentControlSet
129

129

00:05:00,680  -->  00:05:05,680
/Control/SessionManager/AppCompatCache
130

130

00:05:06,087  -->  00:05:08,460
/AppCompatCache.
131

131

00:05:08,460  -->  00:05:11,370
Now, I know that's really long and complicated.
132

132

00:05:11,370  -->  00:05:14,430
You do not need to memorize that location for the exam,
133

133

00:05:14,430  -->  00:05:16,860
but in the real world, it is something helpful
134

134

00:05:16,860  -->  00:05:19,050
and something you should be familiar with.
135

135

00:05:19,050  -->  00:05:22,230
The last one we want to talk about is the Amcache.
136

136

00:05:22,230  -->  00:05:24,900
Now, Amcache is an application usage cache
137

137

00:05:24,900  -->  00:05:27,600
that's stored as a hive file, and you can find this
138

138

00:05:27,600  -->  00:05:30,330
on the C drive under the Windows directory,
139

139

00:05:30,330  -->  00:05:35,330
/appcompat/Programs/Amcache.hve.
140

140

00:05:35,940  -->  00:05:38,820
Again, this is a hive file, and so it can't be opened
141

141

00:05:38,820  -->  00:05:41,310
by the reg edit tool, but it can be inspected
142

142

00:05:41,310  -->  00:05:45,573
by different file system forensic tools like Encase and FTK.
