-
[Music]
-
Alright, welcome to my enterprise security
-
video playlist. This time we're going to
-
be covering correlation searches. This is
-
a fancy word for a safe search that
-
creates an alert. That's really what it
-
comes down to. They call them notables—
-
there's a lot of terminology involved—
-
but the ultimate concept is a
-
correlation search is a search that
-
fires off at predefined periods of time,
-
maybe every five minutes, every hour,
-
searches back across your logs for
-
certain behaviors, and if it sees it, it
-
creates a...it creates an alert. You can
-
make it create a notable. Technically, it
-
doesn't have to create a notable, and
-
I'll explain how that works, but it's
-
really just a safe search. So let's go
-
break right into enterprise security, and
-
let's talk about that.
-
So I come into enterprise security. We're
-
going to show what is already outcomes
-
out of the box. So if
I go 'configure', I'm
-
in my Enterprise security
and I come into...
-
'content', and I go to
'content management',
-
these are all the knowledge objects that
-
come with enterprise security, and I'm
-
going to flip this to a
correlation search.
-
I click that...
-
we can see that it's going to come back
-
with lots and lots of results, 58 pages
-
plus of them and multiple to a page. You
-
can read this, so I'm just going to go
-
into the very first one. And this is
-
'abnormally high number of endpoint
-
changes by a user'. If I go and open this
-
up a little bit...
-
'detects an abnormally high number of
-
endpoint changes by user account as it
-
relate to restarts, audits, file system,
-
user, registry, notifications".
-
If I go into this...
-
I'm actually going to be able to see
-
the query. I'm not going to go explain it
-
because I can already tell you, it's
-
probably going to be written with lots
-
of data models and macros, but out of the
-
box, you can see: here's the query. And
-
it's basically...it's going to look at
-
your data model. You'll hear me talk
-
about data models. I've discussed data
-
model, but this is going to be the
-
endpoint data model, and it's going to be
-
looking at file systems for changes by the
-
user, it's going to do a bunch of other
-
things that ultimately it's going to
-
come back and say...if you meet a certain
-
criteria, and you can see that it's
-
actually using the machine learning
-
toolkit, so down here it's actually
-
building a threshold saying, what is the
-
normal amount of use of changes, and is
-
it jumping out of that at normal level.
-
It's really cool, put some really cool
-
analytics out there for you. You can just
-
use what they've got. What I love is I
-
don't want to...I hear, oh
-
well aren't correlation searches
-
attached to now frameworks? Well, you can
-
see the very first ones.
Sometimes they
-
are. But here, these are frameworks. I've
-
heard this in my own work,
oh, well they're
-
all mapped to the miter. Well,
-
are they? I'll just grab the very first
-
one, and...there's no miter technique
-
mapped. What should it be? Well, there's a
-
lot of things that could cause a miter
-
technique to...uh...if there's endpoint
-
changes, it could be many different types
-
of tact. Then I'll have it mapped. You
-
could come in here and you could map it,
-
we'll discuss that later, but point is, we
-
come down here...
-
make that go away, that's all...
-
we can see that it's looking back 1,450
-
minutes, and the latest time is zero. This
-
runs at five after the hour, that's how I
-
read that, five after the hour.
-
It's...if the results are greater than
-
zero, it groups by user and change type,
-
and we see that it creates...it does not
-
create a notable, it actually just
-
provides a risk analysis. And we'll
-
discuss risk analysis when we talk about
-
RBA. But the point is, you can make it do
-
a bunch of adaptive responses.
-
My job here is not to help you
-
understand every correlation search that
-
comes out of the box, I'm here to discuss
-
the part that most people don't know how
-
to do: create your own. So I've shown you
-
that you can go look through...there's
-
the documentation on Splunk, says 1400
-
plus, I don't know how they define what a
-
correlation search is. I'm going to tell
-
you that it's a lot. There's a
-
lot of them. And by default,
-
enterprise security is smart. They do
-
not come enabled. If I look at the
-
enabled correlation searches,
-
this is mine that I was using as I
-
started to help understand
-
enterprise security,
-
and these two were turned on
-
and this is for risk-based approach.
-
Other than that, there are no correlation
-
searches that come out of the box. Why?
-
Well, one, they don't want to turn
-
something on that doesn't fit your data
-
set; two, often you have
to tweak them, the
-
correlation search is great, but it's not
-
always going to be perfect for your
-
environment, and so as a general rule,
-
they're there as a guidance. Use them
-
when they make sense,
turn one on, test it,
-
see how it works.
If it doesn't, modify it,
-
and typically you'll just clone the
-
correlation search and build your own.
-
Anyway, enough talking about that, let's
-
talk about actually building my own
-
correlation search. So I'm in 'configure
-
content' and I went to
'content management'.
-
If I do 'create new content', that's how
-
I'm going to build one. And so we're
-
going to create a new content,
-
we're going to make a correlation search.
-
This is the way that I
do correlation searches.
-
That doesn't mean it's the way
-
that it has to be done,
but it's the way it works for me.
-
I'm going to call this, I
-
would hopefully have a much better name
-
for this, but I'm going to do 'YouTube
-
Correlation Search'.
-
Horrible name, because someone who comes
-
across this will have no idea what it's
-
for, but for me, when I need to purge
-
stuff from my system, it's really easy
-
and it stands out. So I'm going to put it
-
that way. Then here in my description, I'm
-
going to go...
-
'Grab one event from network logs'.
-
I'm not actually going to build
-
something that I'm looking for.
-
That's not the point of this video.
-
I'm just showing how
to build one, and I want
-
them to always fire, so I'm going to
-
fudge the numbers so that I always
-
get what I want. And so the first thing I
-
do is I don't try to build a search
-
through here. You can use a guided.
-
Guided's cool, it'll allow you it'll pick
-
data models, you can pick fields from it,
-
so if I enable the guided mode, you'll
-
see the data, it'll say alright, what
-
data model do you want to look at?
-
I might come down to 'network traffic'...
-
and what data set do I want to use...
-
'all traffic'. Do I want
to use 'summaries only'?
-
I'll discuss summaries only later
-
this is not the place for it. Time range.
-
And there is your basic query. I can run
-
the search and see how it looks.
-
Then I'm going to hit
-
'filter', and filter would be like
-
All.Traffic...
-
AllTraffic.destIP...
-
oh.
-
it's a boolean. Where...
-
and I actually don't know how to make
-
this work. All_Traffic...
-
I'd have to go look this up. Well that's
-
not very good...helpful
there. The point is,
-
I'm not actually going through the
-
guided search tour. I'm going to stay
-
right here with a manual query where I
-
can write it. It does have guided, again,
-
you got to understand exactly what
-
you're pulling. Guided is nice if you
-
know, follow the docs. I'm not here for
-
following the docs, I'm here to take a
-
query. This is my home network. I'm going
-
to look at the correlate logs. I'm going
-
to look at my correlate conn logs. I'm
-
going to say...where source IP is
-
192.1680.*. That is only so I make
-
sure that I'm looking at a specific
-
subnet section of my network. This is
-
primarily my network designed for doing
-
Splunk videos, and so this isn't my...
-
this is part of my home network, but it's
-
a subnet on my network that I use for
-
testing, pen testing, setup of systems
-
that I tear up and pick up and tear down,
-
and so I just want to know what they're
-
doing. And so I wanted the source IP
-
Maybe you don't want the source IP.
-
All I really cared about though, is I just
-
wanted this, because ultimately, later
-
down, I'm going to do inventory, and I'm
-
going to have a very simple inventory of
-
that subnet, and so I only want IPs that
-
at least one piece of the data
-
ties to my inventory. And so, as you can
-
see, this here has nothing to do with my
-
network, but this one does. And I'm going
-
to do a head 1, because I don't
-
want lots and lots of results.
-
Basically, I want a query
-
and I'm always going to return one
-
result...and that's what I built.
-
This isn't bad. This isn't actually a
-
known bad, I just wanted data to come
-
back, so then I can put other stuff on it.
-
I'm doing this as a demo for you guys to
-
understand how
-
to build a query. You would want to build
-
a query that actually is looking for
-
something malicious. Right now, I just
-
want a query to return a result, so that
-
I can...when I do my next video about
-
triage and the triage system, there are
-
actually tickets coming in. If I write a
-
query that's looking for bad, well, that
-
bad better be occurring on my network or
-
it's not going to fire. And so it's a lot
-
harder to troubleshoot if the thing is
-
working if you're building queries right,
-
If you build something that isn't...
-
you hope to not actually
see on your network.
-
So I actually hope to see
correlate conn logs.
-
I sure hope so. That means my
-
network has traffic. Anyway, and I'm just
-
going to put the head 1, because I only
-
want it to create one alert. If I let it
-
come back, it's every event that comes
-
back in here would be a notable alert.
-
I don't want my triage
system getting inundated.
-
So I'm just going to do this head 1.
-
Now I'm going to map it. I'm going to go
-
to miter, and I'm going to
-
put in some
-
tickets. So I'm going to go 'T1143'. I
-
actually can't remember what all these
-
mean off the top of my head. You can go
-
look them up. I'm going to say this, and
-
this has note, no bases whatsoever, but
-
again, these videos are
-
going to build on themselves. And so I'm
-
building these miter attacks so when I
-
go to the RBA section of this video
-
playlist, you'll see how it maps all the
-
different techniques together. And so I'm
-
going to put this down here,
-
and actually, because
I want this to work on
-
my system, I'm going to actually do...
-
I want it always to be 0.128,
-
that way I'm only going to get alerts
-
that are relating to this system.
-
That means my risk-based
approach will cross
-
the threshold. That actually makes a lot
-
more sense for me. I'll explain that when
-
we actually get to RBA, but basically, I'm
-
going to give me...
give me an alert every time
-
0.128 is the source of network traffic.
-
And that should fire off
quite frequently.
-
Ignore the picture up in the top.
-
We're just going to move on.
Head 1.
-
My videos are done rendering.
Anyway, so I'm going
-
to map it to these TTPs. Again, this is
-
all for demo purposes, so I just pick
-
some TTPs, and I can come down here and
-
I can put a confidence score,
an impact score,
-
contacts, analytics, we're just gonna
-
leave that alone for now.
-
I can create my own framework
-
And now here it's going to say
-
how far back do I want to look? Do I
-
want to look back 24 hours?
-
I could, but I know how often
-
my logs are firing. I'm going
-
to look back one hour. Doesn't really
-
matter, because I'm just grabbing head 1.
-
And...I have...I probably get
-
hundreds of events every...probably
-
thousands of events every hour
-
on this particular subnet. And so it's
-
not going to be a problem getting data.
-
I'm going to go look back one hour to
-
now. And how often do I want it to run?
-
You know what? I'm going to let it run
-
every five minutes. And that's going to
-
be important so that I actually have
-
events. And that'll work.
-
I'm going to come down here,
and I'm going to say do I
-
want it to run as real time or
-
continuous. We'll just
leave it at its default.
-
What's my scheduling window? Again,
-
these are...I'm not going over these, this
-
is just basically how you want to run
-
your times. I'm going to run this
-
every five minutes. Schedule priorities
-
in case there's conflicts. Hopefully with
-
your enterprise security, you actually do
-
not overload your system so these become
-
a big deal.
-
Trigger conditions, number of results
-
greater than zero, that's always going to
-
be the case because I'm getting back one.
-
But if I was doing this, if I want to do
-
thresholds I could make it...the thing has
-
to occur at least 10 times, or 15 times,
-
or whatever. Then windows durations
-
filled to group by...that's it. That's all
-
I want to deal with. Really, the only
-
places I put around with this is I wrote
-
a query in the most basic format to get
-
your correlation searches going. Pick a
-
search. I would tie it to an annotation
-
but you don't have to not required you
-
come down here pick your time window
-
these three boxes how far back do you
-
want to look latest time earliest time
-
and your cron schedule and then you
-
really don't have to touch anything else
-
except this add adaptive response I'm
-
going to come and modify this in a
-
minute there is when we talk about RBA
-
I'm going to put a risk analysis for the
-
sake of keeping this simple I am only
-
going to do
-
notables for now so I'm going to come in
-
here and I'm going to click a notable
-
and notable is an alert that goes to
-
your triage system
-
gonna go YouTube
-
notable give a description
-
I can actually use
-
um foreign
-
variable substitution so I'm going to do
-
alert for dollar sign Source IP
-
I need to make sure that field comes
-
back and this does have a source IP so I
-
can use it and you just call it like you
-
do in with the dollar sign on both sides
-
of a variable and that'll be dynamic and
-
so my description will come back with
-
this and just because I
-
want to what if I do yeah we'll just
-
leave it at that
-
YouTube notable security domain there
-
are a bunch of domains this is dealing
-
with access areas that would be
-
authentication endpoint a lot of your
-
host logs Network logs threat identity
-
and audit and so those are the six areas
-
splunkcast as security domains we'll
-
just leave it as a we'll put as a
-
network
-
in the network domain I'm going to put
-
the severity
-
as low
-
and default owner I can put in these I
-
can leave it unassigned
-
I'm going to put it as unassigned to
-
start with again you don't have to
-
default status I'm going to put it as
-
unassigned
-
and I could put a drill down search in
-
there and let's do that
-
we're going to take this very same query
-
just to keep things really simple one of
-
the very first drill Downs I want to put
-
in there
-
is the actual query
-
that created this log
-
but in this case I'm not going to put
-
head 1 I'm going to put I'm going to
-
take the head out
-
oh it looks like I've lost the 128 on
-
there 128.
-
make sure 128 is up here
-
yeah it is okay and I can choose the
-
drill down search will be
-
C
-
what caused alert
-
there are other ways of doing this I'll
-
show but I'm just I'm just going to
-
create a few ad drill down searches and
-
here we're going to just do
-
um
-
Y is
-
this
-
drill down exist
-
I just want to show I can go search
-
anything
-
index equals internal
-
why would you be looking at your
-
internal logs it doesn't really matter
-
um
-
well actually let's just do this I'm
-
going to put in dollar sign Source IP
-
so I'm basically looking in my internal
-
logs and I'm going to see if I find that
-
IP address popping up it it's just kind
-
of an interesting way you can add
-
additional searches to your information
-
um
-
so I'm going to be searching my internal
-
logs for the source IP
-
and I hope you saw this earliest offset
-
latest Offset you can change this or you
-
can you can let it just go by its
-
default or you can say for here I'm
-
going to go
-
plus this is a earliest for example one
-
hour
-
and I'm going to leave the other one as
-
zero
-
does that make sense so I hope this
-
makes this helps I can change my time
-
it's basically going to look in this
-
window one hour back of based off of
-
um
-
the the time this event occurred
-
so this might actually look a little bit
-
in the future this can look a little bit
-
in the future it's going to use time in
-
the back so let's go
-
we're going to go one hour one way this
-
is going to go one hour and in the
-
future and one hour in the past
-
sounds good I'm going to leave my
-
investigation profile alone and these
-
are I uh extractions and these what it's
-
going to do is it's going to it's going
-
to identify identities these are users
-
and stuff like that on your network
-
assets would be like IPS and machines
-
and files and URLs that it might have
-
found I'm going to we got assets here
-
Source test
-
um does my lock do my logs contain
-
source and test
-
well let's go look had one do I actually
-
have a source and a desk here
-
I have a source IP but no source so I
-
don't have the field it's looking for to
-
be able to identify it so what I need to
-
do is I need to come in here and I'm
-
going to go
-
source IP
-
except it's on identity
-
the identity it's an asset so I'm going
-
to come in here and I'm going to go
-
Source IP
-
and just because it's we might we might
-
want to identify the uh the other
-
machine in question we're going to put
-
desktop in there as well so I'm going to
-
have my source IP and my destination IP
-
they're going to be assets that are
-
extracted and that's all I'm going to do
-
I just want to make sure that the
-
anything that might be identifiable in
-
these queries not these queries the
-
query up here let's call them out and I
-
hope all this will make more sense as
-
you actually see the stuff come back
-
there's just a lot of capabilities here
-
I can write steps if I want to I can set
-
things up to uh for example send an
-
email stream capture if you have uh
-
Splunk stream nbstat and it's look up
-
you can make your system do a lot of
-
things like I could have Splunk go ping
-
an IP address you know what
-
um in a little bit I'll actually show me
-
doing that I can have it do a risk
-
analysis run a scripts and a uba send a
-
split mobile Splunk mobile is really
-
cool now it's being sent to my phone add
-
thread intelligence from it web hooks
-
whatever you have a lots of capabilities
-
don't need to do it the the minimum you
-
need for a notable
-
title description
-
you don't even need these drill Downs
-
you can let this be set as default
-
probably should pick a security domain
-
and literally that's it make sure it's a
-
lot more helpful if you can identify
-
your stuff coming back as identities and
-
sources and I'm going to show you that
-
in the next video with workbenches and
-
stuff like that but for the sake of this
-
don't worry about it
-
um just know that it's it's good if you
-
can call it out but if you don't you're
-
it's not like the query will break
-
I'm going to hit save
-
and I should have a correlation search
-
done now I'm going to have to wait I
-
probably just missed my window it's
-
supposed to be kicking off five minutes
-
after the hour
-
so I can almost guarantee that if I come
-
to incident review I will not find an
-
alert
-
called YouTube notable
-
I'm gonna have to wait till five more
-
minutes to go by but let's go ahead and
-
check that so I can come down I can
-
refresh the page here or I can refresh
-
the page here but either way that is not
-
the purpose of this video is to look at
-
the incidents coming in mine was to talk
-
about correlation searches and how to
-
make my own I have set up a correlation
-
search and so I've accomplished my task
-
I'm gonna I'm gonna come see it here
-
with a configure
-
content
-
configure content content management my
-
new correlation search is in here we can
-
see that when I go all
-
correlation search and when you create
-
them by default they are enabled
-
so if I come in here and I enable
-
I can see YouTube correlation search for
-
line Creations if I want to make any
-
changes to it
-
I just hit search now that's interesting
-
that it doesn't say that it's actually
-
scheduled
-
all right well probably because it
-
hasn't run the very first time once it
-
runs I should see
-
here the next schedule time but it's
-
really easy just keep it under the
-
enabled
-
and correlation searches
-
so
-
yep there it is now I've got a time for
-
the next scheduled time stored in the
-
Enterprise Security app what have we
-
covered we've talked about correlation
-
searches what they are they're saved
-
searches that can be used to create
-
notables notables fill out tickets that
-
you will go into a ticket triaging
-
system which we will cover in the next
-
video in this playlist please look at
-
the link below notice that this is a
-
playlist go ahead and join the playlist
-
and watch the videos this is meant to be
-
a comprehensive training to help you
-
understand Enterprise security
-
um
-
click that link we have now create I've
-
shown you how to see the correlation
-
search that come out of the box and I've
-
shown you how to create your own from
-
scratch I hope this has been helpful I
-
hope this helps you move from being a
-
lame analyst to a Splunk ninja that
-
you'll keep following particularly this
-
playlist watch the videos in it and that
-
they're helpful anyway hope to see you
-
around