アイジア

CTF, 情報セキュリティの学んだことメモ

バッファオーバーフローの攻撃手法いろいろ

*linux32ビット 1.1: 最も基本的なスタックバッファオーバーフロー 実行条件: ・DEP無効 ・ASLR無効 ・CANARY無効 *セキュリティ機構のおおまかな解説はここから aithea.hatenablog.com //bof1.c #include <stdio.h> #include <string.h> char *shellcode = "\x31\xc0\x50\x68\x</string.h></stdio.h>…

ファイル実行時のセキュリティ機構まとめ

どれがどれだかよくわからなくなるのでメモ。 ①ASLR 実行時のスタック・ヒープ・共有ライブラリなどのアドレスをランダム化します。アドレスが予測できなくなるので攻撃は難しくなります。これを無効にするには「sudo sysctl -w kernel.randomize_va_space=0…

ksnctf 28 Lo-Tech Cipher

ksnctf.sweetduet.info 分からなかったので他の方のWriteUpを見ました。「Visual Cryptography」という画像暗号化の技術らしいです。sercret.zip内にある2枚のpngファイルと.zipを.png拡張子に直したものを重ね合わせるとフラグが表示されます。すごい。

ksnctf 25 Reserved

ksnctf.sweetduet.info ppencode これはppencodeというperlの予約語を使った難読化の技術らしいです。このままでもperlで普通に実行できてしまいます。 最初の方だけ解説すると、 print chr ord uc qw q flock q ここで「FLAG_」の「F」が出力されています。…

ksnctf 24 Rights out

ksnctf.sweetduet.info ファイルの実行 パネルを反転させるゲームが開始されますが、問題文に「Solving the puzzle is not sufficient.」とあるのでこれをクリアする必要はありません。 実行ファイルは.NETで作られているらしいので、専用の逆コンパイラを使…

ksnctf 22 Square Cipher

ksnctf.sweetduet.info 問題文の31×31のアルファベットはQRコードを表しています。小文字が白い部分、大文字が黒い部分です。 アルファベットをQRコードに直す QRコード作成には画面描画に特化した言語であるProcessingを使います。 final int size = 10; //…

ksnctf 21 Perfect Cipher

ksnctfの21問目を解いていきます。メルセンヌツイスタの問題です。 ksnctf.sweetduet.info 大まかな解法 1. encrypt.keyを復元する 2.encrypt.keyからメルセンヌツイスタの乱数を予測し、flag.keyを生成する 3.flag.keyとflag.encからflag_dec.jpgを復元する…

ksnctf 20 G00913

ksnctf.sweetduet.info first 10-digit prime found in consecutive digits of π 円周率の中で、最初の10桁の素数を見つけよ。 素数判定いろいろ - シンプルな判定と、素数の分布 - Qiita 上のリンクのsimple_prime_test.pyで素数判定処理がありますのでそれ…

ksnctf 19 ZIP de kure

ksnctf.sweetduet.info flag.zipにはパスワードがかかっています。 It is known that the encryption system of ZIP is weak against known-plaintext attacks zipは既知平文攻撃に弱いことが知られています。 既知平文攻撃とは、平文の一部と暗号文から鍵を…

ksnctf 18 USB flash drive

ksnctfの18問目を解いていきます。ジャンルはディジタルフォレンジックスです。 ksnctf.sweetduet.info zipファイルを解凍してimgファイルに探りを入れます。 unzip drive.zip fls drive.img イメージファイルは.jpgの集まりみたいですが「Liberty Leading t…

ksnctf 17 Math II

ksnctf.sweetduet.info 二分探索 - Wikipedia

ksnctf 16 Math I

ksnctfの16問目を解いていきます。 ksnctf.sweetduet.info 一見すると単なる数学の問題のようですが、これはRSAに使われる暗号化の技術と関連しています。 RSAとは RSA暗号 - Wikipedia 大きな素数を掛け算する(=暗号化する)ことは簡単でも、その積を素因数…

ksnctf 15 Jewel

ksnctfの15問目を解いていきます。Javaと暗号の問題です。 ksnctf.sweetduet.info アプリのインストールと実行 androidでapkファイルをダウンロードして実行すると「Your device is not supported」と表示されてアプリが終了します。でも機種の問題ではなさ…

ksnctf 14 John

ksnctfの14問目を解いていきます。 ksnctf.sweetduet.info 問題文には/etc/passwdのようなフィールドが羅列してあり、user99に、 DictionaryIsHere.http//ksnctf.sweetduet.info/q/14/dicti0nary_8Th64ikELWEsZFrf.txt とあります。dicti0nary_8Th64ikELWEsZ…

ksnctf 13 Proverb

ksnctf.sweetduet.info pwnの問題です。Tera Termでサーバにログインします。 フラグを読みだす権限はなく、proverbを実行するとproverb.txtから読みだしたことわざが出力されます。 シンボリックリンク攻撃 フラグを読みだすにはシンボリックリンクの仕様を…

ksnctf 12 Hypertext Preprocessor

ksnctf.sweetduet.info 時刻っぽい何かを表示するウェブサイト。さっぱりわからなかったので調べたらCVE-2012-1823というPHPの脆弱性らしいです。 CGI版PHPにリモートからスクリプト実行を許す脆弱性(CVE-2012-1823) | 徳丸浩の日記 CVE-2012-1823 ~ ksnctf …

ksnctf 11 Riddle

ksnctfの11問目を解いていきます。リバースエンジニアリングの問題です。 ksnctf.sweetduet.info 実行と解析 Riddle.exeを実行すると、簡単な質問(答えは1問目「Human」,2問目「Greenland」, 3問目「42」)の後唐突にフラグを聞かれます。分からないのでIDAで…

ksnctf 10 #!

ksnctf.sweetduet.info シバン (Unix) - Wikipedia

ksnctf 9 Digest is secure!

ksnctfの9問目を解いていきます。 ksnctf.sweetduet.info ダイジェスト認証とは Digest認証 - Wikipedia Digest認証の挙動 - Qiita ダイジェスト認証はベーシック認証と同じくHTTP認証方式の一つです。ベーシック認証がBase64を使用するのに対して、ダイジェ…

ksnctf 8 Basic is secure?

ksnctf8問目を解いていきます。結論から言うとBasic認証はセキュアではありません。 ksnctf.sweetduet.info Basic認証とは Basic認証は最も簡易なHTTP認証方式です。Basic認証が必要なWebページにアクセスするとIDとパスワードを入力するダイアログが表示さ…

ksnctf 7 Programming

ksnctf7問目。プログラミングの問題です。 ksnctf.sweetduet.info リンク先にあるcppファイルをダウンロード、コンパイルして実行してみます。 当然だめ。コードで特徴的なのは異様に空白や改行が多いこと。難読化のためでしょうか? 調べてみたところWhitesp…

ksnctf 6 login

ksnctfの6問目を解いていきます。 ksnctf.sweetduet.info 問題のリンクへアクセスするとフォーム画面があります。とりあえず何も考えずにSQLインジェクションを試します。 あっさり通りましたがまだフラグは分かりません。adminのパスワードをクラックしなけ…

ksnctf 5 Onion

ksnctfの5問目を解いていきます。 ksnctf.sweetduet.info Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSV01WbDNXa1JTV0ZKdGVGWlZNakExVmpBeFYySkVU bGhoTWsweFZtcEdZV015U2tWVQpiR2hvVFZWd1ZWWnRjRWRUTWxKSVZtdFdVZ3BpVlZwWVZtMTRj MDB4V25GUmJVWlVUV3hLU1ZadGRHdFh…

ksnctf 4 Villager A

ksnctfの4問目を解いていきます。ポイントはかなり高め。解くにはアセンブリの知識と、スタックのしくみについての理解が必要です。 ksnctf.sweetduet.info SSHでサーバにアクセスする TeraTermと問題文の情報を使ってサーバへリモートでログインします。問…

ksnctf 3 Crawling Chaos

ksnctf の3問目を解説していきます。 ksnctf.sweetduet.info 問題文はunya.htmlへのリンクで、アクセスすると送信フォームがあるだけ。 XSSかなと思ったけどNoと表示されるだけでした。 Chromeでページのソースを表示します(Ctrl + U)。 するとJavascriptタ…

ksnctf2 Easy Cipher

ksnctf.sweetduet.info これからセキュリティの復習もかねてksnctfの問題を解き直していこうと思います。最初はeasycipherから。 問題文 EBG KVVV vf n fvzcyr yrggre fhofgvghgvba pvcure gung ercynprf n yrggre jvgu gur yrggre KVVV yrggref nsgre vg va…

crkme09

http://doomo.xyz/crack/crkme09.exe 前↓ aithea.hatenablog.com 前回と同じく名前とパスワードを入力する問題だったので同じ要領で解析しようと思ったけどなにかおかしい。 DB文がたくさん羅列していて、ラベル名にも関数が少ない。 前にやった問題で似たよ…

crkme08

http://doomo.xyz/crack/crkme08.exe ※前 aithea.hatenablog.com 実行 名前とパスワードを聞かれる。もちろんどちらもわからないので今回は2つの情報をリバースエンジニアリングで見つける必要がある。 解析 「GetDlgItemTextA」にBPを仕掛けて、適当に名前…

crkme07

http://doomo.xyz/crack/crkme07.exe ※前→crkme06 - アイジア 実行 crkme07.exeを実行すると4つのテキストボックスが出てきて、シリアル番号的なものをを要求される。 解析 OllyDbgでcrkme07.exeを開く。アセンブリが表示されているウィンドウで右クリック->…

crkme06

前→ crkme05 - アイジア 前と比べて正解処理にたどり着くまでの道のりがけっこう長くなっている。 ・正解文字列は10文字(004011FD . 83F8 0A CMP EAX,0A) 0040120C . 0FBF06 MOVSX EAX,WORD PTR DS:[ESI] EAXにESIの先頭2文字(16バイト分)を格納する。ESIに…