Securing Windows Using PowerShell Automation Training Course
PowerShell serves as a robust task management framework, empowering systems administrators to configure and automate operations via scripting languages and command-line interfaces. By leveraging PowerShell’s automation capabilities, users can effectively manage and strengthen the security posture of Windows environments across their organisation.
This instructor-led, live training—available either online or onsite—is designed for SysAdmins, systems engineers, security architects, and security analysts who aim to write, execute, and deploy PowerShell scripts and commands to automate Windows security management within their organisation.
Upon completion of this training, participants will be capable of:
- Writing and executing PowerShell commands to streamline Windows security tasks.
- Utilising PowerShell for remote command execution to run scripts across thousands of systems throughout an organisation.
- Configuring and hardening Windows Server and Windows Firewall to safeguard systems against malware and attacks.
- Managing certificates and authentication mechanisms to regulate user access and activities.
Course Format
- Interactive lectures and discussions.
- Extensive exercises and practical sessions.
- Hands-on implementation within a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Course Outline
Introduction
Overview of Windows Security Using PowerShell Automation
Getting Started with PowerShell Automation
Using PowerShell Features for Windows Security
Writing PowerShell Scripts, Functions, and Modules
Executing PowerShell Commands and Scripts
Passing Arguments and Piping Data for PowerShell Scripts
Running Remote Command Shells
Integrating PowerShell Core with OpenSSH on Windows
Exploring PowerShell Just Enough Admin (JEA)
Deploying PowerShell, Group Policy, and Task Scheduler
Using PowerShell for Windows Management Instrumentation (WMI)
Using PowerShell for Active Directory Queries and Management
Server Hardening Automation with AppLocker Using PowerShell
Managing Windows Firewall Using PowerShell Scripting
Using IPsec to Share Permissions for Listening Ports
Working with PowerShell Transcription Logging, Windows Event Logs, and Namespace Auditing
Using Certificate Authentication and TLS Encryption
Configuring Public Key Infrastructure and Windows Certificates
Employing Multi-Factor Authentication Using Smart Cards and Tokens
Learning About Security Best Practices
Signing PowerShell Scripts Digitally
Writing a PowerShell Ransomware Script
Blocking Hackers and Ransomware Using Various Security Methods
Mitigating Kerberos Attacks, Remote Desktop Protocol Attacks, Security Access Token Abuse, and More
Deploying Anti-Exploitation Defenses for PowerShell
Summary and Conclusion
Requirements
- A general understanding of Windows Server and Active Directory concepts
- Familiarity with command-line shell and scripting language
Audience
- SysAdmins
- Systems engineers
- Security architects
- Security analysts
Open Training Courses require 5+ participants.
Securing Windows Using PowerShell Automation Training Course - Booking
Securing Windows Using PowerShell Automation Training Course - Enquiry
Securing Windows Using PowerShell Automation - Consultancy Enquiry
Testimonials (3)
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
the knowledge of the trainer was very high - he knew what he was talking about, and knew the answers to our questions
Adam - Fireup.PRO
Course - Advanced Java Security
The topic is current and I needed to be updated
Damilano Marco - SIAP s.r.l.
Course - Secure Developer Java (Inc OWASP)
Upcoming Courses
Related Courses
Android Security
14 HoursAndroid serves as an open-source platform for mobile devices, including smartphones and tablets. It offers a wide array of security features designed to facilitate the development of secure software. Nevertheless, it lacks certain security elements found on other mobile platforms. This course provides a thorough examination of these features and highlights critical gaps associated with the underlying Linux system, file structure, and general environment, as well as issues related to permission management and other Android development components.
The course details common security pitfalls and vulnerabilities for both native code and Java applications, offering recommendations and best practices to prevent and mitigate these risks. Many of the discussed issues are illustrated with real-world examples and case studies. Additionally, the course covers how to utilise security testing tools to identify potential programming flaws related to security.
Participants attending this course will
- Gain a solid understanding of fundamental security principles, IT security, and secure coding techniques
- Learn about the security solutions available on Android
- Master the use of various Android platform security features
- Receive updates on recent Java vulnerabilities within the Android environment
- Identify common coding errors and learn how to avoid them
- Understand vulnerabilities associated with native code on Android
- Recognise the serious implications of insecure buffer handling in native code
- Comprehend architectural protection mechanisms and their limitations
- Access resources and further reading on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursDeveloping secure networked applications can be challenging, even for developers who have previously utilized various cryptographic building blocks, such as encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, the course begins by establishing a solid foundation regarding the core requirements of secure communication: secure acknowledgement, integrity, confidentiality, remote identification, and anonymity. It also addresses typical threats that may compromise these requirements, alongside real-world solutions.
As cryptography is a critical aspect of network security, the course covers the most important algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematical theory, these topics are presented from a developer's perspective, illustrating typical use-case examples and practical considerations, such as the implementation of public key infrastructures. Additionally, security protocols used in various areas of secure communication are introduced, with an in-depth discussion on widely-used protocol families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are examined, covering issues related to specific algorithms and protocols such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each problem, practical considerations and potential consequences are described without delving into deep mathematical details.
Finally, since XML technology is central to data exchange for networked applications, the security aspects of XML are detailed. This includes the use of XML in web services and SOAP messages, along with protection mechanisms like XML Signature and XML Encryption. The course also covers weaknesses in these protection measures and XML-specific security issues such as XML injection, XML External Entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Grasp the requirements of secure communication
- Learn about network attacks and defenses across different OSI layers
- Develop a practical understanding of cryptography
- Understand essential security protocols
- Comprehend recent attacks against cryptosystems
- Gain information on recent related vulnerabilities
- Understand security concepts of Web services
- Access sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursSpanning three days, this course explores the foundational principles of securing C/C++ code. Participants will learn how to protect against malicious exploitation of common vulnerabilities, particularly those arising from memory management and input handling.
Advanced Java Security
21 HoursEven seasoned Java developers often do not fully master the array of security services provided by Java, nor are they always aware of the distinct vulnerabilities that affect web applications built with Java.
This course not only introduces the security components of the Standard Java Edition but also addresses security challenges within the Java Enterprise Edition (JEE) and web services. The discussion of specific services begins with the fundamental principles of cryptography and secure communication. A series of practical exercises covers both declarative and programmatic security techniques in JEE, while the course explores transport-layer and end-to-end security for web services. Participants will engage in several hands-on exercises to apply and experiment with the discussed APIs and tools.
The course also examines and clarifies the most common and severe programming flaws associated with the Java language and platform, along with web-related vulnerabilities. Beyond typical bugs made by Java programmers, the security vulnerabilities covered include issues specific to the language and those arising from the runtime environment. Each vulnerability and its corresponding attack vector are demonstrated through clear, easy-to-follow exercises, followed by recommended coding guidelines and potential mitigation strategies.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Understand the security principles underlying web services
- Acquire the skills to utilise various security features within the Java development environment
- Develop a practical understanding of cryptography
- Comprehend the security solutions provided by Java EE
- Learn to identify typical coding mistakes and how to avoid them
- Gain insights into some recent vulnerabilities within the Java framework
- Obtain practical experience in using security testing tools
- Access resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
While the Java language and its Runtime Environment (JRE) were engineered to eliminate many of the common security vulnerabilities found in languages such as C and C++, it remains crucial for software developers and architects to possess a dual understanding. This includes mastery of the Java environment's positive security features, as well as awareness of the negative security aspects—specifically, the vulnerabilities that still impact Java development.
Before introducing security services, the course provides a concise overview of cryptography fundamentals, establishing a shared baseline for understanding the purpose and functionality of the relevant components. Participants apply this knowledge through practical exercises, allowing them to experiment with the discussed APIs firsthand.
Furthermore, the course examines and elucidates the most frequent and severe programming flaws within the Java language and platform. It addresses both typical errors made by Java programmers and issues specific to the language and its environment. Each vulnerability and its corresponding attack vector are demonstrated via accessible exercises, followed by recommended coding guidelines and mitigation strategies.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Identify web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Utilise various security features within the Java development environment
- Develop a practical understanding of cryptography
- Recognise common coding mistakes and learn how to avoid them
- Gain insights into recent vulnerabilities affecting the Java framework
- Access resources and further reading on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, a variety of programming languages enable code compilation for the .NET and ASP.NET frameworks. While these environments offer robust security development capabilities, developers must understand how to apply architecture-level and coding-level techniques to implement desired security functions effectively, prevent vulnerabilities, and mitigate potential exploitation.
This course aims to equip developers with practical skills through extensive hands-on exercises. Participants will learn how to prevent untrusted code from executing privileged actions, protect resources via strong authentication and authorization, manage remote procedure calls and sessions, and explore various functional implementations, among other key topics.
The introduction to different vulnerabilities begins by examining typical programming issues associated with .NET, while the discussion on ASP.NET vulnerabilities covers various environment settings and their impacts. Furthermore, the module on ASP.NET-specific vulnerabilities addresses general web application security challenges alongside special issues and attack methods, such as ViewState attacks and string termination attacks.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding practices
- Gain knowledge of web vulnerabilities beyond the OWASP Top Ten and learn how to avoid them
- Learn to utilise various security features within the .NET development environment
- Acquire practical experience using security testing tools
- Understand common coding mistakes and discover how to prevent them
- Receive information on recent vulnerabilities affecting .NET and ASP.NET
- Access resources and further reading materials on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to fundamental security principles, offering a broad perspective on vulnerability types across different programming languages and platforms. It outlines strategies for managing software security risks throughout all stages of the software development lifecycle. While avoiding deep technical complexities, the course highlights prominent and impactful vulnerabilities prevalent in modern software development technologies. It also addresses the challenges of security testing and introduces practical techniques and tools to help participants identify and resolve existing issues in their code.
Upon completion of this course, participants will
- Grasp the core concepts of security, IT security, and secure coding practices
- Comprehend web vulnerabilities affecting both server and client sides
- Recognize the serious implications of improper buffer handling
- Gain awareness of recent vulnerabilities found in development environments and frameworks
- Learn about common coding errors and methods to prevent them
- Understand various security testing approaches and methodologies
Intended Audience
Managers
Secure coding in PHP
21 HoursThis course equips PHP developers with the essential skills required to harden applications against modern internet-based threats. It explores web vulnerabilities through practical PHP examples that extend beyond the OWASP Top Ten, addressing issues such as injection attacks, script injection, session handling weaknesses, insecure direct object references, file upload flaws, and more. The curriculum categorizes PHP-related vulnerabilities into standard types, including inadequate or missing input validation, improper error and exception handling, misused security features, and time- or state-related defects. Specific attack vectors discussed include open_basedir circumvention, denial-of-service attacks via magic floats, and hash table collision exploits. Participants will master the critical techniques and functions needed to mitigate these risks.
A significant emphasis is placed on client-side security, covering vulnerabilities in JavaScript, Ajax, and HTML5. The course introduces key PHP extensions for cryptography, such as hash, mcrypt, and OpenSSL, as well as those for input validation, including Ctype, ext/filter, and HTML Purifier. Best practices for hardening are provided regarding PHP configuration (php.ini), Apache server settings, and general server administration. Additionally, the course offers an overview of various security testing tools and techniques available to developers and testers, including security scanners, penetration testing utilities, exploit kits, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the vulnerability concepts and configuration guidelines are reinforced through hands-on exercises. These practical sessions demonstrate the impact of successful attacks, illustrate how to implement mitigation strategies, and guide the use of various extensions and tools.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Gain insight into client-side vulnerabilities and secure coding methodologies
- Develop a practical understanding of cryptography
- Learn to effectively utilise various PHP security features
- Identify common coding mistakes and discover how to avoid them
- Stay informed about recent vulnerabilities within the PHP framework
- Acquire hands-on experience with security testing tools
- Access resources and further reading materials on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThe Combined SDL core training offers an in-depth look at secure software design, development, and testing through the Microsoft Secure Development Lifecycle (SDL). It provides a foundational overview (Level 100) of the core components of SDL, followed by design strategies aimed at detecting and remedying flaws early in the development cycle.
Addressing the development phase, the course surveys common security-related programming vulnerabilities in both managed and native code. It presents attack vectors for these vulnerabilities alongside corresponding mitigation techniques, illustrated through numerous hands-on exercises that offer participants engaging, practical hacking experiences. The introduction to various security testing methods is complemented by demonstrations of the effectiveness of different testing tools. Participants will gain a clear understanding of how these tools operate through practical exercises, applying them to the vulnerable code scenarios discussed throughout the course.
Participants attending this course will
Grasp fundamental concepts of security, IT security, and secure coding
Become familiar with the essential steps of the Microsoft Secure Development Lifecycle
Acquire knowledge of secure design and development practices
Learn about secure implementation principles
Understand security testing methodology
- Access sources and further readings on secure coding practices
Audience
Developers, Managers
Security Testing
14 HoursHaving gained an understanding of vulnerabilities and attack vectors, participants will explore the overarching approach and methodology for security testing, along with the techniques used to uncover specific weaknesses. A robust security testing process begins with comprehensive information gathering regarding the system under evaluation (ToC), followed by detailed threat modeling to identify and prioritise all potential threats, ultimately leading to a risk analysis-driven test plan.
Security evaluations can be conducted at various stages of the Software Development Life Cycle (SDLC). Consequently, this course covers design reviews, code inspections, reconnaissance, and information gathering about the system, as well as testing implementation and hardening the environment for secure deployment. Detailed attention is given to various security testing techniques, such as taint analysis, heuristics-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing. A range of tools is introduced to automate the security evaluation of software products, supported by practical exercises where participants execute these tools to analyse previously discussed vulnerable code. Additionally, real-life case studies are utilised to deepen understanding of various vulnerabilities.
This course equips testers and QA personnel with the ability to plan and execute security tests effectively, select and utilise the most suitable tools and techniques to identify even concealed security flaws, and provides essential practical skills that can be applied immediately in their daily work.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and understand how to mitigate them
- Acquire knowledge of client-side vulnerabilities and secure coding best practices
- Comprehend security testing approaches and methodologies
- Gain practical experience with security testing techniques and tools
- Access resources and further reading materials on secure coding practices
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting applications accessible via the web demands security professionals who are consistently up to date with current attack methods and trends. A wide array of technologies and environments facilitate the comfortable development of web applications. It is essential to be aware not only of security issues specific to these platforms but also of general vulnerabilities that apply regardless of the development tools used.
This course provides an overview of applicable security solutions for web applications, with a special focus on understanding key cryptographic solutions. We present various web application vulnerabilities on both the server side (following the OWASP Top Ten) and the client side, demonstrating relevant attacks alongside recommended coding techniques and mitigation methods to prevent associated problems. The topic of secure coding concludes with a discussion on typical security-relevant programming mistakes, particularly in input validation, improper use of security features, and code quality.
Testing plays a crucial role in ensuring the security and robustness of web applications. Various approaches, from high-level auditing and penetration testing to ethical hacking, can be employed to identify different types of vulnerabilities. However, to go beyond easily found 'low-hanging fruit,' security testing must be well-planned and properly executed. Remember: ideally, security testers should find all bugs to protect a system, whereas adversaries only need to find one exploitable vulnerability to breach it.
Practical exercises will aid in understanding web application vulnerabilities, programming mistakes, and most importantly, mitigation techniques. Through hands-on trials with various testing tools—including security scanners, sniffers, proxy servers, fuzzing tools, and static source code analyzers—this course provides essential practical skills that can be applied immediately in the workplace.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and know how to avoid them
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Develop a practical understanding of cryptography
- Understand security testing approaches and methodologies
- Acquire practical knowledge in using security testing techniques and tools
- Stay informed about recent vulnerabilities in various platforms, frameworks, and libraries
- Receive sources and further reading on secure coding practices
Audience
Developers, Testers
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led live course in Malaysia, participants will learn how to formulate an effective security strategy to address the challenges of DevOps security.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) is a practical course designed to equip professionals with the skills to embed security throughout the DevOps lifecycle, facilitating secure software development from initial planning through to deployment.
This instructor-led, live training (available online or onsite) targets intermediate-level software and DevOps professionals who aim to integrate security practices into CI/CD pipelines, ensuring the delivery of secure and compliant code.
Upon completion of this training, participants will be able to:
- Grasp the core principles and practices of DevSecOps.
- Secure every stage of the CI/CD pipeline using automated tools.
- Implement secure coding practices and conduct vulnerability scanning.
- Prepare for the ECDE certification through practical labs and review sessions.
Course Format
- Interactive lectures and discussions.
- Hands-on application of DevSecOps tools within simulated pipelines.
- Guided exercises focused on secure development and deployment processes.
Course Customization Options
- To arrange customized training tailored to your team’s specific workflows or toolchain, please contact us.
How to Write Secure Code
35 HoursThis course aims to achieve the following:
- Assist developers in mastering the techniques of writing secure code.
- Enable software testers to assess application security before deployment to the production environment.
- Help software architects understand the risks surrounding applications.
- Assist team leaders in establishing security baselines for developers.
- Support webmasters in configuring servers to avoid misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores the fundamental concepts and principles of secure coding in Java, utilizing the testing methodology of the Open Web Application Security Project (OWASP). The Open Web Application Security Project is a global community dedicated to producing freely accessible articles, methodologies, documentation, tools, and technologies focused on web application security.