[SMOOTH MUSIC]
In order to get started with enumeration,
we first need to cover servers and services.
We're going to work to try to answer these questions.
What is a service?
What is a server?
Why are they important?
And what do they mean to cybersecurity?
When you think about a server, you probably
picture something like this.
A server farm with a bunch of computers all connected
in an efficient manner for controlling
the electricity, connectivity, and temperature
of each machine.
But what is it really doing?
Well, server is called a server not because it's
a special piece of computer hardware,
it's because of what it does.
It serves something up for the user.
It provides some sort of functionality specialized
to that machine that can be utilized from other devices.
We most often think about this in an office context,
where we have a bunch of computers used
by many different employees.
To work efficiently, we pool resources ,
such as file storage, or email, or even administrative control,
over the entire network.
We pool these resources in specialized computers,
those computers we call servers.
The server can be running a Windows operating system,
a Linux operating system.
It could even be running macOS server.
Technically, any computer could be a server
depending on how you set it up.
Different operating systems are used
because of licensing or compatibility, or in order
to streamline operations.
In the end, either way, it means the same thing to us
security professionals because we still face the same problem.
Servers by their very nature need to be accessed remotely.
Pooling resources works so that multiple workstations
can access the same features.
The services running on a server require
opening up a listening port on the server
and accepting connections remotely.
I like analogies.
If you want to go to a drive-thru restaurant,
someone has to open a window, reach out, and hand you
your food.
There has to be some sort of break
in the barrier around the building,
and that allows things to be passed from one side
to the other.
On purpose in this case, but the same
is essentially true for a server.
We purposefully open up the barrier protecting the computer
and allow access to a program remotely.
That situation in and of itself isn't necessarily a problem.
The problem lies in that inherent bugs or flaws
or even features or misconfigurations
in the software can give remote access to the whole system.
This could let attackers into the system
to do whatever they want, and that's exactly what we're
trying to protect against.
In the rest of the course, we're going
to look at different protocols, services, and software
that you would see on a server and could allow exactly
what we're talking about.
We're not going to cover every possible software.
We're not going to cover every possible protocol or service.
But we're going to cover some common ones
that you can understand and move forward from there.