読者です 読者をやめる 読者になる 読者になる

Pwn De Ring

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

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にのせるのは面倒な…

0ctf 2016 warmup(Exploit2)

Cpawとして参加していましたが、1問も解けず しかし、終了後に某プロのwriteupを見て(毎回とても助かっています.本当にありがとうございます). すごく納得できたので、まとめておくと同時に初めて自分でシステムコールを呼び出す問題だったのでその点も含め…

IA-32のレジスタの役割

今回は,PwnやReversingをするために必要そうなレジスタの知識をまとめてみる.逆アセンブル結果を見ていくうえでレジスタの知識は必要だと感じたからである.なお今回はx86アーキテクチャのレジスタの話を見ていこうと思う.またタイトルにあるIA-32とはIntel P…

配列の初期化について観察してみた

1.記事の目的 C言語による配列の初期化が逆アセンブルすると,どのように行われているかを確認する. 2.プログラム概要 // array.c #include <stdio.h> int main(){ char buf[10] = {}; // <- こ↑こ↓ fgets(buf, 10, stdin); return 0; } 10byteのchar型配列を用意し,</stdio.h>…

32c3ctf readme(pwn200)

開催期間中には解けなかったが,某プロに解法を伝授していただいので,整理するために自分なりのwriteupを書きました.某プロもおっしゃっていましたがtrivia + pwnな感じの問題でした. 問題文 Can you read the flag? nc 136.243.194.62 1024 下調べ $ file r…

Buffer Overflowによる局所変数の書き換え実験

1. 記事の目的 本記事では,Buffer Overflowするプログラムを元に,局所変数を任意の値に書き換えるということに挑戦してみる. 2. プログラム概要 今回は,以下のbof.cを使う. // bof.c #include <stdio.h> #include <stdlib.h> int main(){ // ローカル変数 int num = 0; char </stdlib.h></stdio.h>…

実行ファイルのセキュリティ機構[RELRO/SSP/Nxbit/ASLR/PIE]

実行ファイルのセキュリティ機構 gcc等のコンパイラで,ソースコードをコンパイルする際に脆弱性を生まないための様々なセキュリティ機構が実行ファイルに付加される. RELRO(RELocation ReadOnly) これはメモリ上に配置されるデータの各セクションにはReadOn…

Pwnとは

Pwn Pwnの勉強を本格的に頑張っていきたいので備忘録兼理解を深めるために自分の文字で記述していくことを決めた. もしかしたら全く知らない人が見るかもしれないので,Pwnとは何かというと... 情報セキュリティコンテストCTF(Capture The Flag)の競技ジャ…