Pentester AcademyDuration: 15h 7m | Video: h264, 1280×720 | Audio: AAC, 48kHz, 2 Ch | 2.7 GBGenre: eLearning | Language: EnglishThis course will familiarize students with all aspects of reverse engineering (reversing) Linux 32-bit applications for the purposes of locating flaws and developing exploits.
By the end of this course students will be able to understand, locate, and exploit all of the common flows in 32-bit Linux software.
These flaws include, but are not limited to, buffer overflow, heap overflows, format string flaws, section overflows, and kernel flaws.
Along the way students will gain a better understanding of how Linux 32-bit applications work and will be exposed to a number of common reversing tools such as specialized debuggers (IDA Pro) and fuzzers.
As always, you will also learn how to leverage Python and other scripting tools in order to automate the discovery and exploitation of software flaws.
A non-exhaustive list of topics to be covered includes:Getting startedAcquiring softwareVirtualizationDebuggersIDA ProFreeware Linux debuggersScripting toolsDecompilersFuzzersSetting up your testing environmentA little AssemblyBasics of 32-bit Intel AssemblyCalling conventions used by LinuxStack overflowsTheoryLocatingCalculating offsetsPayload deliveryExploit techniquesStack protectorsHeap overflowsTheoryLocatingPayload deliveryExploit techniquesFormat string flawsTheoryLocatingPayload deliveryExploit techniquesSection overflows and kernel flawsTheoryLocatingPayload deliveryExploit techniquesAutomationAutomating flaw discoveryPythonShell scriptingFuzzersShellcoding basicsTheoryWhere to get shell codeWriting your own shell codeMetasploitCreating exploit modulesAvoiding detection