CTF Pwnのためのメモ
- disassemble
objdump -d -M intel
gdb -q
- セクションヘッダの表示(got/pltをみるのに使う)
"アドレス"にアドレスがでてくる
readelf -S
- 共用ライブラリを指定して実行
$vi preload
set environment LD_PRELOAD
start
$gdb –q
- セキュリティ機構確認
~/checksec.sh-1.6/checksec --file
出力の意味 :
実行ファイルのセキュリティ機構[RELRO/SSP/Nxbit/ASLR/PIE] - Pwn De Ring
- コアダンプ出力の設定
ulimit -c unlimited
Linux環境設定/コアダンプを出力するようにする - Linuxと過ごす
- コアダンプ読み込み
- 動的デバッグ環境作成
[端末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