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. Its advanced automation features allow users to effectively manage and strengthen the security posture of Windows environments across their entire organization.
This instructor-led, live training (available online or onsite) is designed for System Administrators, 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 organizations.
Upon completing this training, participants will be capable of:
- Writing and executing PowerShell commands to streamline Windows security tasks.
- Leveraging PowerShell for remote command execution to deploy scripts across thousands of systems organization-wide.
- Configuring and hardening Windows Server and Windows Firewall to safeguard systems against malware and cyberattacks.
- Managing certificates and authentication mechanisms to regulate user access and activity.
Course Format
- Interactive lectures and group discussions.
- Extensive exercises and practical practice sessions.
- Hands-on implementation within a live-lab environment.
Customization Options
- For those seeking tailored training for this course, please reach out to us to arrange a customized schedule.
Course Outline
Introduction
Overview of Windows Security Using PowerShell Automation
Getting Started with PowerShell Automation
Utilizing PowerShell Features for Windows Security
Developing 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
Utilizing PowerShell for Windows Management Instrumentation (WMI)
Using PowerShell for Active Directory Queries and Management
Automating Server Hardening with AppLocker via PowerShell
Managing Windows Firewall Through PowerShell Scripting
Utilizing IPsec to Share Permissions for Listening Ports
Working with PowerShell Transcription Logging, Windows Event Logs, and Namespace Auditing
Implementing Certificate Authentication and TLS Encryption
Configuring Public Key Infrastructure and Windows Certificates
Employing Multi-Factor Authentication Using Smart Cards and Tokens
Understanding Security Best Practices
Digitally Signing PowerShell Scripts
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 fundamental understanding of Windows Server and Active Directory concepts
- Familiarity with command-line shells and scripting languages
Target Audience
- System Administrators
- 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 is an open platform designed for mobile devices, including smartphones and tablets. While it offers a wide range of security features to facilitate the development of secure software, it also lacks certain security aspects found in other handheld platforms. This course provides a comprehensive overview of these features and highlights critical shortcomings related to the underlying Linux system, file structure, and general environment, as well as those concerning the use of permissions and other Android development components.
The course describes typical security pitfalls and vulnerabilities for both native code and Java applications, along with recommendations and best practices to prevent and mitigate them. Many of the issues discussed are supported by real-life examples and case studies. Additionally, the course includes a brief overview on using security testing tools to identify potential programming bugs.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about Android security solutions
- Learn to utilize various security features of the Android platform
- Gain insights into recent Java vulnerabilities on Android
- Learn about common coding mistakes and how to avoid them
- Understand native code vulnerabilities on Android
- Recognize the severe consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their weaknesses
- Access sources and further readings on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursDeveloping a secure networked application can be challenging, even for developers who are already familiar with various cryptographic building blocks such as encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, the course first establishes a solid foundation regarding the main requirements of secure communication—namely, secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also addresses the typical problems that can compromise these requirements, alongside real-world solutions.
Since cryptography is a critical aspect of network security, the course discusses the most important cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on an in-depth mathematical background, these topics are explored from a developer's perspective, illustrating typical use-case examples and practical considerations related to crypto usage, such as public key infrastructures. The course also introduces security protocols used in various areas of secure communication, with an in-depth discussion on widely-used protocol families such as IPSEC and SSL/TLS.
Typical cryptographic vulnerabilities are discussed, both in relation to specific crypto algorithms and cryptographic protocols. Examples include BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and similar issues, as well as the RSA timing attack. For each problem, the 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 course covers the security aspects of XML. This includes the usage of XML within web services and SOAP messages, alongside protection measures such as XML signature and XML encryption. The course also addresses 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
- Understand the requirements of secure communication
- Learn about network attacks and defenses at different OSI layers
- Gain a practical understanding of cryptography
- Understand essential security protocols
- Understand some recent attacks against cryptosystems
- Get information about some recent related vulnerabilities
- Understand security concepts of Web services
- Get sources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursThis three-day course provides a foundational understanding of safeguarding C/C++ code against malicious actors who may exploit vulnerabilities related to memory management and input handling. Participants will explore the core principles necessary for writing secure code.
Advanced Java Security
21 HoursEven seasoned Java developers do not necessarily master all the security services provided by Java, nor are they always aware of the various vulnerabilities relevant to web applications written in Java.
This course, in addition to introducing the security components of the Standard Java Edition, addresses security issues related to Java Enterprise Edition (JEE) and web services. Before discussing specific services, the foundational concepts of cryptography and secure communication are covered. Through various exercises, participants explore declarative and programmatic security techniques in JEE, while the course also examines both transport-layer and end-to-end security for web services. The application of all components is illustrated through several practical exercises, allowing participants to experiment with the discussed APIs and tools firsthand.
The course also reviews and explains the most frequent and critical programming flaws associated with the Java language and platform, as well as web-related vulnerabilities. In addition to typical errors made by Java programmers, the security vulnerabilities covered include both language-specific issues and problems arising from the runtime environment. All vulnerabilities and corresponding attacks are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and potential mitigation techniques.
Participants attending this course will
- Understand basic security concepts, IT security, and secure coding practices
- Learn about web vulnerabilities beyond the OWASP Top Ten and know how to avoid them
- Understand the security concepts underlying web services
- Learn how to utilize various security features of the Java development environment
- Gain a practical understanding of cryptography
- Understand the security solutions available in Java EE
- Learn about typical coding mistakes and how to avoid them
- Receive information on some recent vulnerabilities in the Java framework
- Acquire practical knowledge in using security testing tools
- Obtain resources and further reading materials on secure coding practices
Audience
Developers
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
Although the Java language and the Runtime Environment (JRE) were designed to eliminate many of the critical security vulnerabilities commonly found in other languages like C/C++, developers and architects must go beyond merely knowing how to leverage the built-in security features of Java (positive security). They must also maintain a clear awareness of the numerous vulnerabilities that remain relevant to Java development (negative security).
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 will explore the practical application of these components through a series of hands-on exercises, allowing them to test the discussed APIs firsthand.
The curriculum also examines and explains the most frequent and severe programming flaws within the Java language and platform. This covers both typical errors made by Java developers and issues specific to the language and its environment. Each vulnerability and associated attack vector is demonstrated through accessible exercises, followed by recommended coding guidelines and effective 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 avoid them.
- Master the usage of various security features within the Java development environment.
- Develop a practical understanding of cryptography.
- Recognize typical coding mistakes and learn how to prevent them.
- Gain insights into recent vulnerabilities affecting the Java framework.
- Access sources and further reading materials on secure coding practices.
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages are available for compiling code into the .NET and ASP.NET frameworks. While this environment offers robust tools for security development, it is essential for developers to understand how to apply architecture-level and code-level programming techniques. Doing so ensures the implementation of desired security features while preventing vulnerabilities or limiting their potential exploitation.
This course aims to instruct developers through extensive hands-on exercises on how to prevent untrusted code from executing privileged actions, secure resources via strong authentication and authorization, manage remote procedure calls, handle sessions, and implement diverse functionality patterns.
The introduction to various vulnerabilities begins by highlighting typical programming errors common in .NET development. The discussion on ASP.NET vulnerabilities further explores various environment configurations and their impact. Finally, the section on ASP.NET-specific issues addresses general web application security challenges as well as specific concerns and attack vectors, such as ViewState attacks and string termination exploits.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding practices
- Identify web vulnerabilities extending beyond the OWASP Top Ten and learn strategies to avoid them
- Master the use of various security features within the .NET development environment
- Acquire practical expertise in utilizing security testing tools
- Recognize common coding mistakes and understand how to prevent them
- Stay informed about recent vulnerabilities affecting .NET and ASP.NET
- Access resources and additional readings on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to essential security concepts, offering a comprehensive overview of vulnerability characteristics independent of specific programming languages or platforms. It also explains how to manage risks related to software security throughout all phases of the software development lifecycle. While avoiding deep technical intricacies, the course highlights some of the most critical and prevalent vulnerabilities across various software development technologies. Furthermore, it addresses the challenges of security testing and presents effective techniques and tools for identifying potential issues within your code.
Upon completion, participants will be able to:
- Grasp fundamental concepts of security, IT security, and secure coding practices
- Identify web vulnerabilities affecting both server and client sides
- Recognize the serious consequences of improper buffer handling
- Stay informed about recent vulnerabilities in development environments and frameworks
- Learn about common coding errors and strategies to prevent them
- Understand various approaches and methodologies for security testing
Target Audience
Managers
Secure coding in PHP
21 HoursThis course equips PHP developers with the essential skills needed to protect their applications against contemporary internet-based threats. By utilizing PHP-specific examples that extend beyond the OWASP Top Ten, the curriculum covers a wide array of injection attacks, script injections, session handling vulnerabilities, insecure direct object references, file upload issues, and more. PHP vulnerabilities are categorized into standard types such as missing or inadequate input validation, flawed error and exception handling, misuse of security features, and time- or state-related problems. The latter section explores attacks like open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. Throughout, participants will become familiar with the key techniques and functions required to mitigate these risks.
A significant focus is placed on client-side security, addressing issues related to JavaScript, Ajax, and HTML5. The course introduces several PHP security extensions, including hash, mcrypt, and OpenSSL for cryptography, as well as Ctype, ext/filter, and HTML Purifier for input validation. Best practices for hardening are discussed in the context of PHP configuration (php.ini), Apache, and general server settings. Additionally, the course provides an overview of various security testing tools and techniques available to developers and testers, such as security scanners, penetration testing kits, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
Both the introduction of vulnerabilities and the configuration practices are reinforced through hands-on exercises. These practical sessions demonstrate the impact of successful attacks, show how to apply mitigation strategies, and introduce the usage of various extensions and tools.
Participants attending this course will
- Understand the fundamental concepts of security, IT security, and secure coding.
- Learn about web vulnerabilities beyond the OWASP Top Ten and know how to avoid them.
- Gain insight into client-side vulnerabilities and secure coding practices.
- Develop a practical understanding of cryptography.
- Learn how to utilize various PHP security features.
- Identify common coding mistakes and understand how to prevent them.
- Stay informed about recent vulnerabilities affecting the PHP framework.
- Acquire practical knowledge in using security testing tools.
- Access sources and further reading materials on secure coding practices.
Audience
Developers
Microsoft SDL Core
14 HoursThe Combined SDL Core training provides an in-depth look at secure software design, development, and testing, guided by the Microsoft Secure Development Lifecycle (SDL). This course offers a Level 100 overview of the fundamental building blocks of the SDL, followed by design techniques to identify and rectify vulnerabilities during the early stages of the development process.
During the development phase, the course covers typical security-related programming bugs found in both managed and native code. Attack vectors associated with these vulnerabilities are presented alongside mitigation strategies, all illustrated through practical, hands-on exercises that provide participants with live hacking experience. The introduction to various security testing methods is followed by a demonstration of the effectiveness of different testing tools. Participants gain insight into how these tools operate by applying them to previously discussed vulnerable code through several practical exercises.
Participants attending this course will
Understand the fundamental concepts of security, IT security, and secure coding
Become familiar with the essential steps of the Microsoft Secure Development Lifecycle
Learn 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 HoursOnce participants are familiar with vulnerabilities and attack methods, they will explore the general approach and methodology for security testing, along with techniques used to uncover specific weaknesses. The process begins with information gathering about the system (the Target of Evaluation), followed by comprehensive threat modeling to identify and prioritize all potential threats, ultimately leading to a risk analysis-driven test plan.
Security evaluations can be integrated at various stages of the SDLC. Therefore, the course covers design reviews, code reviews, reconnaissance, information gathering, implementation testing, and environment hardening for secure deployment. Detailed instruction is provided on numerous security testing techniques, such as taint analysis, heuristics-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing. A variety of tools designed to automate the security evaluation of software products are introduced. These concepts are reinforced through practical exercises where participants execute these tools to analyze previously discussed vulnerable code. Additionally, real-life case studies are used to deepen understanding of various vulnerabilities.
This course equips testers and QA staff with the ability to effectively plan and execute security tests, select and utilize the most suitable tools and techniques to detect even hidden security flaws, and acquire essential practical skills applicable to their daily work immediately.
Participants attending this course will
- Comprehend fundamental concepts of security, IT security, and secure coding
- Gain knowledge of web vulnerabilities beyond the OWASP Top Ten and learn how to prevent them
- Understand client-side vulnerabilities and adopt secure coding practices
- Grasp security testing approaches and methodologies
- Acquire hands-on 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 over the web requires security professionals who are thoroughly prepared and continuously aware of current attack methods and trends. A wide array of technologies and environments enables the comfortable development of web applications. Developers must not only be mindful of security issues specific to these platforms but also understand 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 the most important cryptographic methods to be implemented. Various web application vulnerabilities are presented for both the server side (following the OWASP Top Ten) and the client side, demonstrated through relevant attacks, and followed by recommended coding techniques and mitigation strategies to avoid associated problems. The topic of secure coding concludes with a discussion of typical security-related programming mistakes in the areas of 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—ranging from high-level auditing and penetration testing to ethical hacking—can be applied to identify different types of vulnerabilities. However, to go beyond easily identifiable issues ('low-hanging fruit'), security testing must be well-planned and properly executed. Remember: security testers should ideally find all bugs to protect a system, whereas adversaries need only find one exploitable vulnerability to penetrate it.
Practical exercises will help participants understand web application vulnerabilities, programming mistakes, and most importantly, mitigation techniques. Through hands-on trials of 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 fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and know how to avoid them
- Learn about client-side vulnerabilities and secure coding practices
- Gain a practical understanding of cryptography
- Understand security testing approaches and methodologies
- Acquire practical knowledge in using security testing techniques and tools
- Be 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 held in Italy, participants will acquire the skills to formulate a comprehensive security strategy to tackle 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 provide professionals with the skills necessary to embed security throughout the DevOps lifecycle, facilitating secure software development from the planning phase 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 that code delivery is both secure and compliant.
Upon completion of this training, participants will be capable of:
- Grasping the core principles and practices of DevSecOps.
- Securing every stage of the CI/CD pipeline through the use of automated tools.
- Applying secure coding practices and conducting vulnerability scans.
- Preparing for the ECDE certification via practical labs and review sessions.
Course Format
- Interactive lectures and discussions.
- Hands-on experience with DevSecOps tools within simulated pipelines.
- Guided exercises centered on secure development and deployment processes.
Course Customization Options
- For customized training tailored to your team’s specific workflows or toolchains, please contact us to make arrangements.
How to Write Secure Code
35 HoursThis course aims to assist with the following:
- Help developers master the techniques of writing secure code.
- Assist software testers in evaluating the application's security before it is published to the production environment.
- Help software architects understand the risks surrounding applications.
- Support team leaders in establishing security baselines for developers.
- Aid web masters in configuring servers to avoid misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores secure coding concepts and principles for Java, leveraging the testing methodologies of the Open Web Application Security Project (OWASP). The OWASP is an online community that produces freely available articles, methodologies, documentation, tools, and technologies dedicated to web application security.