PowerShell is made for Security Operations (SecOps) automation on Windows. SecOps requires automation in order to scale out security changes and monitoring beyond a handful of hosts. For example, when a vulnerability must be remediated but there is no patch for it yet, automation is needed to quickly and consistently enact the changes necessary. PowerShell “remoting” is encrypted remote command execution of PowerShell scripts in a way that can scale to thousands of endpoints and servers.
Imagine being able to hunt for indicators of compromise across thousands of machines with just a few lines of PowerShell code. Or imagine having the local Administrator account password reset every night on thousands of endpoints in a secure way, and being able to retrieve that password securely too.
We will show you to do these tasks and more. Transcription logging for forensics, strong encryption code signing, application whitelisting of scripts, IPSec port control, and Just Enough Admin (JEA).
As more and more of our systems are moved up to the cloud, PowerShell will become even more important. Amazon Web Services, Microsoft Azure, Office 365, Hyper-V and VMware already support PowerShell administration for many tasks.
Attendees to TN-965: Windows Security Automation with PowerShell will receive TechNow approved course materials and expert instruction.
Duration: 5 days
This course is intended for IT Professionals already experienced in general Windows Server and Windows Client administration or already experienced in administering and supporting Application servers and services including applications like Exchange, SharePoint, and SQL. It is broadly intended for students who want to use Windows PowerShell to automate administrative tasks from the command line, using any Microsoft or independent software vendor (ISV) product that supports Windows PowerShell manageability.
PowerShell Overview and Tips
- Getting started running commands
- Using and updating the built-in help
- Execution policies
- Fun tricks with the ISE graphical editor
- Piping .NET and COM objects, not text
- Using properties and methods of objects
- Helping Linux admins feel more at home
- Aliases, cmdlets, functions, modules, etc.
- Customizing your profile script
What Can We Do With PowerShell
- PowerShell remote command execution
- Fan-out remoting and security
- File copy via PowerShell remoting
- Capturing the output of commands
- Parsing text files and logs with regex patterns
- Searching remote event logs faster with XPath
- Mounting the registry as a drive
- Exporting data to CSV, HTML and JSON files
- Parsing and mining nmap port scanner XML output
- Running scripts as scheduled jobs
- Pushing out scripts through Group Policy
- Importing modules and dot-sourcing functions
Write your own scripts
- Writing your own functions
- Passing arguments into your scripts
- Function parameters and returning output
- Flow control: if-then, do-while, foreach, switch
- The .NET Framework class library: a playground
- How to pipe data in/out of your scripts
Continuous Secure Configuration Enforcement
- How to use Group Policy and PowerShell together
- Automate with INF security templates
- How to customize INF templates
- Microsoft Security Compliance Manager (SCM)
- SECEDIT.EXE scripting
- Building an in-house security repository for SecOps/DevOps
- NSA’s Secure Host Baseline GPOs
Group Policy Precision Targeting
- Managing Group Policy Objects (GPOs) with PowerShell
- LSDOU, Block Inheritance, Enforced GPOs
- Group Policy permissions for targeting changes
- ADMX templates for mass registry editing
- Deploying PowerShell startup and logon scripts
- WMI item-level targeting of GPO preferences
- GPO scheduled tasks to run PowerShell scripts
- Remote command execution via GPO (not remoting)
- Empowering the Hunt Team to fight back!
Server Hardening for SecOps/DevOps
- Server Manager scripting with PowerShell
- Adding and removing roles and feature
- Remotely inventory roles, features, and apps
- Why Server Nano or Server Core
- Running PowerShell automatically after service failure
- Service account identities, passwords, and risks
- Tools to reset service account passwords securely
PowerShell Desired State Configuration (DSC)
- DSC is Configuration Management built in for free
- Using DSC for continuous reinforcement of settings
- Writing your own DSC configuration scripts
- Free DSC resource modules: www.PowerShellGallery.com
- How to push DSC configurations to many targets
- DSC background job processing in push mode
- Examples: sync files, install roles, manage groups
- Auditing a remote target against a DSC MOF template
- “ApplyAndAutoCorrect” mode for continuous enforcement
PowerShell Just Enough Admin (JEA)
- JEA is Windows sudo, like on Linux
- JEA is Windows setuid root, like on Linux
- Restricting commands and arguments
- Verbose transcription logging
- How to set up and configure JEA
- Privilege Access Workstations (PAWs)
PowerShell and WMI
- Windows Management Instrumentation (WMI) service
- What is WMI and why do hackers abuse it so much?
- Using PowerShell to query WMI CIM classes
- WMI authentication and traffic encryption
- Inventory operating system versions and installed software
- WMI remote command execution versus PowerShell remoting
- PowerShell security best practices
- PowerShell transcription logging to catch hackers
- Previous Windows Server and Windows Client management knowledge and hands on experience.
Experience installing and configuring Windows Server into existing enterprise environments, or as standalone installations.
- Knowledge and experience of network adapter configuration, basic Active Directory user administration, and basic disk configuration.
- Knowledge and hands on experience specifically with Windows Server 2012/Windows Server 2012 R2 and Windows 8/Windows 8.1 would be of benefit but is not essential.
Latest comments from students
Liked the class? Then let everyone know!