writeup
色々あって色々アレでした。
一度も更新しないまま2018年も終わりかけているのでとりあえず…
SECCON 2018 Online CTF
参加してました
チームで参加したため、自分として解けた問題がとても少ないですが
以下writeupです。
Runme
こういう、stringsではflagは見えないけどバイナリに平文でフラグが置いてるやつかどうかを確認するスクリプトを
以前適当に書いていたので、
とりあえず実行したらありそうだったので、objdumpしてフラグっぽい部分をawkしただけでした。
$ cat megrep.rb b = STDIN.read.scrub('') d = b.split('').select{|b|b =~ /^[a-zA-Z0-9{}_]+$/} flagType = "SECCON".split("") res = "" 100.times do |i| reg =Regexp.new flagType.map{|t| "#{t}.{0,#{i.to_s}}"}.join("") + "\\{(\\w+)\\}" if r = d.join("").match(reg) puts "Detect flag!!!" p r[0] return end end $ cat runme.exe | ruby megrep.rb Detect flag!!! "SUVMU9UBRjEUVMU9UBRjCUVMU9UBRjCUVMU9UBRjOUVMU9mUBRjNUVMU9AUBRj{UVMU9UBRjRUVMU9UBRjuUVMU9UBRjnUVMU9UBRjnUVMU9eUBRj1UVMU99UBRjnUVMU9UBRj6UVMU9UBRj_UVMU9UBRjPUVMU9UBRj4UVMU9ua0UBRj7UVMU9u91UBRjhUVMU9u2UBRj}"
objdump -d runme.exe | awk '/6a /{printf "%c",strtonum("0x"$3)}' "@C:\Temp\SECCON2018Online.exe" SECCON{Runn1n6_P47h}@%
フラグ出すところまで自動化したいけど、あんまり使い道がないので放置…
block
apkのdllをいじるだけ。
ildasmで以下の部分を編集
Transform以下にVector3を引数に取るやつを探すとTranslateがあるので変えてdllに変換
Unity - Scripting API: Transform
msilの編集は以下が参考になります
あとはAPK Editorでdllを変えたapkをインストールして実行
手前に飛んでくるフラグをスクショを取りまくって確認していました。
shooter
il2cppキツイなあと思い、global-metadata.datを眺めてただけ。
http://staging.shooter.pwn.seccon.jp/admin
にSQL injectionがあることまでは分かっていたけど、
web問じゃないし流石にないか…とか思ってたら終わった…阿呆でした
解けたweb問が解けなかったのをとても反省した…
来年はもうちょっと解けるようにしたい。
そんな希望