Tools and techniques for penetration testing of application software and computer systems, with the aim of identifying vulnerabilities for remedial action. Understanding common vulnerabilities, selection and trial of exploits, shellcode. Wireless penetration techniques.