Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Windows and Linux Penetration Testing from Scratch

You're reading from   Windows and Linux Penetration Testing from Scratch Harness the power of pen testing with Kali Linux for unbeatable hard-hitting results

Arrow left icon
Product type Paperback
Published in Aug 2022
Publisher Packt
ISBN-13 9781801815123
Length 510 pages
Edition 2nd Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Phil Bramwell Phil Bramwell
Author Profile Icon Phil Bramwell
Phil Bramwell
Arrow right icon
View More author details
Toc

Table of Contents (23) Chapters Close

Preface 1. Part 1: Recon and Exploitation
2. Chapter 1: Open Source Intelligence FREE CHAPTER 3. Chapter 2: Bypassing Network Access Control 4. Chapter 3: Sniffing and Spoofing 5. Chapter 4: Windows Passwords on the Network 6. Chapter 5: Assessing Network Security 7. Chapter 6: Cryptography and the Penetration Tester 8. Chapter 7: Advanced Exploitation with Metasploit 9. Part 2: Vulnerability Fundamentals
10. Chapter 8: Python Fundamentals 11. Chapter 9: PowerShell Fundamentals 12. Chapter 10: Shellcoding - The Stack 13. Chapter 11: Shellcoding – Bypassing Protections 14. Chapter 12: Shellcoding – Evading Antivirus 15. Chapter 13: Windows Kernel Security 16. Chapter 14: Fuzzing Techniques 17. Part 3: Post-Exploitation
18. Chapter 15: Going Beyond the Foothold 19. Chapter 16: Escalating Privileges 20. Chapter 17: Maintaining Access 21. Answers 22. Other Books You May Enjoy

Getting hands-on with the return-to-PLT attack

I say this about a lot of topics, but the Procedure Linkage Table (PLT) and the Global Offset Table (GOT) are subjects that deserve their own book. However, we’ll try to run through a crash course to understand how we’re going to get around memory space randomization. Our executable is not a position-independent executable thanks to our -no-pie compilation configuration, so the actual location of global structures in the program wasn’t known at compile time. The GOT is literally a table of addresses used by the executable during runtime to convert PIE addresses into absolute ones. At runtime, our executable needs its shared libraries; these are loaded and linked using the dynamic linker during the bootstrapping process. That is when the GOT is updated.

Since the addresses are dynamically linked at runtime, the compiler doesn’t really know whether the addresses in our non-position-independent code will...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime