What You Will Learn
Performing IT security audits at the enterprise level can be a daunting task. How should you determine which systems to audit first? How do you assess the risk to the organization related to information systems and business processes? What settings should you check on the various systems under scrutiny? Is there a set of processes that can be put into place to allow an auditor to focus on the business processes rather than the security settings? How do you turn this into a continuous monitoring process? The material covered in this course will answer all of these questions and more.
AUD507 teaches students how to apply risk-based decision making to the task of auditing enterprise security.
This track is organized specifically to provide a risk-driven method for tackling the enormous task of designing an enterprise security validation program. After covering a variety of high-level audit issues and general audit best practices, students will have the opportunity to delve into the technical "how-to" for determining the key controls that can be used to provide a high level of assurance to an organization. Real-world examples provide students with tips on how to verify these controls in a repeatable way, as well as many techniques for continuous monitoring and automatic compliance validation. These same real-world examples help the students learn how to be most effective in communicating risk to management and operations staff.
AUD507 allows students to practice new skills in realistic, hands-on labs.
In this course, students learn how to use technical tests to develop the evidence needed to support their findings and recommendations. Each day affords students opportunities to use the tools and techniques discussed in class, with labs designed to simulate real-world enterprise auditing challenges and to allow the students to use appropriate tools and techniques to solve these problems.
We also go beyond simply discussing the tools students could use; we give them the experience to use the tools and techniques effectively to measure and report on the risk in their organizations. The final section of the course is a lab that lets students challenge themselves by solving realistic audit problems using and refining what they have learned in class.
The skills students learn in AUD507 can be used immediately after class.
Students will leave the course with the know-how to perform effective tests of enterprise security in a variety of areas. The combination of high-quality course content, provided audit checklists, in-depth discussion of common audit challenges and solutions, and ample opportunities to hone their skills in the lab provides a unique setting for students to learn how to be an effective enterprise auditor.
"AUD507 has obvious practical applications, and it's great to see some of the most infamous hacking methods explained and executed in real time. In the labs, I'm getting hands-on experience with the tools. The opportunity to learn how to interpret the results taught me more in one afternoon than I've picked up here-and-there over an entire career." - Tyler Messa, AWS
A Sampling of Course Topics
- Audit planning and techniques
- Effective risk assessment for control specification
- Time-based assessment and auditing
- Delivering effective reports to management
- Auditing virtualization hosts
- Understanding and auditing cloud services and containers
- Effective network population auditing
- Performing useful vulnerability assessments
- Detailed router, switch and firewall auditing
- OWASP Top Ten Proactive Controls for web applications
- Auditing traditional web applications
- Auditing web APIs, AJAX, and single-page applications
- Windows PowerShell
- Windows system auditing & scaling to the enterprise
- Auditing Active Directory
- Building an audit toolkit
- Linux/UNIX auditing
AUD507 uses hands-on labs to reinforce the material discussed in class and develop the "muscle memory" needed to perform the required technical tasks during audits. An abbreviated sampling of the many lab topics includes:
- Calculating audit sample sizes and margins of error
- Understanding hypervisors
- Auditing Docker security configuration
- Population scanning and monitoring
- Auditing network device configurations
- Testing SMTP and DNS server settings
- Using the Burp proxy to analyze and modify web traffic
- Auditing of web session handling mechanisms
- Performing brute force attacks against websites
- Testing website input handling
- Scripting with PowerShell
- Auditing Active Directory
- Querying Windows system information
- Determining installed software on Windows
- Auditing Windows patching
- Working with Linux system logs and journals
- Scripting Linux with Bash
- Using Tripwire to ensure file integrity
- Using Auditd to monitor Linux filesystems
YOU WILL BE ABLE TO:
- Understand the different types of controls (e.g., technical vs. non-technical) essential to performing a successful audit
- Conduct a proper risk assessment of an enterprise to identify vulnerabilities and develop audit priorities
- Establish a well-secured baseline for computers and networks as a standard to conduct audit against
- Perform a network and perimeter audit using a repeatable process
- Audit virtualization hosts and container environments to ensure properly deployment and configuration
- Utilize vulnerability assessment tools effectively to provide management with the continuous remediation information necessary to make informed decisions about risk and resources
- Audit a web application's configuration, authentication, and session management to identify vulnerabilities attackers can exploit
- Utilize scripting to build a system which will baseline and automatically audit Active Directory and all systems in a Windows domain
- Utilize scripting to build a system which will baseline and automatically audit Linux systems
WHAT YOU WILL RECEIVE:
In this course, you will receive the following:
- Electronic Courseware
- MP3 audio file of the complete course lecture
Syllabus (36 CPEs)
Section one provides the "on-ramp" for the highly technical audit tools and techniques used later in the course. After laying the foundation for the role and function of an auditor in the information security field, this section's material provides practical, repeatable and useful risk assessment methods that are particularly effective for measuring the security of enterprise systems, identifying control gaps and risks, and enabling us to recommend additional controls to address the risk. We finish off the section with coverage of the security risks and associated audit techniques for virtualization hosts, cloud services and container systems.
The first part of this section is dedicated to defining the terms used in the class and setting the stage for performing highly effective technology security audits. We follow this with demonstrations of practical risk assessments using consequence/cause analysis and time-based security. We discuss what defense-in-depth really means and how to apply the results of our risk assessments to providing a well-reasoned deep defense of our enterprise systems and business processes. We apply these risk assessment and defense concepts to realistic case studies involving the controls commonly used by enterprises.
We present a proven six-step audit process and the qualities required of a technical auditor. We discuss how to plan for and manage audit engagements, how to gather useful audit evidence, and how to best present findings to management in both written reports and in-person presentations.
The last part of this section is spent covering the tools that will make your life much easier as an IT auditor. The first is NMAP, which can be used for host and service discovery, service and OS version identification, and even configuration checking. We present the "auditor's view" of NMAP, including the settings to use for more reliable audit results and the scripts which might speed up your evidence gathering. Then we move on to a discussion of vulnerability scanners and their use in audit, assurance and operations in the enterprise.
- Audit sampling: Calculating samples and margins of error.
- Network Scanning and Continuous Monitoring with Nmap
- Network Discovery Scanning with Nessus
- Auditor's Role as it Relates to:
- Policy Creation
- Policy Conformance
- Incident Handling
- Basic Auditing and Assessing Strategies
- Time-Based Security
- Thinking Like an Auditor
- Developing Auditing Checklists from Policies and Procedures
- Performing Effective Risk Assessments
- Risk Assessment
- Identifying Existing Controls
- Determining Root Failure Causes
- Using Risk Assessment to Specify New Controls
- The Six-Step Audit Process
- How the Steps Interrelate
- How to Effectively Conduct an Audit
- How to Effectively Report the Findings
- Network Population Monitoring
- Robust Process for Node Identification
- Network Population Change Management and Monitoring
- Automated Notification Processes
- Vulnerability Scanning
- Effective Scanning
- Effective, Business Aligned, Reporting
Section two focuses on securing the enterprise network. The days are gone when a good firewall at the edge of the network is all we really need. In fact, in many enterprises, the network has no real "edge". Auditors should encourage their organizations to focus on security within the network with the same diligence as they use at the perimeter.
We begin the section with a discussion of private and public cloud technologies used in the modern enterprise. First, we look at the security issues related to virtualization hosts and present a list of controls which auditors should examine for the most commonly used hypervisors. Next, we examine how enterprises integrate cloud technologies into their portfolios and look at how cloud providers and their customers should share security responsibilities. We examine guidance from the Cloud Security Alliance and major cloud vendors to develop a list of items to review when auditing an organization's use of cloud services.
The next part of the section is dedicated to understanding containers and container orchestration tools and how they should be deployed and configured. Using the Center for Internet Security's (CIS) Docker Benchmark as a guide, we take a deep look at how our container deployments should be secured and the important items to audit in those deployments. We continue with a discussion of container orchestration tools, like Kubernetes, and how to secure those tools for production use. We wrap up this section with a discussion of serverless functions and their use in the enterprise.
We continue the section with a discussion of Ethernet networks and then work our way up the networking stack. Students will learn how to identify insecurely configured VLANs, how to determine perimeter firewall requirements, how to examine enterprise routers and much more. We continue with a study of wireless networking and the best practices for defending it.
This section ends with an analysis of common security requirements for public services, focusing on the domain name system (DNS) and the simple mail transfer protocol (SMTP). Finally, students are guided through best practices for using network mapping tools like Nmap and vulnerability scanners to assist the organization in securing and continuously monitoring the network.
Many auditors confess that networking is one of their weakest topics. Therefore, each technology is fully explained using simple, everyday illustrations. Each topic is a component of a risk-driven framework for securing a network long-term and discussed in the context of a real security organization. How do we reconcile security concerns with operational requirements? What questions should a security auditor be asking? What should the answers to those questions be? How does continuous monitoring fit in and how do you architect those processes?
Students regularly describe section two in two ways. First, they say it's the most difficult section of the course; then they add that it filled in the gaps they had in understanding how networks really work and how they should be secured.
- Examining Hypervisors
- Xen Server
- VMware ESXi Server
- Auditing Docker Security
- Capturing and Analyzing Network Traffic
- Wireshark Introduction
- Finding Layer 2 Configuration Issues
- Analyzing and Validating Device Configurations
- Routers and Switches
- Testing Public Services
- Public, Private and Hybrid Cloud Deployments
- Private Clouds and Hypervisor Security
- Common Hypervisors
- Useful Hypervisor Audit Tools
- Public Cloud Technologies
- Shared Responsibility Models
- Security of the Cloud
- Security in the Cloud
- Containers, orchestration and serverless functions
- Secure Layer 2 Configurations
- Spanning Tree
- VLAN Trunking
- Switching Topology Security
- Router & Switch Configuration Security
- Remote Administration
- Logging Concerns and Practice
- ACL Configuration and Validation
- User Management
- Evolving Technologies
- Firewall Auditing, Validation & Monitoring
- Information Flow Diagramming
- Converting Requirements to ACLs
- Understanding Firewall Design
- Network Architecture Validation
- Rules Review and Analysis
- Next Generation Firewalls
- Secure Deployments Today
- Identification of Wireless Security Issues
- Effective Scanning
- Effective, Business Aligned, Reporting
Web applications seem to stay at the top of the list of security challenges faced by enterprises today. The organization needs an engaging and cutting-edge web presence, but the very technologies which allow the creation of compelling and data-rich websites also make it very challenging to provide proper security for the enterprise and its customers. Unlike other enterprise systems, our web applications are freely shared with the world and exposed to the potential for constant attack.
We begin this section with a discussion of the suite of technologies which make modern web applications work and the tools which auditors can use to identify, analyze and manipulate these technologies as part of a well-designed and thorough security audit. We cover the technologies which make the web work: including HTML, HTTP, AJAX, web servers and databases. We also introduce the use of proxies in testing web applications by capturing, examining, and sometimes manipulating the traffic between a web client and the server.
We move on to introduce students to many of the resources available from the Open Web Application Security Project (OWASP), focusing on their Top 10 vulnerabilities list and the Top 10 Proactive Controls for web applications. From this foundation, we build a list of five critically important web development and deployment practices which serve as the basis for performing rigorous testing of web applications in the enterprise.
We dedicate most of section three to teaching the controls which can be used to secure applications and the skills needed to test and validate these controls. We develop and use a checklist for testing the most common and important security vulnerabilities. Throughout the section, students have the opportunity to use these tools to test sample web applications similar to those commonly deployed in today's enterprises. We also offer advice on how engineers, administrators, and developers can better secure the web technologies they design, implement and maintain. And finally, we discuss the best ways to report on findings and make useful recommendations.
- Introduction to Web and Testing Technologies
- Secure Server Configurations - TLS
- Secure Server Configurations - Information Disclosure
- Authentication Attacks
- Authentication Information Disclosure
- Logic Flaws
- Input/Output Flaws - Cross-Site Scripting
- Input/Output Flaws - SQL Injections
- Why Web Applications Are a Major Problem
- Understanding HTTP, HTML, and related technologies
- Hypertext Markup Language - HTML
- Hypertext Transfer Protocol - HTTP
- HTTP Requests and Responses
- Related Technologies
- RESTful APIs
- Service Oriented Architecture/SOAP
- Single-Page Applications
- Cascading Style Sheets
- The Burp Proxy
- OWASP Top 10 List
- OWASP Top 10 Proactive Controls
- Server Configuration
- Information Disclosures
- HTTPS Settings
- Secure Development Practices
- Use of Security Frameworks
- Multi-Tier Development
- Error Handling
- Code Review
- Static and Dynamic Analysis
- Scanning Caveats
- HTTP Basic Authentication
- Forms Authentication
- Client Certificates
- Username Harvesting
- Brute Forcing
- Password Security
- Session Handling
- Tracking Mechanisms
- Session Defenses
- Cross-Site Request Forgery
- Data Handling
- GET vs. POST for Sensitive Data
- Input/Output Flaws and Solutions
- Injection Flaws - Cross-Site Scripting
- Injection Flaws - SQL Injection
- Other Injection Flaws
- Sensitive Output
- Logging and Monitoring
- Log Everything
- Don't Log Too Much
- Auxiliary Logging Techniques
The majority of systems encountered on most enterprise audits are running Microsoft Windows in some version or another. The centralized management available to administrators has made Windows a popular enterprise operating system. The sheer volume of settings and configurable controls, coupled with the large number of systems often in use, makes auditing Windows servers and workstations a huge undertaking.
In section four, we teach students how to audit Windows systems and Active Directory domains at scale. We begin with an introduction to Windows PowerShell, covering how to use the shell and moving on to writing and editing scripts which allow the auditor to perform repetitive tasks quickly and reliably. Throughout the section we work to build a comprehensive baseline auditing script which can be used to audit all of the systems within a domain.
Most of this course section is spent examining operating system security in general, and Windows security in particular. We demonstrate how to use PowerShell, Windows Management Instrumentation (WMI), command-line and graphical tools to obtain audit evidence from Windows systems. We move from there to auditing Microsoft Active Directory using PowerShell and command-line tools which access the Lightweight Directory Access Protocol (LDAP).
We continue with discussions of user management, user rights management, file, registry, and share permissions. Finally, we wrap up the section by exploring Windows logging options and how to use the tools and scripts developed during the day to perform meaningful continuous monitoring of the Windows domain and systems. One of the primary goals of the material presented is to allow the auditor to move from checking registry settings to helping administrators to create a comprehensive management process that automatically verifies settings. With this type of system in place, the auditor can step back and begin auditing the management processes which generally help us to be far more effective.
- Introduction to PowerShell and Scripting
- Overview of PowerShell Environment and Commands
- Scripting with PowerShell
- Windows Management Instrumentation
- WMI Command Line (WMIC)
- WMI Explorer
- System Information
- Operating System Version and Service Pack
- Running Services
- Installed Software
- Installed Patches
- Open Ports
- Users and Groups
- PowerShell Active Directory Module
- DSQuery Command Line Tool
- Windows Password Assessment
- Permissions and Rights Assignments
- File and Share Permissions
- Registry Permissions
- Windows Share Security
- Local Administrators
- Querying Local User Rights
- Windows Logging
- Log Retention Settings
- Querying Event Logs with PowerShell
- Windows Support and End of Life
- PowerShell Command Essentials
- PowerShell Scripting
- Windows Management Instrumentation (WMI)
- WMI and PowerShell for Auditing
- Operating System Information
- Hardware Information
- Patches Installed
- Software Installed
- PowerShell, DSQuery and LDAP
- Group Membership
- Password Management and Auditing
User Right Assignments
- PowerShell Module for Easier Auditing
- System Security Settings
- Group Policy
- Local Security Policy
- Auditing Applied Settings
- File and Share Permissions
- Registry Permissions and Settings
- Windows Logging
- Retention Settings
- Collection Options
- Centralized Aggregation of Logs
- Continuous Monitoring for Windows
While many enterprises today use Microsoft Windows for their endpoint systems, Linux and other Unix variants are well-established as servers, security appliances and in many other roles. Given the nature of the work these Unix variants do, it is critical to ensure their security. Add to that the fact that mass centralized administration is less likely to occur with these systems, and auditing at scale becomes even more important.
Section five uses Debian and CentOS Linux as the example operating systems. We assume that students may have little or no Linux experience, and build skill during the day accordingly. We begin with a discussion of system accreditation in a field where many servers are "snowflakes" - uniquely designed and different from our other enterprise systems. Then, we move on to discuss the fundamentals of Linux/Unix operating systems and the tools available to auditors for system testing and for developing audit scripts.
The bulk of section four concentrates on understanding Linix/Unix operating systems and using native tools and scripts to gather system information, enumerate running services, determine software patch levels, audit user access and privilege management, examine system logs and examine configuration and hardening. Emphasis is placed throughout the day on developing reusable tools and scripts which can be used to gather audit evidence on a variety of Linux/Unix systems.
Neither Unix nor scripting experience is required for this section. The course book and hands-on exercises present an easy to follow method, and the instructor is prepared to help with any difficulty students have in this sometimes unfamiliar environment.
- Use of the vi editor
- System Information Gathering
- Distribution/Release Information
- Kernel Version
- Mounted Filesystems
- Disk Usage
- Installed Package Versions
- File Integrity Monitoring with Tripwire
- Accreditation and Snowflakes
- Linux Basics
- Command Line Tools and Scripting
- Command Substitution
- Vi Editor
- Scripting Commands and Syntax
- System Information
- Distribution Version
- Kernel Version
- Disk Space
- Package Versions
- Non-Package Daemon Versions
- File Permissions
- Find Command
- SUID/SGID/Sticky Bits
- File Integrity
- Startup Methods
- Kernel Patching Without Rebooting
- Configuration Management
- Users, Groups and Privilege Management
- Passwd and Shadow Files
- John the Ripper
- Centralized Authentication
- SSH Server Configuration
- Sudo and Sudoreplay
- Logging and Monitoring
- System Audit Tools
- Authenticated Vulnerability Scanning
- Continuous Monitoring
Section six is a capstone exercise which allows students to test and refine the skills learned throughout the course. Using an online "capture the flag" (CTF) engine, students are challenged to audit a simulated enterprise environment by answering a series of questions about the enterprise network, working through various technologies explored during the course.
At the conclusion of this section, students are asked to identify the most serious findings within the enterprise environment and to suggest possible root causes and potential mitigations.
- Capture the Flag
- Audit Essentials
- Network Devices and Firewalls
- Web Applications
Technologies included in the capstone exercise include:
- Network Devices
- Cisco Switches & Routers
- Active Directory domain controllers
- DNS servers
- Web servers
- Linux Servers
- Intranet web applications
- Internet web applications
GIAC Systems and Network Auditor
The GIAC Systems and Network Auditor (GSNA) certification validates a practitioner’s ability to apply basic risk analysis techniques and to conduct technical audits of essential information systems. GSNA certification holders have demonstrated knowledge of network, perimeter, and application auditing as well as risk assessment and reporting.
Auditing, risk assessments, and reporting
Network and perimeter auditing and monitoring, web application auditing
Auditing and monitoring in windows and Unix environments
AUD507 assumes that the student is capable of:
- Navigating the filesystem in Microsoft Windows
- Launching the command prompt and PowerShell in Windows
- Running commands from the command line in Windows
- Navigating the command line and running simple commands in Linux
Deeper Linux experience will be helpful but is not required. The courseware and instruction provide the student with the information necessary to use the Linux systems and tools utilized in class.
Important! Bring your own system configured according to these instructions!
We ask that you do 5 things to prepare prior to class start. This early preparation will allow you to get the most out of your training. One of those five steps is ensuring that you bring a properly configured system to class. This document details the required system hardware and software configuration for your class. You can also watch a series of short videos on these topics at the following web link https://sansurl.com/sans-setup-videos.
A properly configured system is required to fully participate in this course. If you do not carefully read and follow these instructions, you will likely leave the class unsatisfied because you will not be able to participate in hands-on exercises that are essential to this course. Therefore, we strongly urge you to arrive with a system meeting all the requirements specified for the course.
AUD507 requires a laptop with at least the following specifications:
- CPU: A 64-bit x64 processor. Some of the virtual machines used for labs REQUIRE a 64-bit processor to run. Students who bring a non-64-bit system to class will not be able to complete all the exercise. Determine if you have a 64-bit processor and operating system using the following links:
- Windows: https://www.computerhope.com/issues/ch001121.htm
- MacOS: https://support.apple.com/en-us/HT201948
- BIOS/UEFI Hardware Settings: 64-bit virtualization features must be enabled in the laptop's BIOS/UEFI settings. Check your settings using the free tool from VMware at https://my.vmware.com/web/vmware/details/processor_check_5_5_dt/dCpiQGhkYmRAZQ==
- RAM: 8 GB of RAM minimum. Laptops with less than 8GB of RAM may not be able to run all of the virtual machines required for labs and are unsupported for this course.
- Operating System: Fully patched Windows 10 or macOS 10.15.x, capable of running the most current version of VMware virtualization products (Fusion, Player or Workstation). Linux operating systems are not supported for this class since we are unable to test against all distributions and versions. Advanced students who choose to bring a Linux laptop anyway must ensure that the system meets all hardware requirements, is running the current version of VMware Workstation or Player for Linux, and is capable of mounting ExFAT filesystems from USB to be able to participate in the course labs.
- Required Software: The current version of VMware 15.5.X+ or Fusion 11.5+.
- Administrative Access: The student must be a local administrator on the system. The labs require changes to VMware's network settings which can only be accomplished by a local administrator. Ensure that you can run an "elevated command prompt" on your system before the beginning of class.
- Disable Windows Credential Guard: Credential Guard is installed with Windows Hyper-V services and is incompatible with VMware virtualization products. SANS instructor instructions available at http://dfir.to/CGPDF
- Hard Drive: At least 100GB of free hard disk space on the drive is critical to host the VMs and additional files we distribute. SSD drives are also highly recommended, as they allow virtual machines to run much faster than mechanical hard drives.
- Networking: Wireless 802.11 B, G, or N
Your course media will now be delivered via download. The media files for class can be large, some in the 40 - 50 GB range. You need to allow plenty of time for the download to complete. Internet connections and speed vary greatly and are dependent on many different factors. Therefore, it is not possible to give an estimate of the length of time it will take to download your materials. Please start your course media downloads as you get the link. You will need your course media immediately on the first day of class. Waiting until the night before the class starts to begin your download has a high probability of failure.
SANS has begun providing printed materials in PDF form. Additionally, certain classes are using an electronic workbook in addition to the PDFs. The number of classes using eWorkbooks will grow quickly. In this new environment, we have found that a second monitor and/or a tablet device can be useful by keeping the class materials visible while the instructor is presenting or while you are working on lab exercises.
If you have additional questions about the laptop specifications, please contactÂ firstname.lastname@example.org.
Being an excellent information technology auditor requires a special mix of skills. An effective auditor will know how to assess organizational risk, scope, plan and execute an audit engagement properly. They must have the technical skills to design and perform tests of controls. Then, they must have the business communication skills to report risks to the business in a clear, actionable format. Auditors require the ability to work "in the weeds" when necessary with systems and network engineers and administrators, and then walk into the boardroom and deliver their findings and recommendations in a way that enables business leaders to make well-informed decisions regarding the risk faced by their enterprise.
AUD507 is designed to allow students from diverse backgrounds to learn the skills they need to design and deliver high-quality audits of organizations' IT systems, networks, and web applications. From day one, we teach students the thought processes, technical tools, and communications techniques to become a world-class auditor. When they leave the class, they have the technical skills and the mindset required to identify and report on risk in any organization.
"Clay did an outstanding job of being able to teach to people with the lowest level of knowledge to those with the technical acumen to know how to utilize all the tools right up front." - Heather Brewer, NAVSEA