An Intro to PowerShell and How to Use It for Evil
This two day course is designed to take people with little to no scripting knowledge and help them learn how to effectively use PowerShell to write custom scripts. Through hands on exercises, you’ll learn not just how to use existing offensive tools but how to create your own scripts and modules to handle various stages of an engagement. We’ll cover common PowerShell based attacks as well as how to detect and defend against PowerShell “misuse” in your environment.
Prerequisites No scripting or programming experience is required. This course is designed to be a “newbie” focused class and significant time is spent on fundamental scripting/programming conventions. While the course is designed around Information Security, very little knowledge is assumed and anyone looking to learn PowerShell will benefit from attending this course. Students should have a basic understanding of Windows and be comfortable using Remote Desktop software on their Operating System of choice.
Day 1
- Intro to PowerShell
- Integers, strings and other things
- Variables
- Built in variables
- Defining/using variables
- Logic (if/else/then/while)
- Functions
- Getting Help
- Error handling
- Writing basic scripts
- Living off the land
- Editing the Registry
- Scheduled Tasks
- PowerShell Remote Access techniques
- Modern PowerShell Attack techniques
- Methodologies
- Local Frameworks
Day 2
- Day 1 Recap
- Using .NET from within PowerShell
- Writing (moderately) complex scripts/modules
- Privilege Escalation
- Creating Backdoors
- Working with Volume Shadow Copies
- Remote Frameworks
- Powershell and Metasploit
- Empire
- Protecting your Environment
- Hardening against Lateral Movement
- Configuring Event Logging
- Constrained Language Mode
- Applocker/Device Guard
Trainer’s Bio:
Jared Haight (@jaredhaight) spent 10 years as a Systems Administrator where he used PowerShell to handle any task that he had to do more than once. Now as a Penetration Tester he uses his knowledge of PowerShell on engagements to help companies improve their security posture. He has spent the last four years teaching people how to use PowerShell and created the PS>Attack platform to help Penetration Testers easily add PowerShell to their toolkit.