newbieからバイナリアンへ

newbieからバイナリアンへ

コンピュータ初心者からバイナリアンを目指す大学生日記

【memo】 pwn環境構築の覚書

1: イントロ 2: gdb 3:pwndbg 4:checksec 5: pwntools 6:rp 7: exploitのテンプレ 8: socatのテンプレ 9: Ghidra 1: イントロ 先日、VMが色々と詰まった外づけHDDの中身が失われてしまい 粛々とリインストールしているときに 折角の機会だからKaliもネイティ…

【pwn 17.0】 OnetimePad - 36C3 CTF

1: イントロ 2: 表層解析 配布物 問題概要 write read rewrite 3: ネイティブ環境と異なるlibcでのデバッグ 4: 方針 とっかかりの脆弱性 libcbaseのleakとlibc2.27/28のunsortedの制約の差異 malloc_hook overwrite 5: exploit 6結果 7: アウトロ 1: イント…

【rev 1.0】 GlobalCecurityCamp2019 応募課題のwriteup - Reversing

rev

【自動投稿 from 2019.11.27 to 2019.12.11.00:00】 本記事はTSG AdventCalender 2019のエントリとして書かれたものです 昨日(12/10)は iLiss さんによる「#sig-rhythm-game関連を1つ」でした adventar.org ++++++++++++++++++++++++++ あどべんとかれんだぁ…

【pwn 14.0】 pwnの小粒供養 + 12月だから1年間のpwn勉強を振り返る

【自動投稿 from 2019.11.29 to 2019.12.08.00:00】 1: イントロ 本記事はTSG AdventCalender 2019のエントリとして書かれたものです 昨日は うら さんによる 「TSG LIVE! 4 ライブコードゴルフ大会 writeup + 解き直し ( Perl, sed, Haskell ) - 何か書く」…

【pwn 16.0】ゴキブリ F*CK YOU - kirby CTF 2019

おいキヅキ、と僕は思った。お前と違って俺は生きると決めたし、それも俺なりにきちんと生きると決めたんだ。お前だってきっと辛かっただろうけど、俺だって辛いんだ。大人になるんだよ。そうしなくてはならないからだ。俺はこれまでできることなら十七や十…

【pwn 15.0】 Tic-tac-toe - CTFZone CTF 2019

1: イントロ 2: 表層解析 tictactoe server.py 3: プログラムの概要 概要 サーバの役割 4: 使わなかった脆弱性 = 1勝はできる 5: 自明なBoFからROPでsessionIDを保ったまま連勝する nameバッファのBoF sessionIDをリークしたまま連勝する 100連勝するスクリ…

【pwn 13.0】IfYouWanna/ ShyEEICtan/ KillKirby4Free - TSG LIVE!4 CTF

1: イントロ 2: IfYouWanna - pwn 100点問題 静的解析 問題概要 exploit 結果 3: ShyEEICtan - pwn 200点問題 静的解析 問題概要 exploit 結果 4: KillKirby4Free - pwn 300点問題 静的解析 問題概要 exploit 結果 5: アウトロ 1: イントロ とある大学にTSG…

【pwn 10.0】 gnote (kernel exploitation) - TokyoWesternsCTF2019

1: イントロ 2: 解き始めるまで 問題について デバッグ環境について 3: モジュールの挙動について 4: jmptableの脆弱性について switch分岐のアセンブラ おおよその展望 5:kmalloc()とスラブアロケータについて スラブアロケータ概略 kmalloc() kmem_cache_a…

【pwn 11.2】 MonoidOperator - SECCON CTF 2019

1: イントロ 2: 表層解析 3: libc_baseのleak 4: MasterCanary(TLS)のleak 5: FSA 6: exploit 7: 結果 1: イントロ いつぞや行われたSECCON CTF 2019 そのpwnの問題の MonoidOperator TSGという団体がとある大学にあるらしいが、そこの人がつくった問題らし…

【雑談 3.0】CODE BLUE 2019 参加記

最近ねぇ、 めっちゃ犬を飼いたいのよ。 ほんとに。 犬を初めて飼いたいって思ったのが小1の頃で その時は犬だめな賃貸だったからしょうがなかったけど なんやかんや関東東北を転々として実家に戻って やっと犬と生活できると思ったら 家族に犬苦手な人いて…

【pwn 12.0】 NoRiscNoFuture - Hack.lu CTF 2019

【自動投稿 from 2019.10.24 22:00 @ 2019.10.24.19:10】 1: イントロ 2: 表層解析 3: 脆弱性 ざっと見 スタックの構造 4: exploit 5: 結果 1: イントロ いつぞや行われたHack.lu CTF 2019 学科の課題だったり復習だったりが溜まっていたため絶対に参加しな…

【雑談 2.0】 CTFのpwnに入門する一歩手前までの道程

1: イントロ 2: Linux環境に慣れる 3: C言語/Pythonを使えるようにする C C++ Python 言語全般 3: ELF形式/リンカ・ローダについて 4: アセンブラに慣れる 5: pwnを解く手順を学ぶ 6: モチベーション 7: 最後に 1: イントロ 最近知人がCTFのpwnをやりたがっ…

【pwn 11.1】 Sum - SECCON CTF 2019 ~ 想定解と非想定解

0: 参考 1: イントロ 2: 想定解 = ROP 3: 非想定解 = stdout書き換え 4: アウトロ 0: 参考 【Sumの非想定解についての参考】 ptr-yudai.hatenablog.com 1: イントロ いつぞや行われたSECCON CTF 2019の解き直しをする 今回はpwn問題 "Sum" 作問者様のTwitter…

【pwn 11.0】 SECCON CTF 2019

1: イントロ 2: Welcome / Thank you for playing 3: calc 3: One 4: lazy 5: sum 6: アウトロ 1: イントロ いつぞや行われたSECCON CTF 2019にnewbie2人チームsmallkirby(@python_kirby / @mivjdu)で一応参加した 結果はボロボロだったが教訓として ・変に…

【pwn 9.4】 kappa - PlaidCTF2014

0: 参考 1: イントロ 2: 表層解析 簡単なbinary patching 3: プログラムの概要とデータ構造 プログラムの概要 データ構造 4: 脆弱性 無限増殖バグ ポケモン逃がすからそういうことになるんだ 5:libc baseのリーク 5: exploit 6: 結果 7: アウトロ 0: 参考 gi…

【pwn 9.2】 STLC - TSG CTF 2019

0: 参考 github.com softwarefoundations.cis.upenn.edu 1: イントロ 前回に引き続きTSG CTF 2019のpwn問題を解いていく 今回は Hard 問題の "STLC" 結論から言うと初見では全く歯が立たず、作問者様のwriteupを割とすぐに且つ割と全面的に参考にさせていた…

【pwn 9.1】 Super Smash Bros. - TSG CTF 2019

0: 参考 1: イントロ 2: 表層解析とプログラムの概要 3: exploitの概要 heap addrのleak libc baseのleak __free_hook overwrite 4: exploit 5: 結果 5: アウトロ 0: 参考 github.com 1: イントロ 部長に最近の問題を解けと言われたため bataリストを一旦放…

【pwn 4.12】 diary - TokyoWesterns CTF 2016

keywords: 自作heap, seccomp, change CPU mode, sc_pwn 0: 参考 bataさんの良問リスト 問題ファイル github.com 1: イントロ bataリストの medium-easy TokyoWesterns CTF 2016の300点問題 "diary" 2: 表層解析 ./diary: ELF 64-bit LSB executable, x86-64…

【pwn 4.11】babyheap - HITCON CTF 2016

0: 参考 bataさんの良問リスト 問題ファイル github.com 1: イントロ bataリストの medium-easy HITCON CTF 2016の300点問題 "babyheap" 2: 表層解析 ./babyheap: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /l…

【pwn8.2】 baby_tcache - HITCON CTF 2018: 無理やりの出力

keywords: 非定数出力なし, tcache poisoning, _IO_write_ptr 0: 参考 ptr-yudai.hatenablog.com vigneshsrao.github.io 問題ファイル github.com 1: イントロ 2018 HITCON CTF の問題 "baby_tcache" これ本当にbabyレベルか? 2:概要と脆弱性 $ file ./baby…

【LCR 1.2】LibcCodeReading: malloc編[3]=malloc_consolidate()

0: 参考 code.woboq.org 【追記20190924】tcacche/fastbinsの扱いについて追記 【追記20190924】unlink_chunkのマクロ化について追記 【追記20190924】unlinkの処理について追記 1: イントロ 前回までに引き続きglibcのmallocを読んでいく 前回はlargebinsの…

【LCR 1.1】LibcCodeReading: malloc編[2]=fastbins・smallbins

0: 参考 code.woboq.org 1: イントロ 前回に引き続きglibcのmallocを読んでいく 今回は本丸である_int_malloc()に入る 2: fastbinsの処理(tcacheとの関連) _int_mallocはglibc/malloc/malloc.cにおいて3527~4440行までを占めている これを先頭からややアバウ…

【LCR 1.0】LibcCodeReading: malloc編[1]=読み始め・tcache

0: 参考 code.woboq.org 1: イントロ libcとかkernelのコードを読もう読もうとは思っていたが なんやかんやで通して読むのは避けてきた だがそろそろmallocのコードくらいは呼んでおかないとpwnもきつくなってきた というわけで glibc mallocのソースコード…

【pwn7.1】House of Force: 使えればいいじゃんな覚書

0: 参考 1: イントロ ヒープ問を解いているときに使ったテクニックの一つの "House of Force" 自分のために簡単な覚書を書いておく 本来ならばソースコードを見て この部分がこうだからこうやってbypassして。。。 のように進めていくのが筋だが 今回は使え…

【LKM 1.1】引数を取れるモジュール

0: 参考 www.oreilly.co.jp www.oreilly.com 1: イントロ 今回はモジュールの基礎に慣れるために 前回のハローモジュールが引数を取れるようにする 2: 引数を取れるモジュール insmodでは引数をとることができる 引数をモジュール内で利用するには /linux/mo…

【LKM 1.0】 環境整備 ~ hello moduleの作成

0: 参考 www.oreilly.co.jp www.oreilly.com 1: イントロ なんとなくkernel寄りのことがしたくなったため kernel moduleをお試しで作っていくことにする 今回は環境の整備と最もシンプルなモジュールを作る 2: 環境整備 VirtualBox + vagrantの環境で開発し…

【pwn(rev) 6.1】 GuessWhat - TrendMicroCTF2019

0: 参考 1: イントロ 9/7に開催されたTrendMicro CTF2019に一応参加した 今回はrev100の問題 GuessWhat.exe だいぶ知ってるやつと毛色が違った・・・ 2: 表層解析 ./GuessWhat.exe: PE32 executable (console) Intel 80386, for MS Windows stringsで気にな…

【pwn 5.1】 nothing more to say/ secure karte - TWCTF2019(1)

0: 参考 github.com ptr-yudai.hatenablog.com 完全に参考にして解き直しました 1. イントロ 8/31~9/2に行われたTokyoWesterns CTFの解き直し 完全にofficialや他の人のwriteup等を参考にして書いたため 自分のアイディアはほぼ皆無 単に解法を自分のために…

【pwn 4.10】 serial - Codegate CTF 2016

0: 参考 bataさんの良問リスト 問題ファイル github.com 1: イントロ bataリストの問題 2016 Codegate CTF の easy 問題 "serial" keywords: angr 2: 表層解析 ./serial: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpr…

【pwn 4.9】 ShellingFolder - HITCON CTF 2016

0: 参考 bataさんの良問リスト 問題ファイル github.com 1: イントロ bataリストのbaby問題に飽きたため 2016 HITCON CTF の easy 問題 "Shelling Folder" keyword: tcache, unsorted bin, main_arena, __free_hook, onegadget RCE, gdbpwn 2: 表層解析 ./sh…