YouTube2Text

Microsoft Sentinel Training | Azure Sentinel Tutorial | Microsoft Sentinel Step-by-Step Guide — Transcript

by CyberPlatter · 42,884 words · 6,863 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Hey guys, welcome to cyberplatter. I am
  2. 0:02Navia. This is a full course on
  3. 0:04Microsoft Sentinel which was earlier
  4. 0:06known as Azure Sentinel. So we will
  5. 0:09cover all the main topics of Sentinel,
  6. 0:12explain them in a simple way and show
  7. 0:14demos to help you understand how it
  8. 0:16works. So by the end of this video, the
  9. 0:19goal is to make sure you understand
  10. 0:21Microsoft Sentinel and you can use it on
  11. 0:23your own. So let's begin with the basic
  12. 0:26foundational topic. What is Microsoft
  13. 0:28Sentinel and the architecture of
  14. 0:31Microsoft Sentinel?
  15. 0:33So what is Microsoft Sentinel? Microsoft
  16. 0:35Sentinel is a solution security solution
  17. 0:38that combines SIM and store solutions.
  18. 0:42It has both the capabilities. So it's
  19. 0:44designed to provide comprehensive
  20. 0:46visibility and enhance security for
  21. 0:48organizations by detecting,
  22. 0:51investigating and responding to threats
  23. 0:54in real time. So I said it is a
  24. 0:57combination of SIM and SOR. What is SIM?
  25. 1:00SIM stands for security information and
  26. 1:04event management.
  27. 1:06It combines two core functionalities.
  28. 1:09The first one is SIM that is information
  29. 1:12management, security information
  30. 1:13management and the other one is SEM that
  31. 1:16is security event management. SIM
  32. 1:19focuses on log collection, storage and
  33. 1:22analysis. So this helps organizations
  34. 1:25track and manage historical data from
  35. 1:28various systems. This can be for
  36. 1:30forensics compliance or auditing
  37. 1:33purposes. The next core functionality of
  38. 1:36SIM is SEM that is uh security event
  39. 1:39management. This deals with realtime
  40. 1:42monitoring and correlation of events. So
  41. 1:45this helps detect suspicious activities
  42. 1:48or potential threats across an
  43. 1:50organization's IT infrastructure. Now
  44. 1:52that we understand what is stemmar
  45. 1:55sore stands for security orchestration,
  46. 1:58automation and response. This is a
  47. 2:02security solution that focuses on
  48. 2:03improving the efficiency and
  49. 2:05effectiveness of an organization
  50. 2:07security uh operations. Like the name
  51. 2:10suggests, it combines automation,
  52. 2:14incident management and response
  53. 2:16orchestration. Because of this, it
  54. 2:20streamlines workflows and reduces manual
  55. 2:23effort. So, security orchestration
  56. 2:25integrates multiple security tools and
  57. 2:27systems to work together seamlessly.
  58. 2:30Like for example, different platforms
  59. 2:32such as firewalls, SIMs, endpoint
  60. 2:35security can communicate and coordinate
  61. 2:38actions. Next is the automation part. It
  62. 2:41automates repetitive tasks such as you
  63. 2:44know alert triggering, log analysis and
  64. 2:46initial response actions. So this
  65. 2:48reduces manual effort enabling security
  66. 2:51teams to focus on complex threats. The
  67. 2:53next part is response. It is usually
  68. 2:55incident response. So this provides
  69. 2:58tools for managing and responding to
  70. 3:00security uh incidents effectively. This
  71. 3:03can include playbooks, workflows to
  72. 3:05guide you know teams through
  73. 3:07standardized response procedures. So now
  74. 3:10we know what is SIM and soore and what
  75. 3:13are their capabilities. All these are
  76. 3:15provided by Microsoft Sentinel because
  77. 3:17it is a combination of both SIM and
  78. 3:20soar. And what sets Microsoft Sentinel
  79. 3:23apart from the other SIM and soore
  80. 3:25solutions is its pay as you go pricing
  81. 3:28model. That means you only pay for the
  82. 3:32data you ingest and store. So this makes
  83. 3:35it a cost effective option for
  84. 3:38businesses of all sizes. It's a very
  85. 3:40flexible approach and it also ensures
  86. 3:43that you are not locked into expensive
  87. 3:46upfront costs or licensing fees. So in
  88. 3:49the other SIM consour solutions usually
  89. 3:51you have to pay an expensive upfront
  90. 3:54cost or you know there is licensing that
  91. 3:57happens you'll have to pay for that as
  92. 3:58well that is not there in Sentinel.
  93. 4:01Also, Microsoft Sentinel is a fully
  94. 4:04cloudnative solution that is delivered
  95. 4:07as software as a service solution that
  96. 4:10is SAS solution. This means that you
  97. 4:13don't have to worry about maintaining
  98. 4:15infrastructure, deploying hardware or
  99. 4:17managing updates. It is all handled by
  100. 4:20Microsoft. So there are different
  101. 4:22service models like SAS, software as a
  102. 4:25service, platform as a service, pass and
  103. 4:28is that is infrastructure as a service.
  104. 4:30And there is on premises and sentinel is
  105. 4:33SAS. So if you're using an onremise SIM
  106. 4:37then the customer then that is the
  107. 4:39organization will have to manage the
  108. 4:41entire stack that is you know from
  109. 4:44starting networking storage servers
  110. 4:46virtualization OS middleware runtime
  111. 4:48application identities and data. And
  112. 4:52then there is I is that is for example
  113. 4:54say you are running a sim on Azure
  114. 4:57virtual machines. Then you can see that
  115. 5:00the cloud provider or any provider will
  116. 5:03manage the virtualization, servers,
  117. 5:05storage and networking that is the
  118. 5:07infrastructure part and the customer is
  119. 5:10responsible for the rest. So management
  120. 5:12overhead in is compared to on premises
  121. 5:15decreased. Again if you go to pass it
  122. 5:17decreases more for the customer because
  123. 5:20the customer is maintaining only the
  124. 5:22applications identity and data. But then
  125. 5:25if you see in SAS that is what the
  126. 5:28Microsoft Sentinel model is you are
  127. 5:30maintaining only the data and the
  128. 5:32identities and accounts part. So the
  129. 5:35customer that is the organization is
  130. 5:37responsible only for the data that they
  131. 5:40ingest and store what kind of
  132. 5:42configuration that they require and the
  133. 5:45identity identities or accounts that is
  134. 5:48that falls under identity and access
  135. 5:50management because Sentinel is provided
  136. 5:53as a SAS solution. There is no hardware
  137. 5:56or software maintenance that the
  138. 5:59customer will have to do and also it
  139. 6:02automatically scales with the
  140. 6:04organization's needs and the team can
  141. 6:08focus on security that is it allows
  142. 6:11organization to focus on threat
  143. 6:13detection and response instead of you
  144. 6:15know maintaining infrastructure
  145. 6:18and Microsoft Sentinel can be accessed
  146. 6:20from two places one is the Microsoft
  147. 6:23Azure portal So like you can see it in
  148. 6:26this picture. This is in Microsoft
  149. 6:28Azure. In Microsoft Azure, you search
  150. 6:30for Microsoft Sentinel. So Microsoft
  151. 6:33Azure uh URL is portal.asure.com.
  152. 6:38If you log into this, you land on the
  153. 6:40homepage and then you search for
  154. 6:41Microsoft Sentinel. We'll talk about
  155. 6:44this more in the next chapters where I
  156. 6:47show you how to get a free trial, how
  157. 6:49you can get your own Microsoft Sentinel.
  158. 6:52The other way that you can log into
  159. 6:54Sentinel is from Microsoft Defender
  160. 6:56portal. Now you can also access it from
  161. 6:59the def defender portal. So the defender
  162. 7:02portal aims to combine all the security
  163. 7:05capabilities, right? So you can find it
  164. 7:07there as well. So in this screenshot it
  165. 7:10is in Microsoft Defender and if you see
  166. 7:13here there's a separate tab for
  167. 7:15Microsoft Sentinel and you can find all
  168. 7:17the details here and the URL for this is
  169. 7:21security.microsoft.com.
  170. 7:23Now that we know what is Microsoft
  171. 7:26Sentinel, what are the capabilities, how
  172. 7:28it can be accessed, let's go to
  173. 7:30Microsoft Sentinel's architecture.
  174. 7:32Sentinel integrates with a wide range of
  175. 7:34data sources to collect mostly security
  176. 7:37related data but you can collect other
  177. 7:39data as well. Like you can see here,
  178. 7:42Sentinel supports direct integration
  179. 7:44with major public cloud platforms uh
  180. 7:47like for example Azure obviously AWS,
  181. 7:50Google Cloud and more. So you can
  182. 7:53collect security logs, events and
  183. 7:56telemetry not just from Azure but also
  184. 7:58from other public clouds. And then it
  185. 8:01supports data injection from on premises
  186. 8:04servers and devices like for example you
  187. 8:06see Windows, Linux, MacBooks. You can do
  188. 8:10this using agents or custom
  189. 8:11integrations. It also allows
  190. 8:14integrations from custom or third party
  191. 8:16data sources using APIs or custom
  192. 8:19scripts to expand its capabilities. Not
  193. 8:22just APIs, you can also use you know
  194. 8:24logic apps or Azure functions to
  195. 8:27establish custom log injection. So the
  196. 8:30other use cases for you know data
  197. 8:32sources would be you know you're sending
  198. 8:33data from Azure active directory that is
  199. 8:36now Microsoft enter then Azure monitor
  200. 8:40Microsoft defender or you know if you
  201. 8:42have other security tools like for
  202. 8:44example service now you're getting data
  203. 8:46from there as well and also Sentinel
  204. 8:49itself provides a lot of built-in
  205. 8:51connectors for seamless integration. So
  206. 8:54all of this data is sent to log
  207. 8:56analytics workspace. Sentinel relies on
  208. 8:59log analytics workspace for storing and
  209. 9:02querying data. It supports both
  210. 9:04structured like for example table and
  211. 9:08unstructured like for example JSON data.
  212. 9:10So all of the data is sent to log
  213. 9:13analytics workspace. This acts as the
  214. 9:15central repository for logs, metrics and
  215. 9:18other security related data and Sentinel
  216. 9:21uses KQL to analyze and query this data
  217. 9:24for insights. And you can also send data
  218. 9:28from threat intelligence sources. So
  219. 9:31Sentinel uses Microsoft's uh threat
  220. 9:34intelligence but you can also get your
  221. 9:37own threat intelligence sources as well
  222. 9:39if you have anything in your
  223. 9:41organization. Threat intelligence is to
  224. 9:43enrich the collected data like it
  225. 9:46identifies non-malicious IPs, domains or
  226. 9:49file ashes and it can also correlate
  227. 9:51data with known threat patterns for
  228. 9:53faster detection of attack. And these
  229. 9:56are some of the core functionalities
  230. 9:58that Sentinel provides for monitoring
  231. 10:00and incident response. The first one is
  232. 10:03incidents. It is for correlation of
  233. 10:05alerts into actionable incidents for
  234. 10:08investigation. Next is analytics. This
  235. 10:11is built-in and customizable rules to
  236. 10:14detect anomalies and suspicious
  237. 10:16activities. Then there is notebooks.
  238. 10:18These are interactive Jupiterbased
  239. 10:20notebooks for advanced threat hunting
  240. 10:23and analysis. Next we have workbooks.
  241. 10:26These are pre-built and customizable
  242. 10:28dashboards to visualize and report on
  243. 10:31security metrics. And then there is
  244. 10:33hunting. So it is proactive threat
  245. 10:36hunting using machine learning and KQL
  246. 10:38queries. And then there are playbooks.
  247. 10:41These are automated response workflows
  248. 10:43built using Azure logic apps to mitigate
  249. 10:46threats. So this is just an
  250. 10:48introduction. We will talk about all
  251. 10:50these capabilities in depth and also you
  252. 10:53know demos for them. For now just
  253. 10:56understand that these are some of the
  254. 10:58core capabilities that are provided by
  255. 11:00Sentinel. So you can ingest all the data
  256. 11:04and also threat intelligence and store
  257. 11:06it in log analytics workspace and then
  258. 11:09Sentinel uses KQL to analyze and query
  259. 11:12this data for insights and we also saw
  260. 11:16some of the Sentinel core components.
  261. 11:19Next is chapter 2 and in this we will go
  262. 11:22over how to set up Sentinel and manage
  263. 11:25permissions using Rback. So let's get
  264. 11:28started. If you want to follow along
  265. 11:30with the demos, you can create a free
  266. 11:32Azure trial account, you can search for
  267. 11:35Azure free trial, go to the first link
  268. 11:38which is azure.microsoft.com.
  269. 11:40Create your free account today. Click on
  270. 11:42it. So here you can create a free Azure
  271. 11:46account. If I scroll down, it tells you
  272. 11:49what is this free account for. It is for
  273. 11:51new Azure customers
  274. 11:53and you get $200 credit to use Amazon
  275. 11:58services within a month and after that
  276. 12:01it is pay as you go pricing. So let's
  277. 12:04sign up. Click on sign up. Then you
  278. 12:06create your profile, your country, your
  279. 12:09first name, last name, email address.
  280. 12:13Once you enter your phone number, it'll
  281. 12:14ask you to verify your identity. You can
  282. 12:17get a text or you can ask Azure to call
  283. 12:20you with a code. Then enter the
  284. 12:22verification code. Then click on verify
  285. 12:25code. Then enter your address. Then I'm
  286. 12:30going to check I understand that
  287. 12:31Microsoft may contact me about my free
  288. 12:34account. I represent that I am the
  289. 12:36individual identified on this account. I
  290. 12:38don't want to receive any emails with
  291. 12:41tips and information and offers from
  292. 12:43Microsoft. So I'm not going to check
  293. 12:45that. and then click on next. And then
  294. 12:48it will ask you to verify your identity
  295. 12:50by using a credit card or a debit card.
  296. 12:53I will enter those details now and then
  297. 12:56click on sign up once you enter the
  298. 12:58credit card details. After that you
  299. 13:00might be asked to set up MFA. Then it
  300. 13:03says you are ready to start with Azure.
  301. 13:05Go to Azure portal. Okay. Now my free
  302. 13:07Azure trial account is ready. Before we
  303. 13:10start with the Microsoft Sentinel
  304. 13:12deployment, let's look at some
  305. 13:14prerequisites for it. First is an Azure
  306. 13:17tenant. So you need access to Microsoft
  307. 13:20Entra ID license and tenant. Microsoft
  308. 13:23Enra ID was formerly called Azure Active
  309. 13:26Directory. This is an identity and
  310. 13:29access management service used in Azure.
  311. 13:31You need access to that. And a tenant is
  312. 13:34a dedicated instance of Enra ID that
  313. 13:36manages users, groups, and permissions
  314. 13:38for an organization. Usually, if you're
  315. 13:41part of a company, right, your
  316. 13:43organization provides access to an
  317. 13:45existing tenant. And if you don't have
  318. 13:47an organization
  319. 13:49ID tenant, you can still create an
  320. 13:52individual Azure account like just we
  321. 13:54created a free account, right? You can
  322. 13:56create that because you need an
  323. 13:58individual account with a valid payment
  324. 14:01method. So under this either you need a
  325. 14:04Microsoft enter ID license and tenant or
  326. 14:07an individual account with a valid
  327. 14:09payment method. The valid payment method
  328. 14:11that we entered was a credit card and
  329. 14:14this is required to access Azure and to
  330. 14:17deploy resources. So the next
  331. 14:20prerequisite is to have an active Azure
  332. 14:23subscription. So to deploy and use
  333. 14:26Microsoft Sentinel you must have an
  334. 14:28Azure subscription and this Azure
  335. 14:31subscription either requires a Microsoft
  336. 14:35entry ID tenant that is for businesses
  337. 14:37or organizations or an individual
  338. 14:40account with payment details. This is
  339. 14:42for personal or trial use and an Azure
  340. 14:46subscription is used to track resource
  341. 14:48creation and billing. So when you're
  342. 14:51deploying Microsoft Sentinel, you create
  343. 14:53and manage cloud resources such as log
  344. 14:55analytics, workspaces, data connectors,
  345. 14:58right? For that you need the
  346. 15:00subscription to provide a way to
  347. 15:02organize, track and manage these
  348. 15:05resources. And even if you use a free
  349. 15:08trial, Azure needs a subscription to
  350. 15:10associate costs with the resources you
  351. 15:13deploy. It helps monitor usage and set
  352. 15:16up budgets, alerts and cost analysis to
  353. 15:19avoid unexpected uh charges.
  354. 15:23And then you require a log analytics
  355. 15:25workspace. So a log analytics workspace
  356. 15:28is essential for Microsoft Sentinel
  357. 15:30because it serves as a central location
  358. 15:33where data is collected, stored and
  359. 15:35analyzed. Sentinel ingests security
  360. 15:38logs, threat intelligence and other
  361. 15:41telemetry into this workspace and it
  362. 15:44later uses it for say threat detection,
  363. 15:46security analytics, investigation and
  364. 15:49response. Few things that you need to
  365. 15:51note is that the workspace must not have
  366. 15:54a resource lock applied. Resource logs
  367. 15:57prevent modifications which can
  368. 15:59interfere with Sentinel's ability to
  369. 16:02function properly. And also the
  370. 16:04workspace must use a pay as you go or
  371. 16:07commitment tier pricing model. So legacy
  372. 16:10pricing tiers are not supported and
  373. 16:12commitment tiers allow cost savings for
  374. 16:15high volume data injections and usually
  375. 16:18commitment tiers allow uh cost savings
  376. 16:21for high volume data in doing it for an
  377. 16:24organization.
  378. 16:26And then is a dedicated resource group.
  379. 16:28This is a recommendation to simplify
  380. 16:31management and security. It is
  381. 16:33recommended to create a dedicated
  382. 16:35resource group for your log analytics
  383. 16:38workspace and other sentinel resources
  384. 16:41such as playbooks, workbooks or data
  385. 16:43connectors.
  386. 16:45So why a dedicated resource group is
  387. 16:48recommended? Because it simplifi
  388. 16:50simplifies permission management. Like
  389. 16:52for example, assigning permissions at
  390. 16:55the resource group level ensures they
  391. 16:57automatically apply to all included
  392. 16:59resources. So this reduces the risk of
  393. 17:02improper access configurations
  394. 17:05and also you can make sure that only
  395. 17:07sentinel related resources are in this
  396. 17:10resource group and this makes it easier
  397. 17:12to enforce least privilege access.
  398. 17:15Right? So a structured approach to
  399. 17:17resource grouping enhances security,
  400. 17:19simplifies administration and reduces
  401. 17:22permission complexity and in turn makes
  402. 17:25Sentinel's operation secure and
  403. 17:28efficient. So this is how it will look
  404. 17:30like. First you have your management
  405. 17:32group, then your subscriptions, then
  406. 17:34your resource groups. Under that
  407. 17:37resource group you will have your
  408. 17:38resources for example log analytics
  409. 17:41workspace. Now let's see a demo to
  410. 17:44create these resources in the Azure
  411. 17:46portal. So in the Azure portal, if you
  412. 17:49want to look at what subscriptions are
  413. 17:51available, you can search for
  414. 17:53subscriptions in this uh search bar. So
  415. 17:57when I typed SUBS, it gave me services
  416. 18:01subscriptions. I'm going to click on
  417. 18:03that. And here it tells me I have one
  418. 18:06subscription that is the default
  419. 18:08subscription that was created. Azure
  420. 18:10subscription one and my role is owner
  421. 18:14and if you want to create more
  422. 18:16subscriptions you can click on add and
  423. 18:18then create another subscription. So I
  424. 18:21will be using the default one. So I'm
  425. 18:23not going to create this. Let me go back
  426. 18:25to home. So if you see here we have the
  427. 18:28subscriptions. Now let's create a
  428. 18:31resource group. Again in the search bar
  429. 18:34I'm going to search for resource groups.
  430. 18:37Click on resource groups and then click
  431. 18:40the create button to start the process.
  432. 18:44It gives a basic description of what a
  433. 18:46resource group is. It's a container that
  434. 18:48holds related resources for an Azure
  435. 18:51solution. The resource group can include
  436. 18:54all the resources for the solution or
  437. 18:57only those resources that you want to
  438. 18:59manage as a group. And there is the
  439. 19:02subscription. You can select the default
  440. 19:04one or the subscription that you have
  441. 19:07created and then resource group name.
  442. 19:10I'm going to call it Sentinel RG. A
  443. 19:14region it's uh East US. You can select
  444. 19:17any other uh location as well whichever
  445. 19:20suits you. I'm going to go with East US.
  446. 19:23Then next. Next. It takes me to the tags
  447. 19:27page. So this is not mandatory but a tag
  448. 19:30in Azure is a label that consists of a
  449. 19:33key value pair. This is used to organize
  450. 19:36and manage Azure resources. So tags can
  451. 19:39help categorize resources based on
  452. 19:41different attributes such as department
  453. 19:44cost center project groups and so on.
  454. 19:49For example, I can create something like
  455. 19:52say cost center and maybe the cost
  456. 19:55center number I want to give is 01. I
  457. 19:58can create another tag saying technical
  458. 20:02owner and then assign the name or you
  459. 20:05can also say environment is production
  460. 20:07or development or test. So this will
  461. 20:10help you group and identify resources
  462. 20:13across multiple subscriptions. For now,
  463. 20:16I don't want to create any tags for this
  464. 20:19resource group. So, I'm going to skip
  465. 20:21this step and click on next. Next is the
  466. 20:24review and create stage. So, in this
  467. 20:27stage, you validate the settings. If
  468. 20:30everything looks okay to you, then click
  469. 20:32create to finalize the resource group.
  470. 20:34So, I'm going to go ahead and click
  471. 20:36create. And like you can see the
  472. 20:39resource group is created. Sentinel RG
  473. 20:42that is in the subscription Azure
  474. 20:44subscription one. So I can click on
  475. 20:46Sentinel RG and it takes me to the
  476. 20:49resource group. So under this you can
  477. 20:51see the overview activity log will get
  478. 20:54back to this. But for now understand
  479. 20:56that the resource group is created. So
  480. 20:58going back to our PPD we have the
  481. 21:01subscription ready resource group ready.
  482. 21:03The next step is to create a log
  483. 21:05analytics workspace.
  484. 21:08Let's get back to the portal. In the
  485. 21:10search bar again you search for log
  486. 21:13analytics workspace.
  487. 21:16So it comes up here. I'm going to click
  488. 21:17on log analytics workspace. Click
  489. 21:21create. It tells you a log analytics
  490. 21:23workspace is the basic management unit
  491. 21:26of Azure monitor logs and it also gives
  492. 21:29you a link for more details on Azure
  493. 21:32analytics workspace. So it is a logical
  494. 21:35storage unit where your log data is
  495. 21:38collected and stored. subscription is
  496. 21:40already selected. Then the resource
  497. 21:42group I'm going to select Sentinel RG
  498. 21:45the one we created just now or you can
  499. 21:47create a new one as well here. And then
  500. 21:50it is asking me for the log analytics
  501. 21:53workspace name. I'm going to say
  502. 21:55Sentinel workspace
  503. 21:58and the region I'm going to leave it as
  504. 22:00East US. Next tags I'm going to skip
  505. 22:04this. I don't need to tag it. And next
  506. 22:07is the review plus creates. Let's
  507. 22:10validate our settings. It's taking a
  508. 22:13minute. Uh it's done. Validation passed.
  509. 22:16And if I scroll down, everything looks
  510. 22:19good. I'm going to click on create
  511. 22:22button. And then it says initializing
  512. 22:24deployment. Initializing template
  513. 22:27deployment to resource group Sentinel
  514. 22:30RG. Now the deployment is in progress.
  515. 22:34And you can click on this notification
  516. 22:36button to see what you have done. So
  517. 22:39deployment succeeded. Let me close the
  518. 22:42notifications.
  519. 22:44And if I click on this button which says
  520. 22:46go to resource. This is the Sentinel
  521. 22:48workspace that we just created.
  522. 22:51So we are done with all the
  523. 22:53prerequisites to deploy Sentinel. Let's
  524. 22:56go back to the portal. Again, in the
  525. 22:58search bar, I'm going to search for
  526. 23:00Microsoft Sentinel and then click
  527. 23:03Microsoft Sentinel. Then I'm going to
  528. 23:06click create to begin the deployment.
  529. 23:09Here I can choose a workspace that is
  530. 23:11already available or create a new
  531. 23:15workspace.
  532. 23:16So we already created a workspace. I'm
  533. 23:19going to click on it and then say add.
  534. 23:22It says adding Microsoft Sentinel to
  535. 23:25workspace. Sentinel workspace.
  536. 23:28It's taking a minute to do that. So you
  537. 23:31can click on the notifications to see
  538. 23:34what's happening. It also says if you
  539. 23:36want more events, you can go to the
  540. 23:39activity log and look at them. Now we
  541. 23:42have successfully added Microsoft
  542. 23:44Sentinel. Let me close the
  543. 23:46notifications. So it also gives you a
  544. 23:49message that Sentinel uh free trial is
  545. 23:52activated. The free trial is active on
  546. 23:54this workspace from so and so day that
  547. 23:57is for a month and then you can use up
  548. 24:00to 10 GB per day data that is free. I'm
  549. 24:05going to click okay. You can expand
  550. 24:08these options to see what's available.
  551. 24:13Threat management there is general then
  552. 24:16threat management content management and
  553. 24:19configuration. We will go through all of
  554. 24:21these one by one in the later chapters.
  555. 24:25Now let's see how to set up role based
  556. 24:27access control for Microsoft Sentinel.
  557. 24:31First, what is role based access control
  558. 24:33arbback? Right? So it is a security
  559. 24:35model that restricts access to resources
  560. 24:39based on a user's role within an
  561. 24:41organization.
  562. 24:42So instead of assigning permissions to
  563. 24:45individual users, roles are created with
  564. 24:48specific permissions and users are
  565. 24:50assigned to those roles. And Microsoft
  566. 24:54Sentinel assigns permissions using Azure
  567. 24:57Arbback that is Azure role based access
  568. 24:59control to manage access for users,
  569. 25:02groups and services. This is to make
  570. 25:04sure that security teams have fine grain
  571. 25:07control over what users can see and do
  572. 25:10within Sentinel.
  573. 25:12They have built-in Azure roles. These
  574. 25:16are predefined roles provided by
  575. 25:18Sentinel that determine user
  576. 25:21permissions. So you can assign roles at
  577. 25:24the subscription level, resource group
  578. 25:26level or the resource level that is the
  579. 25:30log analytics workspace, Sentinel
  580. 25:33workspace level. Remember that if
  581. 25:35assigned at the subscription or resource
  582. 25:37group level, Sentinel inherits
  583. 25:39permissions from them. Let's look at the
  584. 25:41Microsoft Sentinel built-in roles. The
  585. 25:44first one is Microsoft Sentinel Reader.
  586. 25:47This has view only permissions.
  587. 25:50So it can view data, incidents,
  588. 25:53workbooks and other Sentinel resources.
  589. 25:56So here you can't modify anything. You
  590. 25:58only have view access. The next one is
  591. 26:02Microsoft Sentinel Responder. This
  592. 26:04includes reader permissions but can also
  593. 26:08manage incidents like assign them,
  594. 26:11dismiss them, update the status, right?
  595. 26:14Usually it is given to somebody say if
  596. 26:17you have a sock team sock one members
  597. 26:20can be given this role where it is
  598. 26:22Microsoft sentinel responder. They can
  599. 26:24view the data as well as manage
  600. 26:27incidents. And then there is Sentinel
  601. 26:30contributor and this includes the roles
  602. 26:33of Microsoft Sentinel responder. And
  603. 26:36then it can also install or update
  604. 26:40solutions, create or edit workbooks,
  605. 26:43analytic rules and other resources. So
  606. 26:46usually SOC 3 higher level sock people
  607. 26:50as well as security engineers or
  608. 26:52architects who need to configure
  609. 26:53sentinel settings are given this access.
  610. 26:56And then there is Microsoft sentinel
  611. 26:58playbook operator. This role can view
  612. 27:02and manually run playbooks. So you can
  613. 27:05give this to security analyst say who
  614. 27:09need to trigger automation but cannot
  615. 27:11modify playbooks. Then there is logic
  616. 27:14app contributor who can view and run
  617. 27:16playbooks as well as create and edit
  618. 27:18playbooks. There's also another role
  619. 27:21called Microsoft Sentinel automation
  620. 27:23contributor which allows Microsoft
  621. 27:25Sentinel to add playbooks to automation.
  622. 27:30The best practice is to assign roles at
  623. 27:32the resource group level to
  624. 27:34automatically apply them to all related
  625. 27:37Sentinel resources and make sure that
  626. 27:40you use lease privilege that is grant
  627. 27:42only the access required for a users
  628. 27:45role. So when you're managing Microsoft
  629. 27:48Sentinel rules, not just the Sentinel
  630. 27:51predefined rules, but you may also
  631. 27:54encounter other Azure roles, there are
  632. 27:57Azure roles as well as log analytic
  633. 27:59roles. So Azure and log analytics roles
  634. 28:03provide broader access to resources. So
  635. 28:06Azure roles affect all Azure resources
  636. 28:09including Sentinel and log analytics.
  637. 28:12For example, owner full control
  638. 28:14including role assignments. Contributor
  639. 28:18can modify resources but not manage
  640. 28:21roles. Reader view only access. So these
  641. 28:24are broader roles, right? Then there is
  642. 28:27log analytics roles. These are
  643. 28:29specifically for log analytics
  644. 28:31workspace. There is log analytics
  645. 28:33contributor who can modify workspaces
  646. 28:36and manage settings. And then there is
  647. 28:39log analytics reader who has view only
  648. 28:41access to logs and analytics data. So
  649. 28:45the role overlaps can impact
  650. 28:47permissions. You need to keep that in
  651. 28:49mind. Suppose say there is a user with
  652. 28:51Microsoft Sentinel reader as well as
  653. 28:53Azure contributor role. This user can
  654. 28:57modify Sentinel resources because of
  655. 28:59their contributor role at the Azure
  656. 29:02level. So if you only want a user to
  657. 29:05have Sentinel specific permissions,
  658. 29:08check and remove broader roles like
  659. 29:10Azure contributor or owner unless it is
  660. 29:13necessary. So the best practice is to
  661. 29:15assign permissions at the lowest
  662. 29:17possible scope like for example Sentinel
  663. 29:20Workspace or Azure resource group to
  664. 29:22minimize access.
  665. 29:25So let's look at some roles and
  666. 29:27permissions recommendations by
  667. 29:29Microsoft.
  668. 29:30Security analysts are provided with
  669. 29:33Microsoft Sentinel responder and
  670. 29:35Microsoft Sentinel playbook operator
  671. 29:37roles. So they can view and manage
  672. 29:40incidents workbooks and other Sentinel
  673. 29:43resources because of the responder role
  674. 29:46and because of the playbook operator
  675. 29:48role they can attach and run playbooks.
  676. 29:51Then for a security engineer, Microsoft
  677. 29:54Sentinel contributor and this will allow
  678. 29:57them to manage incidents, create and
  679. 29:59edit workbooks, analytic rules and
  680. 30:02install solutions. And they are also
  681. 30:05given logic apps contributor. This is to
  682. 30:08run and modify playbooks. And then there
  683. 30:11are service principles for whom the
  684. 30:13recommendations is to recommendation is
  685. 30:15to provide Microsoft sentinel
  686. 30:17contributor role at the sentinel
  687. 30:19resource group level and they can use it
  688. 30:22for automated configuration and
  689. 30:25management tasks.
  690. 30:27Also remember that Microsoft in ID roles
  691. 30:30may be required for some integrations.
  692. 30:32For example, security administration is
  693. 30:35needed to set up data connectors for
  694. 30:38external services.
  695. 30:40So let's see a demo how to assign these
  696. 30:43roles. So the best practice is to assign
  697. 30:45at the resource group level or the log
  698. 30:49analytics space workspace level but I'm
  699. 30:52going to do it at the resource group
  700. 30:53level. Search for resource groups and
  701. 30:57I'm going to select Sentinel RG the
  702. 30:59resource group that we created.
  703. 31:02Then in the left hand menu select access
  704. 31:05control identity and access management
  705. 31:08and then click add add role assignments
  706. 31:12and then here search for sentinel. So
  707. 31:15you can see there are six predefined
  708. 31:18roles
  709. 31:20and remember in addition to using
  710. 31:22built-in roles Azure custom roles can
  711. 31:24also be used. So these custom roles will
  712. 31:28let you define specific permissions
  713. 31:30beyond the built-in roles. For example,
  714. 31:33if you want to create readonly access
  715. 31:35for specific Sentinel data, you can use
  716. 31:38custom role. Or if you want to restrict
  717. 31:41permissions to workbooks, playbooks or
  718. 31:43automation roles or even allow third
  719. 31:46party integrations with minimal
  720. 31:47privilege, you can start using custom
  721. 31:50roles. Okay. In the role assignment,
  722. 31:52maybe I will select Microsoft Sentinel
  723. 31:55contributor and then click next.
  724. 31:59Next is the members field. So it's
  725. 32:02telling us that the selected role is
  726. 32:03Microsoft Sentinel contributor. Then
  727. 32:06assign access to user group or service
  728. 32:09principle. This is for individual
  729. 32:12accounts or groups. So user represents
  730. 32:15an individual person with an Azure AD
  731. 32:18account or enter ID account like for
  732. 32:21example a security analyst uh needs read
  733. 32:24only access or Microsoft sentinel
  734. 32:26contributor role. Next is the group. A
  735. 32:29group is a collection of users and in
  736. 32:31ID. So assigning roles to a group
  737. 32:33automatically applies those permissions
  738. 32:36to all members in that group. Next is a
  739. 32:38service principle. A service principle
  740. 32:41is a nonhuman
  741. 32:43identity representing an application or
  742. 32:45service that requires permissions. This
  743. 32:47is used when an external or custom
  744. 32:50application interacts with Azure
  745. 32:52resources like for example API access.
  746. 32:55Use case would be like you know a third
  747. 32:57party SIM tool needs access to Microsoft
  748. 33:01Sentinel. That's about user group or
  749. 33:04service principle. Next is managed
  750. 33:07identity. Like you can see this is for
  751. 33:09automation or services. Azure managed
  752. 33:12identities are a special type of service
  753. 33:15principle managed by Azure. They are
  754. 33:18used to grant secure automated access to
  755. 33:21Azure resources without storing
  756. 33:23credentials. Usually this is the
  757. 33:25recommended practice.
  758. 33:28So why do we use managed entities?
  759. 33:30because they require no passwords or
  760. 33:32secrets like how service principles
  761. 33:35require them right these don't require
  762. 33:37them automatic entry ID authentication
  763. 33:41happens with this and these are more
  764. 33:43secure than storing credentials in
  765. 33:45applications so that's why you use
  766. 33:48managed managed identities there is a
  767. 33:51separate video every explaining
  768. 33:53everything about managed identity I will
  769. 33:55link it in the description box if you
  770. 33:57want more details for Now I'm going to
  771. 34:00select user group or service principle
  772. 34:04and then in the members select members.
  773. 34:08You usually have a lot of other users
  774. 34:10but here I have only my user name. So
  775. 34:14I'm going to select that and then say
  776. 34:16select and then scroll down. You can add
  777. 34:19a description why this access is
  778. 34:21provided as well and then click on next.
  779. 34:25It will allow you to validate the
  780. 34:27settings. Then you can click on review
  781. 34:29and assign. Then if you look at the
  782. 34:31notifications, it says that this account
  783. 34:34was added as Microsoft Sentinel
  784. 34:37contributor for Sentinel RG that is the
  785. 34:40resource group name. So that's the end
  786. 34:42of chapter 2. We saw how to deploy
  787. 34:46Sentinel, what are the prerequisites,
  788. 34:48what are the roles and permissions, how
  789. 34:50you can assign them.
  790. 34:52You are now on chapter three where we'll
  791. 34:54discuss content hub and data connectors.
  792. 34:57So let's get started. In the previous
  793. 35:00chapters, we have discussed about
  794. 35:02Sentinel architecture and deployment.
  795. 35:04Now, one of the next critical steps is
  796. 35:07data ingestion. That is bringing in logs
  797. 35:10from various sources for monitoring,
  798. 35:12detection, and response. First, let's
  799. 35:15look at some common types of data
  800. 35:18sources typically integrated with
  801. 35:20Sentinel or any other SIM solution. The
  802. 35:23first data source is Microsoft services.
  803. 35:26This can include Azure AD that is Azure
  804. 35:28Active Directory or Enra ID. It can
  805. 35:31include sign-in logs, audit logs or
  806. 35:33risky users. Microsoft Defender suite
  807. 35:37including Defender for Endpoint,
  808. 35:39Defender for Office 365, Defender for
  809. 35:42identity, Defender for Cloud Apps. This
  810. 35:45can include thread detection data. Then
  811. 35:47Microsoft 365 including Exchange,
  812. 35:50SharePoint and Teams. So, security and
  813. 35:53compliance logs.
  814. 35:55Then, Microsoft Defender for Cloud
  815. 35:58including security alerts and
  816. 35:59recommendations.
  817. 36:01Next, you can also include Azure
  818. 36:03resources like for example Azure virtual
  819. 36:07machines and storage including security
  820. 36:09logs from cloud hosted VMs. Then, Azure
  821. 36:13firewall and NSGS that is network
  822. 36:15security groups. You can include network
  823. 36:17traffic and firewall logs. Then Azure
  824. 36:21monitor and log analytics. This is
  825. 36:23general application logs and
  826. 36:25diagnostics.
  827. 36:27Next data source is from security tools
  828. 36:30or applications and network devices.
  829. 36:33This can include your firewalls and
  830. 36:35proxy logs like for example from
  831. 36:38PaloAlto, Forinet, Checkpoint, Zcaler,
  832. 36:41right? It can also include web
  833. 36:43application firewalls like for example
  834. 36:45Azure WF or F5 or Emperwam. Then logs
  835. 36:49from IDS or IPS that is intrusion
  836. 36:52prevention or detection systems like for
  837. 36:54example from Cisco firepower or snot.
  838. 36:59Next is EDR that is endpoint detection
  839. 37:01and response. This can include tools
  840. 37:04like crowd strike semantic Microsoft
  841. 37:07defender for endpoint. Then from other
  842. 37:10SIM solutions or log man log management
  843. 37:13solutions like for example Splunk,
  844. 37:16Arcite, Syslog sources.
  845. 37:19Next is identity and access management
  846. 37:21logs that is AM logs. This can include
  847. 37:24Microsoft enter ID that is Azure ID and
  848. 37:28conditional access logs octa and ping
  849. 37:31identity active directory if you have
  850. 37:33one on on premise and from active
  851. 37:36directory that is the on-remise one you
  852. 37:39can include domain controller logs
  853. 37:41kerros authentication logs then you can
  854. 37:44also include privileged access
  855. 37:46management systems that is spam systems
  856. 37:49logs like cyber arc then there is cloud
  857. 37:52and hybrid logs logs that is from AWS,
  858. 37:56Amazon web services logs including say
  859. 37:59cloud trail VPC flow logs, guard duty,
  860. 38:02security hub. Then we have Google cloud
  861. 38:06platform logs that is GCP logs, cloud
  862. 38:09audit logs, security command center
  863. 38:11logs. Then we have Kubernetes or
  864. 38:15container security logs for example AKS
  865. 38:17that is Azure Kubernetes services,
  866. 38:20Kubernetes audit logs and Aqua security.
  867. 38:24Then data sources from threat
  868. 38:26intelligence feeds for example Microsoft
  869. 38:29threat intelligence feeds. This is
  870. 38:32integrated Microsoft Defender TI. TI is
  871. 38:35threat intelligence. You can also get it
  872. 38:38from external threat intelligence
  873. 38:40providers like for example virus total
  874. 38:43or recorded future. Then you can also
  875. 38:46have custom TI feeds threat intelligence
  876. 38:49feeds example JSON or CSV based threat
  877. 38:54intelligence sources. The next data
  878. 38:56source could be an application and
  879. 38:59database log source. Database security
  880. 39:01logs can be from say SQL server, Oracle
  881. 39:05DB, MongoDB. Custom application logs can
  882. 39:09be you know rest API injection, app
  883. 39:11service logs, devop, dev sec ops tools.
  884. 39:15You can also include enterprise
  885. 39:17application logs from say SAP service
  886. 39:21now or work team. Then is the IoT and OT
  887. 39:25security logs. This can include IoT
  888. 39:28security solutions for example Azure IoT
  889. 39:31defender or AWS IoT logs and also
  890. 39:35scattera and in industrial control
  891. 39:38systems ICS like for example cements and
  892. 39:41then you can include your custom data
  893. 39:44logs like for example your SIS log and
  894. 39:47common event format that is CVF logs.
  895. 39:50This is for generic log injection. You
  896. 39:52can also include Azure event hub or blob
  897. 39:56storage that is streaming log data or
  898. 39:59rest api based log injection for
  899. 40:01unsupported tools. Here you can also
  900. 40:04include the OS logs that is from Windows
  901. 40:07event logs including security system and
  902. 40:09application logs. Then we have Linux
  903. 40:12logs including SIS log, audit dlogs,
  904. 40:16secure logs. then Mac OS logs including
  905. 40:19system logs, unified logging framework.
  906. 40:23So these are only some of the common
  907. 40:25data sources used in Microsoft Sentinel
  908. 40:28or any other SIM solution. Your setup
  909. 40:31might differ but the fundamental topics
  910. 40:34remain the same giving you a general
  911. 40:36idea of what to include in your security
  912. 40:38monitoring strategy. You think of any
  913. 40:41log that can most probably be integrated
  914. 40:44with Sentinel and it is easy to do it.
  915. 40:47Now how do we do this? This is done
  916. 40:50using data connectors. Let's go to the
  917. 40:52Azure portal. Okay. Now we are in the
  918. 40:55Azure portal that is portal.asure.com.
  919. 40:58Search for Sentinel. Select the Sentinel
  920. 41:01workspace. On the left side if you
  921. 41:04scroll down to configuration under that
  922. 41:07we have data connectors. Let me click on
  923. 41:09that. So it says zero connectors because
  924. 41:12I've not connected anything yet. And
  925. 41:15also it gives us a message. Let me
  926. 41:18increase the font. Gives us the message
  927. 41:20that data connector with content source
  928. 41:23gallery content have been removed. All
  929. 41:26the removed content and more is
  930. 41:28available in content hub. So most of the
  931. 41:32data connectors now you can find them
  932. 41:34under content hub. So this is a
  933. 41:37relatively new change where all the data
  934. 41:40connectors are moved under content hub.
  935. 41:43So if I scroll down on the left
  936. 41:45navigation under content management
  937. 41:48there is content hub. Let's click on it.
  938. 41:51So now you see there are 384 solutions
  939. 41:55uh standalone contents that is 3 307 not
  940. 41:59uh zero installed because we have not
  941. 42:01done that yet. So if you scroll down
  942. 42:04here, you can see all the content titles
  943. 42:07that are available. Now let's see what
  944. 42:09is a content hub, right? Microsoft
  945. 42:12Sentinel content hub is a relatively new
  946. 42:15update from Microsoft that consolidates
  947. 42:18all items under one unified interface.
  948. 42:21So, Microsoft Sentinel Content Hub
  949. 42:24provides essential SIM components that
  950. 42:26enable organizations to ingest data from
  951. 42:29various sources, monitor and detect
  952. 42:32threats, generate alerts and incidents,
  953. 42:36hunt and investigate security events,
  954. 42:39respond to threats with automation, and
  955. 42:42integrate with different platforms and
  956. 42:44services.
  957. 42:46Microsoft Sentinel offers a range of
  958. 42:48content types designed to enhance
  959. 42:50security operations. Let's see what are
  960. 42:53those data connectors. This is to enable
  961. 42:56log inition from you know diverse
  962. 42:58sources like we discussed Microsoft
  963. 43:01services third party security tools on
  964. 43:03prim systems. This is to provide
  965. 43:06seamless integration for realtime
  966. 43:08security monitoring. Next parsers. These
  967. 43:13convert raw log data into ASM format
  968. 43:16that is advanced security information
  969. 43:18model format. So it ensures structured
  970. 43:21and consistent data across various
  971. 43:24content types. Next workbooks. These
  972. 43:27provide interactive dashboards for
  973. 43:29monitoring and visualizing. This also
  974. 43:32helps security teams gain insights from
  975. 43:35log data. Then analytics rules. They
  976. 43:38generate security alerts and trigger
  977. 43:41sock actions. They detect anomalies and
  978. 43:44potential threats automatically. Next is
  979. 43:46hunting queries. They allow sock
  980. 43:49analysts to proactively search for
  981. 43:51threats and help detect hidden malicious
  982. 43:54activities. Next, notebooks. These
  983. 43:57enable advanced security investigations
  984. 44:00using Jupiter and Azure notebooks. They
  985. 44:03leverage AI and machine learning for
  986. 44:06deeper threat analysis.
  987. 44:09Next is watch lists. They store custom
  988. 44:12data sets like for example VIP users,
  989. 44:16blocked IPs, blocked domains. This is
  990. 44:19for enhanced threat detection. This can
  991. 44:22help reduce alert fatigue by
  992. 44:24prioritizing high-risk entities. Next is
  993. 44:28playbooks and logic apps. This is to
  994. 44:31automate incident response and
  995. 44:33remediation. They can be integrated with
  996. 44:36thirdparty tools to streamline sock
  997. 44:39workflows.
  998. 44:41Now if I go back to the Azure portal in
  999. 44:44the content type, if I want to filter,
  1000. 44:46you'll see all the content types that
  1001. 44:48are available. We will talk about all
  1002. 44:51these content types in depth in the
  1003. 44:54coming chapters. But for now, in this
  1004. 44:56chapter, we will concentrate on data
  1005. 44:59connectors. How to connect data to
  1006. 45:02Sentinel?
  1007. 45:04There are different types of data
  1008. 45:05connectors that are available in
  1009. 45:07Microsoft Sentinel. So when you're
  1010. 45:09selecting data connectors for your
  1011. 45:10environment, follow a prioritized
  1012. 45:13approach. Like for example, you can
  1013. 45:16start with free data connectors and
  1014. 45:19these provide immediate value in
  1015. 45:20Microsoft Sentinel while you plan for
  1016. 45:22additional connectors and budgeting.
  1017. 45:25Next, you can review the custom data
  1018. 45:27connectors like you know you assess
  1019. 45:29whether custom integrations are
  1020. 45:31necessary for your environment.
  1021. 45:34Next, you evaluate partner data
  1022. 45:36connectors. This is to identify any
  1023. 45:38third-party integrations that align with
  1024. 45:40your security needs. For both custom and
  1025. 45:44partner connectors, the recommendation
  1026. 45:46is to prioritize CF or SIS lock
  1027. 45:49connectors starting with the most
  1028. 45:51critical ones. And then you also include
  1029. 45:54Linux- based devices that require
  1030. 45:56integration.
  1031. 45:58So there is a separate chapter which
  1032. 45:59will talk about how to connect CVF or
  1033. 46:02syslog connectors Linux based devices to
  1034. 46:05Sentinel. In that you will learn what
  1035. 46:08are the best practices related to these
  1036. 46:10connectors. One of the things that
  1037. 46:13Microsoft Sentinel recommends is that if
  1038. 46:15data ingestion costs become excessive,
  1039. 46:18right? You can consider stopping or
  1040. 46:21filtering logs forwarded using the Azure
  1041. 46:24monitor agent to optimize these costs
  1042. 46:28that that also we will see in the future
  1043. 46:30chapters.
  1044. 46:32As of today, these are the data
  1045. 46:34connectors as well as their data types
  1046. 46:37that are free in Microsoft Sentinel and
  1047. 46:39Log Analytics. Like you can see there is
  1048. 46:42Azure activity logs, health monitoring
  1049. 46:44for Microsoft Sentinel, Microsoft Entra
  1050. 46:47ID protection that is Azure AD
  1051. 46:49protection, Office 365, Microsoft
  1052. 46:52Defender for Cloud, IoT, XDR, Endpoint,
  1053. 46:56identity and cloud apps. Like you can
  1054. 46:59see in this table, there are some
  1055. 47:01Microsoft services like for example,
  1056. 47:03Defender for Cloud, IoT, XDR, Endpoint,
  1057. 47:06identity or cloud apps. The free data
  1058. 47:09type is security alert. The security
  1059. 47:12alerts are free. But if you are trying
  1060. 47:15to ingest raw logs from these Microsoft
  1061. 47:18services, they may incur charges. So
  1062. 47:22remember that not all logs need to be
  1063. 47:25ingested. So you need to prioritize
  1064. 47:27essential data to control costs. So many
  1065. 47:30of the data connectors right they
  1066. 47:32include both free and paid data types.
  1067. 47:35You can customize settings to enable
  1068. 47:37only the necessary data types reducing
  1069. 47:40unnecessary costs.
  1070. 47:42Let's see how you can customize these
  1071. 47:44settings only to enable the necessary
  1072. 47:47data types in Azure uh portal. Search
  1073. 47:50for Sentinel. Select Microsoft Sentinel
  1074. 47:53and then Sentinel Workspace
  1075. 47:56and then under content management,
  1076. 47:58select content hub. Let's search for
  1077. 48:01Defender for Cloud Apps. Click on enter.
  1078. 48:05So there it is. Microsoft defender for
  1079. 48:07cloud apps. Something you want to note
  1080. 48:10is under this there are many other items
  1081. 48:13that are available as well. So if you
  1082. 48:16see content sources, there is solution
  1083. 48:19as well as standalone content hub
  1084. 48:22solutions. These are prepackaged
  1085. 48:24security solutions that include multiple
  1086. 48:27components like data connectors,
  1087. 48:29workbooks, analytics rules, hunting
  1088. 48:31queries, automation playbooks. These are
  1089. 48:34designed for specific security use cases
  1090. 48:37like for example ransomware detection or
  1091. 48:40compliance monitoring. This is made for
  1092. 48:42easier deployment. So one-click
  1093. 48:45installation for comprehensive coverage,
  1094. 48:47right? And there are standalone content
  1095. 48:50sources. These are individual connectors
  1096. 48:53that ingest raw logs from a specific
  1097. 48:56service like for example defender for
  1098. 48:58endpoint or enter ID. They are more
  1099. 49:01flexible. Organizations choose what data
  1100. 49:04to collect and build their own analytics
  1101. 49:06rules. These require manual
  1102. 49:09configuration for alerts, dashboards or
  1103. 49:11automation. Let me select all and cancel
  1104. 49:15this for now. So here if you see, let me
  1105. 49:18scroll to the right. It says content
  1106. 49:21type data connector workbook analytics
  1107. 49:24role. The one that we want to check is
  1108. 49:26for the data connectors. Before that I
  1109. 49:30need to install this solution Microsoft
  1110. 49:32Defender for clouds. Let me click on
  1111. 49:34install and it is getting installed. It
  1112. 49:37might take a minute. So now installation
  1113. 49:40is successful. Let me close this
  1114. 49:42notification bar and let me close this
  1115. 49:45as well. And now in the status I will
  1116. 49:48select only the installed data
  1117. 49:50connectors. Then say apply Microsoft
  1118. 49:53Defender for cloud apps installed. Now I
  1119. 49:56will select where the content type is
  1120. 49:59data connector. So click on that and
  1121. 50:03then click open connector page. It takes
  1122. 50:06a minute to load because this is the
  1123. 50:08first time we have opened this page.
  1124. 50:10It's verifying all the prerequisites. So
  1125. 50:13these are the prerequisites. First you
  1126. 50:15need to have a workspace with read and
  1127. 50:18write permissions. Tenant permissions
  1128. 50:20should be global administrator or
  1129. 50:22security administrator on the workspace
  1130. 50:25tenants. And then you need to have
  1131. 50:27license M365 E5 or M365 A5 or any other
  1132. 50:33Microsoft Defender XTR eligible license.
  1133. 50:37Note that all of these services like uh
  1134. 50:40all Microsoft Defender products for
  1135. 50:42example require different licenses. You
  1136. 50:45can connect them without an appropriate
  1137. 50:48license as well. But connecting them
  1138. 50:50without the appropriate license won't
  1139. 50:52generate any data. So it makes no sense
  1140. 50:54connecting it to your Sentinel
  1141. 50:56workspace. So you need to have licenses
  1142. 51:00for these products and then connect that
  1143. 51:02to Sentinel. Now if I scroll down in
  1144. 51:05configuration you can also see that
  1145. 51:08after you connect Microsoft Defender for
  1146. 51:11cloud apps the alerts and discovery logs
  1147. 51:14are sent to this Microsoft Sentinel
  1148. 51:16workspace. Here you will get an option I
  1149. 51:20don't have the license so it is disabled
  1150. 51:22but if you have the license you'll get
  1151. 51:24an option to select only alerts and you
  1152. 51:26can ingest only alerts instead of all
  1153. 51:28the raw logs. There are many other ways
  1154. 51:31to you know manage your costs like for
  1155. 51:34example you can use Microsoft Sentinel's
  1156. 51:37cost analysis tools. Uh you can review
  1157. 51:40and adjust retention policies to avoid
  1158. 51:42unnecessary storage costs or you can
  1159. 51:44leverage automation or filtering to
  1160. 51:47manage data efficiently.
  1161. 51:49So these are the free data connectors
  1162. 51:51and their data types that you can
  1163. 51:53connect to Microsoft Sentinel without
  1164. 51:55any charges. Next is custom data
  1165. 51:58connectors. So there are many out
  1166. 52:01ofthe-box data connectors that are
  1167. 52:03provided by Microsoft Sentinel. But if
  1168. 52:06you have a tool or an application or a
  1169. 52:08solution that you cannot connect using
  1170. 52:10these out ofthe-box connectors, then you
  1171. 52:13can consider creating your own custom
  1172. 52:16data connector. Let's see some of the
  1173. 52:18methods that are available for custom
  1174. 52:21connectors creation. First one is
  1175. 52:23codeless connector platform CCP. This
  1176. 52:27allows customers and partners to create
  1177. 52:29custom data connectors for Microsoft
  1178. 52:31Sentinel without writing codes. So it
  1179. 52:35uses a configuration file for easy
  1180. 52:37deployment and it can be deployed to
  1181. 52:40your own workspace or as a solution in
  1182. 52:42Microsoft Sentinel Hub. It is fully SAS
  1183. 52:46based. No no need for any additional
  1184. 52:49service installations. It also includes
  1185. 52:51health monitoring and full Microsoft
  1186. 52:53Sentinel support. Say for example a
  1187. 52:56security team wants to ingest logs from
  1188. 52:58a third-party SAS application that is
  1189. 53:01not natively supported by Sentinel.
  1190. 53:04Instead of building a custom API
  1191. 53:06integration, you can use CCP to
  1192. 53:09configure and deploy a codeless
  1193. 53:11connector like the name says codeless.
  1194. 53:14This reduces development effort and
  1195. 53:16maintenance costs. Next one is
  1196. 53:19connecting with Azure monitor agent. AMA
  1197. 53:23allows you to collect and send custom
  1198. 53:25log data from textbased event sources to
  1199. 53:29Microsoft Sentinel. So there'll be
  1200. 53:31separate chapters on all of these
  1201. 53:34connectors, how to connect them, what
  1202. 53:36you can connect them, what are the
  1203. 53:38different use cases, examples, right?
  1204. 53:41For now, this is only a brief
  1205. 53:43introduction to these connectors. So
  1206. 53:45this AMA that is Azure monitor agent is
  1207. 53:48best for textbased log sources like for
  1208. 53:51example application logs or system logs.
  1209. 53:54It is more efficient and secure than
  1210. 53:56legacy agents like log analytics agents.
  1211. 53:59It provides centralized data collection
  1212. 54:02and advanced filtering to optimize log
  1213. 54:04inition costs. So if your company has a
  1214. 54:08legacy application that generates
  1215. 54:10security logs as text files, then
  1216. 54:12instead of writing a custom integration,
  1217. 54:15you can configure Azure monitor agent to
  1218. 54:18collect and forward logs to Microsoft
  1219. 54:20Sentinel. And the next custom data
  1220. 54:23connector is Log Stash. Log Stash is an
  1221. 54:26open-source data processing pipeline
  1222. 54:29that collects, transforms, and routes
  1223. 54:32log data from various sources. It
  1224. 54:36supports a wide range of input sources,
  1225. 54:38for example, files, databases, cloud
  1226. 54:41services, and event hubs. This also
  1227. 54:44allows for advanced filtering like parse
  1228. 54:47logs, remove unnecessary data, and mask
  1229. 54:49sensitive information. This uses
  1230. 54:52Microsoft Sentinel log stash output
  1231. 54:55plug-in to send transform data directly
  1232. 54:58to Sentinel. This is best for
  1233. 55:01organizations needing flexibility in log
  1234. 55:04processing before ingestion. So you
  1235. 55:06ingest logs from multiple sources using
  1236. 55:08log stash input plugins, transform and
  1237. 55:12filter data using log stash filtering
  1238. 55:15plugins and then send the process data
  1239. 55:17to Microsoft Sentinel using the log
  1240. 55:20stash output plug-in. Suppose say a
  1241. 55:23company collects AWS cloud trail logs
  1242. 55:26for thread detection. Instead of sending
  1243. 55:28raw logs, right, you can use log stash
  1244. 55:31to filter out unnecessary events and
  1245. 55:34mass sensitive data. This is a use case
  1246. 55:37example for log stash. And then there is
  1247. 55:40Azure logic apps. This is a serverless
  1248. 55:42workflow automation service that enables
  1249. 55:45you to create custom connectors for
  1250. 55:47Microsoft Sentinel without managing
  1251. 55:50infrastructure. So it is best for low
  1252. 55:53volume data injection or enriching
  1253. 55:56existing data in Sentinel. It automates
  1254. 55:59data retrieval from APIs, databases and
  1255. 56:02files. It supports eventdriven workflows
  1256. 56:06for realtime data streaming. There is no
  1257. 56:09coding required for Azure um logic apps.
  1258. 56:12It's only drag and drop interface for
  1259. 56:14workflow creation. So something that you
  1260. 56:17should keep in mind is that logic apps
  1261. 56:19can become very expensive for high
  1262. 56:21volume data ingestion. It is only best
  1263. 56:24suited for ondemand enrichment or
  1264. 56:27smallcale data collection. For example,
  1265. 56:30you can use it for recurring tasks like
  1266. 56:32you know schedule data retrievalss from
  1267. 56:35APIs, databases or files such as fetch
  1268. 56:39logs from SAS platform every 15 minutes.
  1269. 56:42You can use it for ondemand triggering
  1270. 56:45like manually trigger workflows for ad
  1271. 56:48hoc uh data collection or testing. You
  1272. 56:51can also use it for realtime streaming
  1273. 56:54when the source system can push data to
  1274. 56:57Sentinel like for example HTTPS
  1275. 57:00endpoint.
  1276. 57:02And the next option for custom data
  1277. 57:04connector is to connect with log
  1278. 57:06injection API.
  1279. 57:08Log Analytics data collector API allows
  1280. 57:11you to send log data directly to
  1281. 57:14Microsoft Sentinel through a restful
  1282. 57:16endpoint. This allows for maximum
  1283. 57:19flexibility that is you can customize
  1284. 57:21log in from any source. It has realtime
  1285. 57:25data streaming that is push logs as
  1286. 57:27events occur and there is no dependency
  1287. 57:30on other tools. It works independently
  1288. 57:33of logic apps or AMA or log stash. It
  1289. 57:37supports structured data that is you
  1290. 57:40need to send JSON formatted logs without
  1291. 57:42modification. Remember for this rights
  1292. 57:45you need programming knowledge to
  1293. 57:48implement the API calls. You also need
  1294. 57:52manual log formatting that is logs must
  1295. 57:55follow log analytics schema. Also
  1296. 57:58consider rate limits and authentication
  1297. 58:01which needs to be managed later. So here
  1298. 58:03you prepare log data in JSON format,
  1299. 58:06authenticate using an Azure shared key
  1300. 58:09or Azure AD token and then send logs
  1301. 58:12using an HTTP post request to the API
  1302. 58:15endpoint. Suppose an organization wants
  1303. 58:18to stream realtime security logs from a
  1304. 58:21custom application. They can develop a
  1305. 58:23Python script that formats logs as JSON
  1306. 58:26and then sends them to Sentinel using
  1307. 58:29the API. And then Azure Functions. Azure
  1308. 58:33Functions is a serverless computing
  1309. 58:35service that allows you to execute code
  1310. 58:37in response to events such as HTTP
  1311. 58:41requests, timers or messages from other
  1312. 58:44services.
  1313. 58:46This is serverless, so you don't need to
  1314. 58:48manage any infrastructure. This supports
  1315. 58:50multiple programming languages like for
  1316. 58:52example Python, PowerShell, JavaScript
  1317. 58:55and so on. Right? Something that you
  1318. 58:58need to consider when it comes to Azure
  1319. 58:59functions is that there is execution
  1320. 59:01time limits that get applied. Default 5
  1321. 59:04minutes for consumption plan cost
  1322. 59:07considerations for high volume data
  1323. 59:10ingestions because this is not the one
  1324. 59:12recommended for high volume data
  1325. 59:14ingestion and it also requires
  1326. 59:16authentication to interact with
  1327. 59:18Microsoft Sentinel. So for Azure
  1328. 59:21functions, you need to develop an Azure
  1329. 59:23function in PowerShell, Python or any
  1330. 59:26other language. Configure the function
  1331. 59:28to receive logs through REST API, HTTP
  1332. 59:31triggers or event sources. Then
  1333. 59:34transform and format the logs into the
  1334. 59:36required schema and then send logs to
  1335. 59:39Sentinel using the log analytics API.
  1336. 59:43You can also consider parsing custom
  1337. 59:45connector data in Microsoft Sentinel. So
  1338. 59:48when ingesting custom logs right into
  1339. 59:50Microsoft Sentinel, parsing ensures
  1340. 59:53structured query ready data that
  1341. 59:56integrates with Sentinel's built-in
  1342. 59:58security content. You can use ASIM
  1343. 1:00:01parsers that is advanced security
  1344. 1:00:03information model parsers. ASIM
  1345. 1:00:06standardizes data for use across
  1346. 1:00:08Sentinel's built-in queries, analytic
  1347. 1:00:11rules, and workbooks. It simplifies
  1348. 1:00:13query creation for security analysts.
  1349. 1:00:16And it also enhances performance by
  1350. 1:00:18reducing the need for on the-fly query
  1351. 1:00:21time parsing. So you perform
  1352. 1:00:23pre-ingestion parsing wherever possible.
  1353. 1:00:27It reduces query load. And then you
  1354. 1:00:29implement ASM parsers to align with
  1355. 1:00:32Sentinel's data schema. And then you
  1356. 1:00:35normalize fields such as source IP,
  1357. 1:00:38destination IP, and even time for
  1358. 1:00:40consistency. And then you deploy this to
  1359. 1:00:43production. before deploying it to
  1360. 1:00:45production, make sure that you test your
  1361. 1:00:47parsing logic. So this is about custom
  1362. 1:00:50data connectors. Again, there'll be
  1363. 1:00:52different chapters dedicated to each of
  1364. 1:00:54these data connectors. It'll mostly be
  1365. 1:00:57demos. For now, get the brief idea about
  1366. 1:01:01what these data connectors are. So we
  1367. 1:01:03saw what are free data connectors and
  1368. 1:01:05custom connectors. There are also
  1369. 1:01:07partner data connectors. So, partner
  1370. 1:01:10data connectors are pre-built
  1371. 1:01:12integrations developed by Microsoft
  1372. 1:01:14security partners that allow
  1373. 1:01:16organizations to ingest third-party
  1374. 1:01:19security data into Microsoft Sentinel.
  1375. 1:01:22Let's go back to the portal. Let me
  1376. 1:01:24close this. Let me delete this search
  1377. 1:01:27option and then status. I'm going to
  1378. 1:01:30select all and then apply. Now, if you
  1379. 1:01:33look at the provider option, there are
  1380. 1:01:36many providers that are present here.
  1381. 1:01:38These are the partner data connectors.
  1382. 1:01:42There are different types of partner
  1383. 1:01:44data connectors like security solutions.
  1384. 1:01:46Example include PaloAlto, Cisco,
  1385. 1:01:49Checkpoint, Forinet, Semantic and
  1386. 1:01:51Zcaler. Endpoint detection and response.
  1387. 1:01:55EDR examples include Crowd Strike and
  1388. 1:01:58Sentinel 1. Identity and access
  1389. 1:02:01management, Octa, Cyber Arc, Pink
  1390. 1:02:04identity. And then there is cloud
  1391. 1:02:06security and casby including net scope,
  1392. 1:02:10mcafey, bitclass. And then there are
  1393. 1:02:13threat intelligence connectors as well
  1394. 1:02:15like recorded future. So if I go to the
  1395. 1:02:19search bar and search for threat, you
  1396. 1:02:22can see all the uh data connectors that
  1397. 1:02:25include threat in their title. If I
  1398. 1:02:28scroll down, there is threat defense,
  1399. 1:02:31then luminar threat intelligence, then
  1400. 1:02:34another intelligence source. So you can
  1401. 1:02:37install all of these, get licenses for
  1402. 1:02:39them and you can install these as well.
  1403. 1:02:42These are the partner data connectors.
  1404. 1:02:45So there are free custom and partner
  1405. 1:02:47data connectors. So that's it for this
  1406. 1:02:50chapter.
  1407. 1:02:52This is chapter four. In this we will
  1408. 1:02:55discuss how to connect Entra ID that is
  1409. 1:02:57formerly known as Azure Active Directory
  1410. 1:03:00to Sentinel. In the previous chapters we
  1411. 1:03:03learned about SE Sentinel architecture
  1412. 1:03:06and deployment and what are data
  1413. 1:03:08connectors what is content hub different
  1414. 1:03:11types of data that you can connect to
  1415. 1:03:13Sentinel. what are the different data
  1416. 1:03:15sources, different types of data
  1417. 1:03:17connectors and in this chapter we will
  1418. 1:03:21cover one of the data connectors that is
  1419. 1:03:23entra ID. Let's go to the Azure portal.
  1420. 1:03:27So I've logged into portal.asure.com.
  1421. 1:03:30Here let's search for entra ID. So there
  1422. 1:03:34it is Microsoft enter ID. Let's click on
  1423. 1:03:36it. So Microsoft Entra ID formerly known
  1424. 1:03:40as Azure Active Directory or Azure AD is
  1425. 1:03:43Microsoft's cloud-based identity and
  1426. 1:03:46access management service. It is used to
  1427. 1:03:48manage user authentication, single sign
  1428. 1:03:51on that is SSO and access control for
  1429. 1:03:53Microsoft 365, Azure and other cloud
  1430. 1:03:56applications.
  1431. 1:03:58There is a separate video which talks
  1432. 1:04:00about Azure Active Directory in depth
  1433. 1:04:02covering single sign on conditional
  1434. 1:04:04access identity protection privileged
  1435. 1:04:07identity management. So I will link that
  1436. 1:04:10in the description box.
  1437. 1:04:12So if I scroll down here
  1438. 1:04:15you can see monitoring there is signin
  1439. 1:04:18logs, audit logs, provisioning logs. If
  1440. 1:04:21I click on signin logs
  1441. 1:04:24you can see who logged in. This is the
  1442. 1:04:28date. This is a request ID, user name,
  1443. 1:04:31application was Azure portal and were
  1444. 1:04:34they successful in logging in? Were they
  1445. 1:04:37just trying failed loginins? All these
  1446. 1:04:39details you get in signin logs.
  1447. 1:04:42Similarly, we have audit logs.
  1448. 1:04:45Audit logs provide a detailed record of
  1449. 1:04:48activities related to user and admin
  1450. 1:04:51actions.
  1451. 1:04:52Now let's see how to connect Entra ID to
  1452. 1:04:55Microsoft Sentinel.
  1453. 1:04:57Let's search for Sentinel.
  1454. 1:05:01Click on Microsoft Sentinel and then the
  1455. 1:05:04Sentinel workspace and then under
  1456. 1:05:07content management go to content hub.
  1457. 1:05:10You can directly search for Entra ID.
  1458. 1:05:14There is Entra ID protection
  1459. 1:05:17and then there is Microsoft Entra ID.
  1460. 1:05:20This is the one we want to install. So
  1461. 1:05:23suppose say you don't know the name, you
  1462. 1:05:25can also search with say content type.
  1463. 1:05:28You need the data connector or it
  1464. 1:05:31includes analytic rules. Then say apply
  1465. 1:05:35and then support.
  1466. 1:05:37It's needs to be supported by Microsoft
  1467. 1:05:41provider. I'm going to uncheck all of
  1468. 1:05:43these and select only Microsoft
  1469. 1:05:47and then say apply
  1470. 1:05:50and category. I'm going to uncheck all
  1471. 1:05:52of these and search for identity. Yeah,
  1472. 1:05:56identity and access management falls
  1473. 1:05:58under identity. Say I'll say apply. So
  1474. 1:06:02now you can see here that it has only
  1475. 1:06:04three results. Now we have narrowed it
  1476. 1:06:06to only three. Microsoft Entra ID, SAP
  1477. 1:06:10applications and zero trust. The one
  1478. 1:06:14that we want is Microsoft Entra ID.
  1479. 1:06:17Let's click on it. So it says Microsoft
  1480. 1:06:20Entra ID solution for Microsoft Sentinel
  1481. 1:06:23enables you to ingest Microsoft Entra ID
  1482. 1:06:26audits, signin, provisioning, risk
  1483. 1:06:29events, and risky user or service
  1484. 1:06:32principle logs using diagnostic settings
  1485. 1:06:35into Microsoft Sentinel.
  1486. 1:06:38So it has one data connector,
  1487. 1:06:42two workbooks,
  1488. 1:06:4463 analytics rules and 11 playbooks in
  1489. 1:06:49this one solution.
  1490. 1:06:51I'm going to say install.
  1491. 1:06:54Now the installation is in progress. Now
  1492. 1:06:57it's uh installed successfully. Let me
  1493. 1:07:00close this. Let me minimize this as
  1494. 1:07:03well.
  1495. 1:07:04Now in the status if I select for
  1496. 1:07:07installed
  1497. 1:07:08let me select all of these
  1498. 1:07:13I mean I'm just resetting the filter
  1499. 1:07:17and only status I've selected installed
  1500. 1:07:20and everything else is all.
  1501. 1:07:24So now you can see I have only two
  1502. 1:07:26solutions installed that is Microsoft
  1503. 1:07:28Enra ID and Microsoft Defender for cloud
  1504. 1:07:32apps which we did it in the previous
  1505. 1:07:34chapters.
  1506. 1:07:36Now if I go to configuration and go to
  1507. 1:07:38data connectors
  1508. 1:07:41here as well I can see that two
  1509. 1:07:44connectors are connected to Microsoft
  1510. 1:07:46Sentinel. If I click on Microsoft Entra
  1511. 1:07:50ID and open connector page. Okay, first
  1512. 1:07:54of all to connect Microsoft Entra ID to
  1513. 1:07:57uh Microsoft Sentinel, there are a few
  1514. 1:08:00prerequisites. First is that your
  1515. 1:08:02workspace should have read and write
  1516. 1:08:04permissions. This we covered in chapter
  1517. 1:08:072 how to do this. Then diagnostic
  1518. 1:08:10settings, read and write permissions to
  1519. 1:08:12Microsoft Entra ID diagnostic settings.
  1520. 1:08:16Then we need to have tenant permission,
  1521. 1:08:19global administrator or security
  1522. 1:08:21administrator on the workspace tenant.
  1523. 1:08:24If you have created a free trial using
  1524. 1:08:26your ID and logged in using the same ID,
  1525. 1:08:30then you should be a global
  1526. 1:08:31administrator by default.
  1527. 1:08:35Let me open enter ID in a different tab.
  1528. 1:08:39Search for enter ID. Microsoft enter ID.
  1529. 1:08:43Here I just wanted to show you the
  1530. 1:08:45diagnostic settings. This will allow you
  1531. 1:08:48to send audit logs, signin logs and
  1532. 1:08:51provisioning logs to external monitoring
  1533. 1:08:54tools like log analytics, Microsoft
  1534. 1:08:56Sentinel, Azure storage and event hubs.
  1535. 1:09:00So if I click on add diagnostic setting,
  1536. 1:09:04a diagnostic setting specifies a list of
  1537. 1:09:06categories of platform logs and metrics
  1538. 1:09:10that you want to collect from a resource
  1539. 1:09:13and one or more destinations that would
  1540. 1:09:15stream them to. So you can select what
  1541. 1:09:18logs you want and what is the
  1542. 1:09:20destination that you want to send to. So
  1543. 1:09:23if I select send to log analytics
  1544. 1:09:26workspace, it is telling me this is a
  1545. 1:09:28subscription and it has selected my
  1546. 1:09:30sentinel workspace. If you have other
  1547. 1:09:32workspaces, you'll get an option to
  1548. 1:09:34select the other one as well. So I just
  1549. 1:09:38wanted to show this because we talked
  1550. 1:09:40about the prerequisite in here that is
  1551. 1:09:43diagnostic settings. Okay. Now under
  1552. 1:09:46configuration you can actually select
  1553. 1:09:49what kind of logs you want in Sentinel.
  1554. 1:09:54For this example let's connect audit
  1555. 1:09:56logs and signin logs and say apply
  1556. 1:09:58changes and then let's go back to the
  1557. 1:10:01homepage.
  1558. 1:10:02Now let's try to create a user in Enra
  1559. 1:10:05ID and see if you can see the logs in
  1560. 1:10:07Sentinel. Let's go back to Enra ID.
  1561. 1:10:11Under manage go to users
  1562. 1:10:15and here click new user create new user
  1563. 1:10:21and then provide the user principle
  1564. 1:10:23name. I'll say testing audit logs.
  1565. 1:10:30I'll provide the same display name
  1566. 1:10:33and then say review and create.
  1567. 1:10:37So it's created a user. Now if I refresh
  1568. 1:10:40this page,
  1569. 1:10:42there's another user called testing
  1570. 1:10:44audit logs. Now if you go back to the
  1571. 1:10:47Azure portal, then click on enter ID in
  1572. 1:10:51data connectors. Click open connector
  1573. 1:10:54page. If I scroll down on this, you can
  1574. 1:10:58see that sign in logs and audit logs are
  1575. 1:11:01getting ingested. This is one of the
  1576. 1:11:03ways to verify that the logs are getting
  1577. 1:11:06ingested to Sentinel. You can also see
  1578. 1:11:09here that there is a line right audit
  1579. 1:11:12log one sign in log one. So we are
  1580. 1:11:15getting logs. Now let's see if you can
  1581. 1:11:18see the user that we created audit logs.
  1582. 1:11:20For that you can either go to go to
  1583. 1:11:24analytics here. So it takes you to the
  1584. 1:11:27logs page
  1585. 1:11:29or you can go back to Sentinel and then
  1586. 1:11:33click logs under general
  1587. 1:11:38and here I'm going to search for audit
  1588. 1:11:41logs. There is tab completion. So I can
  1589. 1:11:44just click tab and it will complete my
  1590. 1:11:47query to audit logs. And I'm going to
  1591. 1:11:49run this.
  1592. 1:11:52And here I can see the log. There is one
  1593. 1:11:55log that is generated.
  1594. 1:11:58It gives you the tenant ID, source
  1595. 1:12:01system, resource ID, operation name is,
  1596. 1:12:06let me actually zoom in a little bit.
  1597. 1:12:11So there is tenant ID the time what time
  1598. 1:12:15it was generated what time this action
  1599. 1:12:17was taken then operation name add user
  1600. 1:12:21we added a user category is user
  1601. 1:12:24management if I scroll down
  1602. 1:12:28you can still find additional details
  1603. 1:12:32and then if I go to target resources and
  1604. 1:12:35then expand this as well
  1605. 1:12:39you can see that this account was added
  1606. 1:12:42that is testing audit logs which we just
  1607. 1:12:45created. So there is audit log that is
  1608. 1:12:48getting generated and it is pushed to
  1609. 1:12:50Sentinel. Let me go back to the query.
  1610. 1:12:53Now let's search for signin logs.
  1611. 1:12:57So there is sign-in log as well that is
  1612. 1:13:00getting generated.
  1613. 1:13:03There's a lot of information that you
  1614. 1:13:05can find from these logs.
  1615. 1:13:08If you know the KQL language that is
  1616. 1:13:10used here, then it is very easy to query
  1617. 1:13:13for the information that you're looking
  1618. 1:13:15for.
  1619. 1:13:16There will be a separate chapter on KQL
  1620. 1:13:19as well. For now, we have verified that
  1621. 1:13:22both of these logs that signin logs and
  1622. 1:13:24audit logs are sent to Sentinel.
  1623. 1:13:28You are now on chapter five. We will
  1624. 1:13:30discuss the threat detection and
  1625. 1:13:32mitigation workflow in Sentinel.
  1626. 1:13:35This chapter that is the workflow
  1627. 1:13:37chapter serves as the foundation for
  1628. 1:13:39upcoming topics. We will go over all the
  1629. 1:13:42key components of thread detection and
  1630. 1:13:44mitigation in Microsoft Sentinel and in
  1631. 1:13:47the following chapters we will discuss
  1632. 1:13:49all of these components individually in
  1633. 1:13:52more depth. The first component is data
  1634. 1:13:55connectors. We have already covered data
  1635. 1:13:58connectors in detail back in chapter 3.
  1636. 1:14:00If you need a refresher, you can find
  1637. 1:14:02the link to the video in the description
  1638. 1:14:05box. So to quickly recap, data
  1639. 1:14:08connectors are responsible for ingesting
  1640. 1:14:10logs from various sources like for
  1641. 1:14:12example Azure, AWS, GCP, Office 365,
  1642. 1:14:16firewalls, endpoint security solutions,
  1643. 1:14:19other security solutions, thirdparty
  1644. 1:14:22services, and onremise systems.
  1645. 1:14:25This is the first step in the Microsoft
  1646. 1:14:28Sentinel workflow ensuring that raw
  1647. 1:14:30security data is continuously collected
  1648. 1:14:33and fed into the system for further
  1649. 1:14:35processing.
  1650. 1:14:37So previously as we discussed data
  1651. 1:14:40connectors had a dedicated section in
  1652. 1:14:42Sentinel. Now they are integrated under
  1653. 1:14:45the content hub which centralizes
  1654. 1:14:47connectors, analytic rules, workbooks
  1655. 1:14:50and hunting queries in one place. And
  1656. 1:14:53this update is to simplify deployment,
  1657. 1:14:55management and discovery of new
  1658. 1:14:57connectors.
  1659. 1:14:59Once you have the raw logs from data
  1660. 1:15:01connectors, the next step is to parse
  1661. 1:15:03them. What are parsers?
  1662. 1:15:06Parsers transform raw ingested logs into
  1663. 1:15:10a structured format for analysis and
  1664. 1:15:13thread detection. They help normalize,
  1665. 1:15:16extract and enrich security data to make
  1666. 1:15:21it usable in analytics rules, hunting
  1667. 1:15:24queries and incident response.
  1668. 1:15:27How parsers work? First receive logs
  1669. 1:15:31from data connectors that is in the raw
  1670. 1:15:33format and then extract and standardize
  1671. 1:15:37fields like for example timestamps, IP
  1672. 1:15:39addresses and user activity. Then format
  1673. 1:15:42the data to align with Microsoft
  1674. 1:15:44Sentinel's analytics engine. Then store
  1675. 1:15:48parse data in log analytics making it
  1676. 1:15:51accessible for analytics rules to detect
  1677. 1:15:53threats, hunting queries for proactive
  1678. 1:15:56investigation and workbooks and
  1679. 1:15:58dashboards for visualization.
  1680. 1:16:01There are different types of parsers in
  1681. 1:16:04Sentinel. The first one is KQL parsers
  1682. 1:16:07that is custoquery language parsers. As
  1683. 1:16:10the name suggests it is written in KQL.
  1684. 1:16:14Next one is normalization parsers. These
  1685. 1:16:17transform logs into standard schemas.
  1686. 1:16:20For example, advanced security
  1687. 1:16:22information model ASM. And then we also
  1688. 1:16:25have custom parsers. This allow
  1689. 1:16:27organizations to define their own data
  1690. 1:16:30transformation rules. Why parsers are
  1691. 1:16:33important? Because they improve thread
  1692. 1:16:35detection accuracy. That is they ensure
  1693. 1:16:38rules analyze correctly formatted data.
  1694. 1:16:41They also help with faster
  1695. 1:16:43investigations. That is security
  1696. 1:16:45analysts can query structured logs
  1697. 1:16:47efficiently.
  1698. 1:16:49And parsers align logs from different
  1699. 1:16:51sources into a common schema for better
  1700. 1:16:54correlation.
  1701. 1:16:56So after parsers the next step is
  1702. 1:16:59analytics rules. So data connectors and
  1703. 1:17:02then parsers and then analytics rules.
  1704. 1:17:05Analytics rules are the queries that are
  1705. 1:17:08written in KQL language that
  1706. 1:17:11continuously scan ingested log data for
  1707. 1:17:14suspicious activities or anomalies.
  1708. 1:17:17When certain conditions or thresholds
  1709. 1:17:20are met, these rules trigger alerts to
  1710. 1:17:23signal potential threats. So analytic
  1711. 1:17:26rules convert past log data into
  1712. 1:17:29meaningful alerts. You can customize
  1713. 1:17:32analytics rules to fit specific threat
  1714. 1:17:35scenarios or compliance requirements.
  1715. 1:17:38Next, alerts. Like I mentioned, whenever
  1716. 1:17:41an analytics rules conditions are met,
  1717. 1:17:45like for example, say repeated failed
  1718. 1:17:47login or anomalous network traffic, an
  1719. 1:17:50alert is generated.
  1720. 1:17:52Alerts are individual events indicating
  1721. 1:17:55something suspicious or malicious might
  1722. 1:17:58be happening. So these provide initial
  1723. 1:18:01visibility into potential threats and
  1724. 1:18:04then these alerts often serve as
  1725. 1:18:06building blocks for incidents.
  1726. 1:18:09Next, hunting queries. So analytic rules
  1727. 1:18:12automatically generate threats, right?
  1728. 1:18:15Hunting queries are manually executed by
  1729. 1:18:17security analysts to uncover threats
  1730. 1:18:20that might not yet have a defined rule.
  1731. 1:18:23So these help in proactive threat
  1732. 1:18:25hunting. Analysts use KQL to look for
  1733. 1:18:29anomalies or patterns across large data
  1734. 1:18:32sets to proactively discover advanced or
  1735. 1:18:35hidden threads. Findings from hunting
  1736. 1:18:38queries can also be escalated or
  1737. 1:18:41converted into incidents if a threat is
  1738. 1:18:43discovered. Next, watch lists. Watch
  1739. 1:18:47listlets are usually used to store known
  1740. 1:18:49indicators of compromise IOC's such as
  1741. 1:18:53malicious IPs domains or user accounts.
  1742. 1:18:57Sentinel automatically checks new events
  1743. 1:18:59against these watch lists. If there's a
  1744. 1:19:02match, it can raise an alert or flag it
  1745. 1:19:05for investigation.
  1746. 1:19:06When watch list items appear in logs,
  1747. 1:19:09right, they can quickly generate or
  1748. 1:19:11enhance existing incidents. They help
  1749. 1:19:14prioritize alerts by correlating them
  1750. 1:19:17with non-malicious indicators. So hence
  1751. 1:19:20they reduce a lot of noise. Next
  1752. 1:19:24incidents this is the central point of
  1753. 1:19:26investigation. So what Sentinel does it
  1754. 1:19:29correlates alerts uh relevant data from
  1755. 1:19:32hunting queries or watch lists into
  1756. 1:19:34incidents. This provides us a holistic
  1757. 1:19:37view of potentially related threats.
  1758. 1:19:41Incidents group together multiple alerts
  1759. 1:19:43or suspicious activities that might be
  1760. 1:19:46part of the same attack chain. So
  1761. 1:19:48instead of investigating each alert in
  1762. 1:19:51isolation, analysts can review an entire
  1763. 1:19:54incident to see all related alerts,
  1764. 1:19:57making it easier to see the bigger
  1765. 1:19:59picture. Incidents are often assigned
  1766. 1:20:01severity levels to help teams focus on
  1767. 1:20:04the most critical threats first. Next,
  1768. 1:20:07manual investigations.
  1769. 1:20:10So this is human analysis. Security
  1770. 1:20:12analysts dig into the details of an
  1771. 1:20:15incident to validate the threat, gather
  1772. 1:20:17context, and decide on remediation
  1773. 1:20:20steps. Analysts may coordinate with
  1774. 1:20:23other teams, run additional queries, or
  1775. 1:20:25gather forensic evidence to confirm the
  1776. 1:20:28scope of the threat. Some complex
  1777. 1:20:30threats require human expertise to
  1778. 1:20:33interpret subtle indicators and avoid
  1779. 1:20:35false positives. Analysts can craft a
  1780. 1:20:38custom response if the situation is
  1781. 1:20:40unique or requires careful handling.
  1782. 1:20:44Next is workbooks. They're used for
  1783. 1:20:46dashboard and reporting. They create
  1784. 1:20:48visual representations like for example
  1785. 1:20:51graphs, charts on tables of incident
  1786. 1:20:54data, trends, and overall security
  1787. 1:20:56posture. Security teams can tailor
  1788. 1:20:59workbooks to display the KPIs or metrics
  1789. 1:21:02most relevant to their organization.
  1790. 1:21:04So this provides immediate insights into
  1791. 1:21:07ongoing uh incidents and detection
  1792. 1:21:09trends. It's also useful for management
  1793. 1:21:13or board level reporting as the data is
  1794. 1:21:15displayed in a more intuitive format.
  1795. 1:21:18Next, automation rules. Automation rules
  1796. 1:21:22can tag, assign or prioritize incidents
  1797. 1:21:24based on predefined criteria. So they
  1798. 1:21:27help with automatic triage. They also
  1799. 1:21:31serve as a gateway to run playbooks when
  1800. 1:21:34certain conditions are met, like for
  1801. 1:21:36example, high severity incidents. As the
  1802. 1:21:40volume of alerts grow, automation rules
  1803. 1:21:43help manage incidents at scale without
  1804. 1:21:46overwhelming human analysts. They ensure
  1805. 1:21:49that standard procedures are followed
  1806. 1:21:51every time a certain type of threat is
  1807. 1:21:54detected. Next, playbooks. This is the
  1808. 1:21:57source solution. Playbooks are built on
  1809. 1:22:00Azure logic apps. They define automated
  1810. 1:22:03workflows that can respond to threats in
  1811. 1:22:06real time. For example, blocking an IP
  1812. 1:22:08address, disabling a compromised user
  1813. 1:22:11account, sending a notification to a
  1814. 1:22:13Slack or team's channel or creating a
  1815. 1:22:16ticket in a service management platform
  1816. 1:22:18like for example service. Now playbooks
  1817. 1:22:20can interact with various internal
  1818. 1:22:23systems like for example firewalls or
  1819. 1:22:25endpoint solutions and also external
  1820. 1:22:28services like for example ticketing,
  1821. 1:22:31threat intelligence APIs and so on.
  1822. 1:22:34These automated responses reduce
  1823. 1:22:36incident resolution time significantly.
  1824. 1:22:40Predefined workflows ensure consistent
  1825. 1:22:42and correct actions minimizing mistakes
  1826. 1:22:45during high pressure situations.
  1827. 1:22:48Automation rules and playbooks work
  1828. 1:22:50together. Automation rules you can use
  1829. 1:22:52it for handling the initial triage for
  1830. 1:22:55example you know the tagging or
  1831. 1:22:58assigning an incident to somebody or
  1832. 1:23:00closing an incident if it's a known
  1833. 1:23:02false positive and playbooks handle the
  1834. 1:23:05complex or external facing actions like
  1835. 1:23:08I mentioned blocking an IP disabling an
  1836. 1:23:11account integrating with ticketing
  1837. 1:23:13systems. Then we have notebooks. These
  1838. 1:23:17are often Jupiter notebooks. They allow
  1839. 1:23:19deeper forensic analysis, machine
  1840. 1:23:22learning and data correlation beyond
  1841. 1:23:24standard dashboards. Analysts can
  1842. 1:23:27document their workflow in a notebook,
  1843. 1:23:30share it with team members, and iterate
  1844. 1:23:33quickly on queries or scripts. So when
  1845. 1:23:36the investigation requires advanced
  1846. 1:23:38techniques such as behavioral analysis
  1847. 1:23:41or machine learning, notebooks provide
  1848. 1:23:43the necessary flexibility and power.
  1849. 1:23:46Notebooks maintain a clear step-by-step
  1850. 1:23:49record of the investigation which is
  1851. 1:23:51invaluable for auditing or knowledge
  1852. 1:23:54sharing. So putting it all together,
  1853. 1:23:56analytics rules scan data from data
  1854. 1:23:59connectors and trigger alerts upon
  1855. 1:24:01detecting suspicious activities. Hunting
  1856. 1:24:04queries and watch lists provide parallel
  1857. 1:24:07ways to uncover and correlate additional
  1858. 1:24:10threats. Alerts and any data from
  1859. 1:24:13hunting queries or watch lists are
  1860. 1:24:15grouped into incidents for a holistic
  1861. 1:24:17investigation.
  1862. 1:24:19from an incident. Security teams can
  1863. 1:24:21launch manual investigations, use
  1864. 1:24:24notebooks for deeper analysis, or
  1865. 1:24:27consult workbooks for visual summaries.
  1866. 1:24:30Automation rules categorize and manage
  1867. 1:24:33incidents, triggering playbooks that
  1868. 1:24:36enact automated responses.
  1869. 1:24:39So, this is the workflow that is
  1870. 1:24:41followed in Sentinel for threat
  1871. 1:24:43detection and mitigation. I hope this
  1872. 1:24:46detailed walkthrough clarifies how each
  1873. 1:24:48component in the Microsoft Sentinel
  1874. 1:24:50workflow fits together. Starting with
  1875. 1:24:53data connectors and continuing through
  1876. 1:24:56alerts, incidents and response
  1877. 1:24:58mechanisms.
  1878. 1:24:59Let's go to the next chapter. In this
  1879. 1:25:02chapter, we will discuss threat
  1880. 1:25:03intelligence in Sentinel. What options
  1881. 1:25:06are available for threat intelligence?
  1882. 1:25:08What is threat intelligence? How to use
  1883. 1:25:10them? How can we integrate them with
  1884. 1:25:13Sentinel? What are the different options
  1885. 1:25:15and why they matter?
  1886. 1:25:18First, what is threat intelligence?
  1887. 1:25:20Threat intelligence has three key
  1888. 1:25:22components. First one is data
  1889. 1:25:24collection. Organizations gather raw
  1890. 1:25:27data from multiple sources such as
  1891. 1:25:30open-source intelligence, commercial
  1892. 1:25:32feeds, internal logs, and information
  1893. 1:25:35sharing communities.
  1894. 1:25:37The next key component is analysis.
  1895. 1:25:41To understand that key component first
  1896. 1:25:43let's see what are TTPs. TTP stands for
  1897. 1:25:47tactics techniques and procedures in
  1898. 1:25:49cyber security. These describe how
  1899. 1:25:53threat actors operates. Tactics is the
  1900. 1:25:56why behind an attack like for example
  1901. 1:25:58persistence, privilege escalation,
  1902. 1:26:01exfiltration.
  1903. 1:26:02Techniques is the how an actor achieves
  1904. 1:26:05a goal. For example, fishing, lateral
  1905. 1:26:08movement, credential dumping
  1906. 1:26:11and procedures is the specific
  1907. 1:26:13implementation of a technique by a
  1908. 1:26:16particular adversary. For example, using
  1909. 1:26:19mimikads for credential dumping. So
  1910. 1:26:22analysis is where the collected data is
  1911. 1:26:26processed and analyzed to uncover
  1912. 1:26:28patterns TTPs used by thread actors. The
  1913. 1:26:32result is actionable intelligence that
  1914. 1:26:35informs security measures. The next key
  1915. 1:26:38component is dissemination. The
  1916. 1:26:40actionable intelligence is then shared
  1917. 1:26:42with security teams, decision makers and
  1918. 1:26:45sometimes automated systems enabling
  1919. 1:26:48proactive defense and rapid response.
  1920. 1:26:51So combining all list, threat
  1921. 1:26:54intelligence is a process of gathering,
  1922. 1:26:56analyzing and disseminating information
  1923. 1:26:59about potential or active cyber threats.
  1924. 1:27:02It helps organizations understand
  1925. 1:27:05adversary behaviors, identify
  1926. 1:27:07vulnerabilities, and make informed
  1927. 1:27:09decisions to improve their security
  1928. 1:27:12posture. To talk more about why threat
  1929. 1:27:15intelligence matters, first one is
  1930. 1:27:17proactive defense. By understanding
  1931. 1:27:20adversary tactics, organizations can
  1932. 1:27:23anticipate and prepare for potential
  1933. 1:27:25attacks rather than reacting after a
  1934. 1:27:28breach occurs. Enhanced detection.
  1935. 1:27:31Integrating threat intelligence into
  1936. 1:27:33security tools improves the ability to
  1937. 1:27:36detect and block threats early. Informed
  1938. 1:27:39decision making. Strategic and
  1939. 1:27:41operational intelligence help shape
  1940. 1:27:44security policies and investments.
  1941. 1:27:47Ensuring resources are focused on the
  1942. 1:27:49most pressing risks. Then improved
  1943. 1:27:52incident response. Detailed technical
  1944. 1:27:55intelligence equips security teams with
  1945. 1:27:57the necessary data to quickly identify,
  1946. 1:28:01contain, and remediate incidents,
  1947. 1:28:03reducing the overall impact.
  1948. 1:28:06There are different ways that you can
  1949. 1:28:08import threat intelligence into
  1950. 1:28:10Sentinel.
  1951. 1:28:11The first solution is Microsoft Defender
  1952. 1:28:14threat intelligence connector.
  1953. 1:28:17This is the direct integration with
  1954. 1:28:19Microsoft's curated threat intel.
  1955. 1:28:22Microsoft defender threat intelligence
  1956. 1:28:24that is defender TI provides public
  1957. 1:28:27open-source and highfidelity indicator
  1958. 1:28:30indicators of compromise that is IoC's
  1959. 1:28:32to enhance threat detection and response
  1960. 1:28:35in Microsoft Sentinel. What are IOC's?
  1961. 1:28:38Indicators of compromise. These are
  1962. 1:28:41forensic artifacts that signal a
  1963. 1:28:43potential security breach, malware
  1964. 1:28:46infection or unauthorized access in an
  1965. 1:28:48organization's network. There are
  1966. 1:28:51different types of IoC's like for
  1967. 1:28:53example network-based IOC's include IP
  1968. 1:28:56addresses that is malicious or
  1969. 1:28:58suspicious IPs involved in attacks.
  1970. 1:29:01domain names that is fishing or command
  1971. 1:29:04and control domains and URL links that
  1972. 1:29:07is malicious website pages used for
  1973. 1:29:11driveby downloads or fishing. There are
  1974. 1:29:14also host based IOC's like file hashes
  1975. 1:29:17that is unique identifiers for malware
  1976. 1:29:20files MD5 S shaft 256 all these are file
  1977. 1:29:26hashes then registry changes
  1978. 1:29:29unauthorized modifications indicating
  1979. 1:29:31malware persistence then there are
  1980. 1:29:33processes and services this is unusual
  1981. 1:29:37processes or services running on a
  1982. 1:29:39machine we also have email based IOC's
  1983. 1:29:42like for example spoofed or suspicious
  1984. 1:29:44email sources that is sender email
  1985. 1:29:47addresses the spoofed or suspicious ones
  1986. 1:29:50executables macros or infected files
  1987. 1:29:54URLs directing users to fishing sites
  1988. 1:29:57all these are IoC's indicators of
  1989. 1:30:00compromise
  1990. 1:30:02defender has a standard connector as
  1991. 1:30:04well as a premium connector standard
  1992. 1:30:07connector is free it ingests public and
  1993. 1:30:09open-source threat intelligence premium
  1994. 1:30:12connector is is the paid one which
  1995. 1:30:14ingests Microsoft enriched and curated
  1996. 1:30:17IOC's for deeper analytics.
  1997. 1:30:20The premium connector right it is also
  1998. 1:30:22available for a limited time free like a
  1999. 1:30:25month or something that you can use and
  2000. 1:30:27check out if that works for you. Now
  2001. 1:30:30let's see a demo of how to connect this
  2002. 1:30:32in Sentinel. Let's go to our portal.
  2003. 1:30:36Search for Sentinel. Select Microsoft
  2004. 1:30:39Sentinel and then click Sentinel
  2005. 1:30:42Workspace.
  2006. 1:30:44Then under content management,
  2007. 1:30:46click content hub,
  2008. 1:30:49search for threat intelligence.
  2009. 1:30:55The first one which is Microsoft
  2010. 1:30:57Defender for Threat Intelligence. That
  2011. 1:30:59is the one we are looking for. Let's
  2012. 1:31:01click on it.
  2013. 1:31:02It says Microsoft centralizes numerous
  2014. 1:31:05data sets into a single platform,
  2015. 1:31:07Microsoft Defender Threat Intelligence,
  2016. 1:31:10MDTI, making it easier for Microsoft's
  2017. 1:31:13community and customers to conduct
  2018. 1:31:15infrastructure analysis.
  2019. 1:31:17If I scroll down, the pricing is free.
  2020. 1:31:20There are eight playbooks and one
  2021. 1:31:23workbook in this. Let me install this.
  2022. 1:31:27Click install. Installation is pro is in
  2023. 1:31:29progress now. Now it's completed. It
  2024. 1:31:33says that the Microsoft Defender threat
  2025. 1:31:35intelligence is installed
  2026. 1:31:37and once this is installed you can find
  2027. 1:31:40the new intelligence that is provided by
  2028. 1:31:42defender in the management interface or
  2029. 1:31:45if you go to logs
  2030. 1:31:48under general you can query the threat
  2031. 1:31:52intel indicators table.
  2032. 1:31:55Right now I don't have any intelligence
  2033. 1:31:57that is ingested but you will be able to
  2034. 1:32:01find data here. Defender TI provides who
  2035. 1:32:06is DNS records, SSL certificates and
  2036. 1:32:11malware insights to give context to
  2037. 1:32:13suspicious domains, IPs and hosts.
  2038. 1:32:17It enables cross referencing IOC's with
  2039. 1:32:20articles, attack patterns and
  2040. 1:32:22vulnerabilities that is CVE data to
  2041. 1:32:25understand the threat impact.
  2042. 1:32:28So that's about defender TE. The next
  2043. 1:32:30one is threat intelligence taxi. First
  2044. 1:32:34let's see what is taxi. Taxi stands for
  2045. 1:32:38trusted automated exchange of indicator
  2046. 1:32:41information. It is a standardized
  2047. 1:32:43protocol for sharing cyber security
  2048. 1:32:46threat intelligence that is CTI.
  2049. 1:32:49It shares this information in a very
  2050. 1:32:51structured and automated way. It works
  2051. 1:32:54alongside sticks that is structured
  2052. 1:32:57threat information expression which
  2053. 1:32:59provides the format for thread data.
  2054. 1:33:03Think of sticks as the language and taxi
  2055. 1:33:06as the delivery method for sharing
  2056. 1:33:08threat intelligence between security
  2057. 1:33:10tools.
  2058. 1:33:12It provides automated threat
  2059. 1:33:13intelligence sharing. It reduces manual
  2060. 1:33:16effort in integrating threat fields.
  2061. 1:33:19Now, Sentinel provides taxi data
  2062. 1:33:22connector that is it supports industry
  2063. 1:33:24standard feeds for external TI in
  2064. 1:33:27ingestion.
  2065. 1:33:28This data connector in Sentinel enables
  2066. 1:33:31organizations to import threat
  2067. 1:33:33intelligence data in sticks format from
  2068. 1:33:36taxi toxervers.
  2069. 1:33:39It uses the sticks format and taxi
  2070. 1:33:43protocol that is widely adopted for
  2071. 1:33:46sharing threat intelligence. Microsoft
  2072. 1:33:48Sentinel has a native taxi client that
  2073. 1:33:51can pull data from taxi 2.0 and 2.1
  2074. 1:33:55servers eliminating the need for custom
  2075. 1:33:57injection scripts. Let's see how to
  2076. 1:34:00connect and configure a taxi connector
  2077. 1:34:03in Sentinel. Now let's go back to our
  2078. 1:34:05portal. In content hub under content
  2079. 1:34:08management, I'm again searching for
  2080. 1:34:10threat intelligence.
  2081. 1:34:12Let me close this. So the first one is
  2082. 1:34:15Microsoft Defender threat intelligence
  2083. 1:34:17which we have already installed. But if
  2084. 1:34:20I scroll down, there is also threat
  2085. 1:34:22intelligence. This is the connector that
  2086. 1:34:24we are looking for. Let's select this
  2087. 1:34:28and say install. Installation is in
  2088. 1:34:31progress.
  2089. 1:34:33Now it is installed. Now let's say
  2090. 1:34:36manage.
  2091. 1:34:38It says that the threat intelligence
  2092. 1:34:40solution contains data connectors for
  2093. 1:34:42import of threat indicators into
  2094. 1:34:45Microsoft Sentinel analytics rules for
  2095. 1:34:48matching TI data with event data
  2096. 1:34:51workbook and hunting queries. Threat
  2097. 1:34:54indicators can be malicious IPs, URLs,
  2098. 1:34:57file hashes, domains, email addresses
  2099. 1:35:00and so on. So there are five data
  2100. 1:35:03connectors, one workbook, 52 analytic
  2101. 1:35:06rules and five hunting queries
  2102. 1:35:10and then you also can see the different
  2103. 1:35:13types of content that is available here.
  2104. 1:35:16Let's go back one step. Let me minimize
  2105. 1:35:19this. And if you see under threat
  2106. 1:35:22intelligence, there is threat
  2107. 1:35:25intelligence taxi. This is the connector
  2108. 1:35:27that we need. So we'll say open
  2109. 1:35:29connector
  2110. 1:35:31and it is asking us for some information
  2111. 1:35:34to add a taxi server. For this demo we
  2112. 1:35:38will use pulse type threat feed. This is
  2113. 1:35:41a very popular threat intelligence
  2114. 1:35:43source.
  2115. 1:35:44Let's sign up and then register.
  2116. 1:35:52Provide your email address.
  2117. 1:35:55registration link is sent to your email
  2118. 1:35:58address
  2119. 1:36:00and then here we need to provide a
  2120. 1:36:02username.
  2121. 1:36:04I'll say Sentinel
  2122. 1:36:07Taxi demo.
  2123. 1:36:10Once you fill this information, you can
  2124. 1:36:12continue to the next page.
  2125. 1:36:16Okay. Now I'm registered and logged in.
  2126. 1:36:19Here you can see your account and then
  2127. 1:36:21select account. here
  2128. 1:36:24this is the API key that we need let's
  2129. 1:36:27go back to our Sentinel portal
  2130. 1:36:31friendly name I'm providing it as
  2131. 1:36:33pulseive taxi
  2132. 1:36:36and then it is asking for API root URL
  2133. 1:36:39that is provided in the documentation I
  2134. 1:36:42just searched for pulseive API root URL
  2135. 1:36:46if I scroll down there is API root URL
  2136. 1:36:49I'm going to copy this paste in API root
  2137. 1:36:53URL. Then there is collection ID and
  2138. 1:36:56collection ID is also provided in their
  2139. 1:36:59documentation. If I scroll down, there
  2140. 1:37:01is collections.
  2141. 1:37:03There are three types of collections.
  2142. 1:37:06Pulse type indicator data, thread data
  2143. 1:37:08and test data. We will connect the test
  2144. 1:37:11data. This is a test collection
  2145. 1:37:14containing live sample indicator
  2146. 1:37:15objects. It is available to anyone for
  2147. 1:37:18free for the purposes of testing,
  2148. 1:37:20debugging or even just learning about
  2149. 1:37:23sticks and taxim. So I'm going to copy
  2150. 1:37:25this, go back to Sentinel and provide
  2151. 1:37:28this
  2152. 1:37:30and then provide a username.
  2153. 1:37:33I'll say taxi test and the password is
  2154. 1:37:37from pulse. You see your API key here
  2155. 1:37:41under your account. Copy that. Paste it
  2156. 1:37:44in the password field. Import
  2157. 1:37:47indicators. All available at most one
  2158. 1:37:50day old, one week. I'm going to say all
  2159. 1:37:52available. It also gives you polling
  2160. 1:37:54frequency.
  2161. 1:37:56How many types it has to pull with pulse
  2162. 1:37:59type. I'm going to say once uh an hour
  2163. 1:38:02and then say add. And then once it is
  2164. 1:38:05connected, it might take some time for
  2165. 1:38:08it to reflect data. You can query for it
  2166. 1:38:10using the threat intelligence indicator
  2167. 1:38:14table and then where provider name is
  2168. 1:38:18equal to taxi
  2169. 1:38:20and then where source system contains
  2170. 1:38:23pulse dive.
  2171. 1:38:25That's how you connect a taxi threat
  2172. 1:38:28intelligence data connector. The next
  2173. 1:38:30option is threat intelligence upload
  2174. 1:38:33API.
  2175. 1:38:34Many organizations rely on threat
  2176. 1:38:37intelligence platforms that is tips to
  2177. 1:38:40aggregate threat indicator feeds from
  2178. 1:38:43multiple sources. A threat intelligence
  2179. 1:38:46platform is a security solution designed
  2180. 1:38:48to aggregate, analyze and operationalize
  2181. 1:38:51threat intelligence from various
  2182. 1:38:53sources. It collects threat intelligence
  2183. 1:38:56from open-source, commercial and threat
  2184. 1:38:58intel sources. converts raw data into a
  2185. 1:39:02structured format that is sticks or taxi
  2186. 1:39:05and enhances it with contextual
  2187. 1:39:07information and then it identifies
  2188. 1:39:10patterns, relationships and trends in
  2189. 1:39:12thread data and then shares intelligence
  2190. 1:39:15with SIMs for example in this case
  2191. 1:39:18Microsoft Sentinel, EDR, XDR, firewalls
  2192. 1:39:21and soore tools for automated security
  2193. 1:39:24actions.
  2194. 1:39:26The threat intelligence upload API
  2195. 1:39:28enables organizations to import sticks
  2196. 1:39:31objects directly into Microsoft Sentinel
  2197. 1:39:34streamlining the integration of
  2198. 1:39:36structured threat intelligence into
  2199. 1:39:38security operations.
  2200. 1:39:40This does not require any data
  2201. 1:39:42connector. So it simplifies the
  2202. 1:39:45integration process. It uses the widely
  2203. 1:39:48adopted sticks format for better
  2204. 1:39:50interoperability.
  2205. 1:39:52It requires the Microsoft Sentinel
  2206. 1:39:54contributor role for the Microsoft Entra
  2207. 1:39:56application. We'll have to create a
  2208. 1:39:58Microsoft Entra application for this.
  2209. 1:40:01And then API permissions allow fine
  2210. 1:40:03grain control over threat intelligence
  2211. 1:40:06injection at the workspace level.
  2212. 1:40:09For this the first step is to register a
  2213. 1:40:12Microsoft Entra application. For that
  2214. 1:40:15first sign into Microsoft Entra admin
  2215. 1:40:18center that is entra.microsoft.com
  2216. 1:40:22then I under identity go to applications
  2217. 1:40:26and then app registrations
  2218. 1:40:29in this new registration
  2219. 1:40:32provide a name I'll say sentinel
  2220. 1:40:36upload API test and then register it's
  2221. 1:40:41created my application now this is the
  2222. 1:40:44app ID that we need later. So let's keep
  2223. 1:40:48this tab open. Once that is done, the
  2224. 1:40:51next step is to assign a role to the
  2225. 1:40:53application. Let's go back to the Azure
  2226. 1:40:56portal.
  2227. 1:40:58Let's go to the log analytics workspace.
  2228. 1:41:02I selected Sentinel workspace. In this
  2229. 1:41:04go to access control
  2230. 1:41:07and then add and then add role
  2231. 1:41:10assignments.
  2232. 1:41:11In the role tab, search for Microsoft
  2233. 1:41:14Sentinel contributor.
  2234. 1:41:18Select it. Next. Click select members.
  2235. 1:41:23Search for the app that we created.
  2236. 1:41:25Sentinel upload test API. Select that
  2237. 1:41:27application. Then say select
  2238. 1:41:31and then review and assign.
  2239. 1:41:34So the role is getting added to the app
  2240. 1:41:36app registration that we just created.
  2241. 1:41:40And once you're done with this, we need
  2242. 1:41:42to submit the threat intelligence to the
  2243. 1:41:44upload API. For that, you need the
  2244. 1:41:47application client ID, Microsoft Entra
  2245. 1:41:50Access token with OOTH 2.0
  2246. 1:41:53authentication and Microsoft Sentinel
  2247. 1:41:55Workspace ID. And this method is
  2248. 1:41:58particularly useful for organizations
  2249. 1:42:00that maintain proprietary threat
  2250. 1:42:02intelligence. Companies using internal
  2251. 1:42:05threat feeds that need to be injected
  2252. 1:42:08into Sentinel can make use of this or
  2253. 1:42:11security teams that are using custom
  2254. 1:42:13scripts or automation pipelines for
  2255. 1:42:15thread data can use this upload API
  2256. 1:42:18method.
  2257. 1:42:19The next method is thread intelligence
  2258. 1:42:22platform. This data connector is on its
  2259. 1:42:24path for deprecation.
  2260. 1:42:27So this will be very soon removed by
  2261. 1:42:29Microsoft Sentinel. So, Microsoft
  2262. 1:42:31recommends switching to the threat
  2263. 1:42:33intelligence upload API for improved
  2264. 1:42:36functionality.
  2265. 1:42:37So, if you're already using a tip data
  2266. 1:42:40connector, start migrating to the upload
  2267. 1:42:43API.
  2268. 1:42:45So, this was designed to import threat
  2269. 1:42:47intelligence indicators from external
  2270. 1:42:49threat intelligence platforms into
  2271. 1:42:51Sentinel. So, now it's going to be
  2272. 1:42:54removed. So, better start using upload
  2273. 1:42:57API. There are other ways to import
  2274. 1:43:00threat intelligence as well. You can
  2275. 1:43:02upload a file in Azure portal or you can
  2276. 1:43:06do it also in uh defender portal under
  2277. 1:43:09threat management threat intelligence.
  2278. 1:43:12In Sentinel go to threat management.
  2279. 1:43:15Under threat intelligence
  2280. 1:43:18say import in this you can import using
  2281. 1:43:21a file. So the format is CSV and JSON as
  2282. 1:43:26well. You can select one of those file
  2283. 1:43:28formats and then upload your um threat
  2284. 1:43:32intelligence file. You can also add
  2285. 1:43:35entity to threat indicators in an
  2286. 1:43:37incident. You can also use threat
  2287. 1:43:39indicators in analytics rules. You can
  2288. 1:43:42use matching analytics to detect
  2289. 1:43:44threats. All of this we'll see in the
  2290. 1:43:47later chapters.
  2291. 1:43:49So that is it about threat intelligence.
  2292. 1:43:52Now we'll move on to the next chapter.
  2293. 1:43:54In this chapter, we will discuss
  2294. 1:43:56analytics rules that are required for
  2295. 1:43:58thread detection. So, what are analytics
  2296. 1:44:01rules? Analytics rules in Microsoft
  2297. 1:44:04Sentinel are automated detection
  2298. 1:44:06mechanisms that continuously analyze
  2299. 1:44:08security data to identify potential
  2300. 1:44:11threats. These rules help security teams
  2301. 1:44:14to detect, investigate, and respond to
  2302. 1:44:16suspicious activities in an
  2303. 1:44:18organization's environment. As a recap,
  2304. 1:44:22Microsoft Sentinel ingest data from
  2305. 1:44:24various sources such as firewalls,
  2306. 1:44:27endpoint protection tools, cloud
  2307. 1:44:30services, and identity platforms.
  2308. 1:44:32Analytics rules scan this data for
  2309. 1:44:35threat indicators, anomalies, or
  2310. 1:44:37suspicious behavior patterns. When an
  2311. 1:44:40analytics rule detects a security issue,
  2312. 1:44:42it triggers an alert. This alert
  2313. 1:44:45contains details about the detected
  2314. 1:44:47event such as affected users, devices,
  2315. 1:44:51IP addresses, and timestamps. Then
  2316. 1:44:54alerts are grouped into incidents which
  2317. 1:44:57act as case files for investigation.
  2318. 1:45:00This helps analysts see the bigger
  2319. 1:45:02picture and determine if multiple alerts
  2320. 1:45:05are related to a coordinated attack. And
  2321. 1:45:09then playbooks that are automated
  2322. 1:45:11workflows can be triggered to contain
  2323. 1:45:14threats, notify teams or gather more
  2324. 1:45:17data. Security analysts can also
  2325. 1:45:20manually investigate incidents and take
  2326. 1:45:22necessary actions to mitigate risks.
  2327. 1:45:25There are different types of analytics
  2328. 1:45:28rules. Let's look at the main ones
  2329. 1:45:30first. Schedule rules. These run at
  2330. 1:45:34predefined intervals scanning collected
  2331. 1:45:37logs for specific patterns. These are
  2332. 1:45:40useful for detecting known attack
  2333. 1:45:42techniques such as repeated failed login
  2334. 1:45:45attempts or unauthorized access. Next
  2335. 1:45:48one near realtime NRT rules. These
  2336. 1:45:52execute queries at high frequency for
  2337. 1:45:54rapid thread detection. I mean these are
  2338. 1:45:57getting executed every 1 minute. These
  2339. 1:46:00are ideal for time-sensitive threats
  2340. 1:46:02like brute force attacks or unusual
  2341. 1:46:05administrative activity. Then there are
  2342. 1:46:08anomaly rules. These use machine
  2343. 1:46:10learning to detect unusual behaviors
  2344. 1:46:13that may indicate threats. For example,
  2345. 1:46:16a user accessing a system from an
  2346. 1:46:18unexpected location or logging in at odd
  2347. 1:46:21hours. Then we have Microsoft security
  2348. 1:46:24rules. These rules integrate with
  2349. 1:46:27Microsoft security products for example
  2350. 1:46:30Microsoft Defender or Entra ID to
  2351. 1:46:33generate alerts in Sentinel. This allows
  2352. 1:46:36seamless correlation of security signals
  2353. 1:46:38from across the Microsoft security
  2354. 1:46:40ecosystem.
  2355. 1:46:42Then there are three more specialized
  2356. 1:46:44analytics rules in these. So the first
  2357. 1:46:47four that we discussed are the primary
  2358. 1:46:49rule types. Then Sentinel offers
  2359. 1:46:51specialized rule templates with limited
  2360. 1:46:54customization options. You can't
  2361. 1:46:56customize them so much but they they are
  2362. 1:46:58there. First specialized rule is uh
  2363. 1:47:01threat intelligence rules. These compare
  2364. 1:47:04ingested security locks against known
  2365. 1:47:07threat indicators like malicious IP
  2366. 1:47:09addresses or domains. These are useful
  2367. 1:47:13for identifying compromised accounts,
  2368. 1:47:15fishing attempts or command and control
  2369. 1:47:17that is C2 activity. Next one is fusion
  2370. 1:47:20rules. Advanced multi-stage attack
  2371. 1:47:23detection. These correlate multiple low
  2372. 1:47:26confidence signals to detect complex
  2373. 1:47:30multi-step cyber attacks. This helps
  2374. 1:47:32reduce false positives and identify
  2375. 1:47:36advanced persistent threats that is APS.
  2376. 1:47:39Next, machine learning behavior
  2377. 1:47:41analytics. These leverage AIdriven
  2378. 1:47:45behavioral analytics to spot evolving
  2379. 1:47:48threads. These are useful for detecting
  2380. 1:47:50insider threats, account takeovers or
  2381. 1:47:53privilege abuse.
  2382. 1:47:55Now let's see demos for these types of
  2383. 1:47:58analytics roles. How to create them? How
  2384. 1:48:00you can utilize them? Let's go to our
  2385. 1:48:02Azure portal. Let's search for Sentinel.
  2386. 1:48:07Click on Microsoft Sentinel and then the
  2387. 1:48:10workspace. Sentinel workspace.
  2388. 1:48:13Here go to configuration and then
  2389. 1:48:15analytics.
  2390. 1:48:18This gives you the overview of the rules
  2391. 1:48:20that are available. There is one active
  2392. 1:48:23rule. As you can see here, the active
  2393. 1:48:26rule section in analytics tab refers to
  2394. 1:48:29the currently enabled analytic rules
  2395. 1:48:32that are actively running and generating
  2396. 1:48:34security alerts based on some defined
  2397. 1:48:37conditions.
  2398. 1:48:39This rule says the severity is high.
  2399. 1:48:42Name of the rule is advanced multi-stage
  2400. 1:48:45attack detection.
  2401. 1:48:47rule type is fusion. It is enabled and
  2402. 1:48:51the tactics that it is using. If I click
  2403. 1:48:54on it,
  2404. 1:48:59you can find more details about this
  2405. 1:49:02what this uh rule does. This rule covers
  2406. 1:49:06the following detections. Fusion for
  2407. 1:49:08emerging threats, ransomware,
  2408. 1:49:10scenariobased fusion detections.
  2409. 1:49:13To enable these detections, we recommend
  2410. 1:49:15you to configure the following data
  2411. 1:49:17connectors for best results. Azure
  2412. 1:49:20defender, Microsoft defender for
  2413. 1:49:22endpoint, cloud app security, defender
  2414. 1:49:25for identity.
  2415. 1:49:27So even if you don't manually create
  2416. 1:49:30them right there, there will be some
  2417. 1:49:32active rules because in the content
  2418. 1:49:34management under content hub, we enabled
  2419. 1:49:37some of the solutions which have these
  2420. 1:49:39analytics rules in them. And the next
  2421. 1:49:42tab is rule templates. These templates
  2422. 1:49:46are pre-built detection rules that use
  2423. 1:49:49KQL to analyze logs and identify
  2424. 1:49:51suspicious activities across your
  2425. 1:49:54systems. If I click on one of the alert
  2426. 1:49:57rule templates, it's give it is giving
  2427. 1:50:00you the description severity data
  2428. 1:50:03sources
  2429. 1:50:05uh Microsoft 365 threat intelligence
  2430. 1:50:07platforms threat intelligence uh taxi
  2431. 1:50:11data sources Microsoft 365 threat
  2432. 1:50:14intelligence platforms tax defender TI
  2433. 1:50:18and then MITER attack which one it is
  2434. 1:50:20using it is fishing then you have the
  2435. 1:50:22rule query
  2436. 1:50:25And then rule frequency when it is run
  2437. 1:50:28it this one is run every 1 hour. Rule
  2438. 1:50:31period last 14 days. So it is running on
  2439. 1:50:34the data that is in the last 14 days
  2440. 1:50:38every 1 hour. Rule threshold event
  2441. 1:50:42grouping. We will talk about all these
  2442. 1:50:44in a minute. So let me close this. So
  2443. 1:50:48let's try to create a scheduled rule.
  2444. 1:50:52Right now you can create an analytics
  2445. 1:50:55rule from a template that is use the
  2446. 1:50:58query logic and the scheduling look back
  2447. 1:51:00settings that is already provided in the
  2448. 1:51:02template and you can customize it a
  2449. 1:51:05little bit or you can create an
  2450. 1:51:07analytics rule from scratch. You can
  2451. 1:51:10build your own query and rule from
  2452. 1:51:12scratch.
  2453. 1:51:14Scheduled rules are the most common type
  2454. 1:51:16of analytics rules in Microsoft
  2455. 1:51:18Sentinel. They're based on KQL that run
  2456. 1:51:21at regular intervals.
  2457. 1:51:24These queries analyze raw data from a
  2458. 1:51:27defined loop back period. They can
  2459. 1:51:30perform complex statistical operations
  2460. 1:51:32to identify baselines and outliers.
  2461. 1:51:36Let's create a scheduled rule. So go to
  2462. 1:51:39configuration analytics in that create
  2463. 1:51:43scheduled query rule name. So we are
  2464. 1:51:47creating a rule to identify any new uh
  2465. 1:51:50users are added.
  2466. 1:51:53So we'll say new user creation.
  2467. 1:51:57This is a unique identifier for the rule
  2468. 1:51:59and it is plain text only. And then
  2469. 1:52:02provide the description. I'm going to
  2470. 1:52:05say the same. Severity. This defines the
  2471. 1:52:08potential impact that the rule triggers
  2472. 1:52:10a true positive. There are four options.
  2473. 1:52:14Informational is no impact but you could
  2474. 1:52:17indicate future threat activity.
  2475. 1:52:20Low is minimal immediate impact more
  2476. 1:52:24steps needed for a real threat. Medium
  2477. 1:52:27some impact but limited in scope or
  2478. 1:52:30requires additional actions.
  2479. 1:52:33High is significant impact allowing
  2480. 1:52:35threat actors broad access. I will go
  2481. 1:52:39with medium and then is miter attack.
  2482. 1:52:42This is to select relevant tactics and
  2483. 1:52:45techniques to categorize the threat
  2484. 1:52:47activity.
  2485. 1:52:48So I will select initial access and
  2486. 1:52:52privilege escalation. And the status you
  2487. 1:52:55can keep it disabled or enabled. Enabled
  2488. 1:52:58rule runs immediately or at a scheduled
  2489. 1:53:01time. Disabled rule is created but
  2490. 1:53:03inactive until manually enabled. Once
  2491. 1:53:07this is done, let's go set rule logic.
  2492. 1:53:11Then there is rule query. Uh here you
  2493. 1:53:14can paste the KQL query you created and
  2494. 1:53:16tested. So I will paste mine. Any errors
  2495. 1:53:21in the query will be validated
  2496. 1:53:23instantly. Suppose say I'm going to
  2497. 1:53:25remove this type it wrong spelling
  2498. 1:53:27mistake. It says fail to resolve this
  2499. 1:53:30expression named res. So it immediately
  2500. 1:53:34tells you that something is wrong. So
  2501. 1:53:36let me retype it which is a very useful
  2502. 1:53:40uh feature I feel. So audit logs this is
  2503. 1:53:44the table. So this KQL query retrieves
  2504. 1:53:48and filters Azure ID that is enter ID
  2505. 1:53:50audit logs to find events where a user
  2506. 1:53:53was added. So it fetches data from the
  2507. 1:53:57audit log table.
  2508. 1:54:00Here let me zoom this a little bit. So
  2509. 1:54:03here it fetches data from the audit logs
  2510. 1:54:06table in Microsoft Sentinel or log
  2511. 1:54:08analytics.
  2512. 1:54:10So this table contains Azure AD audit
  2513. 1:54:13logs which track administrative actions.
  2514. 1:54:16It filters the logs to only include
  2515. 1:54:19events where the active display name is
  2516. 1:54:22equal to add user. This ensures that we
  2517. 1:54:26only see user creation events.
  2518. 1:54:30Then it gets the user name that is email
  2519. 1:54:33of the newly added user from the target
  2520. 1:54:36resources array. There is a different uh
  2521. 1:54:40video on just KQL. If you want to learn
  2522. 1:54:44more or if you don't know KQL, I
  2523. 1:54:46recommend referring that. I will link
  2524. 1:54:48that in the description box. And this
  2525. 1:54:51zero target resources zero refers to the
  2526. 1:54:55first object in the array. And this two
  2527. 1:54:58string ensures the value is treated as a
  2528. 1:55:01string.
  2529. 1:55:03And then extend created by this extracts
  2530. 1:55:07the username email of the person who
  2531. 1:55:10performed the action. So this one is who
  2532. 1:55:13got added created by is the person who
  2533. 1:55:16performed the action.
  2534. 1:55:18initiated by user user principle name
  2535. 1:55:22holds the initiator's UPN email address
  2536. 1:55:26and two string ensures it is treated as
  2537. 1:55:29a string then we are selecting specific
  2538. 1:55:32columns to display like the time
  2539. 1:55:35generated timestamp of when the data was
  2540. 1:55:38added activity display name of the event
  2541. 1:55:42that is add user user principle name the
  2542. 1:55:45newly added users UPN created by the
  2543. 1:55:49admin or user who performed the action
  2544. 1:55:52and the result indicates if the action
  2545. 1:55:54was successful or failed. There is also
  2546. 1:55:58view query results. Click this. It you
  2547. 1:56:02can actually execute you can actually
  2548. 1:56:04execute your query and see if it is
  2549. 1:56:07fetching results. Run it does fetch
  2550. 1:56:11results. Add user and the event is here.
  2551. 1:56:15So let's go back. Then there is alert
  2552. 1:56:18enhancement tab. The first one is entity
  2553. 1:56:22mapping. This helps you define up to 10
  2554. 1:56:25entity types recognized by Sentinel.
  2555. 1:56:28This helps integrate identified entities
  2556. 1:56:32into the fields into the entities field
  2557. 1:56:34in alert schema. Entity mapping enables
  2558. 1:56:38correlation across other security logs.
  2559. 1:56:41enhances visibility in sentinel
  2560. 1:56:43investigations and it also improves
  2561. 1:56:45automated responses using playbooks. So
  2562. 1:56:49let's click add new entity. Select the
  2563. 1:56:52entity. I will select account and then
  2564. 1:56:56we need to add identifier.
  2565. 1:56:59Full name is user principle name. And
  2566. 1:57:03then if I want I can add more
  2567. 1:57:05identifiers. This is enough for me.
  2568. 1:57:07After entity mapping, there is custom
  2569. 1:57:09details.
  2570. 1:57:11When creating or modifying scheduled
  2571. 1:57:13query analytics rules, right, in
  2572. 1:57:15Sentinel, you can enhance alerts by
  2573. 1:57:17adding custom details. This allows
  2574. 1:57:20security analysts to quickly view
  2575. 1:57:22critical event information without
  2576. 1:57:24needing additional investigation. So, it
  2577. 1:57:27helps with faster triage and
  2578. 1:57:30investigation. So, normally alerts only
  2579. 1:57:33contain highle metadata. With custom
  2580. 1:57:35details, you can extract and display
  2581. 1:57:37specific events like for example
  2582. 1:57:40usernames, IP addresses, device names
  2583. 1:57:42directly in the alert properties. So if
  2584. 1:57:46I click add new, I can select the value
  2585. 1:57:49as user principle name and say created
  2586. 1:57:54user.
  2587. 1:57:56It has a key value pair and then there
  2588. 1:57:59is alert details. So all alerts and
  2589. 1:58:03incidents inherit the name, description,
  2590. 1:58:06severity and miter attack tactics set in
  2591. 1:58:09the rule. However, this does not account
  2592. 1:58:12for dynamic details of each specific
  2593. 1:58:14alert instance. So you can do that using
  2594. 1:58:18alert details. You can override default
  2595. 1:58:20alert properties. So you can you can do
  2596. 1:58:24that using two ways. One is custom
  2597. 1:58:26variable alert names and descriptions
  2598. 1:58:29and the other one is dynamic severity
  2599. 1:58:31tactics and other properties. So instead
  2600. 1:58:34of saying new user created an entra id
  2601. 1:58:38as the alert name you can say new user
  2602. 1:58:40created and the user principle name who
  2603. 1:58:44was the user that created and who
  2604. 1:58:46created it. You can create your custom
  2605. 1:58:48alert names like this. You can create
  2606. 1:58:52custom alert name format as well as
  2607. 1:58:54alert description format too. This is
  2608. 1:58:57only an example. I'll remove this. And
  2609. 1:59:00you can also use KQL fields to set
  2610. 1:59:04priority dynamically. Like for example,
  2611. 1:59:07extend severity is equal to case. User
  2612. 1:59:10principle name contains admin, then it
  2613. 1:59:13will be a high severity alert. user
  2614. 1:59:15principle name contains test then it is
  2615. 1:59:18a low pri priority or medium priority
  2616. 1:59:21alert.
  2617. 1:59:23So let me delete this as well. This was
  2618. 1:59:26an example. So I will say alert name
  2619. 1:59:29format new user created user principle
  2620. 1:59:33name and the alert description format a
  2621. 1:59:37new user so and so was created in entra
  2622. 1:59:40ID at whatever time.
  2623. 1:59:42Next is query scheduling. This run query
  2624. 1:59:47every 5 hours. You can customize this.
  2625. 1:59:50I'm going to leave it as is. Look up
  2626. 1:59:52data from the last 5 hours. I'm going to
  2627. 1:59:55leave this as well as is. You can set to
  2628. 1:59:58start it automatically right now or at a
  2629. 2:00:01specific time. It can start running from
  2630. 2:00:04then. Then alert threshold. Generate
  2631. 2:00:07alert when number of query results is
  2632. 2:00:09greater than zero. Even if there is one
  2633. 2:00:12alert, one event, it will generate an
  2634. 2:00:15alert if you set it to zero. Then there
  2635. 2:00:18is event grouping.
  2636. 2:00:21It says configure how rule how rule
  2637. 2:00:24query results are grouped into alerts.
  2638. 2:00:26So all you I usually they select group
  2639. 2:00:30all events into a single alert or you
  2640. 2:00:33can also say trigger an alert for each
  2641. 2:00:35event.
  2642. 2:00:37So if you select group all events into a
  2643. 2:00:39single alert that means all results from
  2644. 2:00:41the query execution will be grouped into
  2645. 2:00:43one single alert. This is best for batch
  2646. 2:00:46processing where you want a single alert
  2647. 2:00:49per run.
  2648. 2:00:51And in the second option each alert each
  2649. 2:00:54result generates a separate alert and
  2650. 2:00:56separate incident. It is best if you if
  2651. 2:01:00each event requires individual
  2652. 2:01:02investigation. So it also gives you a
  2653. 2:01:05warning saying a single analytics rule
  2654. 2:01:07can generate up to 150 alerts. If you
  2655. 2:01:10choose trigger an alert for each event
  2656. 2:01:13and the rule query returns more than 150
  2657. 2:01:16events, the rule will generate 150
  2658. 2:01:19alerts.
  2659. 2:01:20And the last alert will include a
  2660. 2:01:22summary of all the events. I will go
  2661. 2:01:25with group all events into a single
  2662. 2:01:27alert.
  2663. 2:01:29Next one is separation. You can turn
  2664. 2:01:31this on or off. If you want to turn it
  2665. 2:01:34on, the rule will stop running for a
  2666. 2:01:37defined period after an alert is
  2667. 2:01:39generated. Once the separation period
  2668. 2:01:42expires, the rule will resume execution
  2669. 2:01:45at the scheduled interval. This is
  2670. 2:01:47useful for reducing noise from repeated
  2671. 2:01:51uh detections of the same activity. I
  2672. 2:01:54will have to set this to 5 hours or
  2673. 2:01:56greater than 5 hours, not less than
  2674. 2:01:58five. So if I set this to four, it says
  2675. 2:02:01suppression must be equal to or greater
  2676. 2:02:04than the frequency.
  2677. 2:02:06So I will not turn this on for now. I'll
  2678. 2:02:09switch it off. And then there is result
  2679. 2:02:12simulation feature. This allows you to
  2680. 2:02:14test and validate your analytics rule
  2681. 2:02:17before fully deploying it. It helps
  2682. 2:02:20ensure that your KQL query works as
  2683. 2:02:23expected and generates meaningful
  2684. 2:02:25results.
  2685. 2:02:27Uh let me go to the incident settings
  2686. 2:02:30now. So it is asking Microsoft Sentinel
  2687. 2:02:33alerts can be grouped together into an
  2688. 2:02:35incident. So I'm going to enable this
  2689. 2:02:37saying create incidents from alerts
  2690. 2:02:40triggered by this analytic rules. And
  2691. 2:02:42then there is alert grouping. So if you
  2692. 2:02:45want multiple related alerts to be
  2693. 2:02:47grouped into a single incident, enable
  2694. 2:02:50this group related alerts.
  2695. 2:02:53So you see this it limit the group to
  2696. 2:02:56alerts created within the selected time
  2697. 2:02:58frame. You can select that as well. And
  2698. 2:03:01then there is group alerts triggered by
  2699. 2:03:03this analytics rule into a single
  2700. 2:03:05incident. There are three options by
  2701. 2:03:08grouping alerts into a single incident
  2702. 2:03:10if all entities match. This is the
  2703. 2:03:12recommended one. and grouping all alerts
  2704. 2:03:15triggered by this rule into a single
  2705. 2:03:17incident or grouping alerts into a
  2706. 2:03:20single incident if the selected entity
  2707. 2:03:22types and details match. You can select
  2708. 2:03:25the entities and then group them. Also,
  2709. 2:03:28there is also an option to reopen closed
  2710. 2:03:31matching incidents. Okay. Next, we'll go
  2711. 2:03:33to automated response. So, if I click
  2712. 2:03:37add,
  2713. 2:03:38so this will help you create an
  2714. 2:03:40automation rule. uh we will cover this
  2715. 2:03:42in the later chapters. So for now I will
  2716. 2:03:45not create this. The next step is to
  2717. 2:03:49review and create the alert. So this is
  2718. 2:03:51how you create a schedule query rule.
  2719. 2:03:55Now let's create another rule which is
  2720. 2:03:58near realtime query rule. Select create
  2721. 2:04:02and nrt query rule. We will use the same
  2722. 2:04:06example new user creation
  2723. 2:04:10but this is for near real time.
  2724. 2:04:14I will paste the same description.
  2725. 2:04:18Keep the severity medium
  2726. 2:04:21my technique I'm going to say initial
  2727. 2:04:24axis status enabled. Then go to set rule
  2728. 2:04:28logic. We will use the same query that
  2729. 2:04:32is audit logs
  2730. 2:04:34where operation name is equal to
  2731. 2:04:40add user and then we'll keep everything
  2732. 2:04:44as is.
  2733. 2:04:46Then go to incident settings. This also
  2734. 2:04:48we will leave it as is. And then go to
  2735. 2:04:51automated response. We will not do this.
  2736. 2:04:54And then review and create. It is
  2737. 2:04:57validating. and then say validation
  2738. 2:05:00passed and then save it. It says
  2739. 2:05:04analytics rule saved and then you can
  2740. 2:05:07see that the alert is created. This is
  2741. 2:05:10how you create NRT rule. So we saw
  2742. 2:05:13scheduled rules near realtime rules. Now
  2743. 2:05:16we'll see anomaly rules. Let's go back
  2744. 2:05:19to the portal. So in the Azure portal
  2745. 2:05:22analytics if I go to anomalies you can
  2746. 2:05:26see what are the rules that are enabled.
  2747. 2:05:29All of these are in enabled status.
  2748. 2:05:32So if I right click on one of these
  2749. 2:05:35alerts I can edit them, duplicate them
  2750. 2:05:37or disable them. So I can say edit
  2751. 2:05:41and I can edit them either disable them
  2752. 2:05:43or enable them.
  2753. 2:05:46You can use if you want to search for
  2754. 2:05:48these in KQL that is logs you can search
  2755. 2:05:52for anomalies. So if I go back to locks.
  2756. 2:05:56So here under general if I go to
  2757. 2:05:59analytics close this let me delete this.
  2758. 2:06:03Search for anomalies.
  2759. 2:06:07This is the table. And the next rule is
  2760. 2:06:10Microsoft security rules.
  2761. 2:06:13Let's go back to the portal. Click
  2762. 2:06:15create. Microsoft incident creation
  2763. 2:06:18rule. Rule name I'll say defender.
  2764. 2:06:23Same description status enabled.
  2765. 2:06:26Analytics rule logic. You just need to
  2766. 2:06:29select the Microsoft security service
  2767. 2:06:32that is Microsoft's defender for cloud
  2768. 2:06:34apps. Let's actually make this defender
  2769. 2:06:37for cloud apps. And then scroll down.
  2770. 2:06:41Filter by severity any. So all the
  2771. 2:06:45alerts from cloud apps will be forwarded
  2772. 2:06:47to Sentinel.
  2773. 2:06:50Include any specific alerts or exclude
  2774. 2:06:52any specific alerts. You can do both.
  2775. 2:06:55And then automated response. I don't
  2776. 2:06:57want to create this here now. Then
  2777. 2:06:59review and create.
  2778. 2:07:02Save. So if I go to this,
  2779. 2:07:08the rule is created.
  2780. 2:07:10Let me go back to anomalies once. So if
  2781. 2:07:13I want to search for this rule ID,
  2782. 2:07:16right, all I have to do is copy this
  2783. 2:07:18rule ID, go to general, go to locks,
  2784. 2:07:23cancel this, look for anomalies,
  2785. 2:07:28that is the table where
  2786. 2:07:32rule ID contains
  2787. 2:07:36this.
  2788. 2:07:37And then you can run your uh query to
  2789. 2:07:40see if there are any results. I don't
  2790. 2:07:42have any but if there is anything you
  2791. 2:07:44will get the results here as well. And
  2792. 2:07:47then there are three more specialized
  2793. 2:07:49analytics rules. Threat intelligence
  2794. 2:07:51rules, fusion rules and ML rules. This
  2795. 2:07:54you cannot customize a lot. Usually you
  2796. 2:07:57will get the option to enable or disable
  2797. 2:08:00them. You can do it from the rule
  2798. 2:08:02template tab. So if I go to the portal
  2799. 2:08:07and go back to configuration analytics
  2800. 2:08:10in rule templates you can filter them
  2801. 2:08:13using rule type say fusion ML and threat
  2802. 2:08:19intelligence apply and then you can
  2803. 2:08:22click on them and create the rule. So as
  2804. 2:08:25you see this is a ML behavior analytics
  2805. 2:08:29rule. You don't have a lot of options to
  2806. 2:08:32edit them other than you know you can
  2807. 2:08:34enable or disable them. Set up automated
  2808. 2:08:38response. So if I go to automated
  2809. 2:08:40response, you can set this up and create
  2810. 2:08:42them. Let me go back. And it's the same
  2811. 2:08:46with threat intelligence rule as well.
  2812. 2:08:49You can enable or disable them and
  2813. 2:08:51select what MITER attack strategy you
  2814. 2:08:54want to map this to.
  2815. 2:08:57Let me go back. Fusion rule is already
  2816. 2:09:00in use here that is it is an active rule
  2817. 2:09:05which you can find it here. So not a lot
  2818. 2:09:08of customization in the last three that
  2819. 2:09:10is the specialized analytics rules that
  2820. 2:09:13you can do. So that is all about
  2821. 2:09:15analytics rules guys. In this next
  2822. 2:09:18chapter we will discuss UIBA user and
  2823. 2:09:22entity behavior analytics. What is UEBA?
  2824. 2:09:25How it can be used in Microsoft
  2825. 2:09:27Sentinel? What are the benefits of UEIBA
  2826. 2:09:30and how to configure UEIBAB in Sentinel?
  2827. 2:09:35First, let's learn what is UEIBAB, user
  2828. 2:09:38and entity behavior analytics and how
  2829. 2:09:41UIBBA works in Microsoft Sentinel.
  2830. 2:09:44UBABBA in Microsoft Sentinel is a
  2831. 2:09:47security feature.
  2832. 2:09:49It detects suspicious activities by
  2833. 2:09:51analyzing user and entity behaviors over
  2834. 2:09:54time. Instead of relying solely on
  2835. 2:09:58static rules or signatures, UEIBA uses
  2836. 2:10:02machine learning and anomaly detection
  2837. 2:10:04to identify potential threats.
  2838. 2:10:08Now let's see how actually UEIBA works.
  2839. 2:10:11First one is builds baselines that is
  2840. 2:10:14learns the normal behavior of users,
  2841. 2:10:17hosts, IP addresses and applications
  2842. 2:10:20over time.
  2843. 2:10:22Suppose say there is a user name called
  2844. 2:10:25John. He is from the finance department
  2845. 2:10:28and typically logs in from New York
  2846. 2:10:31between 900 a.m. to 5:00 p.m. And he
  2847. 2:10:35does that only on weekdays. So now
  2848. 2:10:38Sentinel recognizes this as John's
  2849. 2:10:42normal behavior and creates a pattern
  2850. 2:10:45that is building baselines. It does this
  2851. 2:10:48for all the users, hosts, IP addresses,
  2852. 2:10:52domains and so on. Next detecting
  2853. 2:10:55anomalies that is it identifies
  2854. 2:10:58deviations from this normal behavior
  2855. 2:11:01using machine learning techniques.
  2856. 2:11:04Suppose say now John suddenly logs in at
  2857. 2:11:062:00 a.m. from Russia and then downloads
  2858. 2:11:10a large number of sensitive files. This
  2859. 2:11:13will be detected by UEIBBM.
  2860. 2:11:16It can also detect deviations at a
  2861. 2:11:18broader level. For example, John is a
  2862. 2:11:21finance user, right? Suddenly if he
  2863. 2:11:23starts performing IT admin tasks, that
  2864. 2:11:26will also be detected. So this deviates
  2865. 2:11:30from usual activity triggering an
  2866. 2:11:32anomaly alert.
  2867. 2:11:35Next correlating events that is it
  2868. 2:11:38connects unusual activities across
  2869. 2:11:41multiple data sources for better thread
  2870. 2:11:44detection. Say John attempts multiple
  2871. 2:11:47failed login and all of these login are
  2872. 2:11:50from a new location and after successful
  2873. 2:11:54login his account creates new
  2874. 2:11:56administrator accounts in Azure active
  2875. 2:11:59directory or enter ID and a new device
  2876. 2:12:02is enrolled under his credentials. So
  2877. 2:12:05individually these actions may not seem
  2878. 2:12:08suspicious but correlating them reveals
  2879. 2:12:11a potential account takeover attack.
  2880. 2:12:14Next is assessing sensitivity and
  2881. 2:12:17impact. This evaluates the relative
  2882. 2:12:20importance of an asset, its peer group
  2883. 2:12:23and its blast radius.
  2884. 2:12:26What is blast radius? Blast radius
  2885. 2:12:29refers to the potential impact of a
  2886. 2:12:31compromised asset in a security
  2887. 2:12:34incident. So it helps security analysts
  2888. 2:12:37understand how far an attack can spread,
  2889. 2:12:40what other assets could be affected and
  2890. 2:12:42how critical the compromised asset is
  2891. 2:12:45within the organization. Let's see some
  2892. 2:12:47of the key aspects of blast radius
  2893. 2:12:50analysis. First one is asset
  2894. 2:12:53sensitivity. It determines the
  2895. 2:12:55criticality of an asset based on its
  2896. 2:12:57function, access level and importance.
  2897. 2:13:00Peer grouping identifies similar assets
  2898. 2:13:04to assess abnormal behavior or common
  2899. 2:13:07attack targets.
  2900. 2:13:09Lateral movement analysis evaluates how
  2901. 2:13:12an attacker could move from one asset to
  2902. 2:13:15another. Potential impact assessment
  2903. 2:13:18that is helps prioritize response
  2904. 2:13:20actions based on how much damage a
  2905. 2:13:23compromise could cause. Say for example
  2906. 2:13:26there are two users. Alice is an HR
  2907. 2:13:30staff and Bob is a cloud administrator.
  2908. 2:13:34Now Alice logs in from a different city
  2909. 2:13:36than usual
  2910. 2:13:38and Bob logs in from an untrusted device
  2911. 2:13:41and attempts to change firewall rules.
  2912. 2:13:44Now what UEBA does it prioritizes the
  2913. 2:13:49risk. Bob's role has higher privileges.
  2914. 2:13:54So the blast radius is larger if
  2915. 2:13:57compromised.
  2916. 2:13:58So Sentinel prioritizes Bob's alert as a
  2917. 2:14:02higher risk than Alys's. This is how
  2918. 2:14:05assessing sensitivity and impact works
  2919. 2:14:08works in UIBM.
  2920. 2:14:10This is a picture from Microsoft
  2921. 2:14:12documentation. which represents how
  2922. 2:14:14UEIBA process is in Microsoft Sentinel
  2923. 2:14:18and how it gradually reduces the volume
  2924. 2:14:21of raw events by applying intelligence
  2925. 2:14:24and analytics.
  2926. 2:14:26So first here is the ingestion that is
  2927. 2:14:29all security related logs and events are
  2928. 2:14:32ingested from various sources like
  2929. 2:14:34endpoints, networks and cloud services.
  2930. 2:14:37This stage collects all the raw uh data
  2931. 2:14:41without filtering. So it is 100% of raw
  2932. 2:14:44events.
  2933. 2:14:46Next security researchbased filtering is
  2934. 2:14:49elim eliminating irrelevant data and
  2935. 2:14:52only 30% of raw events are left. That is
  2936. 2:14:56only events that have potential security
  2937. 2:14:58significance are retained.
  2938. 2:15:02Then events are enhanced with additional
  2939. 2:15:04context such as user behavior,
  2940. 2:15:07geoloccation, device attributes and
  2941. 2:15:10historical patterns.
  2942. 2:15:12This helps in identifying abnormal
  2943. 2:15:15behavior. Then the security analytics
  2944. 2:15:18build profiles for users, devices and
  2945. 2:15:21entities. This establishes a baseline of
  2946. 2:15:25normal behavior to detect uh deviations.
  2947. 2:15:29Then events are mapped to the MITER
  2948. 2:15:31attack framework to identify tactics,
  2949. 2:15:34techniques and procedures that is TTPs.
  2950. 2:15:37This helps in detecting sophisticated
  2951. 2:15:40attacks by correlating multiple signals.
  2952. 2:15:44And by this time only 10% of the raw
  2953. 2:15:46events remain. And then the final step
  2954. 2:15:50security alerts are triggered only on
  2955. 2:15:53anomalies and confirmed threats. That is
  2956. 2:15:57less than 1% of raw events. This reduces
  2957. 2:16:02false positives ensuring security
  2958. 2:16:04analysts focus on the most critical
  2959. 2:16:07threats. Now let's try to understand why
  2960. 2:16:10UEBA matters. First is that it reduces
  2961. 2:16:13false positives. So traditional rules
  2962. 2:16:16may flag all failed login as threats but
  2963. 2:16:20UEIBA understands context like for
  2964. 2:16:22example a traveling employee. So,
  2965. 2:16:25Microsoft Sentinel provides security
  2966. 2:16:28analysts with artifacts and insights to
  2967. 2:16:31understand anomalous activities in
  2968. 2:16:33context. Actions performed by a user,
  2969. 2:16:36host or IP address are evaluated
  2970. 2:16:40contextually where a true anomaly is
  2971. 2:16:43identified based on a few key factors.
  2972. 2:16:47First one, geographical locations,
  2973. 2:16:49devices and environments. That is detect
  2974. 2:16:52suspicious login from unexpected places,
  2975. 2:16:55devices or environments.
  2976. 2:16:58And then time and frequency, that is it
  2977. 2:17:01compares current actions to the user's
  2978. 2:17:04past behavior. For example, logging in
  2979. 2:17:06at unusual hours.
  2980. 2:17:10Then there is peer behavior comparisons.
  2981. 2:17:12that is it identifies anomalies by
  2982. 2:17:15comparing actions to others in the same
  2983. 2:17:18department or role.
  2984. 2:17:20And then organizationwide behavior that
  2985. 2:17:23is it detects deviations at a broader
  2986. 2:17:25level like for example as we discussed a
  2987. 2:17:28finance user suddenly performing IT
  2988. 2:17:31admin tasks like you can see in this
  2989. 2:17:34small picture there is the context user
  2990. 2:17:38then peer then organization all of this
  2991. 2:17:41will be compared. So it reduces false
  2992. 2:17:44positives and then it detects advanced
  2993. 2:17:47threats that is identifies insider
  2994. 2:17:50threats, compromised accounts and
  2995. 2:17:52lateral movement by attackers
  2996. 2:17:54and then it also enhances response
  2997. 2:17:57prioritization that is help security
  2998. 2:17:59teams focused on critical threats first
  2999. 2:18:02and this reduces alert fatigue. So all
  3000. 2:18:06in all, UEIBA goes beyond rule-based
  3001. 2:18:09detection by learning behaviors,
  3002. 2:18:12detecting anomalies and correlating
  3003. 2:18:14security events.
  3004. 2:18:16So this explains the UEIBA architecture
  3005. 2:18:19in Microsoft Sentinel. So it is showing
  3006. 2:18:23how data flows from customer sources
  3007. 2:18:26that is for example SAS applications and
  3008. 2:18:29on premises environments to Sentinel for
  3009. 2:18:32analysis.
  3010. 2:18:34So first the customer data sources SAS
  3011. 2:18:37applications for example say Microsoft
  3012. 2:18:39365 or third party cloud apps and then
  3013. 2:18:42there is onremise infrastructure as well
  3014. 2:18:44like servers, network devices, security
  3015. 2:18:47appliance. So from this raw data is
  3016. 2:18:50ingested like for logs, events and
  3017. 2:18:52alerts are ingested from this customer
  3018. 2:18:55data to Microsoft Sentinel and then
  3019. 2:18:59Microsoft Sentinel onboards data sources
  3020. 2:19:02to analyze user and entity behaviors. It
  3021. 2:19:06performs behavior analytics, identity
  3022. 2:19:08analytics, user peer analytics and
  3023. 2:19:11access analytics.
  3024. 2:19:13And it performs behavior analytics,
  3025. 2:19:16identity analytics, user be peer
  3026. 2:19:20analytics, user access analytics.
  3027. 2:19:24And then it detects anomalies and
  3028. 2:19:26security threads. There is also active
  3029. 2:19:30directory that is entra ID integration
  3030. 2:19:33with sentinel.
  3031. 2:19:35So this provides user and group
  3032. 2:19:37information to enhance identity based
  3033. 2:19:41thread detection. It helps detect
  3034. 2:19:43privileged account misuse, unauthorized
  3035. 2:19:45access attempts and lateral movements.
  3036. 2:19:49This entire integration allows proactive
  3037. 2:19:52thread detection by identifying
  3038. 2:19:54deviations from normal behavior.
  3039. 2:19:58Now let's see how to configure UBA in
  3040. 2:20:00Microsoft Sentinel. Let's go to the
  3041. 2:20:03portal.
  3042. 2:20:05Let's search for Sentinel.
  3043. 2:20:07Select Microsoft Sentinel. Select the
  3044. 2:20:10workspace
  3045. 2:20:11here. Go to threat management.
  3046. 2:20:15Under threat management, there is entity
  3047. 2:20:17behavior. And then you can click on set
  3048. 2:20:21UIBA. That is enable UEBA to benefit
  3049. 2:20:24from a much richer set of entities,
  3050. 2:20:27profiles, insights into the behavior of
  3051. 2:20:30your users, hosts, and more. So you can
  3052. 2:20:32click set UIBA or if you don't get this
  3053. 2:20:36popup close this and go to entity
  3054. 2:20:39behavior settings
  3055. 2:20:41and then here it says what is it that is
  3056. 2:20:44what is UIBBA and then how to enable it.
  3057. 2:20:48Let's click set UIBA. Here it says turn
  3058. 2:20:51on the UIBA feature. You must complete
  3059. 2:20:54step two for UIBBA functionalities to
  3060. 2:20:57start. So this is step one. It's it also
  3061. 2:21:00gives you a prompt saying only a global
  3062. 2:21:02administrator or a security
  3063. 2:21:04administrator in Microsoft Entra ID can
  3064. 2:21:08turn this feature on or off. This is the
  3065. 2:21:10permissions that you need. So I'm going
  3066. 2:21:12to turn it on.
  3067. 2:21:14And then it says sync Microsoft Sentinel
  3068. 2:21:18with at least one of the following
  3069. 2:21:20directories.
  3070. 2:21:21This will create profiles for the users
  3071. 2:21:23and entities in your organizations and
  3072. 2:21:26also create data stores in Microsoft
  3073. 2:21:29Sentinel. So I will select Microsoft
  3074. 2:21:32Enra ID because we don't have active
  3075. 2:21:35directory that is the onremise one and
  3076. 2:21:39then I'll hit apply. It's validating. It
  3077. 2:21:42says entities synced successfully and
  3078. 2:21:45then it says select the existing data
  3079. 2:21:48sources you want to enable for entity
  3080. 2:21:50behavior analytics. I will say audit
  3081. 2:21:53logs
  3082. 2:21:54and then sign in logs as well and then
  3083. 2:21:57say apply. It says data sources update
  3084. 2:22:00was successful.
  3085. 2:22:02And then we are back to the main page
  3086. 2:22:04here. If I scroll down anomalies is
  3087. 2:22:07enabled.
  3088. 2:22:09You need to enable this if it is not
  3089. 2:22:11already enabled.
  3090. 2:22:13These anomalies are stored in the
  3091. 2:22:15anomalies table within your Sentinel
  3092. 2:22:18workspace. So anomalies table stores
  3093. 2:22:21detected anomalies for use in detection
  3094. 2:22:23rules, hunting queries and
  3095. 2:22:25investigation. This helps security
  3096. 2:22:27analysts track unusual behaviors over
  3097. 2:22:30time. It also says that you can tune
  3098. 2:22:33parameters of machine learning models to
  3099. 2:22:36improve detection accuracy.
  3100. 2:22:39Something to note is that it uses 30
  3101. 2:22:42days of active data for training. So for
  3102. 2:22:44UEIBA you need to give some time. It
  3103. 2:22:47says 30 days for it to start
  3104. 2:22:49understanding or mapping the normal
  3105. 2:22:52behavior and understanding how the
  3106. 2:22:54entities work and also data is cached
  3107. 2:22:58and encrypted with Microsoft managed
  3108. 2:23:00keys. So this needs to be enabled
  3109. 2:23:02anomalies.
  3110. 2:23:04Once this is done, let's go back to the
  3111. 2:23:06Sentinel homepage.
  3112. 2:23:08and then scroll down to configuration.
  3113. 2:23:11In that select analytics,
  3114. 2:23:14we briefly touched on this in previous
  3115. 2:23:16chapters, but go to anomalies
  3116. 2:23:19and then select data sources Microsoft
  3117. 2:23:23enter ID and then apply. So only the
  3118. 2:23:27data sources with Microsoft Entra ID are
  3119. 2:23:30showing up here the anomalies the uh
  3120. 2:23:32rules
  3121. 2:23:34and if you see it says UIBA anomalous
  3122. 2:23:36account deletion password reset sign in
  3123. 2:23:39account manipulation failed sign in
  3124. 2:23:42account create creation privilege
  3125. 2:23:44granted so these are the rules let's
  3126. 2:23:47select one of these so it gives you the
  3127. 2:23:50rule ID it is enabled and a description
  3128. 2:23:53of what it does rule frequency and rule
  3129. 2:23:57status that is rule is enabled. So let
  3130. 2:24:00me close this. So if you see all the
  3131. 2:24:02anomalies rules are enabled. If they
  3132. 2:24:05were not enabled by default, you can
  3133. 2:24:07enable them. So if I can select this. So
  3134. 2:24:10there's a button to disable it as well.
  3135. 2:24:13And then if I go to general and logs, we
  3136. 2:24:16can also query the behavior analytics
  3137. 2:24:19data. Let me minimize this. Close this.
  3138. 2:24:25The table is called behavior analytics.
  3139. 2:24:28This is the table that stores user and
  3140. 2:24:31entity behavior analytics derived from
  3141. 2:24:33machine learning models in Microsoft
  3142. 2:24:35Sentinel. So it contains insights into
  3143. 2:24:38login attempts, access patterns and
  3144. 2:24:40anomalies based on historical data. And
  3145. 2:24:43then we will say where activity type
  3146. 2:24:48contains
  3147. 2:24:50failed log on that is it filters the
  3148. 2:24:54data set to include only failed login
  3149. 2:24:57attempts. So it helps us to focus on
  3150. 2:24:59unsuccessful access attempts which might
  3151. 2:25:02indicate a brute force attack or
  3152. 2:25:04compromised credentials.
  3153. 2:25:06And then we will say where
  3154. 2:25:10this is another filter activity insights
  3155. 2:25:16dot first time user connected from
  3156. 2:25:20country is equal to equal to true.
  3157. 2:25:25That means it checks if the user is
  3158. 2:25:27logging in from a country for the first
  3159. 2:25:29time. So a first login first time login
  3160. 2:25:33from a new country may indicate an
  3161. 2:25:35unauthorized access attempt or a
  3162. 2:25:37compromised account. So that is what we
  3163. 2:25:39are trying to find. Next
  3164. 2:25:42we'll apply another filter where
  3165. 2:25:45activity insights
  3166. 2:25:47country uncommonly connected from among
  3167. 2:25:50peers is equal to equal to
  3168. 2:25:54true. So this checks if the login
  3169. 2:25:57attempt comes from a country that is
  3170. 2:25:59uncommon among the user's peer group.
  3171. 2:26:02Suppose say if most employees from an
  3172. 2:26:05organization login from the US and UK.
  3173. 2:26:08But if this user logs in from Russia or
  3174. 2:26:11China, it raises a security flag.
  3175. 2:26:15This can indicate geoloccation based
  3176. 2:26:17anomalies and potential account takeover
  3177. 2:26:19attempts.
  3178. 2:26:21So you see when I try to run this there
  3179. 2:26:23is a problem.
  3180. 2:26:25And even if I don't run it, KQL tells me
  3181. 2:26:28what needs to be done and where there is
  3182. 2:26:31an error. It also gives you a
  3183. 2:26:34recommendation. Avoid using the contains
  3184. 2:26:36operator as it has a high compute price.
  3185. 2:26:40So I'm going to just say type is equal
  3186. 2:26:44to equal to and then run it. I don't
  3187. 2:26:49have any results. But if there is any
  3188. 2:26:52anomalous behavior in your organization,
  3189. 2:26:55this should fetch results.
  3190. 2:26:58So there is also another table called
  3191. 2:27:01user peer analytics.
  3192. 2:27:04This stores top 1 to 20 ranked peers. So
  3193. 2:27:09Microsoft what Microsoft does it
  3194. 2:27:11calculates and ranks peers based on
  3195. 2:27:13factors like Microsoft entra security
  3196. 2:27:16group membership mailing list members
  3197. 2:27:19and departmental roles. Based on this it
  3198. 2:27:22creates a list. In that top 1 to 20
  3199. 2:27:26ranked peers are stored in this peer
  3200. 2:27:28analytics table.
  3201. 2:27:31That's it about this topic. Let's move
  3202. 2:27:33on to the next chapter. Now in this
  3203. 2:27:36chapter we will discuss how to ingest
  3204. 2:27:38Windows event logs using AMA that is
  3205. 2:27:42Azure monitor agent. Before we learn how
  3206. 2:27:45to ingest logs using AMA, let's see what
  3207. 2:27:48it is. Azure monitor agent is the
  3208. 2:27:52primary telemetry collection agent in
  3209. 2:27:55Azure monitor. It is designed to collect
  3210. 2:27:58and send logs and metrics from various
  3211. 2:28:00resources to Azure monitor log analytics
  3212. 2:28:04workspaces event hubs or Azure storage.
  3213. 2:28:08It replaces the log analytics agent the
  3214. 2:28:11legacy one MMA agent providing better
  3215. 2:28:15performance security and flexibility
  3216. 2:28:18with data collection rules DCRs. This is
  3217. 2:28:22something important that you need to
  3218. 2:28:23remember that AMA Azure monitor agent
  3219. 2:28:26uses data collection rules. So DCRS
  3220. 2:28:31define what to collect like specify log
  3221. 2:28:34types like event logs, SIS log or
  3222. 2:28:37performance counters. They can target
  3223. 2:28:40specific resources like apply to
  3224. 2:28:42specific VMs, resource groups or
  3225. 2:28:44subscriptions. They transform data
  3226. 2:28:47before sending that is filter, aggregate
  3227. 2:28:50or modify log data and they can send
  3228. 2:28:53data to multiple destinations for
  3229. 2:28:56example log analytics, event hubs or
  3230. 2:28:58Azure storage. Okay, going back to Azure
  3231. 2:29:02monitor agent. Let's see what resources
  3232. 2:29:05can AMA collect data from. First one is
  3233. 2:29:08Azure virtual machines VMs. It can
  3234. 2:29:11collect logs, metrics, custom logs.
  3235. 2:29:14Azure VM scale sets on premises or
  3236. 2:29:18multicloud VMs. For this you need to
  3237. 2:29:22have Azure Arc enabled servers and Azure
  3238. 2:29:26Kubernetes service AKS also Azure
  3239. 2:29:30functions and app services. Now let's
  3240. 2:29:33see what data can AMA collect. Windows
  3241. 2:29:37event logs for this we'll see the demo.
  3242. 2:29:39SIS log that is Linux logs performance
  3243. 2:29:43metrics. Azure monitor logs and
  3244. 2:29:46container logs AKS. So this picture is
  3245. 2:29:50from Microsoft documentation. The shows
  3246. 2:29:53how Azure monitor processes incoming
  3247. 2:29:55data from clients through a cloud
  3248. 2:29:58pipeline before storing it in designated
  3249. 2:30:01destinations. To break it down, the data
  3250. 2:30:04is ingested from different sources using
  3251. 2:30:07direct ingest or an agent. These clients
  3252. 2:30:11send raw data to Azure monitor for
  3253. 2:30:14processing and then data flows into a
  3254. 2:30:18transformation process within the
  3255. 2:30:20pipeline. So cloud pipeline is one of
  3256. 2:30:22the core components of Azure monitor
  3257. 2:30:25pipeline. It has two components. Cloud
  3258. 2:30:27pipeline and edge pipeline. We will talk
  3259. 2:30:30about cloud pipeline. Now cloud pipeline
  3260. 2:30:32provides a standardized way to process
  3261. 2:30:35and route incoming data within Azure
  3262. 2:30:38monitor. And then a DCR is applied to
  3263. 2:30:41specify what data is collected, define
  3264. 2:30:44the schema of the incoming stream, apply
  3265. 2:30:47transformation such as filtering or
  3266. 2:30:49manipulation and then determine the
  3267. 2:30:51destination for for the process data.
  3268. 2:30:54Once the data is transformed by DCR, it
  3269. 2:30:59is sent either to log analytics
  3270. 2:31:01workspace that is used for querying and
  3271. 2:31:04analyzing logs or it is sent to Azure
  3272. 2:31:07monitor workspace. This stores and
  3273. 2:31:10manages monitoring data. Now let's see a
  3274. 2:31:13demo of how to ingest Windows event logs
  3275. 2:31:16from a VM using AMA to Sentinel that is
  3276. 2:31:21log analytics workspace. Let's go to the
  3277. 2:31:24portal. First, we need to create a
  3278. 2:31:26virtual machine. Let's do that. Search
  3279. 2:31:30for virtual machines. Select virtual
  3280. 2:31:33machines. Then click create. Azure
  3281. 2:31:36virtual machine. Create a virtual
  3282. 2:31:38machine hosted by Azure. Click that.
  3283. 2:31:41Then it asks you for details.
  3284. 2:31:44Subscription. The same subscription. I
  3285. 2:31:47will select the resource group as the
  3286. 2:31:49same one that is existing. virtual
  3287. 2:31:51machine name. I'll say Windows logs
  3288. 2:31:54demo. I'll keep the region same.
  3289. 2:31:57Availability zone. I'm going to go with
  3290. 2:31:59all the default options. It's asking for
  3291. 2:32:02zone options. Self- selected zone. Zone
  3292. 2:32:05uh availability zone. Zone one. Uh I'm
  3293. 2:32:08going to keep everything the same. I
  3294. 2:32:09have to select the image. I will select
  3295. 2:32:12Windows Server 2019 data center. Select
  3296. 2:32:15the size and then enter admin user ID
  3297. 2:32:20and password whatever you want to set it
  3298. 2:32:22as. I'll use the username Windows log.
  3299. 2:32:26I've entered the password and then I
  3300. 2:32:28will keep all the default settings. Go
  3301. 2:32:30to review and create. Okay, there is
  3302. 2:32:34something that I have missed to select
  3303. 2:32:35in networking. Let me see. So if you see
  3304. 2:32:38by default a virtual network and subnet
  3305. 2:32:41will be created new ones. It says select
  3306. 2:32:44a load balancer. Load balancing options.
  3307. 2:32:47I've selected Azure load balancer by
  3308. 2:32:50default. So I'm going to go with none.
  3309. 2:32:52And then review and create. Validation
  3310. 2:32:55passed and then I will say create. Now
  3311. 2:32:58it is creating the virtual machine.
  3312. 2:33:01Initializing deployment.
  3313. 2:33:04Deployment is in progress and you can
  3314. 2:33:07also see the deployment details here.
  3315. 2:33:10Okay, the deployment is complete. Let's
  3316. 2:33:12go to resource.
  3317. 2:33:15Okay, now VM is ready. Let's go back to
  3318. 2:33:18Sentinel. Select Microsoft Sentinel and
  3319. 2:33:20then the workspace.
  3320. 2:33:23Here let's go to content management
  3321. 2:33:25content hub and then search for Windows
  3322. 2:33:29event logs. There is this solution
  3323. 2:33:32called Windows security events. Let's
  3324. 2:33:34select that. Let me minimize this.
  3325. 2:33:38So it says the Windows security event
  3326. 2:33:41solution for Microsoft Sentinel allows
  3327. 2:33:44you to ingest security events from your
  3328. 2:33:47Windows machines using the Windows agent
  3329. 2:33:50into Microsoft Sentinel. This solution
  3330. 2:33:53includes two data connectors to help
  3331. 2:33:56ingest the logs.
  3332. 2:33:58First one is Windows security events
  3333. 2:34:00using AM. This is what we need. And the
  3334. 2:34:04other one is security events using a
  3335. 2:34:07legacy agent. The legacy agent we
  3336. 2:34:09already mentioned that it is log
  3337. 2:34:11analytics agent. It is getting replaced
  3338. 2:34:14by AMA now. So we don't need this. The
  3339. 2:34:17first data connector is what we are
  3340. 2:34:19looking for. So it has two data
  3341. 2:34:22connectors, two workbooks, 20 analytic
  3342. 2:34:25rules and 50 u hunting queries. So I'm
  3343. 2:34:29going to hit install.
  3344. 2:34:32It's installing like you can see it is
  3345. 2:34:35installed. Now let me minimize this and
  3346. 2:34:39here let me search for the data
  3347. 2:34:41connector. So if you see the content
  3348. 2:34:44type you can select the data connector
  3349. 2:34:46here. So this one says windows security
  3350. 2:34:49events that is the AMA one that we are
  3351. 2:34:52looking for and then say open connector
  3352. 2:34:55page.
  3353. 2:34:57To integrate with Windows security
  3354. 2:34:59events using AMA, you have to have read
  3355. 2:35:02and write permissions. Like I mentioned
  3356. 2:35:05before, for non- Aure VMs, to collect
  3357. 2:35:08data from non- Aure VMs, they must have
  3358. 2:35:11Azure Arc installed and enabled.
  3359. 2:35:14Once you meet all the prerequisites, the
  3360. 2:35:17next part is configuration. Enable data
  3361. 2:35:20collection rule. Create data collection
  3362. 2:35:23rule.
  3363. 2:35:25Rule name Windows log demo. And then the
  3364. 2:35:29subscription uh resource group. Click
  3365. 2:35:32next. Resources.
  3366. 2:35:34Here you can select the resources.
  3367. 2:35:37So once you select the machines here it
  3368. 2:35:40says Azure monitor agent will
  3369. 2:35:42automatically be installed on those
  3370. 2:35:45resources. So let me expand the
  3371. 2:35:48subscription then resource group. We
  3372. 2:35:51have our resource group here. I'm going
  3373. 2:35:54to select everything under the resource
  3374. 2:35:56group or you can select individual
  3375. 2:35:59machines as well and then hit collect.
  3376. 2:36:02You can either collect all security
  3377. 2:36:04events or the common ones minimal or
  3378. 2:36:08custom. So if you hover over this, it
  3379. 2:36:10says all events, all Windows security
  3380. 2:36:14and app locker events. Common means a
  3381. 2:36:16standard set of events for auditing
  3382. 2:36:18purposes. Minimal, a small set of events
  3383. 2:36:22that might indicate potential threats.
  3384. 2:36:24By enabling this option, you won't be
  3385. 2:36:26able to have a full audit trail. Then
  3386. 2:36:28you also have custom. This allows you to
  3387. 2:36:31filter and select the security events to
  3388. 2:36:34stream by using XPath queries. Okay. So
  3389. 2:36:37if I say custom here you can choose to
  3390. 2:36:42stream specific custom events instead of
  3391. 2:36:44you know selecting all security events
  3392. 2:36:47common ones or minimal ones. So I can
  3393. 2:36:50add something like this for RDP and
  3394. 2:36:53select add for now I I will select all
  3395. 2:36:56security events and then create and
  3396. 2:36:59review. Validation is passed. I'm going
  3397. 2:37:02to say create.
  3398. 2:37:05It says successfully installed uh
  3399. 2:37:08extension create data collection rule
  3400. 2:37:11association succeeded and then
  3401. 2:37:12installation of the agent is also
  3402. 2:37:14successful. Let me close these
  3403. 2:37:16notifications.
  3404. 2:37:18Let me close this as well. And that is
  3405. 2:37:20how you ingest Windows security events
  3406. 2:37:23using AMA Azure monitor agent to
  3407. 2:37:27Sentinel to look at the logs. I think
  3408. 2:37:30we'll have to wait for some time and
  3409. 2:37:32after that you will see an increase in
  3410. 2:37:35this graph. You can also go to locks and
  3411. 2:37:38search for security events to see if the
  3412. 2:37:41locks are getting ingested. It's been
  3413. 2:37:44like 5 minutes and I can already see
  3414. 2:37:46that the security event locks are
  3415. 2:37:49getting accumulated here. This is one
  3416. 2:37:52way to see it. Also, you can go to
  3417. 2:37:54configuration data connectors. This
  3418. 2:37:56might be easier to find for it. and then
  3419. 2:37:59scroll down to windows security events
  3420. 2:38:02and then here as well there is an
  3421. 2:38:05increase in the graph. So there are logs
  3422. 2:38:08getting ingested. Another way to check
  3423. 2:38:11is go to logs under general close this
  3424. 2:38:15and then query for the table security
  3425. 2:38:18events run
  3426. 2:38:21and then here as well you can see the
  3427. 2:38:24security events. You can expand them to
  3428. 2:38:29see what exactly has happened. That's it
  3429. 2:38:32about this topic. Let's move on to the
  3430. 2:38:34next chapter. Now, in this chapter,
  3431. 2:38:37we'll discuss how to automate threat
  3432. 2:38:39responses in Sentinel. So, Microsoft
  3433. 2:38:42Sentinel is not only a SIM system but
  3434. 2:38:44also serves as a platform for sore that
  3435. 2:38:47is security orchestration, automation
  3436. 2:38:49and response. One of its main function
  3437. 2:38:52is to streamline and automate security
  3438. 2:38:55operations.
  3439. 2:38:56First let's see why do we need to
  3440. 2:38:59automate responses responses to threats.
  3441. 2:39:02First one is it reduces alert fatigue.
  3442. 2:39:04So automation helps to prioritize and
  3443. 2:39:07filter alerts right. So this reduces the
  3444. 2:39:10noise and false positives that overwhelm
  3445. 2:39:12analysts. So by automating the triage
  3446. 2:39:15process only critical threats are
  3447. 2:39:17escalated.
  3448. 2:39:19Next, it improves incident response
  3449. 2:39:21time. Automating response actions like
  3450. 2:39:24blocking IP addresses or isolating
  3451. 2:39:26affected systems. Speeds up containment
  3452. 2:39:29and remediation. This allows
  3453. 2:39:32organizations to respond more swiftly,
  3454. 2:39:35limiting the damage caused by incidents
  3455. 2:39:37and reducing recovery time. So, next is
  3456. 2:39:40to free up analysts for threat hunting
  3457. 2:39:42and investigations. So when you automate
  3458. 2:39:45routine tasks, right, analysts can focus
  3459. 2:39:48on more strategic activities like
  3460. 2:39:51investigating sophisticated threats or
  3461. 2:39:53proactively hunting for potential
  3462. 2:39:56vulnerabilities.
  3463. 2:39:57This enhances the effectiveness of the
  3464. 2:39:59security team and improves overall
  3465. 2:40:02threat detection capabilities.
  3466. 2:40:05Now let's see what are the options to
  3467. 2:40:07automate responses in Sentinel. The
  3468. 2:40:10first one is using automation rules. The
  3469. 2:40:13second one is playbooks Azure logic
  3470. 2:40:15apps. This is the actual source
  3471. 2:40:17solution. With automation rules, you can
  3472. 2:40:20manage incident handling centrally. For
  3473. 2:40:23example, using Microsoft Sentinel's
  3474. 2:40:26centralized dashboard, all alerts
  3475. 2:40:29related to a potential fishing attack
  3476. 2:40:31are automatically collected,
  3477. 2:40:33categorized, and prioritized. This
  3478. 2:40:36ensures that analysts handle them
  3479. 2:40:38efficiently and in a consistent manner.
  3480. 2:40:41Then you can use it to assign playbooks
  3481. 2:40:43to incidents and alerts. Suppose say if
  3482. 2:40:46a ransomware alert is triggered, an
  3483. 2:40:48automated playbook is assigned to the
  3484. 2:40:51incident that includes steps for
  3485. 2:40:54isolating affected systems, notifying
  3486. 2:40:56the team and blocking malicious IP
  3487. 2:40:58addresses. So this ensures a quick
  3488. 2:41:01response. You can also use automation
  3489. 2:41:04rules to automatically tag, assign or
  3490. 2:41:07close incidents.
  3491. 2:41:09For example, say that a low priority
  3492. 2:41:11alert for a network scan that is done by
  3493. 2:41:14an internal team is created. So when
  3494. 2:41:17this is done, the system can
  3495. 2:41:19automatically tag it as low priority,
  3496. 2:41:22assign it to a specific analyst or close
  3497. 2:41:26it if no further action is needed. This
  3498. 2:41:29reduces manual tasks. Then you can use
  3499. 2:41:32it to automate responses for multiple
  3500. 2:41:34analytics rules. For example, if
  3501. 2:41:37multiple suspicious login attempts are
  3502. 2:41:40detected across different systems, an
  3503. 2:41:42automation rule can modify the incident
  3504. 2:41:45severity or status, assign the incident
  3505. 2:41:48to a specific team, add relevant tags to
  3506. 2:41:51it for easier categorization, send
  3507. 2:41:53notifications to the security team. This
  3508. 2:41:56allows multiple rules to be addressed
  3509. 2:41:58simultaneously without manual
  3510. 2:42:00intervention. Next, you can use
  3511. 2:42:03automation rules to create structured
  3512. 2:42:05workflows for security analysts. Say a
  3513. 2:42:08malware detection alert is triggered.
  3514. 2:42:11Just like how we discussed for
  3515. 2:42:13suspicious login attempts, the same
  3516. 2:42:15actions can be taken for this also that
  3517. 2:42:17you know first it changes the incident
  3518. 2:42:19classification based on some predefined
  3519. 2:42:22criteria. Then it is assigning to a
  3520. 2:42:25specific security analyst who is an
  3521. 2:42:28expert in malware detection and
  3522. 2:42:30response. And then it is adding comments
  3523. 2:42:32with investigation steps. And then it is
  3524. 2:42:36tagging similar incidents for
  3525. 2:42:38correlation. So these actions help
  3526. 2:42:41ensure a streamlined and consistent
  3527. 2:42:43incident management process. Next is the
  3528. 2:42:46playbooks option. So automation rules
  3529. 2:42:49also help with automation, right? But
  3530. 2:42:51they are mostly for uh simpler tasks.
  3531. 2:42:54But playbooks you can use it for more
  3532. 2:42:57complex items. And this is the actual
  3533. 2:43:00source solution that is provided by um
  3534. 2:43:03Sentinel. First item it can do is to
  3535. 2:43:06automate and orchestrate threat
  3536. 2:43:08response. For instance, a playbook
  3537. 2:43:10triggered by a DDoS attack automatically
  3538. 2:43:13triggers traffic filtering at the
  3539. 2:43:15firewall, updates the monitoring
  3540. 2:43:18dashboard and sends notifications to the
  3541. 2:43:21response team. And all this is done
  3542. 2:43:23without any manual intervention.
  3543. 2:43:26Next, integrate with external and
  3544. 2:43:28internal systems. For example, a
  3545. 2:43:31playbook designed for an advanced
  3546. 2:43:33persistent threat that is AP could
  3547. 2:43:36integrate with email security, firewall,
  3548. 2:43:39and endpoint detection systems. And it
  3549. 2:43:42can automatically block the attacker's
  3550. 2:43:44IP, quarantine infected devices, and
  3551. 2:43:47block fishing emails.
  3552. 2:43:50Next, you can run playbooks
  3553. 2:43:52automatically or manually on new alerts.
  3554. 2:43:56For example, for a suspected data
  3555. 2:43:58exfiltration attempt, an automated
  3556. 2:44:02playbook could immediately trigger steps
  3557. 2:44:04like isolating the affected server and
  3558. 2:44:07notifying the admin. But a security
  3559. 2:44:10analyst can also manually run the
  3560. 2:44:13playbook to execute specific actions
  3561. 2:44:16based on further investigation.
  3562. 2:44:19Next, playbooks are built on Azure logic
  3563. 2:44:22apps for scalability and reliability.
  3564. 2:44:26So, a playbook built on Azure logic apps
  3565. 2:44:29can automatically respond to an
  3566. 2:44:31increased number of alerts during a
  3567. 2:44:33large scale attack such as say a
  3568. 2:44:36coordinated botnet attack. So, this is
  3569. 2:44:39done without compromising performance
  3570. 2:44:41and ensuring the system remains
  3571. 2:44:43responsive even under heavy load. Now
  3572. 2:44:47let's go to the demo part. We will start
  3573. 2:44:49with first creating an automation role.
  3574. 2:44:52Let's go to the Azure portal. Let's
  3575. 2:44:55search for Sentinel. Select Microsoft
  3576. 2:44:58Sentinel and then the Sentinel
  3577. 2:45:00workspace.
  3578. 2:45:02Here scroll down to configuration and
  3579. 2:45:05then go to automation here and then
  3580. 2:45:08click create and then there is
  3581. 2:45:11automation rule. So create automation
  3582. 2:45:13rule. The first thing that you need to
  3583. 2:45:16do when designing an automation rule is
  3584. 2:45:19to identify the specific incidents or
  3585. 2:45:22alerts it should apply to. Once you're
  3586. 2:45:25done with this, then next is you have to
  3587. 2:45:27decide what you want to achieve with
  3588. 2:45:29this automation. For example, assign
  3589. 2:45:32task to security analysts for triaging,
  3590. 2:45:35investigating, and remediating
  3591. 2:45:37incidents,
  3592. 2:45:39suppressing noisy incidents, managing
  3593. 2:45:42incident workflows by updating the
  3594. 2:45:44status from new to active, and assigning
  3595. 2:45:47a owner, or do you want to tag incidents
  3596. 2:45:50to improve classification and tracking?
  3597. 2:45:53Do you want to escalate incidents by
  3598. 2:45:55reassigning ownership? You can also
  3599. 2:45:59close uh resolved incidents and also
  3600. 2:46:02specify a reason and add comments to
  3601. 2:46:04this. You can analyze incident details
  3602. 2:46:07like alerts, entities, properties and
  3603. 2:46:10take further action using playbooks. You
  3604. 2:46:14can also handle or respond to alerts
  3605. 2:46:16that do not have an associated incident.
  3606. 2:46:19So first thing is that you identify what
  3607. 2:46:22kind of specific incidents or alerts
  3608. 2:46:25this automation rule should apply to and
  3609. 2:46:27then you can decide what you want to
  3610. 2:46:30achieve with this automation rule. Let's
  3611. 2:46:33go back to the portal. First is the
  3612. 2:46:36automation rule. I will say this is for
  3613. 2:46:39so in the previous demos we created a
  3614. 2:46:42rule in analytics saying that if there
  3615. 2:46:45is any new ID created in enter ID new
  3616. 2:46:49user created in enter ID trigger an
  3617. 2:46:51alert for the same thing we will create
  3618. 2:46:54an automation rule say new user
  3619. 2:46:57automation
  3620. 2:46:59first one is trigger trigger is when
  3621. 2:47:02this automation rules should run so
  3622. 2:47:05there are three option when an incident
  3623. 2:47:07is created. So a new incident created
  3624. 2:47:11within the defender portal or Microsoft
  3625. 2:47:13Sentinel and then when an incident is
  3626. 2:47:16updated. So you can run an automation
  3627. 2:47:19rule when incident status changes like
  3628. 2:47:22closed, reopened or triaged. Incident
  3629. 2:47:25ownership is assigned or updated.
  3630. 2:47:27Incident severity is modified. new
  3631. 2:47:31alerts are added to an existing incident
  3632. 2:47:34or comments tags or tactics are added to
  3633. 2:47:37a new incident and then when an alert is
  3634. 2:47:41created this is generally done by using
  3635. 2:47:44Microsoft Sentinel scheduled or near
  3636. 2:47:46realtime NRT analytics roles for this we
  3637. 2:47:50will select when incident is created
  3638. 2:47:53next one is conditions so you can also
  3639. 2:47:56specify conditions to determine when a
  3640. 2:47:58rule should execute
  3641. 2:48:00These uh conditions are case sensitive
  3642. 2:48:03and they also change based on the
  3643. 2:48:06trigger. So if I select something else
  3644. 2:48:08in the trigger when incident is updated
  3645. 2:48:11this also changes when alert is created
  3646. 2:48:15again see you can see the change. So
  3647. 2:48:18let's go back to an incident is created.
  3648. 2:48:21First one is if incident provider equals
  3649. 2:48:25we will select Microsoft Sentinel. There
  3650. 2:48:27are two options defender XDR and
  3651. 2:48:29Microsoft Sentinel. We'll go with
  3652. 2:48:31Microsoft Sentinel. Then analytic rule
  3653. 2:48:34name contains and does not contain. Even
  3654. 2:48:37here incident provider it says equals
  3655. 2:48:39and does not equal to. So I will say
  3656. 2:48:42contains and in this I will say new user
  3657. 2:48:46creation. So it's an and operator here
  3658. 2:48:50if you can see it. If incident provider
  3659. 2:48:53is Microsoft Sentinel and analytic rule
  3660. 2:48:57name is equal to new user creation that
  3661. 2:49:01means both of these conditions should
  3662. 2:49:03meet for this automation rule to get
  3663. 2:49:06triggered. You can add more conditions
  3664. 2:49:08by clicking add. It says condition and
  3665. 2:49:11and condition group or. So for and all
  3666. 2:49:15conditions must be met for this
  3667. 2:49:17automation rule to trigger and for or at
  3668. 2:49:20least one condition must be met for this
  3669. 2:49:22rule to trigger. So if I click any of
  3670. 2:49:25this and click the arrow, you can see
  3671. 2:49:28that incident properties using title,
  3672. 2:49:31description, severity, status, tactics,
  3673. 2:49:33tag and custom details key. You can
  3674. 2:49:36trigger this automation role and you can
  3675. 2:49:39also use the entity properties in the
  3676. 2:49:41incident or alert for triggering the
  3677. 2:49:44this one. So you can use what file name
  3678. 2:49:47can be there and you know for false
  3679. 2:49:49positives if this file name you know
  3680. 2:49:52repeats in the entity you can close it
  3681. 2:49:54some it's just an example or host name
  3682. 2:49:58IP address you can select you get a lot
  3683. 2:50:01of options to select from here so for
  3684. 2:50:04now I'll delete this next is actions in
  3685. 2:50:07actions you can run a playbook change
  3686. 2:50:10status change severity assign owner add
  3687. 2:50:14tax add task. Let's first select change
  3688. 2:50:18status and change it to active
  3689. 2:50:23and then you can add another action. Say
  3690. 2:50:26that change severity and then change it
  3691. 2:50:29to high and then add another action. You
  3692. 2:50:33can also assign an owner to this. I'll
  3693. 2:50:36assign my own name. And then add another
  3694. 2:50:39action. You can add tags. I will say
  3695. 2:50:43testing automation rule apply and then
  3696. 2:50:47add another action you can add tasks. So
  3697. 2:50:51if I provide the incident task title
  3698. 2:50:54sorry
  3699. 2:50:56saying testing and then you can also add
  3700. 2:50:59a description to this saying once you
  3701. 2:51:02see an incident like this validate the
  3702. 2:51:06scope of the alert run so queries stop
  3703. 2:51:09suspicious act process and isolate the
  3704. 2:51:12affected machines block so and so IP
  3705. 2:51:15addresses and URLs so you can add add
  3706. 2:51:18tasks also here. So for now I'll uh
  3707. 2:51:21delete this. And then you can also add
  3708. 2:51:24rule expiration. It says the rule will
  3709. 2:51:26be automatically disabled at the given
  3710. 2:51:28expiration date. I'm going to leave it
  3711. 2:51:31as indefinite. And something that I also
  3712. 2:51:34wanted to show is in actions you can
  3713. 2:51:36actually decide which one should happen
  3714. 2:51:39first. You can move it using these arrow
  3715. 2:51:41marks. Next is order. It says automation
  3716. 2:51:45rules will be run in the order that is
  3717. 2:51:47defined in the order field. Each
  3718. 2:51:49automation rule will be executed
  3719. 2:51:52serially after the previous rules in an
  3720. 2:51:54ascending order. If you want this rule
  3721. 2:51:58to run before an existing rule, you can
  3722. 2:52:00also change this number and then say
  3723. 2:52:03apply. It says saving automation rule.
  3724. 2:52:05The automation rule is now saved. And
  3725. 2:52:08this is how you create an automation
  3726. 2:52:10rule. Now let's see how to trigger this.
  3727. 2:52:14Let's go to entra ID. Add user. Create
  3728. 2:52:19new user. User principle name. Testing
  3729. 2:52:23automation rule. Same display name.
  3730. 2:52:27Password is autogenerated. That is fine.
  3731. 2:52:29Let's go ahead and review and create and
  3732. 2:52:32then say create. Successfully created
  3733. 2:52:36new user.
  3734. 2:52:38Now let's go back to Sentinel
  3735. 2:52:41Microsoft Sentinel Sentinel Workspace
  3736. 2:52:44and then incidents. It will take a few
  3737. 2:52:47minutes. Now under incidents, you can
  3738. 2:52:50see that there are incidents created. I
  3739. 2:52:53was testing something else. So there are
  3740. 2:52:55other incidents as well. But let's go to
  3741. 2:52:57the one that was triggered by the
  3742. 2:52:58automation rule. Let's select this. It's
  3743. 2:53:02near real time near you new user
  3744. 2:53:04creation. Let's scroll down. view full
  3745. 2:53:08details. So if you see what we did in
  3746. 2:53:11the automation rule was to change the
  3747. 2:53:13severity to high. This has happened and
  3748. 2:53:16to change the status from new to active
  3749. 2:53:19that has also happened and then assign
  3750. 2:53:21it to an owner and then tag this
  3751. 2:53:25incident. So you can see the tagging as
  3752. 2:53:27well. Testing automation role. You can
  3753. 2:53:30also see it under activity log. If I
  3754. 2:53:32click activity log, it clearly says so
  3755. 2:53:36you'll have to scroll down. First
  3756. 2:53:37incident was created incident status was
  3757. 2:53:40changed to active by automation rule.
  3758. 2:53:43new user incident automation
  3759. 2:53:46and then severity was changed to high
  3760. 2:53:48again by the automation role and the
  3761. 2:53:51owner was changed to Navia by automation
  3762. 2:53:54rule and then there was also a tag that
  3763. 2:53:57was attached to this incident and then I
  3764. 2:54:00will close this. So this is how you can
  3765. 2:54:03use automation rules. You can also try
  3766. 2:54:06running playbooks with this. Once you
  3767. 2:54:09create playbooks, you can attach it to
  3768. 2:54:12the automation rules like we saw before.
  3769. 2:54:15Let me go back to Sentinel. Now we will
  3770. 2:54:17see how to create and configure
  3771. 2:54:19playbooks.
  3772. 2:54:21Before we start with creating playbooks,
  3773. 2:54:23let's see what are some of the
  3774. 2:54:24recommended use cases for Microsoft
  3775. 2:54:27Sentinel playbooks.
  3776. 2:54:29First one is enrichment. Playbooks can
  3777. 2:54:31collect additional data and attach it to
  3778. 2:54:34an incident, helping security teams make
  3779. 2:54:37better informed decisions.
  3780. 2:54:39For example, a playbook automatically
  3781. 2:54:41enriches an alert about a suspicious IP
  3782. 2:54:45by querying external threat intelligence
  3783. 2:54:47sources and then appends the reputation
  3784. 2:54:50score to the incident. External threat
  3785. 2:54:53intelligence sources like virus total,
  3786. 2:54:56Microsoft defender threat intelligence.
  3787. 2:54:58You can get data from these. Next use
  3788. 2:55:01case is birectional sync. So playbooks
  3789. 2:55:04help synchronize Microsoft Sentinel
  3790. 2:55:06incidents with external ticketing
  3791. 2:55:09systems to ensure incidents are tracked
  3792. 2:55:11properly. For example, when an incident
  3793. 2:55:14is created in Microsoft Sentinel, a
  3794. 2:55:16playbook automatically opens a
  3795. 2:55:18corresponding ticket in Service Now,
  3796. 2:55:20Jira or other IT service management
  3797. 2:55:23tool. And when an incident is updated or
  3798. 2:55:26resol resolved in Service Now, the same
  3799. 2:55:29update is reflected back in Microsoft
  3800. 2:55:32Sentinel. The next one is orchestration.
  3801. 2:55:35Playbooks facilitate better coordination
  3802. 2:55:37and communication among security teams
  3803. 2:55:40by integrating with collaboration tools.
  3804. 2:55:43For example, a playbook detects a high
  3805. 2:55:45severity security alert. Then it sends
  3806. 2:55:48an automated message to the sock teams,
  3807. 2:55:51Microsoft Teams or Slack channel,
  3808. 2:55:54ensuring analysts are immediately
  3809. 2:55:56informed. The playbook assigns incidents
  3810. 2:55:58to specific analysts based on predefined
  3811. 2:56:01criteria, ensuring an efficient
  3812. 2:56:04workflow. The next recommended use case
  3813. 2:56:07is response. Playbooks enable automatic
  3814. 2:56:10or semi-automatic responses to mitigate
  3815. 2:56:13threats quickly. Example, if a playbook
  3816. 2:56:16detects a compromised user account, that
  3817. 2:56:18is say multiple failed login attempts
  3818. 2:56:21followed by an unusual access. If it
  3819. 2:56:24detects something like this, it can
  3820. 2:56:26automatically disable the account in
  3821. 2:56:28Entra ID and notify administrators.
  3822. 2:56:31Also, during an investigation, an
  3823. 2:56:34analyst can manually trigger a playbook
  3824. 2:56:36to isolate a suspected uh compromised
  3825. 2:56:39device from the network while gathering
  3826. 2:56:41forensic data for further analysis. So,
  3827. 2:56:44these are the recommended use cases of
  3828. 2:56:47Sentinel playbooks. So if you go back to
  3829. 2:56:50the portal and then under configuration
  3830. 2:56:54go to automation and then click create.
  3831. 2:56:57Here you can create playbook with
  3832. 2:56:59incident trigger, alert trigger, entity
  3833. 2:57:02trigger or you can also create a blank
  3834. 2:57:05playbook. Usually the recommended
  3835. 2:57:08practice is to go to playbook templates
  3836. 2:57:11and start using the templates that is
  3837. 2:57:13already provided by Microsoft Sentinel.
  3838. 2:57:17For example, like the use case that we
  3839. 2:57:19discussed, let's search for virus total.
  3840. 2:57:23There is one under that. There are so
  3841. 2:57:26many of them.
  3842. 2:57:28Let's select this.
  3843. 2:57:30Let's click view details. So, it talks
  3844. 2:57:33about virus total what it can help you
  3845. 2:57:36with. It also gives you the details that
  3846. 2:57:39the virus total solution for Microsoft
  3847. 2:57:42Sentinel contains playbooks that can
  3848. 2:57:44help enrich incident creation with
  3849. 2:57:47threat information and intelligence for
  3850. 2:57:50IPs, file hashes and URLs from virus
  3851. 2:57:54total. Let's go back and there are nine
  3852. 2:57:58playbooks in this. Let's say install.
  3853. 2:58:02Installation is in progress. Now it is
  3854. 2:58:04successfully installed. Now let me click
  3855. 2:58:08manage.
  3856. 2:58:09It says nine of them have been installed
  3857. 2:58:12but it requires configuration because
  3858. 2:58:15you'll have to connect your virus total
  3859. 2:58:17account with this. So these are the
  3860. 2:58:19playbooks that are available. So it says
  3861. 2:58:22get virus total domain report domain
  3862. 2:58:25report for alert trigger domain report
  3863. 2:58:28for incident triggered file info for
  3864. 2:58:30both of them. IP report then URL report.
  3865. 2:58:35If you select one of these. Let me
  3866. 2:58:38select IP report for incident triggered.
  3867. 2:58:41This is the playbook. Click create. So
  3868. 2:58:44then there is subscription resource
  3869. 2:58:46group like any other resource in Azure.
  3870. 2:58:49Then the region, it is set to the same
  3871. 2:58:52region as your log analytics workspace.
  3872. 2:58:56So it is grayed out. Then provide the
  3873. 2:58:58playbook name. So then there is an
  3874. 2:59:01option to enable diagnostics logs and
  3875. 2:59:04log analytics. This says push runtime
  3876. 2:59:07events to log analytics to help monitor
  3877. 2:59:09your playbook. If you want to do that,
  3878. 2:59:12you can select this. For now, I'm going
  3879. 2:59:15to unselect it. Then say connections.
  3880. 2:59:20It says for each connector this playbook
  3881. 2:59:22uses, you can choose to use an existing
  3882. 2:59:25connection from another playbook.
  3883. 2:59:26Otherwise, you must create a new
  3884. 2:59:28connection and authenticate when you are
  3885. 2:59:31brought to the log logic apps designer
  3886. 2:59:34page. So, I'm going to review and
  3887. 2:59:37create. So, it's giving me a warning
  3888. 2:59:40sign saying authorize this connection
  3889. 2:59:42after deployment in the logic app
  3890. 2:59:44designer. It's for Azure Log Analytics
  3891. 2:59:47data collector, Azure, Microsoft
  3892. 2:59:50Sentinel, and Virus Total. Let me create
  3893. 2:59:52the playbook. Deployment in progress.
  3894. 2:59:56So the deployment is complete and here
  3895. 2:59:58is the logic app for this. You can click
  3896. 3:00:01on these blocks to see what it is doing.
  3897. 3:00:04Connected to get virus total report
  3898. 3:00:06incident trigger what it is trying to
  3899. 3:00:09do. So the trigger is Microsoft
  3900. 3:00:11Sentinel. The playbook starts when a
  3901. 3:00:14Sentinel incident is triggered and then
  3902. 3:00:17get IPs. It extracts IP addresses
  3903. 3:00:21related to the incident and then for
  3904. 3:00:24each IP address
  3905. 3:00:26it that is extracted from the incident
  3906. 3:00:29it can do these actions. First is get an
  3907. 3:00:32IP report that is from threat
  3908. 3:00:34intelligence sources like in this case
  3909. 3:00:37virus total it's going to do that and
  3910. 3:00:40then there is a condition in this
  3911. 3:00:42condition check a decision this is a
  3912. 3:00:44decision point based on the incident
  3913. 3:00:46report that is checking if an IP is
  3914. 3:00:49malicious
  3915. 3:00:51if it is malicious it say takes an
  3916. 3:00:54action such as blocking the IP or
  3917. 3:00:56escalating it and then adding a comment
  3918. 3:00:59to the incident if If it is false that
  3919. 3:01:03if the IP is non-malicious, you can set
  3920. 3:01:06it to mark it possibly safe and then log
  3921. 3:01:10nodes in the incident. So the invalid
  3922. 3:01:13error connection that I'm getting is
  3923. 3:01:15because that these connectors are
  3924. 3:01:17unauthorized. That means I'm not
  3925. 3:01:19connected anything yet. So with this
  3926. 3:01:22logic app that is the playbook you can
  3927. 3:01:25ensure that all extracted IPs are
  3928. 3:01:28checked categorized and logged
  3929. 3:01:30appropriately in Microsoft Sentinel.
  3930. 3:01:32Let's go back to Sentinel. Under content
  3931. 3:01:35hub I will say content type only
  3932. 3:01:38playbooks and then like the example we
  3933. 3:01:42discussed we can search for service now.
  3934. 3:01:45There is one for service now as well. So
  3935. 3:01:47create service now record alert
  3936. 3:01:50triggered and then create an update
  3937. 3:01:52service now record. Let me click service
  3938. 3:01:55now. It also tells us what are the
  3939. 3:01:58things that it can do. The service now
  3940. 3:02:01ITSM solution for Microsoft Sentinel
  3941. 3:02:04makes it easy to synchronize incidents
  3942. 3:02:06between Microsoft Sentinel and Service
  3943. 3:02:09Now. So there are two options that it
  3944. 3:02:11provides to do this. The first option is
  3945. 3:02:13a recommended one where birectional
  3946. 3:02:16incident sync happens that is retrieve
  3947. 3:02:19Microsoft Sentinel incidents and
  3948. 3:02:21automate the creation of incidents in
  3949. 3:02:23service now. Birectional sync of status,
  3950. 3:02:27severity, owner, comments, work nodes,
  3951. 3:02:30entities and alerts. Details of alerts
  3952. 3:02:33and entities added to work nodes.
  3953. 3:02:36filtering of Microsoft Sentinel
  3954. 3:02:38incidents based on tax or custom
  3955. 3:02:40filters.
  3956. 3:02:42So this is the uh playbook that you see
  3957. 3:02:45in most of the organizations that you
  3958. 3:02:47use because it's very easy to maintain
  3959. 3:02:50incidents with this birectional sync.
  3960. 3:02:53And then there is also another option
  3961. 3:02:55which you can do unidirectional sync
  3962. 3:02:58from Microsoft Sentinel to service now
  3963. 3:03:01only from Sentinel to service now not
  3964. 3:03:03the other way around. There are three
  3965. 3:03:06playbooks for this like you can see
  3966. 3:03:09here. Let me say install and then click
  3967. 3:03:12view details and then click manage.
  3968. 3:03:17Again the same error because we have not
  3969. 3:03:20configured it. Service now details.
  3970. 3:03:23There's one saying create and update
  3971. 3:03:25service now record. Create snow record
  3972. 3:03:27alert trigger. Create snow record
  3973. 3:03:30incident trigger. Let me click create
  3974. 3:03:33snow record incident trigger.
  3975. 3:03:36Select this and say create playbook.
  3976. 3:03:40Again you get the subscription and
  3977. 3:03:42resource group. Playbook name.
  3978. 3:03:46Go to connections. You'll have to
  3979. 3:03:48connect service. Now here for now we'll
  3980. 3:03:51say review and create. We do have the
  3981. 3:03:54warning signs. For now we'll just go
  3982. 3:03:57ahead and say create playbook. The
  3983. 3:03:59deployment is successful. So Microsoft
  3984. 3:04:02Sentinel incident is the trigger. your
  3985. 3:04:04initializing variable and then switch
  3986. 3:04:07case severity high case severity medium
  3987. 3:04:10medium you can add more as well and then
  3988. 3:04:14you can create the records.
  3989. 3:04:16This is done in service now. For that
  3990. 3:04:19you need to enter the details. You can
  3991. 3:04:22also run any of the playbooks manually
  3992. 3:04:24as well. You can try testing the
  3993. 3:04:26connection using run. This is a logic
  3994. 3:04:28app. So you can try running it manually
  3995. 3:04:30as well.
  3996. 3:04:32Let's go back. So here if you see in the
  3997. 3:04:35prerequisites right, it also says you
  3998. 3:04:38need existing snow instance and also
  3999. 3:04:42snow credentials, username and password
  4000. 3:04:44for this. Let me close this. Let me go
  4001. 3:04:47to the content hub. There are other
  4002. 3:04:49useful playbook templates as well like
  4003. 3:04:52for example enter ID.
  4004. 3:04:55See this. Let's select this.
  4005. 3:04:58Let's click manage. It's already
  4006. 3:05:01installed for one of the previous
  4007. 3:05:03chapters. So you don't have to do it
  4008. 3:05:05again. So if you see here, there are 11
  4009. 3:05:08playbooks in this solution.
  4010. 3:05:11Let me go next. Yeah, here we do have
  4011. 3:05:14the playbook. So block enter ID alert,
  4012. 3:05:18block enter ID user entity trigger, uh
  4013. 3:05:21prompt user alert, prompt user inter
  4014. 3:05:24incident, reset enter ID, password. So
  4015. 3:05:28there are so many uh playbooks available
  4016. 3:05:31here as well and you can click on it to
  4017. 3:05:33see what is the description how you can
  4018. 3:05:36do it. So for block Microsoft Enra ID
  4019. 3:05:39user, it says for each account entity
  4020. 3:05:42included in the alert, this playbook
  4021. 3:05:44will disable the user in Microsoft Enra
  4022. 3:05:47ID. Add a comment to the incident that
  4023. 3:05:50contains this alert and then notify
  4024. 3:05:53manager if a wheel will. It also gives
  4025. 3:05:56you a note saying this playbook will not
  4026. 3:05:58disable admin user.
  4027. 3:06:01And then if you go back to the content
  4028. 3:06:02hub and search for soore, there is
  4029. 3:06:07Sentinel sore essentials. This is a
  4030. 3:06:09solution. Let's install this.
  4031. 3:06:13It's in progress. Okay, it got
  4032. 3:06:15installed. Let me go back to it.
  4033. 3:06:19It says the Microsoft Sentinel Sore
  4034. 3:06:22essential solution for Microsoft
  4035. 3:06:24Sentinel contains playbooks that can
  4036. 3:06:27help you get started with basic
  4037. 3:06:28notification and orchestration scenarios
  4038. 3:06:31for common use cases.
  4039. 3:06:34These include playbooks for sending
  4040. 3:06:36notifications over email collaboration
  4041. 3:06:39platform such as Microsoft Teams and so
  4042. 3:06:41on. It has uh 18 playbooks. Let's hit
  4043. 3:06:46manage.
  4044. 3:06:48So first one is create incident from
  4045. 3:06:50Microsoft forms response what this will
  4046. 3:06:52do it will create a Microsoft sentinel
  4047. 3:06:55incident. When Microsoft forms response
  4048. 3:06:58is submitted.
  4049. 3:07:00This is a very common use case. Usually
  4050. 3:07:03the customers of your organization might
  4051. 3:07:05be using a form to create their
  4052. 3:07:07complaints or you know something is not
  4053. 3:07:10working and that you can use that form
  4054. 3:07:13to create sentinel alerts or incidents
  4055. 3:07:16and then there is a playbook to create a
  4056. 3:07:19new incident when a new email arrives.
  4057. 3:07:22So you can send an email to a shared
  4058. 3:07:25mailbox and that will create a Microsoft
  4059. 3:07:29Sentinel incident but you have to share
  4060. 3:07:32send an email with incident keyword in
  4061. 3:07:35the subject.
  4062. 3:07:37So there are also playbooks like this
  4063. 3:07:40which will give you instructions of what
  4064. 3:07:42to do when there is a ransomware attack.
  4065. 3:07:45So it says this playbook will walk the
  4066. 3:07:47analysts through four stages of
  4067. 3:07:50responding to a ransomware incident that
  4068. 3:07:52is containment, investigation,
  4069. 3:07:55eradication, recovery, eradication and
  4070. 3:07:57recovery and then prevention.
  4071. 3:07:59So when you're giving step-by-step
  4072. 3:08:01instructions to the analysts, you're
  4073. 3:08:04making them more efficient and use their
  4074. 3:08:06time more wisely. And then there is
  4075. 3:08:09notifications that you can send when an
  4076. 3:08:12incident is closed. So this playbook is
  4077. 3:08:15utilizing new update trigger to notify
  4078. 3:08:17person or group on Microsoft Teams or
  4079. 3:08:20Outlook when incident is closed
  4080. 3:08:23or incident is reopened. Incident
  4081. 3:08:26severity is changed notification and
  4082. 3:08:29then you can post message on Slack.
  4083. 3:08:33Whenever there is an incident created
  4084. 3:08:35you can post it on Slack channel.
  4085. 3:08:38same for an alert and then post messages
  4086. 3:08:40on teams for incident as well as an
  4087. 3:08:43alert. There is also a playbook that
  4088. 3:08:47looks for other alerts with the same IP
  4089. 3:08:49as the triggered incident. When such an
  4090. 3:08:52alert is found, this playbook will add
  4091. 3:08:55the alert to the incident.
  4092. 3:08:57And this will do it only if that
  4093. 3:08:59incident is not already related to sorry
  4094. 3:09:02that alert is not already related to
  4095. 3:09:04another incident.
  4096. 3:09:07There's also you can send emails when an
  4097. 3:09:11incident is created with basic details
  4098. 3:09:13like incident title, severity, tactics,
  4099. 3:09:15what is the link.
  4100. 3:09:18There is another one which says incident
  4101. 3:09:20assignment uh shift. This is interesting
  4102. 3:09:22because this playbook will assign an
  4103. 3:09:24incident to an owner based on the shift
  4104. 3:09:28scheduled in Microsoft Teams. So when an
  4105. 3:09:31incident is assigned the incident owner
  4106. 3:09:33will be notified you know with an email
  4107. 3:09:37and then there is update trigger notify
  4108. 3:09:40owner this playbook sends a team message
  4109. 3:09:42to the new incident owner. Let's go back
  4110. 3:09:46to the homepage
  4111. 3:09:48under configuration automation
  4112. 3:09:51playbook templates. You can customize
  4113. 3:09:53all of these templates as well. You can
  4114. 3:09:56add your own details to all of them. And
  4115. 3:09:59one more setting that I wanted to show
  4116. 3:10:01was under configuration
  4117. 3:10:03uh settings here go to settings again
  4118. 3:10:07and then if you scroll down there is
  4119. 3:10:10playbook permissions.
  4120. 3:10:12This controls who and what can execute
  4121. 3:10:15and modify logic app playbooks in
  4122. 3:10:17Microsoft Sentinel.
  4123. 3:10:20So these permissions ensure secure
  4124. 3:10:22automation and integration with external
  4125. 3:10:24services.
  4126. 3:10:26So, Microsoft Sentinel automation rules
  4127. 3:10:28can trigger play uh logic app playbooks
  4128. 3:10:31right for incident response. But for a
  4129. 3:10:34playbook to be used, specific
  4130. 3:10:35permissions must be granted to the
  4131. 3:10:38appropriate users or services.
  4132. 3:10:41So, if I click configure permissions,
  4133. 3:10:44it says choose the resource groups that
  4134. 3:10:47contain the playbooks you want to give
  4135. 3:10:49Microsoft Sentinel permissions to run.
  4136. 3:10:52So I'm going to choose Sentinel RG and
  4137. 3:10:54then say apply. It is adding
  4138. 3:10:57permissions. Says finished adding
  4139. 3:11:00permissions.
  4140. 3:11:02That is one thing you need to set. If at
  4141. 3:11:04all you are having permissions problems,
  4142. 3:11:06maybe this is a place that you want to
  4143. 3:11:08check once. So that's it for this
  4144. 3:11:11chapter guys. In this chapter, we
  4145. 3:11:13discussed what are automated responses
  4146. 3:11:16to threats in Sentinel, how you can
  4147. 3:11:19configure them, why do you need them,
  4148. 3:11:21what are the different ways that is
  4149. 3:11:23automation rules and playbook. Playbook
  4150. 3:11:26using Azure logic apps that is the
  4151. 3:11:28source solution of Sentinel. How to
  4152. 3:11:31create automation rules? How to create
  4153. 3:11:33playbooks? What are the usually used uh
  4154. 3:11:37recommended use cases for both of these?
  4155. 3:11:40Let's move on to the next topic. Now in
  4156. 3:11:43this chapter, we will discuss Microsoft
  4157. 3:11:45Sentinel workbooks. What are workbooks?
  4158. 3:11:48How are they used? What are the use
  4159. 3:11:50cases? How to create them? How to
  4160. 3:11:53customize them? We'll learn all of this
  4161. 3:11:55in this chapter. So, what are Microsoft
  4162. 3:11:58Sentinel workbooks? Workbooks are a
  4163. 3:12:01powerful tool within Microsoft Sentinel.
  4164. 3:12:05They offer interactive and customizable
  4165. 3:12:07dashboards and organizations can
  4166. 3:12:10visualize and analyze security data from
  4167. 3:12:13various sources using these dashboards.
  4168. 3:12:16So these workbooks provide security
  4169. 3:12:18teams with realtime insights
  4170. 3:12:22and hence improve their ability to
  4171. 3:12:24detect and respond to threats
  4172. 3:12:25efficiently. So by integrating many
  4173. 3:12:29different data sets and fostering
  4174. 3:12:31collaboration, Microsoft Sentinel
  4175. 3:12:33workbooks play a crucial role in
  4176. 3:12:36strengthening an organization security
  4177. 3:12:38posture. Now let's see some of the key
  4178. 3:12:40use cases for Microsoft Sentinel
  4179. 3:12:42workbooks. First one is sock monitoring.
  4180. 3:12:46So security operation centers that is
  4181. 3:12:48socks rely on Microsoft Sentinel
  4182. 3:12:51workbooks to track security events in
  4183. 3:12:53real time. Analysts can monitor key
  4184. 3:12:56performance indicators that is KPIs such
  4185. 3:13:00as incident response times, alert
  4186. 3:13:02volumes, and thread detection rates.
  4187. 3:13:05Workbooks provide a centralized view of
  4188. 3:13:08security metrics, optimizing workflows,
  4189. 3:13:11and improving incident management. Next
  4190. 3:13:14use case is compliance and audit
  4191. 3:13:16reporting. So, organizations must comply
  4192. 3:13:19with regulatory standards and audit
  4193. 3:13:21requirements, right? So, Sentinel
  4194. 3:13:23workbooks help generate compliance
  4195. 3:13:25reports by visualizing data on security
  4196. 3:13:28controls, user activities, and policy
  4197. 3:13:30enforcement. Then the then these reports
  4198. 3:13:33can be customized to align with specific
  4199. 3:13:36frameworks, making it easier to
  4200. 3:13:38demonstrate compliance during audits.
  4201. 3:13:41Next use case is threat hunting. So
  4202. 3:13:44workbooks support proactive threat
  4203. 3:13:45hunting by visualizing anomalous
  4204. 3:13:48behaviors, attack patterns and
  4205. 3:13:50indicators of compromise that is IoC's.
  4206. 3:13:53Security teams can leverage these
  4207. 3:13:55insights to uncover hidden threats,
  4208. 3:13:58investigate suspicious activities and
  4209. 3:14:00take preventive actions before an
  4210. 3:14:03incident escalates. So these are some of
  4211. 3:14:06the key use cases of Sentinel workbooks.
  4212. 3:14:10Now let's see how to create a workbook.
  4213. 3:14:13Let's go to our Sentinel portal. In
  4214. 3:14:16Sentinel, go to threat management.
  4215. 3:14:18Actually, let me minimize this first and
  4216. 3:14:21then go to workbooks.
  4217. 3:14:24Here you can choose whether to use a
  4218. 3:14:26pre-built template or create a new
  4219. 3:14:29workbook from scratch. So for templates,
  4220. 3:14:32you can go to templates. Here you can
  4221. 3:14:34browse through the available workbook
  4222. 3:14:36templates and select one that meets your
  4223. 3:14:39needs. So these templates offer
  4224. 3:14:41predefined visualizations and metrics
  4225. 3:14:44making it easier to get started.
  4226. 3:14:47If you want to create a workbook from
  4227. 3:14:49scratch then select add workbook button.
  4228. 3:14:52Once you click add workbook a blank
  4229. 3:14:55workbook opens. You can add your custom
  4230. 3:14:59queries and visualizations here.
  4231. 3:15:02So if you see there are some metrics
  4232. 3:15:04parameters that are already available
  4233. 3:15:06for us. So let's click edit.
  4234. 3:15:10If you want to rename this add your own
  4235. 3:15:12uh description then you know edit this
  4236. 3:15:15and you'll have to edit it in markdown
  4237. 3:15:18text. So if you want to remove
  4238. 3:15:20everything
  4239. 3:15:22and then say my workbook
  4240. 3:15:25so you can preview it in the preview
  4241. 3:15:28box. So markdown language if it is
  4242. 3:15:31double star that means it should be in
  4243. 3:15:33bold. If I remove this
  4244. 3:15:37and go back to preview it's not bold.
  4245. 3:15:40You can also change color. You can
  4246. 3:15:43change the font. You have many
  4247. 3:15:45customization options. For example, if I
  4248. 3:15:48say style color yellow and then font
  4249. 3:15:52size I'm increasing to 20. Maybe I'll
  4250. 3:15:54make it 40 for now. And then if I
  4251. 3:15:57preview this is how it looks. And if you
  4252. 3:16:00go back uh say I want to make it bold as
  4253. 3:16:03well. Then say font
  4254. 3:16:09colon bold. And then if you preview this
  4255. 3:16:12it's in bold. It's in the color that I
  4256. 3:16:15wanted and it's in the size that I
  4257. 3:16:16wanted. I'm going to say done editing.
  4258. 3:16:19So now this is how you can customize
  4259. 3:16:21your description, your title
  4260. 3:16:24and then you can customize the dashboard
  4261. 3:16:26as well. So I can say edit. So this is
  4262. 3:16:29the query. So it's showing me a bar
  4263. 3:16:31chart. If I want to change it to say pie
  4264. 3:16:34chart, I can do that.
  4265. 3:16:36I'll just have to say pie chart and run
  4266. 3:16:39query. It's working. So I'm going to
  4267. 3:16:42scroll down. So if you see there is a
  4268. 3:16:45pie chart now. Before it was a bar
  4269. 3:16:47chart. So there is customization options
  4270. 3:16:49for you and you can also choose the size
  4271. 3:16:53if you want it medium. So you can see
  4272. 3:16:56that the size changes and then large
  4273. 3:17:00or small tiny full you have all the
  4274. 3:17:04options here. If you don't want to do it
  4275. 3:17:07in KQL you can also choose set by query.
  4276. 3:17:11Say for example bar chart. So for bar
  4277. 3:17:14chart it changed to this. I'm going to
  4278. 3:17:17make it small so that it's easier to
  4279. 3:17:19view. So this is the bar chart view,
  4280. 3:17:22line chart,
  4281. 3:17:24scatter chart. So you can choose
  4282. 3:17:26whichever you want, whichever is easier
  4283. 3:17:29for the people to analyze it. And also
  4284. 3:17:32you can choose the time range. Do you
  4285. 3:17:34want it for last 24 hours, 30 days? And
  4286. 3:17:37you can also use custom dates. If you
  4287. 3:17:39click here, you can see the custom time
  4288. 3:17:41range that you can pick from.
  4289. 3:17:43And if you check chart settings, you
  4290. 3:17:47have other customization options. For
  4291. 3:17:49example, custom number formatting. That
  4292. 3:17:51means apply custom number formatting.
  4293. 3:17:54This will let you set units style
  4294. 3:17:57formatting options for number values.
  4295. 3:18:00And then series setting. You can choose
  4296. 3:18:03you can add more values here. For now,
  4297. 3:18:06I'll close this.
  4298. 3:18:08I'll also say here done editing. And if
  4299. 3:18:12you see there is an add button where you
  4300. 3:18:14can add text, parameters, links or tabs,
  4301. 3:18:17add query, add metric and add group. So
  4302. 3:18:21if you want to add a query for which you
  4303. 3:18:23want the visualization, you can just add
  4304. 3:18:26the query here and then run it to test
  4305. 3:18:28if it is working. And if you are not
  4306. 3:18:31comfortable with KQL, let's close this
  4307. 3:18:34for now and then add again. Say add
  4308. 3:18:37metric.
  4309. 3:18:39So you can add metrics here. So if you
  4310. 3:18:42say add metric, you have the name space
  4311. 3:18:45and then metrics. You can choose
  4312. 3:18:47whatever you want here. If at all you're
  4313. 3:18:50ingesting data, then it will show you in
  4314. 3:18:52the graph in the charts.
  4315. 3:18:55And if you want a display name, you can
  4316. 3:18:57use that. And also there is aggregation
  4317. 3:18:59option. So different metrics have
  4318. 3:19:01different available aggregation methods.
  4319. 3:19:04Let me cancel this as well.
  4320. 3:19:06And you can also publish your workbook.
  4321. 3:19:09So publishing a workbook in Microsoft
  4322. 3:19:11Sentinel means making it available for
  4323. 3:19:13other users, teams or organizations to
  4324. 3:19:16use either within your envir environment
  4325. 3:19:19or as part of shared gallery template.
  4326. 3:19:22So when you publish a workbook, you save
  4327. 3:19:24it in a structured format, usually JSON,
  4328. 3:19:27and share it in a repository such as
  4329. 3:19:30GitHub or Azure. This allows others to
  4330. 3:19:32easily deploy and use a workbook for
  4331. 3:19:35security monitoring, compliance
  4332. 3:19:37reporting or threat detection.
  4333. 3:19:39So in the editing, if you go here, this
  4334. 3:19:43is the advanced uh editor. Click on it.
  4335. 3:19:47There is gallery template JSON that is
  4336. 3:19:49available. You copy it, save it in JSON
  4337. 3:19:54file on your local machine. Before that
  4338. 3:19:57you need to add the properties to the
  4339. 3:20:00JSON file like this style setting
  4340. 3:20:03template ID and then schema
  4341. 3:20:07and then you save the JSON file with a
  4342. 3:20:09meaningful name like you know my
  4343. 3:20:12Sentinel workbook uh my Sentinel
  4344. 3:20:15workbook for sock something like that so
  4345. 3:20:17other people know also. Then you upload
  4346. 3:20:20the JSON file to GitHub. So navigate to
  4347. 3:20:23your solution repository in GitHub.
  4348. 3:20:26Locate the workbooks folder. If the
  4349. 3:20:28folder does not exist, you'll have to
  4350. 3:20:29create one. Then upload your JSON file
  4351. 3:20:31to the workbooks folder. You also have
  4352. 3:20:35options to upload optional logo. This is
  4353. 3:20:38just an option. You can upload logos.
  4354. 3:20:41You can upload capture and upload
  4355. 3:20:43preview images.
  4356. 3:20:45And you can also update the workbooks
  4357. 3:20:48metadata JSON file. You can include
  4358. 3:20:51relevant details such as workbook name,
  4359. 3:20:53description, template ID, preview, image
  4360. 3:20:56links, logo if at all you've added one.
  4361. 3:20:59So that's how you publish your workbook
  4362. 3:21:01also. It's very easy. First you go to
  4363. 3:21:04advanced editor, copy the JSON,
  4364. 3:21:08make it a file, add the properties.
  4365. 3:21:10Before that, upload it to your GitHub.
  4366. 3:21:14Add other preview images, optional logo,
  4367. 3:21:18and update your workbooks metadata JSON
  4368. 3:21:20file. So once you review all uploaded
  4369. 3:21:23files to ensure correct formatting and
  4370. 3:21:26naming conventions, validate your
  4371. 3:21:28changes before submitting to pull
  4372. 3:21:30request or integrating the workbook into
  4373. 3:21:32your Microsoft Sentinel gallery. Let me
  4374. 3:21:36close this. I'm not going to create this
  4375. 3:21:38one because it might charge me. So I'm
  4376. 3:21:42going to cancel all of that. And then if
  4377. 3:21:44I go to templates here, let me say I'm
  4378. 3:21:47going to select event analyzer. You can
  4379. 3:21:50create your workbooks from here as well.
  4380. 3:21:52The event analyzer workbook allows to
  4381. 3:21:55explore, audit, and speed up analysis of
  4382. 3:21:58Windows event logs including all event
  4383. 3:22:02details and attributes such as security
  4384. 3:22:04application system setup directory
  4385. 3:22:07services DNS and others. It also tells
  4386. 3:22:11you content source, Windows security
  4387. 3:22:14events. So if I say view templates,
  4388. 3:22:18you can select the subscription
  4389. 3:22:20workspace and the time range that you
  4390. 3:22:22want the data for. So that is how you
  4391. 3:22:25customize your templates that are
  4392. 3:22:27already available. And if you say save,
  4393. 3:22:32it will ask you to set a location where
  4394. 3:22:34you want to save this. Say East US. Yes.
  4395. 3:22:39And now if you see in my workbooks,
  4396. 3:22:42there is one that is already saved. If I
  4397. 3:22:44go to my workbooks, there is event
  4398. 3:22:46analyzer. You can view the template. You
  4399. 3:22:48can view saved workbook and then also
  4400. 3:22:51edit it. So I clicked on saved workbook.
  4401. 3:22:54View saved workbook. You have the option
  4402. 3:22:56to edit it as well. Let me go back. Let
  4403. 3:23:00me delete this for now. Now let's see
  4404. 3:23:03some of the key Microsoft Sentinel
  4405. 3:23:05workbooks and their use cases. First one
  4406. 3:23:08is security monitoring and incident
  4407. 3:23:10investigation. For that we have
  4408. 3:23:13analytics, health and audit. This
  4409. 3:23:15ensures security rules are functioning
  4410. 3:23:17correctly and tracks any changes made to
  4411. 3:23:20analytics rules. Then there is incident
  4412. 3:23:23overview provides detailed insights into
  4413. 3:23:26security incidents helping analysts with
  4414. 3:23:28triage and investigation.
  4415. 3:23:31Investigation insights help security
  4416. 3:23:34teams analyze incidents, bookmarks and
  4417. 3:23:36suspicious activities through visual
  4418. 3:23:39reports. MITER attack workbook map
  4419. 3:23:42security events to the MITER attack
  4420. 3:23:44framework providing better threat
  4421. 3:23:46visibility.
  4422. 3:23:48Then next one is identity and access
  4423. 3:23:50management. In that we have Microsoft
  4424. 3:23:53Entra audit logs. This tracks user
  4425. 3:23:56operations including password and device
  4426. 3:23:59management activities.
  4427. 3:24:01Then there is Microsoft Entra Signin
  4428. 3:24:04logs. This monitors user login activity
  4429. 3:24:07including failed attempts and access
  4430. 3:24:09locations.
  4431. 3:24:11Next is identity and access workbook.
  4432. 3:24:13This analyzes identity related security
  4433. 3:24:16logs to provide insights into uh
  4434. 3:24:19authentication activities.
  4435. 3:24:21Next we have cloud and compliance
  4436. 3:24:24reporting. Azure security benchmark.
  4437. 3:24:27This evaluates cloud security posture
  4438. 3:24:29across Microsoft 365, Azure, thirdparty
  4439. 3:24:33and hybrid workloads. Cyber security
  4440. 3:24:36maturity model certification CMMC.
  4441. 3:24:40This assesses security compliance based
  4442. 3:24:42on CMMC control frameworks.
  4443. 3:24:46Zero trust. This visualizes zero trust
  4444. 3:24:49security principles and aligns them with
  4445. 3:24:52compliance frameworks. Next one is
  4446. 3:24:54threat intelligence and hunting. Threat
  4447. 3:24:58intelligence workbook. This provides
  4448. 3:25:00insights into threat indicators,
  4449. 3:25:02malicious domains and suspicious
  4450. 3:25:04activities across cloud and hybrid
  4451. 3:25:07environments.
  4452. 3:25:09Microsoft Defender for cloud apps. This
  4453. 3:25:11tracks cloud application usage,
  4454. 3:25:14highlighting potential security risks.
  4455. 3:25:17Security alerts workbook. This displays
  4456. 3:25:20alerts across different security sources
  4457. 3:25:23and helps analysts respond to threats in
  4458. 3:25:26real time. Next one is workspace and
  4459. 3:25:29data monitoring, data collection, health
  4460. 3:25:32monitoring. This ensures data injection
  4461. 3:25:34is running properly, identifying
  4462. 3:25:37anomalies and log collection.
  4463. 3:25:40Workspace usage report. This provides
  4464. 3:25:42visibility into long consumption, data
  4465. 3:25:46latency and cost management.
  4466. 3:25:49Event analyzer. This enables in-depth
  4467. 3:25:52analysis of Windows event logs including
  4468. 3:25:55security system and application events.
  4469. 3:25:59So in summary, Microsoft Sentinel
  4470. 3:26:01workbooks provide realtime insights,
  4471. 3:26:04streamline security operations, and
  4472. 3:26:06enhance thread detection. So that's it
  4473. 3:26:09about workbook guys. Microsoft Sentinel
  4474. 3:26:11workbooks. Let's go to the next chapter.
  4475. 3:26:15In this chapter, we will discuss
  4476. 3:26:17Microsoft Sentinel watch lists. What are
  4477. 3:26:20Microsoft Sentinel watch lists? So,
  4478. 3:26:22these are a powerful tool that help
  4479. 3:26:24security teams to organize and manage
  4480. 3:26:27important data. Important data such as
  4481. 3:26:30IP addresses, domains, user accounts,
  4482. 3:26:34and device names. So these lists assist
  4483. 3:26:38in detecting threats, investigating
  4484. 3:26:40security incidents and responding
  4485. 3:26:43effectively. So by using this watch
  4486. 3:26:46lists right analysts can quickly filter
  4487. 3:26:48information, correlate alerts and
  4488. 3:26:51enhance their threat and threat hunting
  4489. 3:26:54processes and then finally strengthening
  4490. 3:26:56security operations.
  4491. 3:26:59Watch lists in Microsoft Sentinel allow
  4492. 3:27:01organizations to bring in external data
  4493. 3:27:04and compare this data with security
  4494. 3:27:07events within their Sentinel
  4495. 3:27:08environment. Like for example, a watch
  4496. 3:27:11list might contain high value assets,
  4497. 3:27:14recently terminated employees or service
  4498. 3:27:17accounts. These lists can be used in
  4499. 3:27:20searches, detection rules, analytics
  4500. 3:27:23rules, threat hunting activities, and
  4501. 3:27:26automated response playbooks. Watch
  4502. 3:27:29lists are stored within Sentinel as name
  4503. 3:27:31value pairs. Watch lists are designed
  4504. 3:27:34for fast query performance and low
  4505. 3:27:37latency. This ensures quick access to
  4506. 3:27:40critical security data. Now let's see
  4507. 3:27:43when to use watch lists. First, rapid
  4508. 3:27:47threat investigation and response.
  4509. 3:27:50Security teams can quickly important
  4510. 3:27:53data from CVS files and use them in
  4511. 3:27:56alert rules, hunting queries, workbooks,
  4512. 3:27:59and notebooks to detect and respond to
  4513. 3:28:02threats more efficiently.
  4514. 3:28:04So important data such as IP addresses
  4515. 3:28:07or file hashes. For example, a company
  4516. 3:28:10identifies a list of malicious IPs from
  4517. 3:28:13an external threat intelligence feed. By
  4518. 3:28:16adding these IPs to a watch list,
  4519. 3:28:18Sentinel can automatically flag any
  4520. 3:28:20network traffic from these sources for
  4521. 3:28:23further investigation. Next use case is
  4522. 3:28:26to manage business data. Organizations
  4523. 3:28:30can import data like lists of privileged
  4524. 3:28:33users or former employees to track
  4525. 3:28:36potential risks. This allows for the
  4526. 3:28:38creation of allow lists and block lists
  4527. 3:28:42to control access and detect
  4528. 3:28:44unauthorized login attempts. For
  4529. 3:28:46example, a company creates a watch list
  4530. 3:28:49of employees who recently left the
  4531. 3:28:51organization. If any of these accounts
  4532. 3:28:54show activity in security locks,
  4533. 3:28:56Sentinel triggers an alert to
  4534. 3:28:58investigate potential unauthorized
  4535. 3:29:00access. The next use case is to reduce
  4536. 3:29:03alert fatigue. By creating allow lists,
  4537. 3:29:07security teams can suppress unnecessary
  4538. 3:29:10alerts from trusted users or known safe
  4539. 3:29:13activities. So this prevents security
  4540. 3:29:15teams from being overwhelmed by false
  4541. 3:29:18positives and allows them to focus on
  4542. 3:29:21real threats. For example, a security
  4543. 3:29:24team notices that their network scanning
  4544. 3:29:26tool frequently triggers alerts. They
  4545. 3:29:29add the tool's IP address to a watch
  4546. 3:29:31list and hence preventing unnecessary
  4547. 3:29:34alerts while still monitoring real
  4548. 3:29:37threats. Next use case is to enhance
  4549. 3:29:40event data. Watch lists provide valuable
  4550. 3:29:43context by enriching security event logs
  4551. 3:29:46with external data sources and this
  4552. 3:29:50helps security analysts better
  4553. 3:29:52understand potential threats and take
  4554. 3:29:54appropriate action. For example, a watch
  4555. 3:29:57list of known fishing domains is used to
  4556. 3:30:00cross-ch checkck URLs found in company
  4557. 3:30:03emails. If a match is detected, Sentinel
  4558. 3:30:06automatically flags the email as a
  4559. 3:30:08potential fishing attempt. So, these are
  4560. 3:30:11some of the key use cases of when to use
  4561. 3:30:15watch lists. Now, let's go to the Azure
  4562. 3:30:18portal and see how to create them. In
  4563. 3:30:20Sentinel, go to configuration and then
  4564. 3:30:23watch list. Click new.
  4565. 3:30:27I will add the name as internal scanner
  4566. 3:30:31IP addresses
  4567. 3:30:33and you can add a description. And then
  4568. 3:30:36there is alias and alias is a unique
  4569. 3:30:39identifier assigned to a watch list
  4570. 3:30:41column while creating the watch list. So
  4571. 3:30:44it allows security anallets to reference
  4572. 3:30:46specific columns easily when uh writing
  4573. 3:30:49queries in KQL. I will just say scanner
  4574. 3:30:53IPS and then next. The next one is
  4575. 3:30:57source type local file or Azure storage.
  4576. 3:31:00I'll select a local file here. And then
  4577. 3:31:03the file take file type is supposed to
  4578. 3:31:05be CSV. This is number of lines before
  4579. 3:31:09uh row with headings. I will enter zero.
  4580. 3:31:12Then upload the file that you have. I
  4581. 3:31:14created this file with example IP
  4582. 3:31:18addresses
  4583. 3:31:20and I uploaded it here. Drag and drop it
  4584. 3:31:23or you can browse for files and then you
  4585. 3:31:26select the search key. Search key in
  4586. 3:31:29Microsoft Sentinel watch list is the
  4587. 3:31:31column that you will be using frequently
  4588. 3:31:34for searching, filtering and joining
  4589. 3:31:36with other data in Sentinel. So this
  4590. 3:31:40acts as the primary key for referencing
  4591. 3:31:42the watch list and queries. So in this
  4592. 3:31:45example I will select IP address column
  4593. 3:31:48as the search key. This is the first
  4594. 3:31:50column and this uniquely identifies each
  4595. 3:31:53row and then say create. Next create
  4596. 3:31:57again and it says you successfully
  4597. 3:32:00created internal scanner IPs watch list.
  4598. 3:32:03Let me refresh the page. And here is the
  4599. 3:32:07internal IPs watch list. If I expand
  4600. 3:32:10this show panel, it says it was created
  4601. 3:32:13by whom when it was last updated, search
  4602. 3:32:16keys, IP address. You can view and log.
  4603. 3:32:19So if I click view and logs, it takes
  4604. 3:32:22some time to reflect. I'll select KQL
  4605. 3:32:25mode here. This is the query that is
  4606. 3:32:28getting run that is get watch list
  4607. 3:32:30scanners IPs. It'll list the IPs that we
  4608. 3:32:33just created for this watch list, but
  4609. 3:32:36it's going to take some time to reflect
  4610. 3:32:37here. For now, let me close this and go
  4611. 3:32:40back to the watch list.
  4612. 3:32:43And then again, show panel. I can also
  4613. 3:32:45update this watch list either edit watch
  4614. 3:32:49list items or bulk update. So, if I
  4615. 3:32:51click edit watch list items,
  4616. 3:32:54it will let me add new uh rows or you
  4617. 3:32:58can also delete them. If I select one of
  4618. 3:33:00these IP addresses, I can either delete
  4619. 3:33:02them or I can add new ones with the new
  4620. 3:33:06button. So, let me close this.
  4621. 3:33:11And then there was bulk update option as
  4622. 3:33:13well. If I go to bulk update,
  4623. 3:33:15I can upload a file again. So, it also
  4624. 3:33:19gives me a message saying the updated
  4625. 3:33:21watch list data will be appended to the
  4626. 3:33:23existing list of items. Items with same
  4627. 3:33:26properties will be dduplicated.
  4628. 3:33:29Let me close it. Now let me see if we
  4629. 3:33:33can see it in the logs. If we go to view
  4630. 3:33:35and logs and then select KQL mode. So
  4631. 3:33:40this is how it shows. When was it last
  4632. 3:33:42updated
  4633. 3:33:44ID search key description IP address and
  4634. 3:33:48the threat level.
  4635. 3:33:50So you're using this query get watch and
  4636. 3:33:53the scanner IPS. This is the alias of
  4637. 3:33:55that watch list. And if you want to see
  4638. 3:33:58all the aliases of watch list, you can
  4639. 3:34:01just say get watch list alias and run.
  4640. 3:34:04There's only one that I've created and
  4641. 3:34:06it comes up here. Scanner IPS. Now let's
  4642. 3:34:09see how to use watch lists in analytic
  4643. 3:34:12rules. So if you go to configuration and
  4644. 3:34:15then analytics or either you can go to
  4645. 3:34:18content hub and search for high count
  4646. 3:34:24and then content type. I'm going to
  4647. 3:34:26select only analytics rules
  4648. 3:34:29and then select high counts of
  4649. 3:34:31connections by client IP on many ports.
  4650. 3:34:34Let's say install. And then it says
  4651. 3:34:38description identifies when 30 or more
  4652. 3:34:41ports are used for a given client IP in
  4653. 3:34:4310 minutes occurring on the IAS server.
  4654. 3:34:47And now the installation is successful.
  4655. 3:34:49Then let's say create rule.
  4656. 3:34:53And this is the rule query here. Let me
  4657. 3:34:56close this and then go to configuration
  4658. 3:34:59analytics.
  4659. 3:35:02And if you see in the rule templates,
  4660. 3:35:06this rule must be there. I'm going to
  4661. 3:35:09right click and say create rule and then
  4662. 3:35:12go to set logic. And let me expand this
  4663. 3:35:16rule query. So we just need to add this
  4664. 3:35:20line where get watchless scanner IPS is
  4665. 3:35:23the function that retrieves the contents
  4666. 3:35:25of a watch list named scanner IPS and
  4667. 3:35:28then project IP address. The project
  4668. 3:35:31operator is used to select specific
  4669. 3:35:33columns from the watch list. And in this
  4670. 3:35:35case, it extracts only the IP address
  4671. 3:35:38column from the watch list and it
  4672. 3:35:40filters out unnecessary data. And then
  4673. 3:35:43there is let watch list and then there
  4674. 3:35:47is let watch list. This let statement
  4675. 3:35:50creates a temporary variable called
  4676. 3:35:52watch list that stores the extracted IP
  4677. 3:35:55addresses. And this variable can now be
  4678. 3:35:57used in other queries to compare, filter
  4679. 3:36:00or join with other security logs. And
  4680. 3:36:03that's it. You don't have to do anything
  4681. 3:36:05else. I just change the product project
  4682. 3:36:08IP address to project IP space address
  4683. 3:36:12because that is how I have given it in
  4684. 3:36:14my watch list. Just have to go automated
  4685. 3:36:17review create and it is validating the
  4686. 3:36:21fields.
  4687. 3:36:22Now it says validation passed and you
  4688. 3:36:25can save the analytics role and in the
  4689. 3:36:27active rules you can see that it is
  4690. 3:36:30already saved and that's it about watch
  4691. 3:36:33list guys. Let's go to the next chapter.
  4692. 3:36:36In this chapter we will discuss
  4693. 3:36:38Microsoft Sentinel notebooks.
  4694. 3:36:41Let's get started. What are Microsoft
  4695. 3:36:44Sentinel notebooks? Notebooks are a
  4696. 3:36:47powerful tool in Microsoft Sentinel that
  4697. 3:36:49help security teams analyze and
  4698. 3:36:52investigate threats using code, data
  4699. 3:36:55visualization, and machine learning.
  4700. 3:36:58They allow analysts to write and run
  4701. 3:37:01scripts for threat hunting, deep data
  4702. 3:37:04analysis, and automation. Microsoft
  4703. 3:37:07Sentinel stores a large amount of
  4704. 3:37:09security data. And this data can be
  4705. 3:37:11accessed through an API. And this API
  4706. 3:37:15lets tools like Jupiter notebooks and
  4707. 3:37:18Python connect to Sentinel. This makes
  4708. 3:37:21it easier to explore security data, find
  4709. 3:37:24threats, and automate investigations.
  4710. 3:37:27What are Jupyter Notebooks? Jupiter
  4711. 3:37:30Notebooks is an open-source tool that
  4712. 3:37:33allows users to create and share
  4713. 3:37:35documents that contain live code,
  4714. 3:37:38visualizations, and text explanations.
  4715. 3:37:42It supports multiple programming
  4716. 3:37:44languages including Python and is widely
  4717. 3:37:46used for data analysis, machine learning
  4718. 3:37:49and security investigations.
  4719. 3:37:52If you go to jupiter.org, you can find
  4720. 3:37:54more documentation on Jupiter notebooks.
  4721. 3:37:57If you scroll down, it has a Jupiter
  4722. 3:38:00lab, Jupiter notebook. It supports over
  4723. 3:38:0440 programming languages including
  4724. 3:38:06Python. And you can also provide
  4725. 3:38:09documentation for Jupyter notebooks
  4726. 3:38:12here. So this is the documentation how
  4727. 3:38:15to use it. Now let's see when to use
  4728. 3:38:18Jupyter notebooks and Microsoft
  4729. 3:38:20Sentinel. So like I said, Jupyter
  4730. 3:38:22notebooks offer more flexibility and
  4731. 3:38:24advanced capabilities beyond what is
  4732. 3:38:27available in the Microsoft Sentinel
  4733. 3:38:29portal. First use case for Jupyter
  4734. 3:38:32Notebooks and Sentinel is advanced data
  4735. 3:38:35analytics. So you can perform custom
  4736. 3:38:38threat analysis using Python based
  4737. 3:38:40machine learning techniques that are not
  4738. 3:38:43available in Sentinel by default. You
  4739. 3:38:45can detect anomalies and security logs
  4740. 3:38:48with AIdriven models.
  4741. 3:38:50Next use case is custom data
  4742. 3:38:52visualizations.
  4743. 3:38:54So you can create interactive timelines
  4744. 3:38:57and process trees to analyze security
  4745. 3:38:59incidents more effectively. You can
  4746. 3:39:01build custom dashboards with unique
  4747. 3:39:04visual elements not provided in Sentinel
  4748. 3:39:07by default.
  4749. 3:39:09Then the third key use case of Jupyter
  4750. 3:39:11notebooks is integrating external data
  4751. 3:39:14sources.
  4752. 3:39:15So you can correlate on premises
  4753. 3:39:18security data with cloud-based Sentinel
  4754. 3:39:21logs. You can also analyze third party
  4755. 3:39:23threat intelligence feeds alongside
  4756. 3:39:26Microsoft Sentinel alerts.
  4757. 3:39:29So, Microsoft Sentinel seamlessly
  4758. 3:39:31integrates Jupiter notebooks into the
  4759. 3:39:33Azure portal and this allows security
  4760. 3:39:36analysts to query, analyze, and
  4761. 3:39:38visualize data directly within a
  4762. 3:39:41notebook environment. The KQL magic
  4763. 3:39:44library enables KQL queries from
  4764. 3:39:46Sentinel to run inside Jupyter
  4765. 3:39:49notebooks. We will see that in the demo
  4766. 3:39:51soon. Like any other module, if I go to
  4767. 3:39:54the Azure portal and then go to threat
  4768. 3:39:57management notebooks,
  4769. 3:40:00you have readytouse notebooks that are
  4770. 3:40:02created by security experts. If you go
  4771. 3:40:04to templates,
  4772. 3:40:06so some notebooks are scenario specific
  4773. 3:40:09and can be used immediately. But others
  4774. 3:40:12are templates demonstrating useful
  4775. 3:40:15techniques that analysts can modify and
  4776. 3:40:17customize for their needs.
  4777. 3:40:20So if you go to templates there are
  4778. 3:40:22templates that are available. It says
  4779. 3:40:25notebook types investigation and
  4780. 3:40:27hunting. You can filter it here as well.
  4781. 3:40:30Configuration getting started hunting
  4782. 3:40:33investigation. Let's close this for now.
  4783. 3:40:37Also right if you go to this uh
  4784. 3:40:39github.com Azure Azure Sentinel
  4785. 3:40:42notebooks you can import notebooks from
  4786. 3:40:45this repository as well. So you can use
  4787. 3:40:49Jupiter notebook functions using
  4788. 3:40:51browserbased interface or kernel that is
  4789. 3:40:55execution engine. Browserbased interface
  4790. 3:40:59this is where you write and run code
  4791. 3:41:01such as Python and KQL queries and the
  4792. 3:41:05results including text output tables and
  4793. 3:41:08visualizations are displayed on the
  4794. 3:41:10browser. And in the kernel execution
  4795. 3:41:13engine, the kernel processes the code
  4796. 3:41:15and returns results. And in Microsoft
  4797. 3:41:18Sentinel, the kernel runs on an Azure
  4798. 3:41:20virtual machine that is VM. The VM can
  4799. 3:41:23handle multiple notebooks at the same
  4800. 3:41:26time. And if complex machine learning
  4801. 3:41:28models are used, more powerful VM
  4802. 3:41:30options are available. We can use Python
  4803. 3:41:34packages as well in Microsoft Sentinel
  4804. 3:41:36notebooks. These are reusable libraries
  4805. 3:41:39that help simplify coding by providing
  4806. 3:41:42pre-written functions for various tasks.
  4807. 3:41:46Microsoft Sentinel notebooks rely on
  4808. 3:41:48several popular Python packages like for
  4809. 3:41:50example pandas. These are used for uh
  4810. 3:41:54data processing and manipulation.
  4811. 3:41:57There is also something called as Mystic
  4812. 3:41:59Pi. This is a security focused Python
  4813. 3:42:02package and Microsoft Sentinel notebooks
  4814. 3:42:05use Mystic Pi and this is a specialized
  4815. 3:42:08package designed for threat hunting and
  4816. 3:42:11security investigations, data enrichment
  4817. 3:42:14and analysis visualizing security data.
  4818. 3:42:18Now we will create a Sentinel notebook.
  4819. 3:42:21For that it's the same location under
  4820. 3:42:23threat management notebooks templates.
  4821. 3:42:27Under this, we'll select get started
  4822. 3:42:30guide for Microsoft Sentinel ML
  4823. 3:42:32notebooks.
  4824. 3:42:34So this notebook serves as a beginner's
  4825. 3:42:36guide to using Jupiter notebooks for
  4826. 3:42:39security investigations in Microsoft
  4827. 3:42:41Sentinel. So it basically walks you
  4828. 3:42:43through the fundamental steps needed to
  4829. 3:42:45start working with Sentinel notebooks
  4830. 3:42:48and provides references to additional
  4831. 3:42:50documentation for advanced capabilities.
  4832. 3:42:54So why we recommend to run this notebook
  4833. 3:42:56first? This notebook helps you to
  4834. 3:42:59understand the core features of Sentinel
  4835. 3:43:01notebooks. Learn how to analyze security
  4836. 3:43:04data using pre-built notebooks and get
  4837. 3:43:07familiar with data visualization and
  4838. 3:43:09threat hunting techniques. So what this
  4839. 3:43:13uh notebook basically does is that it
  4840. 3:43:15attempts to use sign-in logs data from
  4841. 3:43:18your Microsoft Sentinel workspace.
  4842. 3:43:21But note that realtime data is not
  4843. 3:43:24available. It will automatically switch
  4844. 3:43:25to sample data for demonstration
  4845. 3:43:28purposes
  4846. 3:43:29and then you click create from template
  4847. 3:43:33and we get this error saying Azure
  4848. 3:43:36machine learning workspace is required.
  4849. 3:43:39So this workspace is for providing the
  4850. 3:43:43necessary compute resources and
  4851. 3:43:44infrastructure to execute Jupyter
  4852. 3:43:46notebooks.
  4853. 3:43:48So for that first let's go to the search
  4854. 3:43:52bar and search for Azure machine
  4855. 3:43:55learning
  4856. 3:43:57and select Azure machine learning. Click
  4857. 3:44:00create new workspace for ML projects and
  4858. 3:44:04teams subscription is the same. I will
  4859. 3:44:07select the same Sentinel group uh
  4860. 3:44:10resource group name
  4861. 3:44:15Sentinel notebooks demo
  4862. 3:44:21region same it has a storage account key
  4863. 3:44:24vault and there is application insights
  4864. 3:44:27as well. So these will be newly created.
  4865. 3:44:30If you don't want them uh to create new
  4866. 3:44:32ones, you can use the already existing
  4867. 3:44:35uh storage accounts or keywords or
  4868. 3:44:37application insights, but you need to
  4869. 3:44:39specify them here.
  4870. 3:44:41Next, networking. I will continue with
  4871. 3:44:44the public one. Workspace is accessed
  4872. 3:44:47via public endpoint. So, I'll go with
  4873. 3:44:49the same. And then next is uh
  4874. 3:44:53encryption. So, this says your data is
  4875. 3:44:56encrypted by default using Microsoft
  4876. 3:44:58manage keys. So that is great. You there
  4877. 3:45:01is also an option that you can say
  4878. 3:45:03encrypt data using a customer managed
  4879. 3:45:05key but I'll stick with Microsoft manage
  4880. 3:45:08keys for now. And it also says once the
  4881. 3:45:11workspace is created you cannot change
  4882. 3:45:13the configuration.
  4883. 3:45:15So this is good. I'll go next.
  4884. 3:45:19I will go with the default settings here
  4885. 3:45:21as well. Access type storage account
  4886. 3:45:23credential based access. Next one is
  4887. 3:45:25tagging. I don't need any tagging here.
  4888. 3:45:28Next click review and create. It is
  4889. 3:45:32running final validation. Now the
  4890. 3:45:34validation is passed. I'm going to click
  4891. 3:45:36create to create this resource and it is
  4892. 3:45:41deployment is in progress. Now you can
  4893. 3:45:44see that different resources are getting
  4894. 3:45:46created. Application insight storage
  4895. 3:45:48account key wall log analytics
  4896. 3:45:50workspace.
  4897. 3:45:52Now you can see that your deployment is
  4898. 3:45:54complete. We'll go to resource and this
  4899. 3:45:57is how your machine learning workspace
  4900. 3:46:00looks. Now let's go back to Sentinel.
  4901. 3:46:03Search for Sentinel.
  4902. 3:46:05Sentinel workspace. Let me minimize
  4903. 3:46:08this. Go to threat management notebooks.
  4904. 3:46:12In that templates, we'll select a
  4905. 3:46:14getting started guide for Microsoft
  4906. 3:46:17Sentinel ML notebooks. Create from
  4907. 3:46:20template. We don't get that error
  4908. 3:46:23message anymore saying that you need
  4909. 3:46:25Azure machine learning workspace. It's
  4910. 3:46:27already selected the one that is
  4911. 3:46:29available. Sentinel notebooks demo. Now
  4912. 3:46:32let's say save.
  4913. 3:46:35And now creating notebook.
  4914. 3:46:38Cloning notebook. Notebook was saved
  4915. 3:46:40successfully. Let's launch the notebook.
  4916. 3:46:44And then we land here Azure AI Machine
  4917. 3:46:46Learning Studio. Notebooks require a
  4918. 3:46:49compute environment to run Python
  4919. 3:46:51scripts, perform security investigations
  4920. 3:46:53and process large data sets and that is
  4921. 3:46:57why machine learning compute is needed.
  4922. 3:47:00So if you see here there is compute
  4923. 3:47:03and there's automatically serverless
  4924. 3:47:06compute available. If you don't want to
  4925. 3:47:08use this, you can create a new one. Let
  4926. 3:47:11me create a new one. So click that add
  4927. 3:47:14mark. Compute name. I'm going to keep it
  4928. 3:47:17as Sentinel demo. Virtual machine type,
  4929. 3:47:20I will go with CPU. The size
  4930. 3:47:23recommendation virtual machine size.
  4931. 3:47:27The recommended one is this one, memory
  4932. 3:47:30optimized,
  4933. 3:47:32but you can select any other one as
  4934. 3:47:34well. I'll go with the cheaper one for
  4935. 3:47:37now. And then say review and create.
  4936. 3:47:41It'll ask you to review it and then you
  4937. 3:47:45can click create. It says compute
  4938. 3:47:47creation is in progress. You can now see
  4939. 3:47:50it in your list of computes. So we will
  4940. 3:47:52have to wait for this to complete. So
  4941. 3:47:55here you can see that Sentinel demo the
  4942. 3:47:58one that we created right now is getting
  4943. 3:48:00created.
  4944. 3:48:03Now you see that compute Sentinel demo
  4945. 3:48:06uh provisioning succeeded. It took me
  4946. 3:48:09around 5 minutes to get this completely
  4947. 3:48:11created. Okay. So now it says that the
  4948. 3:48:14computer is running. Now let's see what
  4949. 3:48:17the notebook says. First it is talking
  4950. 3:48:20about the prerequisites, some
  4951. 3:48:21permissions which we already have. Then
  4952. 3:48:23the contents of this notebook. What is
  4953. 3:48:26Jupyter notebook? We went through it.
  4954. 3:48:28And then running code in notebooks.
  4955. 3:48:31We'll see that in a minute. Let me
  4956. 3:48:33minimize this so that it's easier to
  4957. 3:48:37read.
  4958. 3:48:38And then we initialize the notebook and
  4959. 3:48:41mysticpy query data from Microsoft
  4960. 3:48:43Sentinel. We also configure and test
  4961. 3:48:47external data providers. We connect to
  4962. 3:48:49virus total and geolite 2.
  4963. 3:48:53This is only an introduction. What is a
  4964. 3:48:55notebook? Jupyter notebooks. We already
  4965. 3:48:57went through it. So I'm going to skip
  4966. 3:48:59this part. What is Jupyter notebook?
  4967. 3:49:02Then the next part is running code in
  4968. 3:49:04notebooks. This part explains how
  4969. 3:49:08markdown and code cells work in Jupyter
  4970. 3:49:10notebooks particularly in Azure ML
  4971. 3:49:13notebooks and VS code. So if I scroll
  4972. 3:49:17down you see add code cell as well as
  4973. 3:49:20add markdown cell. Markdown cells it is
  4974. 3:49:24used for writing text explanations
  4975. 3:49:26documentation and even HTML formatting.
  4976. 3:49:30It does not execute code but helps
  4977. 3:49:32organize and explain notebook content.
  4978. 3:49:36And then there is code cells that
  4979. 3:49:38contain Python or KQL code for
  4980. 3:49:41execution. And you can run queries,
  4981. 3:49:43calculations, machine learning, modules
  4982. 3:49:45and visualizations.
  4983. 3:49:48And there is a run button that is play
  4984. 3:49:50button here. If you want to run this
  4985. 3:49:52code, you can just say run cell and it
  4986. 3:49:55says congratulations. You can just you
  4987. 3:49:58just ran this code cell 2 + 2 is equal
  4988. 3:50:00to 4. You can also edit this. Suppose
  4989. 3:50:03say I'm going to say 2 + 22 and also in
  4990. 3:50:07the print statement I'll make it 22. If
  4991. 3:50:10I run this, it says 2 + 22 is 24. So you
  4992. 3:50:15can modify this as well. And there are
  4993. 3:50:18other options as well available here.
  4994. 3:50:20You can say clear output. If I click on
  4995. 3:50:22clear output, the output that we got is
  4996. 3:50:25cleared.
  4997. 3:50:26and the output. So let me run this again
  4998. 3:50:29then the output 2 + 22 is stored in this
  4999. 3:50:33variable y now.
  5000. 3:50:36So next if I scroll down so in Jupyter
  5001. 3:50:39notebooks variable set within a code
  5002. 3:50:42cell persist across other cells as well
  5003. 3:50:44meaning you can use and modify them
  5004. 3:50:47throughout your notebook. So this allows
  5005. 3:50:50you to chain cells together and build on
  5006. 3:50:53previous computation. So this value y
  5007. 3:50:55the variable y is carried on to the next
  5008. 3:50:58cell. And if I say y + 2 run this it
  5009. 3:51:02becomes 26. 24 is taken from here 26.
  5010. 3:51:0726 at the bottom. Next one is
  5011. 3:51:10initializing the notebook and mystic pi.
  5012. 3:51:13And the next step is initializing
  5013. 3:51:16notebooks. So initializing the notebook
  5014. 3:51:18and mystic pi. So let me scroll down.
  5015. 3:51:22For this we will have to run this code.
  5016. 3:51:25I'm going to hit run.
  5017. 3:51:28It says checking upgrade to latest
  5018. 3:51:30Mystic Pi version.
  5019. 3:51:32And in the note you already see that
  5020. 3:51:35don't be alarmed if you see
  5021. 3:51:36configuration warning such as missing
  5022. 3:51:38Mystic Pi uh config YAML. So this is
  5023. 3:51:42completely fine if you get errors like
  5024. 3:51:44this. So let me scroll down. It is still
  5025. 3:51:46checking upgrade to latest Mystic Pi
  5026. 3:51:48version. Uh it says starting AML
  5027. 3:51:51notebook pre-checks.
  5028. 3:51:54Azure CLI authentication recommended.
  5029. 3:51:57Okay, we'll look into it. Notebook
  5030. 3:52:00pre-checks complete.
  5031. 3:52:02Once this is done, next scroll down
  5032. 3:52:05again and see you can see the warning
  5033. 3:52:08could not find mistake by config. That
  5034. 3:52:10is fine. So after initializing notebooks
  5035. 3:52:14we are getting this error and the note
  5036. 3:52:17says you may need to restart the kernel
  5037. 3:52:19to use updated packages.
  5038. 3:52:22So let me restart it. So if you see here
  5039. 3:52:24at the top there is restart kernel and
  5040. 3:52:27run all cells and there is interrupt
  5041. 3:52:30kernel then restart kernel. Let's do
  5042. 3:52:32restart kernel. It says do you want to
  5043. 3:52:35restart the current kernel? All
  5044. 3:52:37variables will be lost. That is fine.
  5045. 3:52:39Let's restart it. I will also
  5046. 3:52:41authenticate here because we changed the
  5047. 3:52:44computer. It asked me to authenticate.
  5048. 3:52:46Let me authenticate there as well. It
  5049. 3:52:49takes me to the another window.
  5050. 3:52:52Now it says successfully authenticated
  5051. 3:52:54to the compute. You can now use any
  5052. 3:52:56Azure SDK.
  5053. 3:52:59Now we will verify Microsoft Sentinel
  5054. 3:53:02settings. For this, scroll down and run
  5055. 3:53:04this query. And it is giving us a lot of
  5056. 3:53:08errors.
  5057. 3:53:10And it says the error is here where it
  5058. 3:53:12is printing JSON.dumps.
  5059. 3:53:19Uh if I go back that line is here.
  5060. 3:53:23MP config dot settings is not a standard
  5061. 3:53:26dictionary uh that can be converted to
  5062. 3:53:29JSON. So instead it is likely a custom
  5063. 3:53:32object that needs to be converted before
  5064. 3:53:34using JSON dump. So let's try doing
  5065. 3:53:37that. So I'm going to use
  5066. 3:53:41this with this function an additional
  5067. 3:53:44one. So I'm going to comment the
  5068. 3:53:47previous one and let's see if that
  5069. 3:53:49works. Let me run this.
  5070. 3:53:56Yes, now the sample data is changed to
  5071. 3:53:59the data that I have that is Sentinel RG
  5072. 3:54:02is my resource group, my resour uh
  5073. 3:54:04subscription ID, tenant ID, workspace ID
  5074. 3:54:07and the workspace name. So this is
  5075. 3:54:09working well. Let's scroll down. The
  5076. 3:54:11next one is to configure your Azure uh
  5077. 3:54:14cloud. This is optional and this needs
  5078. 3:54:17to be done only if you're running in
  5079. 3:54:20government cloud. So we most of the
  5080. 3:54:22times it is not true. So we will skip
  5081. 3:54:24this section and the next part is load a
  5082. 3:54:27query provider for Microsoft Sentinel.
  5083. 3:54:31So it says the query provider is the
  5084. 3:54:33object you use to querying data from uh
  5085. 3:54:36MS uh Microsoft Sentinel and make it
  5086. 3:54:39available to view and analyze in the
  5087. 3:54:42notebook. So for that you need to run
  5088. 3:54:44this query and the next part is to
  5089. 3:54:46authenticate to the Microsoft Sentinel
  5090. 3:54:49workspace.
  5091. 3:54:51Let's execute this code.
  5092. 3:54:53Now it says connected and remember we
  5093. 3:54:57authenticated here before we had this
  5094. 3:54:59authentication label or error message or
  5095. 3:55:02warning message and we clicked
  5096. 3:55:04authenticate. It is exact. If you have
  5097. 3:55:06not done that then you'll get an error
  5098. 3:55:08message here. We did that previously. So
  5099. 3:55:11it says connected now and then says test
  5100. 3:55:14your connection using a mystic pi
  5101. 3:55:16built-in Microsoft Sentinel query. Let
  5102. 3:55:18me run this.
  5103. 3:55:20And now as you see it returned results
  5104. 3:55:23that means the connection is working.
  5105. 3:55:25There is nothing the query uh returned
  5106. 3:55:28no rows for this time range that is
  5107. 3:55:30completely fine but it is still working.
  5108. 3:55:33The connection is good. And the next
  5109. 3:55:35step is to configure and test external
  5110. 3:55:38data providers virus total and goite.
  5111. 3:55:42In that the first option is to configure
  5112. 3:55:45Azure key vault to store secrets. This
  5113. 3:55:48is an optional thing. I would recommend
  5114. 3:55:50doing it if you're doing it in the
  5115. 3:55:51production environment. For now, we will
  5116. 3:55:54not. We will skip this section. And then
  5117. 3:55:57it says configure and test virus total.
  5118. 3:56:01It also gives you a link to virus total.
  5119. 3:56:04Let's open this in a new tab.
  5120. 3:56:07It goes to virus total.com.
  5121. 3:56:11And then uh this is a powerful threat
  5122. 3:56:13intelligence source. So to connect this
  5123. 3:56:17you need a virus total account and an
  5124. 3:56:20API key. To sign up there is another
  5125. 3:56:23link. Let's go open that to virus total
  5126. 3:56:27and let's create an account.
  5127. 3:56:30Oh okay. This is just a documentation.
  5128. 3:56:32We don't need this. Let's just go to
  5129. 3:56:35virus total homepage and then say sign
  5130. 3:56:38up. Enter your name and then say join
  5131. 3:56:42us. It's creating my account. I am not a
  5132. 3:56:46robot.
  5133. 3:56:48Signed up successfully. So, let's go
  5134. 3:56:50back. Sign in. So, now I've signed up
  5135. 3:56:55and signed in to virus total. And then
  5136. 3:56:58if you click on your profile, there is
  5137. 3:56:59API key. This is the API key that we
  5138. 3:57:02need later. Let's go back to notebooks
  5139. 3:57:05now. And let's run this. It is just
  5140. 3:57:09initializing.
  5141. 3:57:10And here select TI providers.
  5142. 3:57:15It says loading. And then here add
  5143. 3:57:18provider. I'm going to select virus
  5144. 3:57:20total. And then add. And this is the
  5145. 3:57:23place where you provide your API key.
  5146. 3:57:26Let's go back to virus total. Copy the
  5147. 3:57:29API key. Go back. Add the value here.
  5148. 3:57:34And then if you scroll down there is
  5149. 3:57:36update and then say save settings and
  5150. 3:57:41then scroll down and run this again. And
  5151. 3:57:45then here we go to goip providers. It's
  5152. 3:57:48loading. Let's give it a minute. Here
  5153. 3:57:50you select goip lights.
  5154. 3:57:54And this is the goite to sign up page.
  5155. 3:57:57You need to sign up here. Provide your
  5156. 3:57:59name, your company name. Once you select
  5157. 3:58:03go IP light click add and it's loading
  5158. 3:58:08now you provide the API key now once you
  5159. 3:58:11sign up and create your account in J
  5160. 3:58:14light 2 and then once that is done it is
  5161. 3:58:17the same thing you'll have to run these
  5162. 3:58:20um cells and then you can test virus
  5163. 3:58:25total lookup by running this
  5164. 3:58:29and this is a sample data that is run
  5165. 3:58:31there is an IP address that is selected
  5166. 3:58:33it is running and it's gives you the
  5167. 3:58:36data from virus total.
  5168. 3:58:38Uh it's the same thing for test go
  5169. 3:58:41location as well. So you get all the
  5170. 3:58:43details here. You can also see the raw
  5171. 3:58:46details of that IP address. And then if
  5172. 3:58:49you scroll down there is test IP geol
  5173. 3:58:52location lookup. I have not added the
  5174. 3:58:54geoloccation, API key and the account
  5175. 3:58:56details but you can do that for geoloite
  5176. 3:58:592 as well and you will get similar
  5177. 3:59:02results. It'll fetch the data and that's
  5178. 3:59:04it about Microsoft Sentinel notebooks
  5179. 3:59:07guys. Let's go to the next chapter. In
  5180. 3:59:10this chapter we will discuss incident
  5181. 3:59:12response and Microsoft Sentinel. This is
  5182. 3:59:15a critical aspect of security
  5183. 3:59:17operations.
  5184. 3:59:18What is incident response? Incident
  5185. 3:59:20response is a structured approach that
  5186. 3:59:22organizations take to detect,
  5187. 3:59:26investigate, and respond to cyber
  5188. 3:59:28security threats and security breaches.
  5189. 3:59:32The goal of the incident response is to
  5190. 3:59:34minimize damage, recover quickly, and
  5191. 3:59:38prevent future incidents.
  5192. 3:59:40Now, let's look at some of the key
  5193. 3:59:42phases of incident response.
  5194. 3:59:45First phase is preparation. So before
  5195. 3:59:48any incident occurs right, organizations
  5196. 3:59:51must be ready to handle potential
  5197. 3:59:53threats.
  5198. 3:59:55So this involves developing an incident
  5199. 3:59:57response plan, defining roles and
  5200. 4:00:01responsibilities of the IR team. Next,
  5201. 4:00:04setting up security tools, for example,
  5202. 4:00:06SIM solutions, EDR solutions, and
  5203. 4:00:09firewalls.
  5204. 4:00:10And then conducting training and running
  5205. 4:00:13tabletop exercises.
  5206. 4:00:15and then creating playbooks for
  5207. 4:00:18automated responses. So these are some
  5208. 4:00:20of the key steps in preparation.
  5209. 4:00:23Next phase is detection and
  5210. 4:00:25identification. So this phase focuses on
  5211. 4:00:28identifying suspicious activities that
  5212. 4:00:31could indicate an attack. Security
  5213. 4:00:33tools, logs and monitoring systems play
  5214. 4:00:36a crucial uh role in this step. So this
  5215. 4:00:40basically includes threat detection that
  5216. 4:00:42is using SIMs like Microsoft Sentinel,
  5217. 4:00:45Splunk to analyze logs and alerts.
  5218. 4:00:50Next one is incident triage. So this is
  5219. 4:00:52classifying incidents based on severity
  5220. 4:00:55and impact. So in the previous chapters
  5221. 4:00:57we saw that we can use automation rules
  5222. 4:01:00in Microsoft Sentinel to do this.
  5223. 4:01:03Next is verification that is determining
  5224. 4:01:05whether it is a false positive or an
  5225. 4:01:08actual threat. So an example for this
  5226. 4:01:11phase would be say Sentinel detects
  5227. 4:01:14multiple failed login attempts from an
  5228. 4:01:16unusual location and then triggers an
  5229. 4:01:18alert for potential credential theft.
  5230. 4:01:22Next phase is containment. So once an
  5231. 4:01:24incident is confirmed, the goal is to
  5232. 4:01:26prevent it from spreading and limit
  5233. 4:01:28damage. So this can include short-term
  5234. 4:01:31containment that is isolating affected
  5235. 4:01:34systems or accounts
  5236. 4:01:36and forensic analysis like collecting
  5237. 4:01:38evidence before making changes like for
  5238. 4:01:41example if ransomware is detected the
  5239. 4:01:44affected machine is quarantined to stop
  5240. 4:01:46further encryption. Next step is uh
  5241. 4:01:50eradication.
  5242. 4:01:52After containment the root cause of the
  5243. 4:01:54incident must be removed. So this can
  5244. 4:01:56involve items like removing malware or
  5245. 4:02:00back doors that is cleaning the infected
  5246. 4:02:03systems,
  5247. 4:02:05patching vulnerabilities like fixing
  5248. 4:02:07security gaps that allowed the attack,
  5249. 4:02:10updating security policies, for example,
  5250. 4:02:13adjusting firewall rules or access
  5251. 4:02:15controls.
  5252. 4:02:16An example would be if an attacker
  5253. 4:02:19exploited a vulnerability in outdated
  5254. 4:02:21software, the software is patched and
  5255. 4:02:24all affected endpoints are scanned for
  5256. 4:02:26residual uh threats.
  5257. 4:02:29Next phase of incident response is
  5258. 4:02:31recovery. So the the focus here is to
  5259. 4:02:35restore normal operations while ensuring
  5260. 4:02:38no threats remain. This includes system
  5261. 4:02:41restoration that is bringing cleaned and
  5262. 4:02:43secured systems back online.
  5263. 4:02:46Monitoring for reoccurrence that is
  5264. 4:02:49watching for signs of reinfection.
  5265. 4:02:52Credential rotation that is resetting
  5266. 4:02:55passwords and strengthening access
  5267. 4:02:57controls. An example of recovery stage
  5268. 4:03:00would be that after removing malware,
  5269. 4:03:02all business applications are restored
  5270. 4:03:04from backups and logs are closely
  5271. 4:03:07monitored for anomalies.
  5272. 4:03:10The next key phase is lessons learned.
  5273. 4:03:14So once the incident is fully resolved,
  5274. 4:03:16a post incident review is conducted to
  5275. 4:03:19improve future responses.
  5276. 4:03:22So this includes incident report that is
  5277. 4:03:25documenting what happened impact and
  5278. 4:03:27response steps. Next process improvement
  5279. 4:03:31that is updating policies and security
  5280. 4:03:34tools.
  5281. 4:03:35Next training and awareness educating
  5282. 4:03:38employees on how to prevent similar
  5283. 4:03:40incidents. So an example of lessons
  5284. 4:03:43learned phase would be that if an attack
  5285. 4:03:45occurred due to fishing, organizations
  5286. 4:03:48implement stronger email security
  5287. 4:03:50filters and conduct employee training on
  5288. 4:03:54recognizing fishing emails.
  5289. 4:03:56So these are the key phases of incident
  5290. 4:04:00response. Now we'll go to the Azure
  5291. 4:04:03portal to see how we can do this in
  5292. 4:04:06Microsoft Sentinel tool. So we have
  5293. 4:04:09already discussed thread detection. I'm
  5294. 4:04:11not going to go in depth on that.
  5295. 4:04:15So as soon as you log into Microsoft
  5296. 4:04:17Sentinel in the overview tab, you
  5297. 4:04:20already see how many incidents are
  5298. 4:04:22available. I mean how many incidents are
  5299. 4:04:24open, they are active
  5300. 4:04:26or they are closed in the past uh 24
  5301. 4:04:30hours.
  5302. 4:04:31So you can get that information here as
  5303. 4:04:34well. So if you want to check more data
  5304. 4:04:36on incidents, you go to threat
  5305. 4:04:38management under that incidents. Let me
  5306. 4:04:42minimize this and close this too. So
  5307. 4:04:46here it gives you a basic information
  5308. 4:04:48saying there are four open incidents.
  5309. 4:04:52There is one new incident, one, three
  5310. 4:04:55active incidents. So new, active,
  5311. 4:04:58closed, all these are the statuses. So
  5312. 4:05:01here if you see the status of an
  5313. 4:05:04incident can be new, active or closed.
  5314. 4:05:09Let me close this for now. So you can
  5315. 4:05:12see this from here. And it also tells
  5316. 4:05:15you the severity of those incidents.
  5317. 4:05:18There are three high incidents and one
  5318. 4:05:21medium severity incident. There are zero
  5319. 4:05:23low ones and zeroformational.
  5320. 4:05:26So that also if you go to this any
  5321. 4:05:29incident for that matter you can see
  5322. 4:05:32here high uh that is the severity high
  5323. 4:05:35medium low andformational
  5324. 4:05:38and this is where you manage
  5325. 4:05:42this top panel is the one where you
  5326. 4:05:45manage all the incidents like bulk
  5327. 4:05:47manage incidents you can create
  5328. 4:05:49incident. So if you click here, you can
  5329. 4:05:52also manually create an incident if it
  5330. 4:05:54is not triggered. You provide the title,
  5331. 4:05:58description, severity, status and owner.
  5332. 4:06:01You can assign it to one of the users.
  5333. 4:06:05You can also assign a tag to it and then
  5334. 4:06:08create one.
  5335. 4:06:10And the next one is to refresh.
  5336. 4:06:12You can also enable this auto refresh
  5337. 4:06:15incident. So you don't have to use this
  5338. 4:06:17button. And then there is this time
  5339. 4:06:20where you can say last 30 days, 14 days,
  5340. 4:06:247 days or you can also use custom range
  5341. 4:06:27to check your incidents if you're
  5342. 4:06:29looking for something particular.
  5343. 4:06:32And then actions.
  5344. 4:06:34So in actions you can bulk change the
  5345. 4:06:38severity of incidents and assign it to
  5346. 4:06:41some owner and status. Bulk change them
  5347. 4:06:45also the tax. And if you don't want any
  5348. 4:06:48incident, you can delete them as well.
  5349. 4:06:51Remember that this action is not
  5350. 4:06:53reversible, it will not show up again
  5351. 4:06:55here. But you can see it in the security
  5352. 4:06:58incident table in the log screen. For
  5353. 4:07:01now, I'll say no. So what it is talking
  5354. 4:07:04about is if you go to general and then
  5355. 4:07:06under that logs, let's close this. Let's
  5356. 4:07:10select KQL mode and search for security
  5357. 4:07:15incidents.
  5358. 4:07:17This is the table say run.
  5359. 4:07:20So this table has all the details of the
  5360. 4:07:24incidents also. So you can find it here
  5361. 4:07:27once it is deleted but it will not come
  5362. 4:07:30back in the portal back there in the
  5363. 4:07:32overview or you know incidents tab. And
  5364. 4:07:35then there is security efficiency
  5365. 4:07:38workbook.
  5366. 4:07:39So this is a built-in dashboard designed
  5367. 4:07:42to help sock teams measure and optimize
  5368. 4:07:45their efficiency.
  5369. 4:07:48So it tells us how many incidents
  5370. 4:07:50created over time incidents by closing
  5371. 4:07:53classification that we will see when you
  5372. 4:07:55close a um an incident you can choose
  5373. 4:07:59the classification
  5374. 4:08:01and then there is incident created by
  5375. 4:08:03severity by owner status. It also gives
  5376. 4:08:08you the meanantime to triage, meanantime
  5377. 4:08:10to closure.
  5378. 4:08:13So this is a very helpful uh workbook
  5379. 4:08:16for sock team. Let me go back. So let me
  5380. 4:08:20select one of these incidents. So here
  5381. 4:08:23you can assign it to the user. First is
  5382. 4:08:27owner that is unassigned here. You can
  5383. 4:08:30assign it to one of the users or there
  5384. 4:08:32is status which is new, active and
  5385. 4:08:35closed. You can change it from new to
  5386. 4:08:37say active or closed. Severity again
  5387. 4:08:41this is set up with medium but you can
  5388. 4:08:44change it as well. And here it also
  5389. 4:08:47tells you how many events uh do you have
  5390. 4:08:50as evidence? How many alerts are there
  5391. 4:08:52in this incident? When was it last
  5392. 4:08:55updated and when was it created? It also
  5393. 4:08:58gives you entities. We don't have any so
  5394. 4:09:00it is not here.
  5395. 4:09:03It also gives you an incident workbook.
  5396. 4:09:05Let let's open it and see what that is.
  5397. 4:09:09Okay. So, this is giving us details
  5398. 4:09:11about that title, time created,
  5399. 4:09:13severity, status, owner, products,
  5400. 4:09:17alert, bookmarks, labels, if there are
  5401. 4:09:19any classifications.
  5402. 4:09:21It gives you all the details.
  5403. 4:09:25Okay, let's go back. Then it also tells
  5404. 4:09:28you how this uh got generated. It is
  5405. 4:09:31because of the analytics rule rule
  5406. 4:09:33called new user creation NRT. We created
  5407. 4:09:36this in our previous chapters.
  5408. 4:09:40So this rule was created just to
  5409. 4:09:42identify if there was any new user
  5410. 4:09:45created in enter ID. We use the KQL
  5411. 4:09:48query for this that is we grabbed
  5412. 4:09:51operations is equal to add user in audit
  5413. 4:09:54logs. So there next there is tagging. If
  5414. 4:09:57you if you want to tag it, you can also
  5415. 4:10:00do that.
  5416. 4:10:02And then you can write your comments
  5417. 4:10:04here. And then you can go view full
  5418. 4:10:07details.
  5419. 4:10:09So here alert product names. It says
  5420. 4:10:12Microsoft Sentinel here. And this refers
  5421. 4:10:15to the sources or security solutions
  5422. 4:10:18that generated these alerts.
  5423. 4:10:21It can be Microsoft Defender for
  5424. 4:10:23Endpoint, Office 365, identity, cloud,
  5425. 4:10:27identity protection, right? So right now
  5426. 4:10:30it is Microsoft Sentinel. And in the
  5427. 4:10:33status, if you want to close this, you
  5428. 4:10:35can select classification. This is what
  5429. 4:10:37I was talking about before. So it is
  5430. 4:10:40true positive that it is a suspicious
  5431. 4:10:43activity. Then it is benign positive
  5432. 4:10:46that is suspicious but expected. Next
  5433. 4:10:49one is false positive which is incorrect
  5434. 4:10:51alert logic.
  5435. 4:10:53Another one is false positive which is
  5436. 4:10:56incorrect inaccurate data. So either
  5437. 4:11:00there can be false positive because of
  5438. 4:11:02inaccurate data or incorrect alert logic
  5439. 4:11:05and the other one is undetermined. You
  5440. 4:11:08can select one of these while closing an
  5441. 4:11:10incident.
  5442. 4:11:12And then let's see what happens if I go
  5443. 4:11:14to logs.
  5444. 4:11:17So logs it runs the query for security
  5445. 4:11:20incident. If I expand one of these you
  5446. 4:11:23can see the tenant ID, time it
  5447. 4:11:25generated, the incident title and the
  5448. 4:11:29name that is the ID, severity, status,
  5449. 4:11:33owner
  5450. 4:11:34and a lot of other details.
  5451. 4:11:37Okay, let me close this.
  5452. 4:11:40And then there are tasks.
  5453. 4:11:43One of the most critical aspects of
  5454. 4:11:45running an efficient security operation
  5455. 4:11:48center is the standardization of
  5456. 4:11:50processes. That is all analysts follow a
  5457. 4:11:54consistent and structured approach.
  5458. 4:11:57That is to enhance incident response
  5459. 4:12:00effectiveness, reduce human error and
  5460. 4:12:03improve compliance with security best
  5461. 4:12:05practices.
  5462. 4:12:06So one of the ways to achieve that is
  5463. 4:12:09creating a task. So you can add task,
  5464. 4:12:12give a title and then provide the
  5465. 4:12:15description what needs to be done. This
  5466. 4:12:17is to ensure that no critical steps are
  5467. 4:12:19overlooked in handling security threats.
  5468. 4:12:24Actually let me close this and go back
  5469. 4:12:27to another incident. So this incident
  5470. 4:12:29was created before I created automation
  5471. 4:12:32rules. Let me go to one of the other
  5472. 4:12:35incidents and open them. view full
  5473. 4:12:39details and then in the activity log if
  5474. 4:12:42you see it says first incident was
  5475. 4:12:46created at so and so time and then
  5476. 4:12:48incident status was changed to active by
  5477. 4:12:52automation rule automation rule demo. So
  5478. 4:12:55I created an automation rule demo which
  5479. 4:12:58changes the status of an incident from
  5480. 4:13:01new to active whenever an incident is
  5481. 4:13:04created. Then it changes the severity to
  5482. 4:13:07high. And then it changes the owner to
  5483. 4:13:11anybody that you want to.
  5484. 4:13:14And then it also applies a tag saying
  5485. 4:13:17created by automation rule. This is the
  5486. 4:13:20tag that I added in the uh automation
  5487. 4:13:23rule. All of this gets recorded and all
  5488. 4:13:26the data is available in the activity
  5489. 4:13:28log. Here you can also add different
  5490. 4:13:32comments.
  5491. 4:13:34Let me close this and go to tasks.
  5492. 4:13:37There's already a task that is added
  5493. 4:13:40here.
  5494. 4:13:42Why? Because it was in the automation
  5495. 4:13:45rule. So if I go to the automation rule,
  5496. 4:13:48we have already gone through this in the
  5497. 4:13:50previous section. So I'm not going to
  5498. 4:13:53talk more about it. But the automation
  5499. 4:13:55rule is automation rule demo. When an
  5500. 4:13:58incident is triggered from sentinel with
  5501. 4:14:02all the analytic rule names I've
  5502. 4:14:04selected here the action change status
  5503. 4:14:07to active change severity to high then
  5504. 4:14:10assign owner as Navia and then add tag
  5505. 4:14:13saying created by automation rule and
  5506. 4:14:16then I have added a task saying sock
  5507. 4:14:19user creation checks and then the
  5508. 4:14:23checklist of what needs to be done when
  5509. 4:14:25a new user is identified first I'm
  5510. 4:14:28saying that the user request should
  5511. 4:14:30verification should be done that is
  5512. 4:14:32validate the request source is it an
  5513. 4:14:35email is it a service now ticket or if
  5514. 4:14:38there is manager approval for this and
  5515. 4:14:41then request follows the organization's
  5516. 4:14:44acqu uh access request procedures
  5517. 4:14:47confirm that the requesttor has the
  5518. 4:14:49authority to approve user creation so I
  5519. 4:14:52have added the checklist which the sock
  5520. 4:14:55analyst whoever comes here can go
  5521. 4:14:57through it and make sure all of this is
  5522. 4:15:00followed. That is how you can add tasks
  5523. 4:15:03in incidents or or you can add directly
  5524. 4:15:06as well. But I used automation rule to
  5525. 4:15:09add this. You can add other tasks too.
  5526. 4:15:13Suppose same I'm just adding something
  5527. 4:15:16random saying verify with the one who
  5528. 4:15:18created the user account and in the
  5529. 4:15:21description you can same check the
  5530. 4:15:24reason for the user creation
  5531. 4:15:28and then I'm adding let me make this
  5532. 4:15:30bullet points and then I can also add
  5533. 4:15:34make make sure it is according to the
  5534. 4:15:36principle of least privilege so you get
  5535. 4:15:39an idea of what can be done with adding
  5536. 4:15:42tasks
  5537. 4:15:43and then I'll say save. So there's
  5538. 4:15:45another task that is created. So it says
  5539. 4:15:48this is created by me and the other one
  5540. 4:15:50was created by the automation rule.
  5541. 4:15:52Automation rule demo. So I told you I
  5542. 4:15:56used automation rule to add a task. So
  5543. 4:15:59you can also use uh playbooks in
  5544. 4:16:02Microsoft Sentinel to add incident
  5545. 4:16:04tasks. You'll have to select add task
  5546. 4:16:07action in the Microsoft Sentinel con
  5547. 4:16:09connector and this automatically
  5548. 4:16:12attaches a task to the incident that get
  5549. 4:16:14triggered because of that playbook.
  5550. 4:16:17So how do you decide do if you want to
  5551. 4:16:19use automation rule or playbooks to add
  5552. 4:16:22tasks to incidents. So for automation
  5553. 4:16:26rules right it is recommended for simple
  5554. 4:16:29static tasks that don't require external
  5555. 4:16:32conditions or automated actions. So it
  5556. 4:16:35is best for predefined steps that apply
  5557. 4:16:37to all incidents of a certain type. It
  5558. 4:16:40is faster and more efficient as they are
  5559. 4:16:43built in and require no additional
  5560. 4:16:45configurations. Like for example, you
  5561. 4:16:48can say automatically add a review
  5562. 4:16:50incident details task to all high
  5563. 4:16:52severity incidents or you can add a
  5564. 4:16:55check affected users activity logs. Uh
  5565. 4:16:58this is also a task to an incident
  5566. 4:17:00tagged as identity compromise that you
  5567. 4:17:03can do using automation rule.
  5568. 4:17:06And when you want to use playbooks, you
  5569. 4:17:09can use that for advanced scenarios
  5570. 4:17:12where tasks depend on conditions or
  5571. 4:17:15external system responses. And also the
  5572. 4:17:18playbooks support dynamic decision
  5573. 4:17:21making such as evaluating an incident
  5574. 4:17:23context before assigning tasks. So for
  5575. 4:17:26example, a playbook queries a threat
  5576. 4:17:29intelligence uh source to check an IP
  5577. 4:17:32reputation. Then if it is malicious, it
  5578. 4:17:35adds a task saying block the IP address.
  5579. 4:17:38But if it is not, it takes no action on
  5580. 4:17:41it. So that's how you can use playbooks
  5581. 4:17:44and automation rules to create tasks for
  5582. 4:17:47incidents.
  5583. 4:17:49And if you go to logs and uh go to KQL
  5584. 4:17:53mode, search for security incidents.
  5585. 4:17:58Run. Oh, sorry. I need to remove the
  5586. 4:18:01pipe. Run.
  5587. 4:18:04And then if I scroll more to the right,
  5588. 4:18:08there is this field called tasks.
  5589. 4:18:12There is a column under this which there
  5590. 4:18:14is task. And if you want to search only
  5591. 4:18:17for the incidents that have tasks
  5592. 4:18:19assigned to them. So if I scroll to the
  5593. 4:18:22right again to the tasks column,
  5594. 4:18:25you see it is showing me only the
  5595. 4:18:27incidents that have tasks assigned to
  5596. 4:18:29them. So how to read this KQL query?
  5597. 4:18:33Security incident. This is the table
  5598. 4:18:36that contains incident data in Microsoft
  5599. 4:18:39Sentinel. And then there is extent.
  5600. 4:18:43This creates a new column called task
  5601. 4:18:46count without modifying the original
  5602. 4:18:49data.
  5603. 4:18:51Two dynamic tasks. This converts the
  5604. 4:18:54tasks field into a dynamic JSON like
  5605. 4:18:58array. And this one array length to
  5606. 4:19:02dynamic tasks counts the number of tasks
  5607. 4:19:05within the tasks array.
  5608. 4:19:08And then it is storing this data in task
  5609. 4:19:11count. So next is where task count is
  5610. 4:19:16greater than zero. This filters
  5611. 4:19:18incidents where the task count is
  5612. 4:19:20greater than zero. That is incidents
  5613. 4:19:22that contain at least one task. If an
  5614. 4:19:25incident has no tasks, it will be ex
  5615. 4:19:29excluded from the results. So if you
  5616. 4:19:31want to know more about KQL, there is a
  5617. 4:19:33separate chapter on it, a big video. So
  5618. 4:19:37I will link that in the description box.
  5619. 4:19:40Let me close this now. Okay. And then
  5620. 4:19:44there is incident actions. You can
  5621. 4:19:46either run playbook, create automation
  5622. 4:19:49rule or create team. Actually let me
  5623. 4:19:52close this and go back to the incidents.
  5624. 4:19:54Here also there is actions where there
  5625. 4:19:57is investigation run playbook create
  5626. 4:20:01automation rule and create team in
  5627. 4:20:04investigate.
  5628. 4:20:06This is actually the investigation graph
  5629. 4:20:09uh that provides a visual approach to
  5630. 4:20:11analyzing incidents. So we don't have it
  5631. 4:20:13for our incidents because this is a
  5632. 4:20:16simple analytics rule that is creating
  5633. 4:20:18these incidents for the default
  5634. 4:20:20incidents that are created in uh
  5635. 4:20:23sentinel or the analytics rules where
  5636. 4:20:26you have provided all the entities how
  5637. 4:20:28it needs to be projected you will get
  5638. 4:20:31the incident investigate option for now
  5639. 4:20:35let's use the images provided by
  5640. 4:20:37Microsoft to see how it works so invest
  5641. 4:20:42investigation graph enables security
  5642. 4:20:45analysts to explore alerts, entities and
  5643. 4:20:47their relationships in an intuitive way.
  5644. 4:20:51So while this method enhances
  5645. 4:20:53situational awareness, it may require
  5646. 4:20:55frequent context switching compared to a
  5647. 4:20:58structured query based investigation.
  5648. 4:21:01So you just need to go to in actions and
  5649. 4:21:04investigate to launch the graph view and
  5650. 4:21:07the graph will provide you you know
  5651. 4:21:10details about the entities that are
  5652. 4:21:12directly connected to the alert and each
  5653. 4:21:16resource connected further and then you
  5654. 4:21:19can select the entities and open the
  5655. 4:21:22entities page where you can review
  5656. 4:21:24information on that entity. Here it is
  5657. 4:21:27for VM admin and you can hover over any
  5658. 4:21:31entity in the graph to uncover a set of
  5659. 4:21:34expert designed questions tailored to
  5660. 4:21:37that specific entity type. So these
  5661. 4:21:40questions are created by Microsoft
  5662. 4:21:42security professionals and analysts to
  5663. 4:21:45help you guide deeper analysis. They are
  5664. 4:21:48referred to as exploration queries. For
  5665. 4:21:51example, using those exploration
  5666. 4:21:53queries, you can get something like
  5667. 4:21:55related alerts. And by selecting these
  5668. 4:21:59events here, you can actually get the
  5669. 4:22:02raw event results and the query used in
  5670. 4:22:04log analytics for these. And see, it is
  5671. 4:22:08also giving you a timeline for these.
  5672. 4:22:11And if you hover over the timeline, you
  5673. 4:22:14can see which things on the graph occur
  5674. 4:22:17during that time. So that's how you can
  5675. 4:22:21in use the investigate tab to get the
  5676. 4:22:23investigation graph. Let me go back to
  5677. 4:22:26the portal.
  5678. 4:22:28So we saw investigate. The next option
  5679. 4:22:30is run playbook. You can execute a
  5680. 4:22:33playbook on this incident to perform
  5681. 4:22:35automated actions such as enrichment,
  5682. 4:22:37response or collaboration. So if I go
  5683. 4:22:40there and run playbook, I can select the
  5684. 4:22:43playbooks and run them manually. Let me
  5685. 4:22:46close this.
  5686. 4:22:48And the next option is to set up an
  5687. 4:22:51automation rule to apply specific
  5688. 4:22:53actions automatically to future
  5689. 4:22:56incidents generated by the same
  5690. 4:22:58analytics rule and hence reducing the
  5691. 4:23:01manual lo workload. So if I click create
  5692. 4:23:04automation rule,
  5693. 4:23:07it opens a page where it has already
  5694. 4:23:09selected some uh parameters
  5695. 4:23:13and you can modify this.
  5696. 4:23:16Let me close that. And then the last
  5697. 4:23:19option is create team. This is still in
  5698. 4:23:22preview. It will help you to create a
  5699. 4:23:25Microsoft Teams channel to facilitate
  5700. 4:23:28realtime collaboration across different
  5701. 4:23:30teams or departments involved in
  5702. 4:23:32incident response. So if I click create
  5703. 4:23:36sorry if I click create team it takes me
  5704. 4:23:40to the team name. It tells you the
  5705. 4:23:42incident number and then title then team
  5706. 4:23:45description and you can add members to
  5707. 4:23:48that group or groups to that uh team's
  5708. 4:23:52channel and then create the team. So
  5709. 4:23:54this is how an actual incident looks in
  5710. 4:23:57Microsoft Sentinel mostly. This is how
  5711. 4:24:00it does. So initial it is giving you the
  5712. 4:24:03title saying initial access incident
  5713. 4:24:06involving one user. So incident serves
  5714. 4:24:09as a centralized case file that compiles
  5715. 4:24:12all relevant evidence for a specific
  5716. 4:24:15security investigation.
  5717. 4:24:17So these incidents are built from
  5718. 4:24:19alerts. So these alerts can be generated
  5719. 4:24:22by analytics rules within Sentinel or
  5720. 4:24:25imported from third party security tools
  5721. 4:24:27that produce alerts. Each of these
  5722. 4:24:30incidents inherit key attributes from
  5723. 4:24:33alerts uh such as entity uh entities
  5724. 4:24:37involved that is users, IP addresses,
  5725. 4:24:40devices and so on like you can see here.
  5726. 4:24:43And then severity levels to prioritize
  5727. 4:24:47the response. Here it is high. And then
  5728. 4:24:50incident status like we discussed
  5729. 4:24:52before, new, active and closed. And it
  5730. 4:24:55also provides you tactics and
  5731. 4:24:57techniques. This is from MITER attack
  5732. 4:25:00for contextual analysis. This is initial
  5733. 4:25:03axis. So if you see here it is giving
  5734. 4:25:06you the incident timeline all the
  5735. 4:25:08different alerts in this and then
  5736. 4:25:12entities there's an account there are
  5737. 4:25:15like four IP addresses and then the
  5738. 4:25:18similar incidents. So they it gives you
  5739. 4:25:20similar incident so that you know you
  5740. 4:25:22can go back and check the comments and
  5741. 4:25:24find out what was done before. And in
  5742. 4:25:26this if you see evidence there are no
  5743. 4:25:28events that it says not applicable and
  5744. 4:25:31there are 35 alerts in this. I feel like
  5745. 4:25:35what are these bookmarks? These
  5746. 4:25:37bookmarks actually it's called hunting
  5747. 4:25:39bookmarks in Microsoft Sentinel and this
  5748. 4:25:41allows security analysts to save
  5749. 4:25:44important queries and query results for
  5750. 4:25:46future reference. So if I go back to
  5751. 4:25:49logs in Microsoft Sentinel right I've
  5752. 4:25:52run this query saying audit logs where
  5753. 4:25:54operation name contains add usually we
  5754. 4:25:57don't prefer using contains you can use
  5755. 4:25:59equal to equal to add user. So here if
  5756. 4:26:03you select one of these or you know a
  5757. 4:26:06couple of them you can add them. So
  5758. 4:26:09click on add bookmark. It says, "Hunting
  5759. 4:26:12bookmarks enable Microsoft Sentinel
  5760. 4:26:14users to save, tag, annotate, share, and
  5761. 4:26:19investigate results from a log analytics
  5762. 4:26:21query." So this is the bookmark name.
  5763. 4:26:24You can obviously change it. And it says
  5764. 4:26:27event time mapping. Do you want to do it
  5765. 4:26:29as of now or time generated or activity
  5766. 4:26:32date time? Then you can add an entity.
  5767. 4:26:35If you say add entity, you can select IP
  5768. 4:26:39URL or whatever you want here. Close it.
  5769. 4:26:43Add tactics and techniques. This is from
  5770. 4:26:46my attack tank. You can select one of
  5771. 4:26:49those. So our example incident was
  5772. 4:26:51initial access. I'm going to select
  5773. 4:26:53that.
  5774. 4:26:55And then there are tax as well that you
  5775. 4:26:57can add and you can create add your
  5776. 4:27:01notes and create the bookmark. Let me
  5777. 4:27:03just create this as an example. I'll
  5778. 4:27:07close this. If I go to threat management
  5779. 4:27:09under that hunting, I'm going to say
  5780. 4:27:11okay. Here, if I go to bookmarks, I can
  5781. 4:27:15see the one that I saved right now. It
  5782. 4:27:18tells me this is the audit logs and
  5783. 4:27:21audit logs bookmark event time raw
  5784. 4:27:25result of this. And then I can
  5785. 4:27:27investigate on it. say investigate
  5786. 4:27:30and it'll take me to the investigation
  5787. 4:27:33graph. I'll close this and then go back
  5788. 4:27:37to incidents and then in incident
  5789. 4:27:39timeline it is showing us what is the
  5790. 4:27:41alert that you know is attached to this
  5791. 4:27:44incident. You can also click on these
  5792. 4:27:47three dots and remove this alert if you
  5793. 4:27:50think it is not appropriate with this
  5794. 4:27:52incident. You can also add alerts to
  5795. 4:27:55incidents and you can run suppose say
  5796. 4:27:58you click these three dots you can run
  5797. 4:28:01playbook on this alert and also do the
  5798. 4:28:04same with the entities as well. So I
  5799. 4:28:06don't have any entities because I have
  5800. 4:28:08not mapped them using my um analytics
  5801. 4:28:11role. That is the also the warning that
  5802. 4:28:14I'm getting here that you need to do
  5803. 4:28:16that. But I have not done that here. But
  5804. 4:28:19if I had done that, I would have got an
  5805. 4:28:22option like this for my entities as well
  5806. 4:28:24saying you can add to threat
  5807. 4:28:27intelligence or you can run a playbook
  5808. 4:28:30on this saying you know I want to block
  5809. 4:28:32this IP address. So that's it about
  5810. 4:28:34incident response in Sentinel guys.
  5811. 4:28:38Let's go to the next chapter. In this
  5812. 4:28:40next chapter, we will discuss threat
  5813. 4:28:42hunting in Microsoft Sentinel. What is
  5814. 4:28:44threat hunting? How is it different from
  5815. 4:28:47analytic rules? We will learn KQL and
  5816. 4:28:50also how to use hunting queries for
  5817. 4:28:52threat hunting. In this chapter, we will
  5818. 4:28:55cover the basics and the foundation for
  5819. 4:28:58KQL that is required for threat hunting.
  5820. 4:29:01But if you want to know KQL in depth,
  5821. 4:29:04there is another video which I will link
  5822. 4:29:06it in the description box. So what is
  5823. 4:29:09threat hunting? Right. First is threat
  5824. 4:29:12hunting is a proactive cyber security
  5825. 4:29:14approach. In threat hunting, security
  5826. 4:29:17analysts manually search for hidden
  5827. 4:29:20threats that automated security tools
  5828. 4:29:23may have missed. So instead of relying
  5829. 4:29:25on alerts and incidents analysts use
  5830. 4:29:29hypothesis,
  5831. 4:29:30past data that is historical data and
  5832. 4:29:34advanced queries to uncover hidden
  5833. 4:29:36threats.
  5834. 4:29:38In Microsoft Sentinel threat hunting is
  5835. 4:29:41done using custoquy language that is KQL
  5836. 4:29:44in the hunting blade. So let me go to
  5837. 4:29:46the portal, select Microsoft Sentinel
  5838. 4:29:50here and then go to the workspace and
  5839. 4:29:53then here under threat management if I
  5840. 4:29:56select hunting. This is where we usually
  5841. 4:29:59do threat hunting. And this enables
  5842. 4:30:02analysts to analyze logs, spot anomalies
  5843. 4:30:06and investigate suspicious activity
  5844. 4:30:08proactively. And if I scroll down here
  5845. 4:30:11in configuration there is analytics.
  5846. 4:30:15This is the analytic rules. This on the
  5847. 4:30:18other hand, we discussed already that
  5848. 4:30:20these are automated detection mechanisms
  5849. 4:30:23that generate alerts when predefined
  5850. 4:30:26conditions are met. So these rules
  5851. 4:30:29continuously monitor logs and telemetry
  5852. 4:30:32data to detect known threats or
  5853. 4:30:35suspicious patterns. Now let's look at
  5854. 4:30:38the difference between threat hunting
  5855. 4:30:40and analytic rules. So threat hunting is
  5856. 4:30:43a proactive approach whereas analytic
  5857. 4:30:46rules is a reactive approach. Execution
  5858. 4:30:49method in threat hunting in is manual
  5859. 4:30:52and in analytics rule it is automated.
  5860. 4:30:56The objective of threat hunting is to
  5861. 4:30:58find unknown threats and analytic rules
  5862. 4:31:01is to detect known threats. In threat
  5863. 4:31:05hunting, it is interactive in uh
  5864. 4:31:07investigation and analytic rules is
  5865. 4:31:10based on predefined detection logic. The
  5866. 4:31:14use case for thread hunting is mainly to
  5867. 4:31:16search for hidden attack patterns and
  5868. 4:31:20analytic rules is continuously monitor
  5869. 4:31:22for threats. The tool used for uh threat
  5870. 4:31:26hunting is hunting queries and for
  5871. 4:31:30analytic rules are the rules that we
  5872. 4:31:32defined previously in the other chapters
  5873. 4:31:34like scheduled queries or near realtime
  5874. 4:31:37queries. So for threat hunting or for
  5875. 4:31:40analytic rules KQL is the foundation. So
  5876. 4:31:43let's see what is KQL and the basics of
  5877. 4:31:46KQL.
  5878. 4:31:48All of us know that KQL stands for
  5879. 4:31:50custoto query language.
  5880. 4:31:53It is a readonly query language. So what
  5881. 4:31:56is a readonly query language? Readonly
  5882. 4:31:59query language is a type of query
  5883. 4:32:01language that allows users to retrieve
  5884. 4:32:04and analyze data.
  5885. 4:32:07It does not allow to modify, update or
  5886. 4:32:10delete the data. Okay. So that's why it
  5887. 4:32:13is called readonly query language. It's
  5888. 4:32:16mainly used for data exploration,
  5889. 4:32:18reporting and analysis.
  5890. 4:32:21So you can use KQL to write queries in
  5891. 4:32:24Azure data explorer, Azure monitor, log
  5892. 4:32:27analytics, Microsoft Sentinel and other
  5893. 4:32:30Azure uh services.
  5894. 4:32:32KQL follows a structured format for
  5895. 4:32:35writing queries. So it makes it easier
  5896. 4:32:37to read and understand. So now we will
  5897. 4:32:40go to general and then under that logs
  5898. 4:32:44and try to write some KQL queries
  5899. 4:32:47understand KQL basics using security
  5900. 4:32:50events table. So first let me switch
  5901. 4:32:53from simple mode to KQL mode. Minimize
  5902. 4:32:56this. So first in any KQL query is the
  5903. 4:33:00table name. So table name represents the
  5904. 4:33:04data source that is a table from which
  5905. 4:33:07you are querying data. for example,
  5906. 4:33:10security events. So as soon as I start
  5907. 4:33:13writing right, you can see that KQ the
  5908. 4:33:16query language starts giving me options
  5909. 4:33:19and it also has uh tab completion.
  5910. 4:33:24I'll select security events. There are
  5911. 4:33:27other many other tables actually like
  5912. 4:33:29signin logs, device network events,
  5913. 4:33:32audit logs. So security event table is a
  5914. 4:33:35built-in log table in Microsoft Sentinel
  5915. 4:33:38and Azure monitor and it stores Windows
  5916. 4:33:42security event logs collected from the
  5917. 4:33:44connected machines. So if you remember
  5918. 4:33:47in one of the previous chapters we
  5919. 4:33:48connected a Windows machine uh VM to
  5920. 4:33:53Microsoft Sentinel. So we will look at
  5921. 4:33:55the data from that machine. So you can
  5922. 4:33:58remove this pipe first. the table name.
  5923. 4:34:01You can just run the table name and see
  5924. 4:34:03if it has data. So, it does have data.
  5925. 4:34:08And this is the time range. You can
  5926. 4:34:10change the time range from here as well.
  5927. 4:34:1230 minutes, 4 hours, 7 days or custom
  5928. 4:34:16date also.
  5929. 4:34:18And then if I use this pipe operator,
  5930. 4:34:21right? This is used to chain commands
  5931. 4:34:24together. that is passing the output of
  5932. 4:34:26one operation as an input to the next.
  5933. 4:34:30So we will pass the output of security
  5934. 4:34:33event table as an input to the next one
  5935. 4:34:36where we will say count.
  5936. 4:34:39And also here if you click on this arrow
  5937. 4:34:42you can see what the count operator
  5938. 4:34:45does. It says it returns the number of
  5939. 4:34:47records in the input record set and it
  5940. 4:34:50also gives you the syntax and how to use
  5941. 4:34:52it.
  5942. 4:34:54So for now we are using pipe operator to
  5943. 4:34:57get the output of security event table
  5944. 4:35:01and send that as an input to count. So
  5945. 4:35:04each command processes data and then
  5946. 4:35:08passes it to the next command using the
  5947. 4:35:11pipe operator. So if I run this now, so
  5948. 4:35:14it says that these are the number of
  5949. 4:35:16rows and count is an operator that
  5950. 4:35:19simply returns the total number of rows
  5951. 4:35:22or events in the security event table or
  5952. 4:35:25any other table.
  5953. 4:35:27And then the next operator is take. So
  5954. 4:35:32take is used to retrieve a random subset
  5955. 4:35:35of rows from a table. So it is useful
  5956. 4:35:38for quickly previewing data without
  5957. 4:35:41running expensive queries on large data
  5958. 4:35:44sets. So I can say take five. So it'll
  5959. 4:35:48return random five rows. As you can see
  5960. 4:35:52here, these are random. Next time you
  5961. 4:35:55run, you might get different result.
  5962. 4:35:59And instead of take, you can also use
  5963. 4:36:02limit. This does exactly the same thing.
  5964. 4:36:06and take and limit can be used
  5965. 4:36:09interchangeably. So if I say five, it
  5966. 4:36:12will randomly return five random rows.
  5967. 4:36:16So limit is just an alias for take. So
  5968. 4:36:19you can use either with stake and limit
  5969. 4:36:22it is random uh rows that are you know
  5970. 4:36:26retrieved. But with sort is another
  5971. 4:36:29operator you can order results based on
  5972. 4:36:32one or more columns. You can say sort by
  5973. 4:36:37time generated one of the columns in
  5974. 4:36:40security event like you can see here and
  5975. 4:36:42then run this. The default salt order is
  5976. 4:36:46descending.
  5977. 4:36:48But if you want it in ascending order
  5978. 4:36:51you can say asc and then run it. So
  5979. 4:36:55ascending is from smallest to largest or
  5980. 4:36:58oldest to newest for time. uh in
  5981. 4:37:01descending it is from largest to
  5982. 4:37:04smallest that is newest to oldest for
  5983. 4:37:08time. So if I use ASC I will get the
  5984. 4:37:12oldest uh time first. You see this it is
  5985. 4:37:18March 20th. If I just remove this or
  5986. 4:37:22write descending and then run it will be
  5987. 4:37:26March 23rd that is the newest data
  5988. 4:37:28first.
  5989. 4:37:30Similar to sort by, you can also use
  5990. 4:37:33order by. It's going to do the same. So
  5991. 4:37:36if you scroll down here, it exactly
  5992. 4:37:39tells you what is the syntax and how you
  5993. 4:37:42can use it, what is ascending, what is
  5994. 4:37:44descending, where should you provide the
  5995. 4:37:46column name, all the details. So if I
  5996. 4:37:49run this, it's going to fetch me the
  5997. 4:37:51same result as sort by. Next operator is
  5998. 4:37:56project. This is used to select only
  5999. 4:37:59specific columns from a table. So it
  6000. 4:38:02helps reduce unnecessary data and
  6001. 4:38:04improve query efficiency. So I can say
  6002. 4:38:07project and it will start giving me the
  6003. 4:38:11column names here. Uh I can say project
  6004. 4:38:15account,
  6005. 4:38:17then time generated comma and then I can
  6006. 4:38:21say event ID and then run. So if you see
  6007. 4:38:25you'll get only these three columns
  6008. 4:38:27project is for that
  6009. 4:38:30and if you don't want the default column
  6010. 4:38:32names you can also change it like for
  6011. 4:38:35example I can say project user is equal
  6012. 4:38:38to account time is equal to time
  6013. 4:38:42generated
  6014. 4:38:44and ID is equal to event ID. So you see
  6015. 4:38:49this is showing the previous result was
  6016. 4:38:52showing us the default column names
  6017. 4:38:54account time generated event ID. Now I
  6018. 4:38:57will run this. So it changes to the user
  6019. 4:39:01time and ID name. So you can use project
  6020. 4:39:04to rename columns as well. And you can
  6021. 4:39:08also use project to create a new column
  6022. 4:39:12based on a calculated value. Let me
  6023. 4:39:15remove all of this
  6024. 4:39:18and project only event data
  6025. 4:39:22and then run. So the this is the event
  6026. 4:39:25ID data and then I'll say event category
  6027. 4:39:32is equal to two string.
  6028. 4:39:36Two string like you can see converts
  6029. 4:39:39input to a string value. It is a data
  6030. 4:39:42type conversion function. So it converts
  6031. 4:39:45a value into a string that is text
  6032. 4:39:48format and then I will say event ID
  6033. 4:39:53multiplied by 10. If I run this, so this
  6034. 4:39:57is something random that I'm trying to
  6035. 4:39:59explain. So you have the event ID and
  6036. 4:40:01then you created a new column called
  6037. 4:40:03event category and then multi in that
  6038. 4:40:06you're storing event ID multiplied by
  6039. 4:40:1010. So this is how you can do it. So we
  6040. 4:40:13got the event category and event
  6041. 4:40:15category we're storing it as a text
  6042. 4:40:18because you're using two string data
  6043. 4:40:20type here. And the next operator that we
  6044. 4:40:23will see is distinct. So distinct is
  6045. 4:40:26used to remove duplicate values from a
  6046. 4:40:29column or a combination of columns. So
  6047. 4:40:32it returns only unique records from a
  6048. 4:40:35data set. So right now you see event ID
  6049. 4:40:38there are duplicate numbers 4 625 4625
  6050. 4:40:41you know it goes on. So if I want to get
  6051. 4:40:44only the unique values from it I can say
  6052. 4:40:47distinct event id and then run you will
  6053. 4:40:51get only the distinct values in that
  6054. 4:40:54column. Next operator is where. So this
  6055. 4:40:59is used to filter data based on specific
  6056. 4:41:02conditions.
  6057. 4:41:03It works like the where clause in SQL
  6058. 4:41:07allowing you to retrieve only relevant
  6059. 4:41:09rows. Like for example, I will say where
  6060. 4:41:12security event pipet to where event ID
  6061. 4:41:16is equal to is equal to equal to 4625.
  6062. 4:41:23If I run this, so this will filter
  6063. 4:41:26events where event ID is 4625.
  6064. 4:41:30that is it is representing failed login
  6065. 4:41:32attempts. You can also you know combine
  6066. 4:41:36multiple com conditions using and or or
  6067. 4:41:39operator. Like for example, if I say
  6068. 4:41:42event ID is equal to equal to 26 4625
  6069. 4:41:47and
  6070. 4:41:49account is equal to admin and then if I
  6071. 4:41:53run there are no results but if I change
  6072. 4:41:57so if I'm using equal to equal to it'll
  6073. 4:42:00exactly check for the same thing but I
  6074. 4:42:03can say contains and then run we can
  6075. 4:42:06still see results because it's not just
  6076. 4:42:10admin it is administrator
  6077. 4:42:12or you know capital admin. So you can
  6078. 4:42:15use multiple conditions using e uh
  6079. 4:42:18security event using and or or operator.
  6080. 4:42:23So if you're using and you're getting
  6081. 4:42:25event you're getting columns that event
  6082. 4:42:29ID is equal to 4625 and also the account
  6083. 4:42:32contains admin. If I do or it is either
  6084. 4:42:37one of them. And you can also use where
  6085. 4:42:41condition by to filter by time range
  6086. 4:42:44like for example where time generated is
  6087. 4:42:48more than a go 24 hours. So you can use
  6088. 4:42:53it to filter by time range as well. uh
  6089. 4:42:57also something that I wanted to mention
  6090. 4:42:59suppose say if I'm using account
  6091. 4:43:01contains
  6092. 4:43:03admin this filters events where account
  6093. 4:43:06column contains the word admin anywhere
  6094. 4:43:10like what we saw before that it can
  6095. 4:43:13contain anywhere administrator
  6096. 4:43:16somewhere you know windows log demo and
  6097. 4:43:19then administrator
  6098. 4:43:21but if I use has and run it again it
  6099. 4:43:25matches whole words only not the others
  6100. 4:43:29like it is getting only admin right not
  6101. 4:43:32the other things but if I say equal to
  6102. 4:43:36equal to and then run it I will not get
  6103. 4:43:38any results because with has it was in
  6104. 4:43:42capitals and I am writing admin small.
  6105. 4:43:45So top is the next operator. It is used
  6106. 4:43:48to return the highest or lowest n
  6107. 4:43:51records based on a specified column. So
  6108. 4:43:54if I say top four by
  6109. 4:43:59account and then run it. So it is
  6110. 4:44:03returning the number of rows to return
  6111. 4:44:06is four and account is the column to
  6112. 4:44:09sort by and default is descending that
  6113. 4:44:12is largest values first. So you see it
  6114. 4:44:16started wy.
  6115. 4:44:19So if I say top 10
  6116. 4:44:23by time generated and then enter this is
  6117. 4:44:28going to retrieve the top 10 latest
  6118. 4:44:31security events uh that is sorted by
  6119. 4:44:34time generated. You can also get the
  6120. 4:44:37oldest by using ascend operator. So with
  6121. 4:44:41sort it was sorting it but it was
  6122. 4:44:44returning all rows without limiting
  6123. 4:44:46results. But in top it returns only the
  6124. 4:44:50top n rows based on sorting.
  6125. 4:44:54Next operator is summarize. So this is
  6126. 4:44:57used for aggregation that is allowing
  6127. 4:44:59you to group data and apply functions
  6128. 4:45:02like count, sum, average and so on. It
  6129. 4:45:06works similarly to group by in SQL. So
  6130. 4:45:09here if I scroll down it is giving you
  6131. 4:45:12the syntax. It says summarize then the
  6132. 4:45:15summarize parameter and then aggregation
  6133. 4:45:18a call to an aggregation function such
  6134. 4:45:21as count or average. So let's try this
  6135. 4:45:24summarize. Then I will say count and
  6136. 4:45:28then run and this will give you the
  6137. 4:45:30total number of events in security
  6138. 4:45:33events. So we are here counting the
  6139. 4:45:36number of security events. You can also
  6140. 4:45:38store this in an other column same total
  6141. 4:45:41events
  6142. 4:45:44is equal to count and then it stores
  6143. 4:45:47that in a column called total events and
  6144. 4:45:50then you can also use summarize
  6145. 4:45:54event count
  6146. 4:45:57is equal to count
  6147. 4:46:00by event ID and then run. So this counts
  6148. 4:46:05the number of occurrences for each event
  6149. 4:46:08ID. So before we did it for the entire
  6150. 4:46:11table, now we are doing it for each
  6151. 4:46:13event ID. And if you want say only fail
  6152. 4:46:17login count, you can do that as well. So
  6153. 4:46:20I'm going to remove this. Say where
  6154. 4:46:23event ID is equal to equal to sorry
  6155. 4:46:27event ID is equal to equal to 4625
  6156. 4:46:34that is to filter only failed login
  6157. 4:46:36attempts. Then again we will pipe it and
  6158. 4:46:40send it to summarize. Summarize failed
  6159. 4:46:45login count
  6160. 4:46:52is equal to count by account.
  6161. 4:46:56Let me run this. So this counts failed
  6162. 4:46:58login attempts for each account. So all
  6163. 4:47:02of these accounts failed login attempts
  6164. 4:47:04is going on. So mine is a test VM. So it
  6165. 4:47:07doesn't matter. I usually keep it
  6166. 4:47:09closed. So that is how you see the
  6167. 4:47:12failed login attempts the number
  6168. 4:47:16and you can do the same thing using
  6169. 4:47:18event ID 4 624 to get the successful
  6170. 4:47:23login.
  6171. 4:47:24And then we will summarize saying last
  6172. 4:47:27login time
  6173. 4:47:32is equal to max
  6174. 4:47:35time generated
  6175. 4:47:39by account and this finds the most
  6176. 4:47:42recent that is maximum login at login
  6177. 4:47:46time for each user. If I run this, so
  6178. 4:47:48you can see that the most recent login
  6179. 4:47:52time for each user. And you can also use
  6180. 4:47:56summarize to group multi group by
  6181. 4:47:58multiple columns. So let me remove this.
  6182. 4:48:01And then summarize
  6183. 4:48:04event count
  6184. 4:48:06is equal to count by event ID,
  6185. 4:48:14comma, account. So if I run this, this
  6186. 4:48:18groups by both event ID and account
  6187. 4:48:20showing the number of events per user
  6188. 4:48:23like this. Now that we know some basics
  6189. 4:48:26of KQL, let's go back to Microsoft
  6190. 4:48:29Sentinel the homepage. Let's close this.
  6191. 4:48:32Okay. And under threat management, let's
  6192. 4:48:35go to hunting. And there you can create
  6193. 4:48:38a new hunt. Give the hunt name,
  6194. 4:48:41description, owner. You can select the
  6195. 4:48:44status and then hypothesis. Is it
  6196. 4:48:47validated, invalidated, known? We'll do
  6197. 4:48:50this in a minute. But first, let's go to
  6198. 4:48:52queries. It also says the hunting query
  6199. 4:48:56is moved under content hub. So you see
  6200. 4:49:00there are few hunting queries because we
  6201. 4:49:02have connected Windows machine to this.
  6202. 4:49:06So if I go to content management and
  6203. 4:49:10content hub, let me close this. And here
  6204. 4:49:13content type I'm going to select only
  6205. 4:49:16hunting query and then say apply. And
  6206. 4:49:19status I'm going to select only
  6207. 4:49:22installed and then apply. It gives me
  6208. 4:49:24Windows security events. So here you can
  6209. 4:49:27see there are many solutions installed
  6210. 4:49:30under this. If I scroll to the right it
  6211. 4:49:33says content type hunting query is also
  6212. 4:49:36included.
  6213. 4:49:37So there are many of these. Let's take
  6214. 4:49:40one for example, least common processes
  6215. 4:49:43by command line. So either I can run
  6216. 4:49:46query or view results. So this is the
  6217. 4:49:50query that is getting executed here. And
  6218. 4:49:53it says it looks across your environment
  6219. 4:49:55for least common process command lines
  6220. 4:49:59may be noisy and require allow listing.
  6221. 4:50:02And if I scroll down, it also tells you
  6222. 4:50:04the tactic is execution. And then let's
  6223. 4:50:08go and run this query. Click run query.
  6224. 4:50:11When I run query, notice that the
  6225. 4:50:13results go from zero. Right? So there
  6226. 4:50:17are zero results. But still we will go
  6227. 4:50:19ahead and view results here. So no
  6228. 4:50:22results for the specified time range. I
  6229. 4:50:25will go to KQL mode. So this is the
  6230. 4:50:28hunting query. So let's try to
  6231. 4:50:31understand what it is doing here. So
  6232. 4:50:35this query analyzes process creation
  6233. 4:50:38events 4688
  6234. 4:50:41from security event locks and it filters
  6235. 4:50:45suspicious executions while ignoring
  6236. 4:50:48allowed processes and then it summarizes
  6237. 4:50:51occurrences and applies sensitivity
  6238. 4:50:53thresholds to detect anomalies.
  6239. 4:50:57So the let operator here will define the
  6240. 4:51:00variables. So these are the variables
  6241. 4:51:03that are getting defined. First is the
  6242. 4:51:06start time and then there is end time.
  6243. 4:51:08Both of them together they define the
  6244. 4:51:11search time range. So you can see that
  6245. 4:51:14let me actually maximize zoom this more.
  6246. 4:51:18So this two date time is a data type
  6247. 4:51:22conversion function that converts a
  6248. 4:51:24value into a datetime format. Okay. So
  6249. 4:51:28we are taking the start time end time.
  6250. 4:51:30This is to define the search time range.
  6251. 4:51:34And then we are saying look back is
  6252. 4:51:36equal to start time minus. So if you
  6253. 4:51:40hover over it, it tells you what this
  6254. 4:51:42is. So subtract and then 7D that is 7
  6255. 4:51:47days. So it expands the search to 7 days
  6256. 4:51:50before the start time. And then we are
  6257. 4:51:54saying allow list. This is a list of
  6258. 4:51:57known safe processes. So we are uh
  6259. 4:52:01defining that as well. These are the
  6260. 4:52:03safe processes.
  6261. 4:52:05And then the sensitivity this is a
  6262. 4:52:08threshold. The default is five to filter
  6263. 4:52:10out frequent events. Next we are
  6264. 4:52:13querying the security event table where
  6265. 4:52:17time generated between lookup to end
  6266. 4:52:20time that is it keeps the logs within
  6267. 4:52:23the defined time range. And then it says
  6268. 4:52:26event id is equal to equal to 4688
  6269. 4:52:30that is it focuses on process creation
  6270. 4:52:33events. And then new process name does
  6271. 4:52:37not end with this is for do not the
  6272. 4:52:42exclamatory mark ends with cornhost.exe.
  6273. 4:52:46So it ignores anything with
  6274. 4:52:49cornhost.exe.
  6275. 4:52:51This is often a legitimate Windows
  6276. 4:52:53process.
  6277. 4:52:54And then we are using the extend
  6278. 4:52:56operator. Extend operator is used to
  6279. 4:52:59create new calculated columns or modify
  6280. 4:53:02existing ones by adding computed values
  6281. 4:53:06to a data set. So it does not remove any
  6282. 4:53:08existing columns but it will simply
  6283. 4:53:11append the new ones for analysis. Let me
  6284. 4:53:14open a new query. So if I say security
  6285. 4:53:20event pipe it extend event time
  6286. 4:53:26is equal to
  6287. 4:53:28to date time and then time generated.
  6288. 4:53:32Then if I run this this will create a
  6289. 4:53:35new column called event time like you
  6290. 4:53:38can see here with date time format. So
  6291. 4:53:41you can use extend operator to create
  6292. 4:53:45new calculated columns or you know
  6293. 4:53:48modify the existing ones. Let's go back
  6294. 4:53:50to our query here. So you're using
  6295. 4:53:54extend and creating all these new
  6296. 4:53:56columns.
  6297. 4:53:58This extracts the actual process name
  6298. 4:54:01from a full path. Okay. So what we are
  6299. 4:54:04trying to do so if there is a full path
  6300. 4:54:07like this we are trying to extend uh
  6301. 4:54:10extract only cmd.exe exe. Okay, let's go
  6302. 4:54:15back here. This split. So, it splits the
  6303. 4:54:19path into an array by using this
  6304. 4:54:22operator
  6305. 4:54:23backslash. Then array length. This
  6306. 4:54:27counts the folder depth. And this one,
  6307. 4:54:30this is proc array. And then we are
  6308. 4:54:33creating another column where we are
  6309. 4:54:36storing this value in it minus one that
  6310. 4:54:39is proc array length. And then the proc
  6311. 4:54:42is proc array and the last index which
  6312. 4:54:45selects the last item the actual
  6313. 4:54:47executable name. And then we are using
  6314. 4:54:50where to filter and this excludes known
  6315. 4:54:54safe executables. This is the variable
  6316. 4:54:57we defined here allow list where we gave
  6317. 4:55:01the safe execution names and that will
  6318. 4:55:03be removed here. And then we are using
  6319. 4:55:06summarize to aggregate suspicious
  6320. 4:55:09commands and collect relevant metadata.
  6321. 4:55:13So it is getting us start time that is
  6322. 4:55:16the first time that the command appeared
  6323. 4:55:18and the last time the command appeared
  6324. 4:55:21and then this count will give you the
  6325. 4:55:25number of times this command was
  6326. 4:55:27executed. And then we are using dount
  6327. 4:55:30computer that will give you the number
  6328. 4:55:32of unique computers affected that is
  6329. 4:55:36distinct count. And then make set
  6330. 4:55:39computer max size is equal to 500. This
  6331. 4:55:43stores up to 500 affected computers.
  6332. 4:55:47The hosts we are storing up to 500
  6333. 4:55:51affected computers.
  6334. 4:55:53Then we are calculating the number of
  6335. 4:55:55unique users who executed it that is d
  6336. 4:55:59count subject username that is distinct
  6337. 4:56:02count and then again we are storing up
  6338. 4:56:06to 500 user accounts using make set and
  6339. 4:56:10also again we are filtering it using
  6340. 4:56:12where command and using sensitivity. So
  6341. 4:56:16this will only keep low frequency
  6342. 4:56:18events. So if a command appears too
  6343. 4:56:21frequently it's likely a normal process
  6344. 4:56:24that's the concept and then we are
  6345. 4:56:26extending it that is it adds a timestamp
  6346. 4:56:30column start time UTC for easier
  6347. 4:56:34analysis. So in summary what this entire
  6348. 4:56:37hunting query is doing it is detecting
  6349. 4:56:40rare rare processes executions over a
  6350. 4:56:437-day look back period. So we provided
  6351. 4:56:47this and then it ignores safe or known
  6352. 4:56:52processes using this allow list and then
  6353. 4:56:56we are using extract to get the process
  6354. 4:56:59names from full file paths and then it
  6355. 4:57:03groups executions by command line
  6356. 4:57:05arguments to find unique attacks. So we
  6357. 4:57:09are using this. then it counts affected
  6358. 4:57:12hosts and users while filtering out uh
  6359. 4:57:16the frequent events. So this is how this
  6360. 4:57:19hunting query works. I just wanted to
  6361. 4:57:22show you this and explain how hunting
  6362. 4:57:24queries are written. It's usually huge
  6363. 4:57:27queries that you write. So you have to
  6364. 4:57:29get used to KQL to understand the
  6365. 4:57:32hunting queries.
  6366. 4:57:34Now let me close this and then go to
  6367. 4:57:37hunting under threat management and
  6368. 4:57:39create a new hunt and this hunting we
  6369. 4:57:43will do it for entra ID
  6370. 4:57:46audit logs
  6371. 4:57:49I will use the same description and then
  6372. 4:57:52select an owner and the status is new as
  6373. 4:57:55of now and the hypothesis is unknown
  6374. 4:57:58because we haven't validated or
  6375. 4:58:00invalidated it. You'll have to run it to
  6376. 4:58:03see if it is validated or invalidated.
  6377. 4:58:05So I'm going to say unknown and then
  6378. 4:58:08create. So it created the new hunt. Let
  6379. 4:58:12me go to this hunt. So again you can
  6380. 4:58:15select the time here last 24 hours, 48
  6381. 4:58:18hours, whatever the custom range that
  6382. 4:58:21you want. Then there is query action.
  6383. 4:58:23Either you can create a new query or add
  6384. 4:58:26queries to your hunt. So for now we will
  6385. 4:58:29select query actions. New query and the
  6386. 4:58:32name for this we will use the same
  6387. 4:58:34example like before new user creation
  6388. 4:58:39and the query is audit locks where
  6389. 4:58:42operation name is equal to equal to
  6390. 4:58:47add user.
  6391. 4:58:49So that's the query. If I scroll down
  6392. 4:58:52tactics and techniques you can also add
  6393. 4:58:55entity mapping which I'm not going to do
  6394. 4:58:57here because we're keeping it simple.
  6395. 4:58:58You'll have to select the tactics and
  6396. 4:59:00techniques here. I'm going to select
  6397. 4:59:02initial access and persistence and then
  6398. 4:59:06create. So our new query is created. New
  6399. 4:59:09user uh creation. And then we let's
  6400. 4:59:12create another hunting query. This is
  6401. 4:59:15for user deletion.
  6402. 4:59:20And the query would be audit logs where
  6403. 4:59:24operation name is equal to equal to
  6404. 4:59:28delete user.
  6405. 4:59:30And then scroll down tactics and
  6406. 4:59:32techniques. So this is deletion. So it
  6407. 4:59:35is related to evasion of techniques. I
  6408. 4:59:39will say evasion masquerading and then
  6409. 4:59:42create. Now we will try creating and
  6410. 4:59:45deleting a user ID. Let's go to entra id
  6411. 4:59:49and then add user create new user
  6412. 4:59:56test user 4 and I will give the same
  6413. 5:00:00display name and then review and create
  6414. 5:00:04create okay successfully created user
  6415. 5:00:07and then if I go to manage and then
  6416. 5:00:09users I will delete the test user one so
  6417. 5:00:13delete select it and say delete delete
  6418. 5:00:17delete the selected user. Yes, user
  6419. 5:00:19successfully deleted. And then now let's
  6420. 5:00:22go back to our Sentinel. Let's show this
  6421. 5:00:24panel. And then here we will do run
  6422. 5:00:28selected. Okay, we'll select both and
  6423. 5:00:29say run uh selected queries.
  6424. 5:00:33You can see that new user creation the
  6425. 5:00:35result is one. It might take a little
  6426. 5:00:37bit more time for the other one to pop
  6427. 5:00:40up. So let's get back to that later. But
  6428. 5:00:42if I click on this user new user
  6429. 5:00:45creation, you can also see that the
  6430. 5:00:47result is one. And you can click the
  6431. 5:00:49result to see what exactly happened. And
  6432. 5:00:52here it says add user operation name.
  6433. 5:00:56New user was added. Let's go back to the
  6434. 5:00:59hunt. Refresh it again. Let's see if the
  6435. 5:01:02deletion comes up. And if you also see
  6436. 5:01:04here, right, it says initial access. The
  6437. 5:01:07tactics that we selected previously, it
  6438. 5:01:09shows up here. We selected initial
  6439. 5:01:11access and persistence it is coming up.
  6440. 5:01:14So it's still taking time but results
  6441. 5:01:16should be uh appearing here where user
  6442. 5:01:19deletion there is one and new user
  6443. 5:01:22creation. We already saw new user
  6444. 5:01:24creation it's taking time for it to load
  6445. 5:01:27and then once you have validated the uh
  6446. 5:01:30results you can come here say actions
  6447. 5:01:33and you can create an incident for this
  6448. 5:01:35or add new queries to hunt. So you can
  6449. 5:01:40create an incident. Click create
  6450. 5:01:42incident. And it will create the title,
  6451. 5:01:44description. It's getting it from the
  6452. 5:01:47previous hunt page. Severity, medium,
  6453. 5:01:50you can change it. Status is new. And
  6454. 5:01:53you can assign the owner. And then go to
  6455. 5:01:55bookmarks. If there are any bookmarks to
  6456. 5:01:58your incident, we already talked about
  6457. 5:02:00bookmarks. You can add them here. So you
  6458. 5:02:03can say add bookmarks. And then search
  6459. 5:02:06for your bookmark and add them here. and
  6460. 5:02:08then create new. So successfully created
  6461. 5:02:12an incident
  6462. 5:02:14and then if I open this panel I can also
  6463. 5:02:17say status is closed because we already
  6464. 5:02:21did validate this and also we validated
  6465. 5:02:25the query. So I can select validated and
  6466. 5:02:29then say apply for the hypothesis.
  6467. 5:02:32And then if I go back to Microsoft
  6468. 5:02:35Sentinel under incidents, our new
  6469. 5:02:38incident that is entra ID audit logs is
  6470. 5:02:41created. And also if you notice new user
  6471. 5:02:44creation is also created because we
  6472. 5:02:47created NRT rules and also a schedule
  6473. 5:02:51rule which will run every 5 hours for
  6474. 5:02:55that as well. An incident is created
  6475. 5:02:57because we created a new user. So if I
  6476. 5:03:00go to enter ID audit logs and say view
  6477. 5:03:03fuel full details and then go to
  6478. 5:03:06activity log it says incident was
  6479. 5:03:09created and then because of the
  6480. 5:03:11automation rules that we have set up
  6481. 5:03:13before incident status was changed to
  6482. 5:03:16active by the automation rule and then
  6483. 5:03:19the severity was changed to high and
  6484. 5:03:22then it was assigned to an owner and
  6485. 5:03:25also a tag was created saying automation
  6486. 5:03:28rule. Let me close this. Go back to our
  6487. 5:03:31hunting.
  6488. 5:03:33And the other options here, you can
  6489. 5:03:35delete this hunting if you don't want
  6490. 5:03:36this. And then you can add your comments
  6491. 5:03:40to this as well. I will close this. So
  6492. 5:03:43that's it about threat hunting guys.
  6493. 5:03:46Now let's see how miter attack is
  6494. 5:03:48integrated in Microsoft Sentinel. So if
  6495. 5:03:51you go to Microsoft Sentinel in that
  6496. 5:03:53threat management and under that there
  6497. 5:03:55is MITER attack it is still in preview.
  6498. 5:03:58In this let me zoom it a little bit. In
  6499. 5:04:02this you can see legend. Uh this legend
  6500. 5:04:05is to see how many detections are
  6501. 5:04:07currently active in your work workspace
  6502. 5:04:10for a specific technique. And you see
  6503. 5:04:12here active scheduled active NRT query
  6504. 5:04:16active anomaly. So all these are active
  6505. 5:04:18rules in my work uh workspace.
  6506. 5:04:22So then you can use this search bar to
  6507. 5:04:24find a technique by its name or ID and
  6508. 5:04:28this will show your organization
  6509. 5:04:30security status for that technique.
  6510. 5:04:33Suppose say I search for account
  6511. 5:04:35manipulation.
  6512. 5:04:38You get account manipulation here. So
  6513. 5:04:40I'm going to select this and then expand
  6514. 5:04:43this panel. Here you can view full
  6515. 5:04:46technique details in the miter attack
  6516. 5:04:48knowledge base. So you can see that
  6517. 5:04:51there is also a link. So you see here
  6518. 5:04:54view full technique details on the
  6519. 5:04:55official miter attack website. So if I
  6520. 5:04:58click this, it goes to miter.org and
  6521. 5:05:02gives you the full description of what
  6522. 5:05:04that technique is. Let me go back to
  6523. 5:05:06Microsoft Sentinel and it also tells you
  6524. 5:05:09what tactic it is and recommended
  6525. 5:05:13coverage details. So what are the active
  6526. 5:05:15rules covered under this? So if I click
  6527. 5:05:17view, it tells me that these three rules
  6528. 5:05:20anomaly rules are related to this
  6529. 5:05:23technique. I'll go back. So actually as
  6530. 5:05:26soon as you open, you can see that there
  6531. 5:05:28are three detections associated with
  6532. 5:05:30account manipulation. There are no
  6533. 5:05:32incidents created for this or zero
  6534. 5:05:35alerts.
  6535. 5:05:36And then there is something called as
  6536. 5:05:38simulated rules. Simulated coverage in
  6537. 5:05:42MITER metrics shows detections that are
  6538. 5:05:44available but not yet set up in your
  6539. 5:05:47Microsoft Sentinel workshop. So it helps
  6540. 5:05:50you see your potential security status
  6541. 5:05:53if all available detections were
  6542. 5:05:56configured. So if I go to simulated
  6543. 5:05:58rule, select one of these rules.
  6544. 5:06:01Actually first let me remove this search
  6545. 5:06:04query and then come here, select for
  6546. 5:06:07analytics rule. So you see here right
  6547. 5:06:10143. So if I click this go back. So it
  6548. 5:06:15is first giving you the description and
  6549. 5:06:18then the active coverage but now it is
  6550. 5:06:20also giving you simulated coverage. So
  6551. 5:06:23if I click this view it will tell me
  6552. 5:06:27what needs to be enabled or what needs
  6553. 5:06:30to be scheduled for this specific
  6554. 5:06:32technique. And then you can review it.
  6555. 5:06:36See if you need to enable anything. Let
  6556. 5:06:39me go back. And we have also seen if I
  6557. 5:06:42go back to Microsoft Sentinel main page.
  6558. 5:06:44Let me close this and go to the
  6559. 5:06:46homepage. Let me zoom in and then go to
  6560. 5:06:51configuration and then analytics. If you
  6561. 5:06:54remember when we were creating rules
  6562. 5:06:56here, you can set up these scheduled uh
  6563. 5:06:59rules with MITER techniques. Like for
  6564. 5:07:02example here it gives you a miter
  6565. 5:07:04technique option and you can expand
  6566. 5:07:06them. There are techniques too that you
  6567. 5:07:09can select from. So this is how you do
  6568. 5:07:11it in analytics rules. Let me see in
  6569. 5:07:14incidents. Open one of these incidents
  6570. 5:07:18and view full details. So here also
  6571. 5:07:21there is a tab for tactics and
  6572. 5:07:23techniques which is not filled here
  6573. 5:07:25because it is created from an analytics
  6574. 5:07:27role where we did not provide the
  6575. 5:07:30technique. If so, it would come up here
  6576. 5:07:33as well in the incident. So, there is an
  6577. 5:07:35option in the incidents as well to show
  6578. 5:07:38this.
  6579. 5:07:39And then if I go to hunting under threat
  6580. 5:07:42management, select this hunt and then go
  6581. 5:07:46to the query. If I scroll down, there is
  6582. 5:07:48technique. I can add the technique here
  6583. 5:07:50as well. So, while creating a new query
  6584. 5:07:53from query actions and scroll down, you
  6585. 5:07:56can map it to the MITER attack
  6586. 5:07:59techniques and tactics. So that's how
  6587. 5:08:01you can use miter attack in Microsoft
  6588. 5:08:04Sentinel. So basically what this miter
  6589. 5:08:07attack page does. So if I go to miter
  6590. 5:08:10attack, it helps you to view active
  6591. 5:08:13detections in your workshop, identify
  6592. 5:08:16available detections that you can
  6593. 5:08:18configure using simulated rules and
  6594. 5:08:21understand security coverage based on
  6595. 5:08:23MITER attack tactics and techniques. So
  6596. 5:08:27this is a very helpful page for sock and
  6597. 5:08:30incident response teams.
  6598. 5:08:33Now let's see how to enable workspace
  6599. 5:08:35manager and configure it. So first step
  6600. 5:08:38in that is for you to select which one
  6601. 5:08:41is going to be your central workspace.
  6602. 5:08:44in that central workspace in Microsoft
  6603. 5:08:47Sentinel. If you scroll down to settings
  6604. 5:08:51under configuration and then scroll down
  6605. 5:08:54and then go to settings here and then
  6606. 5:08:57scroll down there is workspace manager
  6607. 5:09:00configuration. In this it is telling us
  6608. 5:09:03what is this workspace manager. So
  6609. 5:09:05workspace manager enables users to
  6610. 5:09:08centrally manage multiple Microsoft
  6611. 5:09:11Sentinel workspaces within one or more
  6612. 5:09:14Azure tenants. The central workspace
  6613. 5:09:18that is with the workspace manager
  6614. 5:09:20enabled can consolidate content items to
  6615. 5:09:24be published at scale to member
  6616. 5:09:26workspaces. So this is the central
  6617. 5:09:29workspace that I will be selecting. So
  6618. 5:09:32then how to enable it? Also there is a
  6619. 5:09:35note on that. For this you need at least
  6620. 5:09:38two sentinel workspaces because this is
  6621. 5:09:41the one that is used for multiple
  6622. 5:09:43workspaces. So one workspace to manage
  6623. 5:09:46from that is the central um workspace
  6624. 5:09:50and at least one other workspace to be
  6625. 5:09:52managed. So this is the the one other me
  6626. 5:09:56so the at least one other workspace
  6627. 5:09:59needs to be the member workspace. Then
  6628. 5:10:02it says this is the role that is
  6629. 5:10:03required Microsoft Sentinel contributor
  6630. 5:10:06role and then if at all it is across
  6631. 5:10:09multiple Microsoft entra ID tenants then
  6632. 5:10:13you need to enable Azure Lighthouse. We
  6633. 5:10:16will discuss Azure Lighthouse
  6634. 5:10:18architecture as well in the future
  6635. 5:10:20chapters. And then here if this is your
  6636. 5:10:23central workspace you need to enable
  6637. 5:10:25this make this workspace a central
  6638. 5:10:28workspace. Okay, I've enabled it. And
  6639. 5:10:31then it says go to workspace manager.
  6640. 5:10:34Let me click on it. You can either do
  6641. 5:10:37this, go to workspace manager from that
  6642. 5:10:39page, settings page or you can find it
  6643. 5:10:42under configuration as well. So here
  6644. 5:10:45configuration and then workspace
  6645. 5:10:47manager.
  6646. 5:10:49Now let's see how to onboard member
  6647. 5:10:51workspaces in Microsoft Sentinel. So
  6648. 5:10:54member workspaces are workspaces managed
  6649. 5:10:57by the workspace manager.
  6650. 5:11:00So you can onboard some or all
  6651. 5:11:03workspaces within a single tenant.
  6652. 5:11:06Or if you have Azure Lighthouse enabled,
  6653. 5:11:09you can get workspaces across multiple
  6654. 5:11:12tenants as well. So if I go back to the
  6655. 5:11:14portal, you can say add then workspace.
  6656. 5:11:18There are no workspaces here. Let's
  6657. 5:11:20create a couple of workspaces. So I will
  6658. 5:11:23select log analytics workspace
  6659. 5:11:27and the name I'll say workspace member
  6660. 5:11:34one and then create running final
  6661. 5:11:38validation validation passed and then
  6662. 5:11:41again create. So it is initializing
  6663. 5:11:44deployment. Submitting deployment.
  6664. 5:11:46Deployment in progress
  6665. 5:11:49and it says deployment is succeeded.
  6666. 5:11:52Let's go back to log analytics workspace
  6667. 5:11:56again and then create another one. So I
  6668. 5:11:59will select the same resource group name
  6669. 5:12:01of the instance workspace number two and
  6670. 5:12:05then review same running final
  6671. 5:12:08validation validation past and then
  6672. 5:12:10create it deployment in progress
  6673. 5:12:15and now it is created.
  6674. 5:12:18So if you see here we've created the
  6675. 5:12:20workspaces. Now let's add add both of
  6676. 5:12:23these workspace members to Sentinel. So
  6677. 5:12:26I'm going to go to Microsoft Sentinel.
  6678. 5:12:29I've added one here already. Workspace
  6679. 5:12:31member one. I'm going to create another
  6680. 5:12:34one as well and select workspace member
  6681. 5:12:362. Add. It is adding Microsoft Sentinel
  6682. 5:12:40to workspace so and so. And now it is
  6683. 5:12:42successfully added Microsoft Sentinel.
  6684. 5:12:45And it also says it might take a few
  6685. 5:12:47minutes for your workspace to appear in
  6686. 5:12:49Microsoft Sentinel workspaces list.
  6687. 5:12:51That's fine. I'm going to say okay. Then
  6688. 5:12:54go back to Microsoft Sentinel. Refresh
  6689. 5:12:57it. And then we will go to our central
  6690. 5:13:00workspace.
  6691. 5:13:02This is the main workspace where we
  6692. 5:13:04enable workspace manager. So let me go
  6693. 5:13:07to workspace manager. And now here try
  6694. 5:13:10to add workspace. One of the workspaces
  6695. 5:13:13is reflecting. The other one might take
  6696. 5:13:16a little bit of time. That will also
  6697. 5:13:18come up here.
  6698. 5:13:20Let me refresh it again. and then go to
  6699. 5:13:23add workspace. So you can see both the
  6700. 5:13:26worker members are here. Now to onboard
  6701. 5:13:29these select both of them or you can
  6702. 5:13:32select whichever you want and then add
  6703. 5:13:35and then you can see that the members
  6704. 5:13:37here is from zero to it's increased from
  6705. 5:13:400 to two the count and you can see your
  6706. 5:13:43workspaces added here as well under
  6707. 5:13:45workspaces
  6708. 5:13:48and then also something that you notice
  6709. 5:13:50here when I click add is group. So
  6710. 5:13:53workspace manager groups help you
  6711. 5:13:55organize workspaces based on business
  6712. 5:13:57units, industries, regions or other
  6713. 5:14:00categories. So these groups make it
  6714. 5:14:03easier to distribute and manage security
  6715. 5:14:05content across related workspaces. So to
  6716. 5:14:09create a group, click add and then
  6717. 5:14:11select group. Group name, I'll say demo
  6718. 5:14:17workspace group.
  6719. 5:14:21same description
  6720. 5:14:23then there is an ID as well which is
  6721. 5:14:26generated by Sentinel then I will say
  6722. 5:14:29select workspaces then add workspaces
  6723. 5:14:33I'm going to select both of these and
  6724. 5:14:35then click add and then select content
  6725. 5:14:39so there are two methods to add content
  6726. 5:14:42one is to go to add and then select all
  6727. 5:14:46content so this adds all active content
  6728. 5:14:49currently deployed in your central
  6729. 5:14:51workspace and it's only includes
  6730. 5:14:55active contents not the template. So
  6731. 5:14:57keep that in mind. So it is a point in
  6732. 5:15:01time snapshot that means newly added
  6733. 5:15:04content won't be automatically included
  6734. 5:15:06later on. So if you want that you have
  6735. 5:15:08to again do this. So either you can
  6736. 5:15:11select all content or you can select
  6737. 5:15:14content
  6738. 5:15:16and then a select content window opens
  6739. 5:15:18like this and from here you can custom
  6740. 5:15:21choose which content items to add.
  6741. 5:15:25I don't have a lot of content in my
  6742. 5:15:27workspace but this is how it'll show up
  6743. 5:15:30if you have a lot of them enabled. This
  6744. 5:15:32is from Microsoft documentation page. So
  6745. 5:15:35this option that is if I go back to the
  6746. 5:15:38sentinel let me close this and then
  6747. 5:15:41select content add this only content one
  6748. 5:15:46will let you efficiently manage and
  6749. 5:15:48distribute analytics rules hunting
  6750. 5:15:50queries workbooks and more across member
  6751. 5:15:53workspaces or you can go with all
  6752. 5:15:56content option. Uh let me select all
  6753. 5:15:59content for now and then go to review
  6754. 5:16:02plus create. It'll tell me what
  6755. 5:16:05workspaces are selected, what content is
  6756. 5:16:08selected. I've selected everything and
  6757. 5:16:11then I will say create submitting group
  6758. 5:16:14and then successfully we have one group
  6759. 5:16:17here that has created demo workspace
  6760. 5:16:20group. It has two workspaces and 45
  6761. 5:16:24content items.
  6762. 5:16:26And remember that once you create the
  6763. 5:16:29group, it doesn't mean that the content
  6764. 5:16:31items are published to the member
  6765. 5:16:33workspaces. So you'll have to select the
  6766. 5:16:36group like this and then say publish
  6767. 5:16:39content. So I'm going to click publish
  6768. 5:16:41content and then it says in progress.
  6769. 5:16:44It's going to take some time. And then
  6770. 5:16:46if I click actions either I can edit it
  6771. 5:16:49or remove this uh group itself. Let me
  6772. 5:16:53close this. So you can see it is in
  6773. 5:16:54progress and you can also publish from
  6774. 5:16:58here.
  6775. 5:16:59So if you have multiple groups here and
  6776. 5:17:01if you want to publish all those group
  6777. 5:17:03definitions then you can select all of
  6778. 5:17:05them from here and then hit publish. And
  6779. 5:17:10then it took about 2 to 3 minutes. Now
  6780. 5:17:12it has succeeded. If I click again on
  6781. 5:17:16this expand this panel it says it is pub
  6782. 5:17:20last published date. And then if you
  6783. 5:17:22want to edit it, you can go to edit and
  6784. 5:17:25then edit the content and update it.
  6785. 5:17:29When you want to manage custom content
  6786. 5:17:31in Microsoft Sentinel, there are two
  6787. 5:17:33ways to do it. One is directly in your
  6788. 5:17:36Microsoft Sentinel workspaces like we
  6789. 5:17:38saw before or through an external source
  6790. 5:17:42control repository like under
  6791. 5:17:45repositories. So if you go to Microsoft
  6792. 5:17:47Sentinel content management and
  6793. 5:17:49repositories, you can add your external
  6794. 5:17:52repositories here. So if you see here it
  6795. 5:17:55says what is it? Microsoft Sentinel
  6796. 5:17:59repositories help you automate the
  6797. 5:18:01deployment and management of your
  6798. 5:18:04Microsoft Sentinel content through
  6799. 5:18:06central repositories like GitHub or
  6800. 5:18:09Azure DevOps. So if I scroll down, it
  6801. 5:18:11says supported source controls, GitHub
  6802. 5:18:14and Azure DevOps. And also the supported
  6803. 5:18:18content types include analytics rules,
  6804. 5:18:20hunting query, playbooks, workbooks,
  6805. 5:18:24parsers, and automation rules.
  6806. 5:18:27And why do you want to use external
  6807. 5:18:30repositories? Because first one, version
  6808. 5:18:33control. It helps you track and manage
  6809. 5:18:36changes uh efficiently.
  6810. 5:18:39Then automation that is automatically
  6811. 5:18:42deploy your updates to your workspaces
  6812. 5:18:45and then also helps with collaboration
  6813. 5:18:48that is it enables multiple users to
  6814. 5:18:50contribute and review content.
  6815. 5:18:53Now to create a repository you go to
  6816. 5:18:56repositories under content management
  6817. 5:18:59add new and then provide the name
  6818. 5:19:03demo external repositories
  6819. 5:19:08and then under source control you can
  6820. 5:19:10either choose GitHub or Azure DevOps. So
  6821. 5:19:13if I select GitHub and then say
  6822. 5:19:15authorize, it will take you to the
  6823. 5:19:17GitHub page to provide your user ID
  6824. 5:19:20password or it's the same with Azure
  6825. 5:19:22DevOps. If I say Azure DevOps and
  6826. 5:19:25authorize, it's going to take you to the
  6827. 5:19:27Microsoft page login page to authorize
  6828. 5:19:30that is provide your user ID and
  6829. 5:19:32password. Let me close this. Once you
  6830. 5:19:35authorize say for example for GitHub if
  6831. 5:19:38you authorize it properly then you will
  6832. 5:19:40get the repository to select you can add
  6833. 5:19:43your repositories branch and then
  6834. 5:19:46content type content type like analytics
  6835. 5:19:48rules or hunting queries or so on. I'm
  6836. 5:19:51not going to go ahead with this so I'm
  6837. 5:19:53going to close it. Once you have added
  6838. 5:19:55your connections you can edit them,
  6839. 5:19:57delete them, update them, right? And
  6840. 5:20:00this also talks about the permission
  6841. 5:20:02requirements. Creating a connection in
  6842. 5:20:04Microsoft Sentinel repositories
  6843. 5:20:06authorizes Microsoft Sentinel to
  6844. 5:20:09automatically deploy content from the
  6845. 5:20:12source control repositories. That is the
  6846. 5:20:15external repositories we are connecting.
  6847. 5:20:17Microsoft Sentinel is automatically
  6848. 5:20:20authorized to deploy content from those
  6849. 5:20:23external repositories. So as a result,
  6850. 5:20:26Microsoft Sentinel requires the owner
  6851. 5:20:29role in the resource group containing
  6852. 5:20:31the workspace from any user creating a
  6853. 5:20:34connection. So make sure you have the
  6854. 5:20:36necessary permissions as well. We have
  6855. 5:20:39now come to the end of the full
  6856. 5:20:41Microsoft Sentinel course. If there are
  6857. 5:20:44any topics that I missed or if you have
  6858. 5:20:46any questions or comments, please leave
  6859. 5:20:48them in the comment section below. Thank
  6860. 5:20:50you so much for watching. We hope this
  6861. 5:20:52video was helpful. If it was, please
  6862. 5:20:54don't forget to like, subscribe, and
  6863. 5:20:56share our videos. Thank you. Goodbye.

About this transcript

This page contains the full transcript of Microsoft Sentinel Training | Azure Sentinel Tutorial | Microsoft Sentinel Step-by-Step Guide by CyberPlatter, generated from the public captions YouTube serves with the video. The transcript has 42,884 words across 6,863 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.