はじめに これはCTF Advent Calendar 2019の1日目です。執筆時点でまだまだたくさん空きがあるので、埋めていきましょう。 adventar.org CTFで出題されたユーザランドでの簡単な問題を除く少し特殊な問題についてまとめる。 とりあえず、まとめられるだけま…
はじめに Gissa2、 Hfsipc、 Hfs-dosを解いた。 どれも良い問題だったと思う。 Gissa2 stack overflowがあり、 canaryがないのでropができる。 しかしseccomp filterによってシステムコールに制限がかかっている。 設定されるフィルターは以下の通りで、 ope…
はじめに 一人writeup advent calendarの7日目です。 1日1問分のwriteupを目標に頑張っていきます。 7日目の問題は、Midnight Sun CTF Finalsで出題された「Flitbip」。 初めての人にオススメです。 カーネルの情報 (セキュリティ機構など) カーネルのバージ…
はじめに これは CTF Advent Calendar 2018 - Adventar の8日目の記事です。 7日目は、@bata_24 さんの 「WCTF 2018 - klist Writeup - HackMD 」でした。 この記事は、タイトル通りに私が個人的に「よく使うなぁ・他のwriteupでよく見るなぁ」と感じたテク…
はじめに 一人writeup advent calendarの6日目です。 1日1問分のwriteupを目標に頑張っていきます。 6日目の問題は、0CTF 2017 Finalsで出題された「cred_jar」。 race conditionを起点としたkernel exploit問題で初めての人にオススメです。 カーネルの情報…
はじめに 一人writeup advent calendarの5日目です。1日1問分のwriteupを目標に頑張っていきます。 5日目の問題は、CODE GRAY CTFで出題された「sured」。race conditionを使った問題で初めての人にオススメです。 初期調査 セキュリティ機構は以下の通りで…
はじめに 一人writeup advent calendarの4日目です。1日1問分のwriteupを目標に頑張っていきます。 4日目の問題は、Sharif CTF 2018で出題された「kdb」。kUAF (kernel Use After Free) を起点としたkernel exploit問題で初めての人にオススメです。 カーネ…
はじめに 一人writeup advent calendarの3日目です。1日1問分のwriteupを目標に頑張っていきます。 3日目の問題は、NCSTISC CTF 2018で出題された「babydriver」。kUAF (kernel Use After Free) を起点としたkernel exploit問題で初めての人にオススメです。…
はじめに 一人writeup advent calendarの2日目です。 1日1問分のwriteupを目標に頑張っていきます。 2日目の問題は、SEC-T CTF 2018で出題された「gh0st」。 out-of-boundsを起点としたkernel exploit問題で初めての人にオススメです。 カーネルの情報 (セキ…
はじめに 一人writeup advent calendarの1日目です。 1日1問分のwriteupを目標に頑張っていきます。 1日目の問題は、Blaze CTF 2018で出題された「blazeme」。 stack overflowを起点としたkernel exploit問題で初めての人にオススメです。 カーネルの情報 (…
はじめに 私は、CTFを初めて3年目ぐらいの、まだまだ成長期真っ只中の初心者だ。 だが最近全然実力が伸びない、というか成長を感じることができなくなった。 事実実力が伸び悩んでいるのかもしれないが、以前には感じていた問題を解くたびに成長したなぁとい…
the end バイナリは小さく単純である。最初にsleep()関数のアドレスを教えてくれる。標準出力と標準エラーを閉じた後に、任意アドレスへの1byteずつの書き込みを5回行える。 int main(void) { char* buf; sleep(0); printf("here is a gift %p, good luck ;…
はじめに TokyoWesternsで参加した。 結果は8731点の2位だった。 トップ5にはHackITのカンファレンスチケットが貰えて、さらにトップ3にはスポンサーから何かしらのソフトウェアのライセンスが貰えるらしい。 自分はArmy, A Heap Interface, Bank Reimplem…
はじめに TokyoWesternsで参加して5920ptsで6位だった。finalsに行ける順位なのでベトナムに行くかもしれない。ワールドカップの試合の結果を予想して当てると点数が貰えたりする良いCTFだった。 共同で解いた分を含めて4問解いた。house_of_cardとsecure_me…
Baby Heap 18.04 機能 起動すると以下のように機能を選択できる。 ===== Baby Heap 18.04 ===== 1. Allocate 2. Update 3. Delete 4. View 5. Exit Command: 各機能は、 1. Allocate 0x1 ~ 0x58までのサイズでmallocを実行できる。取得された領域はmemsetに…
はじめに ShenzhenWesternsで参加して全完した。普段はTokyoだが、0CTF Finalsで深圳に行っているメンバーがいたのでShenzhenになった(たぶん) condition main関数での[rbp-0x4]が0xdeadbeefであれば、flagが出力される。 # python -c 'print "\xef\xbe\xad\…
babyheap bug: 1. Allocにoff-by-one single byte null overflowがある。 下のチャンクのsizeが上書きでき、サイズの縮小とPREV_INUSEビットのクリアができる。 適当にやればチャンクのoverlapができるので、libcのアドレスをリークをしてfastbin attackをし…
Cat editで更新をしないとUAFが起きるので適当にやった #!/usr/bin/env python from pwn import * context(terminal=['tmux', 'splitw', '-h']) # horizontal split window # context(terminal=['tmux', 'new-window']) # open new window # libc = ELF('') …
warmup (misc) miscだがpwnだった。 stack bofがあるのでやるだけ。 #!/usr/bin/env python from pwn import * context(os='linux', arch='amd64') context.log_level = 'debug' # output verbose log RHOST = "47.91.226.78" RPORT = 10006 LHOST = "127.0.…
Babyshells - Pwn (50 + 15) x86, ARM, MIPSのshellcodeを送るだけ。 x86 #!/usr/bin/env python from pwn import * # context(os='linux', arch='i386') context(os='linux', arch='i386') context.log_level = 'debug' # output verbose log RHOST = "52.3…
once (pwn, 281pts) libcのアドレスは適当な選択をすれば漏れてくるので、適当に双方向リストのポインタを上書きした。 #!/usr/bin/env python from pwn import * context(os='linux', arch='amd64') context.log_level = 'debug' # output verbose log RHOS…
SHELTER (pwn, 200pts) 機能 ノート管理系のアプリ。ノートの新規作成とノートの削除を行うことができる。ノートの作成時に作成されたノートが割り当てられたメモリのアドレスを教えてくれる。また、3.Helpを選択するとcode領域のアドレスを得ることができる…
vuln 武器の名前の大きさは、0x20byteとなっている。しかし、4) give weapon a new nameで入力できるサイズが0x24byteとなっている。NULL終端されるため0x23byteが自由に制御でき、3byteがオーバーフローする。オーバフローする部分は、次の武器の関数ポイン…
はじめに クリスマスに予定がなかったのでCTFしてた。TokyoWesternsで参加して1829点で3位だった。賞金が降ってくるらしいのでちょっとしたクリスマスプレゼントっぽくなった。解けた問題のwrteiupを書く。 [PWNABLE] BOOKSTORE C++で書かれたバイナリで、St…
この記事はCTF Advent Calendar 2017の1日目です。 adventar.org タイトル通りですが、本人は読んで満足する人間なので、中身は理解していないです。付け合わせで、CTFで出題された関係のありそうなやつもまとめました。 Kernel Exploit関連 Linuxでのlocal …
hamaです。TokyoWesternsとしてTMCTF Finalに参加しました。今回はwriteupではなく感想と愚痴です。僕の感想を箇条書きにすると、 今年のTMCTF Finalは良くなかった 全体を通して、問題がCTFとして面白くない 本当にverifyしたのかと疑うレベルの杜撰な問題…
はじめに 色々と試したら, saved rbpを部分的に書き換えて_startを戻りアドレスになるようにすることで再度FSAができるようになった. あとは適当にstack上にone gadget RCEを指すアドレスを作り, mainの戻りアドレスをそこにした. exploitではheapのアドレス…
はじめに 初心者で問題が解けないので、これで成長できたらいいなぁと思い参加した。 pwnableの方の講義で使われたnext_noteという問題のwriteupとなっている。 動作 よくある感じのノート管理。 脆弱性 double freeできる。 方針 double free -> fastbin du…
はじめに ksnctf C92のwriteup公開が解禁されたようなので、唯一のpwn問題だったmd5のwriteupをあげる。 ksnctf C92の各問題は下記リンクより参照できる。 ksnctf C92 初期調査 chceksecの結果を以下に載せる。SSPがないため、stackでのBOFが狙えそうである…
はじめに コンテスト期間中に解くことができなかったが良いところまでいって放置していた。最近解いたので、そのwriteupを載せる。 checksec etc 普通のバイナリなので特に言うことはない。 % file ./childheap ./childheap: ELF 64-bit LSB executable, x86…