NET 642 - Pentest+ Guide to Penetration Testing Course Department: Business 3 Credits Total Lecture Hours: 2 Total Lab Hours: 1 Total Clinical Hours: 0 Course Description: This course contains instructions and hands-on activities that give the student the knowledge and practical experience necessary to become a penetration tester. Every aspect of penetration testing is covered, from the legalities and paperwork required and created at the beginning and end of penetration-testing engagements, to the hands-on hacking activities that many IT professionals find fun.
Prerequisites: NET 562 - Firewall Security Mode(s) of Instruction: Traditional/Face-to-Face
Course Fees: None
Student Learning Outcomes and Objectives: Course Objectives:
Module 1: Introduction to Penetration Testing
- Describe the penetration testing process and its phases, activities, and team members.
- Describe the CIA and DAD triads.
- Describe the ethical hacking mindset.
- Describe some of the tools used in penetration testing.
Module 2: Setting Up a Penetration Testing Lab
- Explain the purpose of a penetration testing lab.
- Describe the role each virtual machine plays in a penetration testing lab.
- Describe how to set up a virtual machine.
Module 3: Planning and Scoping
- Describe regulatory compliance requirements, such as those in the PCI DSS and GDPR.
- Define penetration-testing legal documents such as SLAs, SOWs, MSAs, and NDAs.
- Identify penetration-testing standards and methodologies such as the MITRE ATT&CK Framework, OWASP, NIST, OSSTMM, and PTES.
- Describe types of penetration-testing assessments.
- Define the rules of engagement for penetration testing.
Module 4: Information Gathering
- Apply passive reconnaissance techniques.
- Apply active reconnaissance techniques.
- Analyze the results of reconnaissance
- Use active and passive reconnaissance tools.
Module 5: Performing Vulnerability Scanning
- Describe vulnerability scanning and its purposes.
- Describe methods and tools to discover targets for vulnerability scanning.
- Describe different types of vulnerabilities and vulnerability scans.
- Describe additional considerations when performing vulnerability scans.
- Execute vulnerability scans using different tools.
- Analyze the results of vulnerability scans.
Module 6: Exploitation Methods and Tools
- Describe methods and tools used in the exploitation and post-exploitation process.
- Explain how to select targets for exploitation.
- Describe different exploitation frameworks and their capabilities.
- Describe common exploits executed against a target.
- Identify post-exploitation methods and tools.
- Describe persistence and how to maintain persistence.
- Describe pivoting, evading detection, and clean-up methods and requirements.
Module 7: Network Attacks and Attack Vectors
- Describe methods and tools used for performing network attacks.
- Explain how to select targets for attack.
- Describe on-path/man-in-the-middle attacks.
- Describe replay and relay attacks.
- Describe security and service attacks such as network access control bypass, kerberoasting, SSH attacks, password attacks, SMB and Samba attacks, SMTP attacks, SNMP attacks, and FTP attacks.
- Describe denial-of-service attacks.
- Describe VLAN hopping and exploit chaining.
Module 8: Wireless and Specialized Systems Attack Vectors and Attacks
- Describe wireless attacks and attack vectors.
- Describe specialized systems attacks and attack vectors.
- Explain wireless network components, architecture, authentication, and encryption.
- Describe Radio-Frequency Identification (RFID) and Near Field Communication (NFC).
- Explain how to acquire wireless hacking targets.
- Describe wardriving.
- Explain the tools and methods used to compromise WPS, WEP, WPA, WPA2, and WPA3 wireless security protocols.
- Describe the tools and methods used to compromise Bluetooth, RFID, and NFC technologies.
- Describe specialized systems and their vulnerabilities and attack vectors.
- Describe mobile device vulnerabilities and attack vectors.
Module 9: Application-Based Attack Vectors and Attacks
- Describe common application vulnerabilities.
- Describe secure coding practices.
- Explain application injection attacks such as SQL, HTML, Code, Command, and LDAP injections.
- Explain application authentication attacks such as password, session, cookie, redirect, and Kerberos attacks.
- Explain authorization attacks such as insecure direct object reference, parameter pollution, directory traversal, file inclusion, and privilege escalation attacks.
- Explain web application attacks such as cross-site scripting (XSS), Domain Object Model (DOM), cross-site request forgery (CSRF/XSRF), server-side request forgery (SSRF), and click jacking attacks.
- Describe mobile application attack tools.
- Describe application testing tools useful in pen testing.
Module 10: Host Attack Vectors and Cloud Technologies Attacks
- Describe nonoperating specific host attacks such as taking advantage of permission configuration errors, accessing stored credentials, exploiting defaults, and brute-forcing credentials.
- Describe various remote access attack methods such as hiding attacks using SSH, NETCAT/Ncat, Metasploit framework remote access, and proxies.
- Describe Linux/Unix host attacks such as SUID/GUID SUDO, shell upgrade, and kernel exploits, credential harvesting, and password cracking.
- Describe Windows host attacks such as credential hash, LSA secrets, SAM database, and kernel exploits, credential harvesting, and password cracking.
- Describe attacks against virtualization such as virtual machine (VM), hypervisor, and VM repository exploits, VM escaping, and container exploits.
- Describe attacks against cloud-based targets such as account, misconfiguration, and data storage exploits, malware injection, denial-of-service and resource exhaustion attacks, and direct-to-origin exploits.
- Describe cloud attack tools and their usage.
- Describe attacks against cloud-based data storage.
Module 11: Social Engineering and Physical Attacks
- Describe social engineering and its motivations.
- Describe the psychology of social engineering and the aspects of human nature that can be leveraged by social engineers.
- Describe the tactics used in person-to-person social engineering.
- Describe some of the technology and technology-based attacks used in social engineering.
- Describe social engineering tools.
- Describe social engineering physical attacks and methods.
Module 12: Reporting and Communication
- Explain the importance of communication during the pen-testing process.
- Describe situations that may necessitate communication.
- Explain the importance of a well-defined communication path and the different contacts involved.
- Explain communication triggers.
- Explain various events and milestones that necessitate communication.
- Explain the types of controls that can be used to remediate vulnerabilities.
- Describe the most common pen-testing finds and mitigation strategies.
- Explain the importance of a pen-testing report, its various components, and its secure handling and destruction requirements.
- Describe pen-testing post-engagement activities.
Module 13: Writing and Understanding Code
- Explain basic programming concepts.
- Describe common data structures.
- Write a simple C program.
- Create Bash scripts.
- Create PowerShell scripts.
- Explain how webpages are created with HTML.
- Create basic Perl Programs.
- Explain basic object-oriented programming concepts.
- Create basic Python programs.
- Create basic Ruby programs.
- Create basic JavaScript programs.
- Describe some of the uses of programming in penetration testing.
Add to Pathway (opens a new window)
|