CTF Pwnのためのメモ

  • disassemble

objdump -d -M intel >

gdb -q

  • セクションヘッダの表示(got/pltをみるのに使う)

"アドレス"にアドレスがでてくる
readelf -S

  • 共用ライブラリを指定して実行

$vi preload
set environment LD_PRELOAD
start

$gdb –q –x preload

  • セキュリティ機構確認

~/checksec.sh-1.6/checksec --file

出力の意味 :
実行ファイルのセキュリティ機構[RELRO/SSP/Nxbit/ASLR/PIE] - Pwn De Ring

  • コアダンプ出力の設定

ulimit -c unlimited

Linux環境設定/コアダンプを出力するようにする - Linuxと過ごす

  • コアダンプ読み込み

gdb

[端末1: 待ち受け側]
$ vim main.sh
gdbserver localhost:1234
$ chmod +x main.sh
$socat TCP-LISTEN:1025,reuseaddr,fork EXEC:"./main.sh"

[端末2: 攻撃側]
$ perl -e 'print "A"x140 . "BBBB"' | nc localhost 1025
payloadを流し込む場合
$ cat payload | nc localhost 1025

[端末3: デバッグ側]
$ vim cmd
file
tartget remote localhost:1234
c
$ gdb -q -x cmd
katagaitai CTF勉強会 #2 pwnables編 - PlaidCTF 2013 pwn200 ropasaurusrex / katagaitai CTF #2 // Speaker Deck