SANS SEC505 - Securing Windows with PowerShell Training

SANS SEC505 - Securing Windows with PowerShell Training

Register & Get access to index

Want to block Windows attacks, thwart the lateral movement of hackers inside your LAN, and prevent administrative credential theft? And you want to have fun learning PowerShell scripting at the same time? Then SEC505 is the course for you! In SEC505 you will learn how to use PowerShell to automate Windows security and harden PowerShell itself. No prior PowerShell scripting experience is required to take the course because you will learn PowerShell along the way. We will even write a PowerShell ransomware script together in a lab in order to implement better ransomware defenses. The course author, Jason Fossen, is a Faculty Fellow who has taught defensible PowerShell at SANS for more than a decade. Jason gives away his PowerShell security scripts for free at .

What You Will Learn

In this course (SEC505) you will learn how to:
  • Write PowerShell scripts for Windows and Active Directory security automation
  • Safely run PowerShell scripts on thousands of hosts over the network
  • Defend against PowerShell malware such as ransomware
  • Harden Windows Server and Windows 10 against skilled attackers

In particular, we will use PowerShell to secure Windows against many of the attacks described in the MITRE ATT&CK matrix, especially stolen administrative credentials, ransomware, hacker lateral movement inside the LAN, and insecure Windows protocols, like RDP and SMB.

You will leave this course ready to start writing your own PowerShell scripts to help secure your Windows environment. It's easy to find Windows security checklists, but how do you automate those changes across thousands of machines? How do you safely run scripts on many remote boxes? In this course you will learn not just Windows and Active Directory security, but how to manage security using PowerShell.


There is another reason why PowerShell has become popular: PowerShell is just plain fun! You will be surprised at how much you can accomplish with PowerShell in a short period of time - it's much more than just a scripting language, and you don't have to be a coding guru to get going.

Learning PowerShell is also useful for another kind of security: job security. Employers are looking for IT people with PowerShell skills. You don't have to know any PowerShell to attend this course, we will learn it together during the labs.

You can learn basic PowerShell syntax on YouTube for free, but this week goes far beyond syntax. In this course we will learn how to use PowerShell as a platform for managing security, as a "force multiplier" for the Blue Team, and as a rocket booster for your Windows IT career.


Unfortunately, PowerShell is being abused by hackers and malware authors. On the last day of the course, we will write our own ransomware script to see how to defend against scripts like it.

This is a fun course and a real eye-opener, even for Windows administrators with years of experience. Come have fun learning PowerShell and Windows security at the same time.

The course author, Jason Fossen, is a SANS Institute Fellow and has been writing and teaching for SANS since 1998. In fact, this course (SEC505) has had at least one day of PowerShell for more than ten years, and now PowerShell is the centerpiece of the course.

Topic Highlights
  • PowerShell scripting of Windows Management Instrumentation (WMI)
  • PowerShell remote command execution
  • PowerShell Core with OpenSSH
  • PowerShell Just Enough Admin (JEA)
  • PowerShell scripting of Active Directory
  • PowerShell scripts to replace Microsoft LAPS
  • PowerShell certificate authentication, such as with YubiKeys
  • PowerShell hardening of TLS, RDP and SMB
  • PowerShell malware and lateral movement inside the LAN
  • PowerShell ransomware - too easy, all too easy

You Will Be Able To
  • Write PowerShell scripts for security automation.
  • Execute PowerShell scripts on remote systems.
  • Harden PowerShell itself against abuse, and enable transcription logging for your SIEM.
  • Use PowerShell to access the WMI service for remote command execution, searching event logs, reconnaissance, and more.
  • Use Group Policy and PowerShell to grant administrative privileges in a way that reduces the harm if an attack succeeds (assume breach).
  • Block the lateral movement of hackers and ransomware using Windows Firewall, IPsec, DNS sinkholes, admin credential protections, and more.
  • Prevent exploitation using AppLocker and other Windows OS hardening techniques in a scalable way with PowerShell.
  • Configure PowerShell remoting to use Just Enough Admin (JEA) policies to create a Windows version of Linux sudo and setuid root.
  • Configure mitigations against pass-the-hash attacks, Kerberos Golden Tickets, Remote Desktop Protocol (RDP) man-in-the-middle attacks, Security Access Token abuse, and other attacks discussed in SEC504 and other SANS hacking courses.
  • Install and manage a full Windows Public Key Infrastructure (PKI), including smart cards, certificate auto-enrollment, Online Certificate Status Protocol (OCSP) web responders, and detection of spoofed root Certificate Authentications (CAs).
  • Harden essential protocols against exploitation, such as SSL, RDP, DNS, PowerShell Remoting, and SMB.
First release
Last update
1.00 star(s) 1 ratings

More resources from TUTProfessor

Latest reviews