Pwn De Ring

初心者がPwnを勉強していくために使っている標準出力先です。

CSAW CTF2017 auir (pwn200)

下調べ x86-64でdynamically linked, strippedなバイナリ CanaryとPIEが無効,Nx bitは有効 解析 コマンド1でサイズ入力後にそのサイズ分データを入力可能 ここでmallocされる コマンド2で対象のデータをfreeする たしかdouble freeできる(今回は使わなかっ…

CSAW CTF 2017 scv (pwn100)

下調べ x86-64でdynamically linked,strippedなバイナリ CanaryとNx bitが有効 100点問題なことからCanaryは破れそうな気がした 解析 コマンド1でデータ入力ができ. ここでCanaryの末尾1byteとかを潰したりできる コマンド2で入力されているデータを出力す…

CSAW CTF2017 pilot (pwn75)

下調べ x86-64でdynamically linked,strippedなバイナリ CanaryもNx bitもPIEも無効 得点が低いことと上記の制約からシェルコード流すだけだと判断 解析 RSPを表示してくれる(ありがたい) オフセット32byteでold rbpに突入する exploit 解析結果より単純にB…

ksnctfc92 md5 (pwn 60)

時間立っちゃって間違ってるかもしれないけど記憶の限り書いておく 下調べ 64bitのdynamically linkedでnot strippedなバイナリ Nx bitが立ってる libc配布されている 解析 解析してくと"exit"という文字列のmd5を比較してるのが分かるので、"exit"文字列を…

/proc/self/auxvを用いたCanaryリーク

tl;dr /proc/self/auxvから見れるAT_RANDOMの値が指すメモリの値の末尾1byteを0x00に変更したものがCanaryと等しい。 はじめに /proc配下にはexploitする上で良い情報源となる物が多い。今回はそれらの中でもauxv(auxiliary vector補助ベクトルの略かな?)に…

mipselにおけるopen-read-writeするシェルコードを書いてみる

はじめに pwn.hatenadiary.jp 以前の記事では、execveを用いてシェルを起動するシェルコードを使っていた。 今回は、execveなどがseccomp等で制限されて使えない場合を想定して、open,read,writeのシステムコールを用いて、ファイルの中身を出力する"\x00"が…

mipselにおけるシェルコードを読んでみる

2017年8月11日に茅場町コワーキングスペースCo-EdoでCpawLTをやったので置いておく。ここすごく綺麗だし勉強会にはちょうど良いので、オススメします。 mipselにおけるバッファオーバーフローを用いたシェルコード実行を試してみるでは、exploit-dbにあるシ…

mipselにおけるReturn to libcを試してみる

はじめに 前回のmipselにおけるバッファオーバーフローを用いたシェルコード実行を試してみるでは、シェルコードを実行させた。そこで、今回はReturn to libcを試してみる。 環境 前回の記事と同じ環境である。 root@debian-mipsel:~/study# uname -a Linux …

mipselにおけるバッファオーバーフローを用いたシェルコード実行を試してみる

はじめに mipsel(mipsのリトルエンディアン環境)において、簡単なスタックオーバーフローを用いたシェルコード実行を試してみたからメモしておく。 環境 Qemuでmipselのシステムエミュレーションで以下の環境を用意した。 root@debian-mipsel:~/study# uname…

SECCON 2016 Online CTF tinypad(pwn300)

想定解ではない解き方から,いろいろ学ぶ会. Info 64bitのnot strippedでdynamically linkedなバイナリ Full RELRO,Canary,Nx enabled libcは配布 Analysis メモ管理系のバイナリで,4つのメモを以下のような構造体で管理しており,グローバル変数として…

double freeを用いたargv[0] leak

double freeの時に呼ばれる関数でも__libc_message関数が呼ばれているので,argv[0] leakが可能という一行で伝わる人は時間の無駄なので,そっと閉じて欲しい. はじめに 普通の人は,Buffer Overflow対策のためのgccのセキュリティ機構SSP(Stack-Smashing P…

syscalldumpを公開

Pwnでシェルコードを書く時やROPでシステムコールを直に叩くことは多い.しかしx86とx86_64などの違いや引数の順番,システムコール番号などがあやふやになり,毎回ググったり,ソースコードをgrepしたりしていた. そこで,ただ調べたいシステムコール名を…

fsalib(format string attack library)を公開

Pwnにおいて書式文字列攻撃のコードを書くときは,たまにあり,Pythonだと以下のlibformatstrが有名だと思う. github.com しかし,RubyでExploitを書いている身としてはこれは使えないので,重い腰を上げようやく,自分用にlibformatstrの中で実際に書式文…

0ctf2016 Zerostorage (pwn6)

github.com 日本語writeupないので,もしかしたら貴重かも?参考文献にあるwriteupが何やってるかわからなからないコードが多いので,exploitのコメントはがんばって書いてみた. 下調べ Full RELRO, Canary, Nx, PIE x86_64, stripped, dynamically linked …

Hack.lu2013 Breznparadisebugmachine (pwn500)

katagaitai CTF勉強会#8関東|medの午後問題として扱われた問題.WindowsのPwn問題ということで新鮮で面白かった.exploitコード自体は勉強会スライドとなんら変わりはないので,特に面白くはないと思うが,せっかく参加したので記事にしておく. 環境準備 ホ…

HITCON CTF2016 Quals blinkroot (pwn 200)

katagaitai CTF勉強会#8関東|medの午前問題として扱われた問題.いわゆるdl-resolve解法について学べる問題.午前午後共に詳しくはスライドを見れば乗っているので,割愛する.とりわけスライド通りのexploitで面白くないと思う. 下調べ Canary, NXが有効 l…

HITCON CTF2016 Quals Secret Holder (pwn 100)

Pwncampでやった問題 其の壱(になる予定だったが実質終えたのはこれしかない) 実力不足だからか100点に思えなかった. 下調べ 64bit, dnyamically link, stripped Partial RELRO, No PIE libcはわかってることにした 解析 主に以下の3つのコマンドが存在す…

Bosten Key Party2016 Cookbook (pwn6)

BKPが近いということで,前年度の問題を復習してみた.本問題は以前まとめた pwn.hatenadiary.jp Houes of Forceを使って解くことが出来る問題である.私自身,この一回しかHouse of Forceを使ったことがないので良い練習問題になり,久しぶりに全部自力で解…

Hack.lu2014 OREO(pwn400)

本日は,何の日でしょうか? 本日は,バレンタインデーです.CTFerのみなさんはチョコをもらえたでしょうか. まだチョコをもらっていない人のためにOREOをみなさんにお届けします. 環境 本問題は以下の環境で行った.とりあえずUbuntu16.04LTSではうまく行…

Codegate2015 Finals yocto(pwn600)

良い過去問題の1つだと思う.参考資料のサイト見ながら解いてみた. 下調べ vagrant@ubuntu4ctf ~/c/Codegate> file yocto | sed -e 's/, /\n/g' yocto: ELF 32-bit LSB executable Intel 80386 version 1 (SYSV) dynamically linked interpreter /lib/ld-l…

SECCON 2016 Finals enquete(pwn100)

総合的な感想はこちら encry1024.hatenablog.com 下調べ vagrant@ubuntu4ctf ~/c/s/c/enquete> file enquete | sed -e 's/, /\n/g' ASLR: ON enquete: ELF 32-bit LSB executable Intel 80386 version 1 (SYSV) dynamically linked interpreter /lib/ld-linu…

Insomni'hack teaser 2017 baby(pwn50)

大会前2日テスト期間にもかかわらず耐えきれなくついやってしまった問題.テスト勉強に追われてここ一週間ぐらいpwnやってなかったので良いwarmup問題だった.まだテスト期間なのだが,writeupぐらい早めに書こうと思った.簡単な問題だけれど新年初CTFで新…

TJCTF2016 oneshot (pwn170)

簡単なやつを解いてモチベを上げた. 下調べ vagrant@alice1000:~/c/tjctf2016$ file oneshot | sed -e 's/, /\n/g' ASLR: ON oneshot: ELF 64-bit LSB executable x86-64 version 1 (SYSV) dynamically linked interpreter /lib64/ld-linux-x86-64.so.2 for…

33c3CTF rec (pwn200)

解けなかったので復習.精進しよう. 下調べ file ../rec: ELF 32-bit LSB shared object Intel 80386 version 1 (SYSV) dynamically linked interpreter /lib/ld-linux.so.2 for GNU/Linux 2.6.32 BuildID[sha1]=51890d1f3db5af5a951952942d4cf81d91143c3e …

PwnやReversingに使えそうなデバッガ紹介

ところで,クリスマス・イブといえばPwnやReversingなどバイナリを読みたくなる日です. なので本日のバイナリ日和をより良いものにするために,CTF Advent Calendar2016の空いている10日の記事を書きました. Pwnにおけるデバッガ Pwnにおいて,逆アセンブル…

House of Forceの概要と実践(題材:BCTF2016 bcloud)

これは,CTF Advent Calendar2016の6日目の記事です. 本記事では,House of Forceというheap exploitのテクニックの解説,実践問題の解説を行ってみたいと思う. 1. House of Forceの前に House of Forceの説明をするに当って,事前に知っておくべきheap領…

Codegate CTF 2016 serial(pwn444)

下調べ serial-444: ELF 64-bit LSB executable x86-64 version 1 (SYSV) dynamically linked (uses shared libs) for GNU/Linux 2.6.32 BuildID[sha1]=178aaa6576923592e7fc8534fd8cb21d5f6c5cdb stripped CANARY : ENABLED FORTIFY : disabled NX : ENABLE…

HITCON CTF2014 stkof(pwn550)

下準備 stkof: ELF 64-bit LSB executable x86-64 version 1 (SYSV) dynamically linked (uses shared libs) for GNU/Linux 2.6.32 BuildID[sha1]=4872b087443d1e52ce720d0a4007b1920f18e7b0 stripped RELRO STACK CANARY NX PIE RPATH RUNPATH FORTIFY Fort…

SECUINSIDE 2013 pwn me!! (pwn750)

下準備 pwnme: ELF 32-bit LSB shared object Intel 80386 version 1 (SYSV) dynamically linked (uses shared libs) for GNU/Linux 2.6.24 BuildID[sha1]=4353f2c67b27a8adfc0106faaee7d94ef52d06cf not stripped RELRO STACK CANARY NX PIE RPATH RUNPATH …

socatを使おう

socatとは Pwnの問題には、プログラム自信がlistenやacceptといった関数を使ってネットワーク的な機能を持つバイナリのfork-server型とそうでない問題がある。後者の場合はxinetd型と呼ばれている。問題として配布されたバイナリをxinetdにのせるのは面倒な…