Penetration Testers who are trying to bring their game to the next level soon realize that they need to have some application development skills. This course is designed to give you those skills. In this course you will learn how to use Python to quickly accomplish tasks commonly required of penetration testers. The course is designed to show novice programmers who are new to software development how to apply basic Python programming skills in common penetration testing activities. The course is structured around the development of four programs that the student will develop for use in their own penetration tests. As you develop these four applications you will be exposed to a wide variety of programming techniques that will be useful to you as a Penetration Tester or just about any role in information security. Students will learn network socket programming and exception handling as they develop custom backdoors that evade antivirus and can be delivered to target environments. Students learn debugging, data structure, and interacting with web sites as they develop SQL injection attack tools and password-guessing utilities. Students then learn how to use threading to increase the speed of their attacks. Lastly, students learn how to tap into the power of Python's rich community-developed libraries as they develop an application to extract information such as images, metadata, and location information from packet captures.
Write your own Python program to automate routine tasks
Create your own tools to solve problems for which no existing tool exists
Build your own backdoors that are invisible to antivirus software
Write your own custom SQL injection tools
Build multi-threaded password-guessing tools
Develop advanced network reconissance tools