<summary><strong>Вивчайте хакінг AWS від нуля до героя з</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Якщо ви хочете побачити вашу **компанію рекламовану на HackTricks**або**завантажити HackTricks у форматі PDF**, перевірте [**ПЛАНИ ПІДПИСКИ**](https://github.com/sponsors/carlospolop)!
* Відкрийте для себе [**Сім'ю PEASS**](https://opensea.io/collection/the-peass-family), нашу колекцію ексклюзивних [**NFT**](https://opensea.io/collection/the-peass-family)
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи telegram**](https://t.me/peass) або**слідкуйте** за нами на **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Поділіться своїми хакерськими трюками, надсилайте PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) **і** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **репозиторіїв на GitHub**.
**Ret2shellcode** - це техніка, яка використовується в бінарному експлуатації, де атакуючий записує shellcode в стек вразливої програми, а потім модифікує **Вказівник Інструкції (IP)**або**Розширений Вказівник Інструкції (EIP)**, щоб вказувати на місце цього shellcode, що призводить до його виконання. Це класичний метод, який використовується для незаконного доступу або виконання довільних команд на цільовій системі. Ось розбір процесу, включаючи простий приклад на мові C та як ви можете написати відповідний експлойт, використовуючи Python з **pwntools**.
Цей скрипт створює полезне навантаження, що складається з **NOP слайду**, **shellcode**, а потім перезаписує **EIP** адресою, що вказує на NOP слайд, забезпечуючи виконання shellcode.
**NOP slide** (`asm('nop')`) використовується для збільшення ймовірності того, що виконання "слайдуватиме" у наш shellcode незалежно від точної адреси. Налаштуйте аргумент `p32()` на початкову адресу вашого буфера плюс зміщення, щоб потрапити на NOP слайд.
* [**ASLR**](../common-binary-protections/aslr.md) **повинен бути вимкнений** для того, щоб адреса була надійною під час кожного виконання, або адреса, де буде збережена функція, не буде завжди однаковою, і вам знадобиться якийсь витік, щоб з'ясувати, де завантажена функція перемоги.
* [**Stack Canaries**](../common-binary-protections/stack-canaries.md) також повинні бути вимкнені, інакше компрометована адреса повернення EIP ніколи не буде виконана.
* [**NX**](../common-binary-protections/no-exec-nx.md) захист **стеку** перешкоджатиме виконанню shellcode всередині стеку, оскільки ця область не буде виконуваною.
<summary><strong>Вивчайте хакінг AWS від нуля до героя з</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Якщо ви хочете побачити вашу **компанію рекламовану в HackTricks**або**завантажити HackTricks у PDF**, перевірте [**ПЛАНИ ПІДПИСКИ**](https://github.com/sponsors/carlospolop)!
* Відкрийте для себе [**Сім'ю PEASS**](https://opensea.io/collection/the-peass-family), нашу колекцію ексклюзивних [**NFT**](https://opensea.io/collection/the-peass-family)
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або групи [**telegram**](https://t.me/peass) або**слідкуйте** за нами на **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Поділіться своїми хакерськими трюками, надсилайте PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github репозиторіїв.