SEC505: Securing Windows with the Critical Security Controls
This is my fifth SANS course. Jason is exceptionally hard working instructor who adds tremendous value with his unrestricted contributions to the community.
Matthew Wheeler, Los Alamos Natl Lab
You have the best instructors available. Other training never comes close and is a waste of money.
Steve Sauro, McDermott Will and Emery
SECURITY 505: Securing Windows with the Critical Security Controls
How can we defend against pass-the-hash attacks, administrator account compromise, and the lateral movement of hackers inside our networks? How do we actually implement the Critical Security Controls on Windows in a large environment? How can we significantly reduce the client-side exploits that lead to advanced persistent threat malware infections? We tackle these tough problems in SEC505: Securing Windows with the Critical Security Controls.
Understanding how penetration testers and hackers break into networks is not the same as knowing how to design defenses against them, especially when you work in a large and complex Active Directory environment. Knowing about tools like Metasploit, Cain, Netcat, and Poison Ivy is useful, but there is no simple patch against their abuse. The goal of this course is to show you ways to defend against both current Windows attack techniques and the likely types of attacks we can expect in the future. This requires more than just reactive patch management - we need to proactively design security into our systems and networks. That is what SEC505 is about.
Your adversaries want to elevate their privileges to win control over your servers and domain controllers, so a major theme of this course is controlling administrative powers through Group Policy hardening and PowerShell scripting. Learning PowerShell is probably the single best new skill for Windows users, especially with the trend toward cloud computing. Most of your competition in the job market lacks scripting skills, so knowing PowerShell is a great way to make your resume stand out. This course devotes an entire day to PowerShell, but we start with the basics so you do not need any prior scripting experience.
SEC505 will also prepare you for the GIAC Certified Windows Security Administrator (GCWN) certification exam to prove your Windows security expertise. The GCWN certification counts toward getting a Master's Degree in information security from the SANS Technology Institute (www.sans.edu) and also satisfies the Department of Defense 8570 computing environment requirement.
This is a fun course and a real eye-opener, even for Windows administrators with years of experience. If you wish, you can get the PowerShell scripts now for this course from http://cyber-defense.sans.org/blog (go to the Downloads link). All of the tools are in the public domain.
Day 1: Operating System and Applications Hardening
- How your anti-virus scanners can fail you
- AppLocker whitelisting
- EMET, ASLR, SEHOP, DEP
- Windows OS and Applications Hardening tools
- Group Policy Management Console (GPMC)
- INF and XML Security templates
- How to manage Group Policy
- WMI filtering and GPO preferences
- Custom ADM/ADMX templates
- Hardening Adobe Reader
- Hardening Java
- Hardening Internet Explorer
- Hardening Google Chrome
- Hardening Microsoft Office
- Virtual Desktop Infrastructure (pros and cons)
Day 2: High-Value Targets and Restricting Admin Compromise
- What makes something a high-value target?
- Users in the local Administrators group
- Secretly limiting the power of administrative users
- Limiting privileges, logon rights, and permissions
- Token abuse and pass-the-hash attack mitigations
- Group Policy control of Windows security
- User Account Control (UAC)
- Delegating IT power more safely
- Organizational units for role-based controls
- Active Directory permissions for delegation
- Active Directory auditing and logging
- Painless (or Less Painful) Patch Management
Day 3: PKI, BitLocker and Secure Boot
- Why must I have a Public Key Infrastructure (PKI)?
- Examples: Smart Cards, VPNs, Wireless, SSL, S/MIME, etc.
- How to install the Windows PKI
- Root vs. subordinate certification authorities
- Should you be your own root Certification Authority (CA)?
- Detecting malicious trusted CA changes
- How to manage your PKI
- Group policy deployment of certificates
- How to revoke certificates
- Automatic private key backup
- Deploying smart cards
- Best practices for private keys
- BitLocker drive encryption
- BitLocker for USB drives
- UEFI Secure Boot
- TPM chip options for BitLocker
- BitLocker emergency recovery
Day 4: IPSec, Windows Firewall, DNS, and Wireless
- Isn't IPSec just for VPNs? No!
- IPSec for TCP port permissions
- How to create IPSec policies
- Windows Firewall and IPSec integration
- Group Policy for IPSec and firewall rules
- NETSH and PowerShell rules scripting
- DNSSEC response validation
- DNS secure dynamic updates
- DNS sinkholes for malware
- Wireless attack vulnerabilities
- Configuring RADIUS policies (NPS)
- Wi-Fi Protected Access (WPA2)
- Secure access to wireless networks
- Secure access to Ethernet networks
- Smart cards for wireless and Ethernet
Day 5: Server Hardening and Dynamic Access Control
- A recipe for hardening most servers
- Dangerous protocols: SSL, RDP, IPv6, and SMB
- SMBv3 encryption and downgrade attacks
- Pre-forensics and incident response preparation
- Service accounts and recovery
- Scheduling elevated tasks safely
- Protocol stack hardening
- Kerberos armoring and restricting NTLM
- Server Core versus Server Minimal/Full
- DMZ cross-forest Active Directory trusts
- Dynamic Access Control (DAC)
- DAC for data loss prevention
- DAC for complying with regulations
- Automatic File Classification Infrastructure
Day 6: PowerShell Scripting
- Getting comfortable in your shell
- PowerShell remoting
- Running cmdlets and scripts
- Writing your own functions
- Writing your own scripts
- Flow control within scripts
- Managing the event logs
- Managing Active Directory
- Windows Management Instrumentation (WMI)
- Accessing COM Objects
- Security and execution policy
You Will Learn:
- How to harden Windows clients and servers against attack.
- How to reduce the rate of APT malware infections.
- How to use PowerShell and Group Policy to manage security.
- How to implement PKI, AppLocker, BitLocker, and IPSec.
- How to do pre-forensics to prepare for incident response.
|SEC505.1: Windows Operating System and Applications Hardening||Jason Fossen||
Fri Dec 12th, 2014
9:00 AM - 5:00 PM
The best analogy for modern network penetration is biological warfare. The hacker exploits a vulnerable client through weak software and social engineering in order to install malware. The malware opens an SSL command-and-control channel back to the attacker. This channel is used to control the initial "Typhoid Mary" computer to infect other vulnerable systems and exfiltrate (or destroy) valuable data. When you add stealth, self-updating features, worm-like mobility, and corporate/government sponsorship to the malware, you have an Advanced Persistent Threat (APT) situation. You are in trouble.
We do not just want to detect hackers and malware, we want to try to prevent the case-zero compromise from ever happening. Prevention comes first, then detection and remediation. Today's course covers prevention through Windows operating system and applications hardening. The aim is to deny hackers and malware that initial foothold inside the network, because once they are in, they are hard to clean out.
We start by choosing malware-resistant software and Windows operating systems, then we regularly update that software, limit what software users can run, and configure that software so that its exploitable features are disabled or at least restricted to work-only purposes. Nothing is guaranteed, of course, but what if you could reduce your malware infection rate by more than half? What if your next penetration test was not an exercise in embarrassment?
The trick is hardening Windows in a way that is cost-effective, scalable, and minimally effects users. We will look at tools like EMET and Group Policy to make that process easier. As throughout the week, today's section will also look at how to implement many of the Critical Security Controls.
CPE/CMU Credits: 6
Going Beyond Just Anti-Virus Scanning
OS Hardening with Security Templates
Hardening with Group Policy
Enforcing Critical Controls for Applications
|SEC505.2: High-Value Targets and Restricting Administrative Compromise||Jason Fossen||
Sat Dec 13th, 2014
9:00 AM - 5:00 PM
This course section continues the theme of resisting malware and APT adversaries, but with a special focus on securing the keys to the kingdom: administrative power. If a member of the Domain Admins group is compromised, the entire network is lost. How can we better prevent the compromise of administrative accounts and contain the harm when they do get compromised? What can we do about pass-the-hash and token abuse attacks? Remember, as a network administrator, you are a high-value target and your adversaries will try to take over your user account and infect the computers you use at work (and at home).
Hackers also love it when "regular" users are members of the local Administrators group on their computers because it makes it easier to compromise those computers and then move laterally to other machines. We will talk about what is so dangerous about the Administrators group, how to get users out of that group while still allowing them to get their work done, and, if we just cannot get users out of Administrators, then how to make User Account Control (UAC) less annoying to them...and us.
We will also see how to delegate authority in Active Directory (AD). Every object in AD has a set of permissions and audit settings. We do not have to dump everyone in the IT department into the Domain Admins group; we can delegate the power to perform tasks like resetting passwords, joining computers to the domain, and managing the attributes used by Dynamic Access Control.
Finally, patch management is critically important for securing a Windows environment, but it can be expensive difficult, and tedious. So we will talk about how to make patching Microsoft and third-party software easier, especially on BYOD and mobile devices outside the local network.
CPE/CMU Credits: 6
Compromise of Administrative Powers
Active Directory Permissions and Delegation
Updating Vulnerable Software
|SEC505.3: Windows PKI, BitLocker and Secure Boot||Jason Fossen||
Sun Dec 14th, 2014
9:00 AM - 5:00 PM
Public Key Infrastructure (PKI) is not an optional security service anymore. Windows Server includes a complete built-in PKI for managing certificates and making their use transparent to users. You can be your own private Certification Authority (CA) and generate as many certificates as you want at no extra charge. It is all centrally managed through Group Policy.
Digital certificates play an essential role in Windows security: IPSec, BitLocker, S/MIME, SSL/TLS, smart cards, script signing, etc. all use digital certificates. Everything needed to roll out a smart card solution, for example, is included with Windows except for the cards and readers themselves, and generic cards are available in bulk for cheap. You might already have a smart card built into your motherboard as a TPM chip.
As more and more of our servers are pushed up to cloud-hosting providers, and as more of our devices become mobile, certificate authentication and encryption will become more necessary. Even our BYOD tablets and phones will eventually need certificates.
We also have to encrypt our laptops and portable drives to stay in compliance, but why spend a fortune on third-party products when BitLocker is built into Windows already? BitLocker is manageable through Group Policy and from the command line. BitLocker has automatic encryption key archival features for recovery, requires little or no user training, and can be used to encrypt portable USB drives.
If you have a TPM chip in your motherboard, it can help BitLocker detect rootkits, but a TPM is not required for BitLocker. Even better, with UEFI firmware you could also use UEFI Secure Boot to help detect bootkits and other malware too.
CPE/CMU Credits: 6
Why Have Public Key Infrastructure?
How to Install the Windows PKI
How to Manage Your PKI
Deploying Smart Cards
BitLocker Drive Encryption and Secure Boot
|SEC505.4: IPSec, Windows Firewall, DNS, and Wireless||Jason Fossen||
Mon Dec 15th, 2014
9:00 AM - 5:00 PM
IPSec is not just for VPNs. IPSec can authenticate users in Active Directory to implement share permissions for TCP and UDP ports based on the user's global group memberships. IPSec can also encrypt packet payloads to keep data secure. Imagine configuring the Windows Firewall on your servers and tablets to only permit access to your RPC or SMB ports if (1) the client has a local IP address,( 2) the client is authenticated by IPSec to be a member of the domain, and (3) the packets are all encrypted with 256-bit AES. This is not only possible, it is actually relatively easy to deploy with Group Policy. This course section will show exactly how to do this.
For in-depth defense, we can no longer rely on just our perimeter firewalls. Many of our devices are mobile, so they are not protected by our perimeter firewalls anyway. You do not need to purchase third-party host-based firewalls like we did for Windows XP. The new Windows Firewall is a vast improvement and can be managed through Group Policy. For BYOD computers, the firewall and IPSec settings can also be scripted.
DNSSEC digitally signs DNS records to prevent spoofing and man-in-the-middle attacks. Fortunately, it is much easier to manage DNSSEC in Server 2012 and later. This course section will also examine how to require DNS secure dynamic updates, set permissions on DNS records in Active Directory, use the DNS sinkhole technique to frustrate malware, and use IPSec with DNS queries.
There is much more to wireless security than getting rid of WEP. Windows Server includes a built-in RADIUS service that can be used to regulate access to your wireless access points, managed Ethernet switches, and VPN gateways. Everything you need for a WPA2 wireless network solution, including certificate-based PEAP authentication, is built into Windows for free, and we will show you how to set it all up, step-by-step, including the PKI.
CPE/CMU Credits: 6
Creating IPSec Policies
Securing Wireless Networks
RADIUS for Wireless and Ethernet
|SEC505.5: Server Hardening and Dynamic Access Control||Jason Fossen||
Tue Dec 16th, 2014
9:00 AM - 5:00 PM
What are the best practices for hardening servers, especially servers exposed to the Internet? How can we remotely manage our servers in a secure way, especially our virtualized servers hosted by third-party cloud providers? If you have Internet-exposed servers, how can you more safely make them Active Directory domain members? If you have service accounts or scheduled jobs running as Domain Admin, what are the risks and what can you do about it? This section of the course is all about server hardening.
Are you using SSL/TLS, NTLM, Remote Desktop Protocol (RDP) or the File and Print Sharing protocol (SMB/CIFS)? These protocols and their listening ports are hacker favorites, but we often cannot live without them, so we will see how to make these and other protocols more resilient against attacks.
Windows Server 2012 introduced a major new security enhancement called Dynamic Access Control (DAC). If you have millions of files spread across multiple servers, how can you manage access to and auditing of these ever-changing files? How can we avoid relying on NTFS permissions and NTFS auditing alone?
DAC allows you to label files with such classifications as "Top Secret" or "PII," then apply restrictions and auditing based on these hidden file tags. But it is not done with AD group memberships and NTFS alone. DAC is not an NTFS management system, there is much more to it. With your own custom user and computer attributes defined in Active Directory, you can implement a Data Loss Prevention (DLP) solution based on "claims" associated with your users and their various devices. You can also perform auditing this way to help comply with regulations in your industry.
DAC works best with Server 2012 and Windows 8, but Windows 8 is not required. Even Windows XP clients can benefit. DAC is not just for file servers, it can also be extended to other platforms such as SharePoint, Rights Management Services (RMS), and Exchange. Finally, DAC is not a single tool or service, it is a new access control system with ties into the kernel.
CPE/CMU Credits: 6
Dangerous Server Protocols
Internet-Exposed Member Servers
Dynamic Access Control (DAC)
|SEC505.6: Windows PowerShell Scripting||Jason Fossen||
Wed Dec 17th, 2014
9:00 AM - 5:00 PM
In the Windows world, everything is (thankfully) moving toward PowerShell, which is Microsoft's object-oriented command shell and scripting language. Virtually everything can be managed from the command line and scripts now, and automation is very important for implementing the Critical Security Controls. Server 2012-R2, for example, has over 3,000 PowerShell tools for nearly everything, including Active Directory, IIS, Exchange, SharePoint, System Center, AppLocker, Hyper-V, firewall rules, event logs, remote command execution, and much more.
PowerShell is built into Windows 7, Server 2008, and later. You can download the latest version from http://www.microsoft.com/powershell/.
PowerShell takes the best features of UNIX shells, like ksh and bash, and then blows them out of the water. What is the big deal? PowerShell rides on top of the .NET Framework. Hence, COM objects and the entire .NET class library are available at the command prompt. When you execute commands, the output is not text, it is a stream of objects with properties and methods, just like in C#. You can even build and run graphical programs written entirely in PowerShell.
And PowerShell is easier than other languages to learn when you are first getting started. This course assumes you have no prior scripting experience. We will walk through all the essentials of PowerShell together. And if you are already familiar with Perl or C#, then the PowerShell syntax will not be foreign to you. Most importantly, be prepared to have fun - PowerShell is just plain cooooooool...
CPE/CMU Credits: 6
Overview and Security
Getting Around Inside PowerShell
Write Your Own Scripts
Windows Management Instrumentation (WMI)
Please bring a virtual machine running an evaluation version Windows Server 2012 R2, Datacenter or Standard, installed with a full GUI (not Core). During the course we will install Active Directory, Certificate Services, RADIUS (NPS), IIS, WSUS, and other services and tools. You will use the virtual machine throughout the week to follow along with the instructor demos.
Please note that without a virtual machine running Windows Server, you will only be able to watch the instructor demonstrate the exercises and you will not be able to follow along on your own computer, which is half the fun!
Windows 8 and Windows 10, both Pro and Enterprise editions, include Client Hyper-V for running virtual machines. You can also obtain VMware Player or Oracle VirtualBox for free. On a Mac, there is also VMware Fusion and Parallels.
The host computer can have any operating system.
Where can I get the free evaluation version of Windows Server 2012 R2?
You can download a free trial version of Windows Server 2012 R2 from Microsoft as an ISO image file (an ISO file is an exported copy of a CD/DVD disk). Just do an internet search on "site:microsoft.com windows server trial eval" to find the download link to the ISO file on Microsoft's web site.
Bring the ISO file with you on your hard drive when you attend the course.
How should my virtual machine be configured?
Other than simply creating the Windows Server virtual machine, there is nothing else to configure. Everything else will be done during the training.
Please install Windows Server 2012 R2 in your virtual machine. You can use either the Standard or Datacenter Edition, either one works fine.
When you install the virtual machine, choose the "Server with a GUI" version of Windows Server, not the "Core" version. If you install the "Core" version, you will only get a CMD command shell when you log into the virtual machine. If you accidentally install the "Core" version, delete it and install a new virtual machine choosing the "Server with a GUI" version instead.
Bring the ISO file with you on your hard drive when you attend the training.
If I install Windows Server directly on the laptop, do I need a virtual machine?
No, if you install Windows Server directly onto your laptop, you do not need to also install a virtual machine with Windows Server. However, make sure to use either the evaluation version or a license-activated version of Windows Server (activate in the System applet in the Control Panel).
VMware prompts me for a license number or I get a license error message!
Make sure you have the evaluation version of Windows Server, not the retail version.
When creating the virtual machine in VMWare, it is best to choose the option that says "I will install the operating system later" and then provide the path to the ISO file for Windows Server after the virtual machine has been created, not during the initial creation. After the virtual machine has been created, go to the Settings of that virtual machine and provide the path to the source ISO file. Now, when you start the virtual machine, there should be no evaluation licensing problems.
If you have additional questions about the laptop specifications, please contact firstname.lastname@example.org.
|Who Should Attend|
There are no prerequisites to attend the course, but a familiarity with basic Windows and Active Directory concepts is presumed. This is not an introductory course.
|Other Courses People Have Taken|
Other Courses People Have Taken
Security Essentials (SEC401) provides a foundation in the essential Windows and Active Directory concepts necessary for this course.
Implementing and Auditing the Critical Security Controls (SEC566) presents the overall security framework of which this course is a part. SEC505 is a deep-dive into how to specifically apply this framework to Windows and Active Directory.
Hacker Tools, Techniques, Exploits and Incident Handling (SEC504) presents the hacker's perspective, whereas SEC505 examines how to defend against or mitigate the attacks described in SEC504.
|What You Will Receive|
|You Will Be Able To|
|Press & Reviews|
"You will know and be confident how to enable Windows PKI after taking this course. I had no practical experience but plenty of theory. The instructor broke down the pros and cons of the whole process. Excellent!!" - Othello Swanston. DTRA-DOD
"If you think you know Windows, take this Windows security class - your review of your own skills and understanding will be challenged, for the better!!" - Matthew Stoeckle, Nebraska Public Power District