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

MNCTF 2016 Write-up

MNCTF 2016 Write-up

MNCTF2016

Macnica Networks DAY 2016 で行われたCTFが一般公開されていたので挑戦しました。

点呼

CTF恒例の確認問題

暗号新聞

ヨコの鍵

HTTPS

AES

MD5

SHA

タテの鍵

  • 1D

    開発当初、米国の暗号輸出規制を回避するため、ソースコードを書籍にし、海外へ広めた逸話を持つ暗号ソフトウェア

PGP

NTLM

RSA

TLS

ECC

ECC(Elliptic Curve Cryptography)とECDSA(Elliptic Curve Digital Signature Algorithm)に注意

  • 5C

    Tripe □□□などの延命措置が取られたものの、非推奨となった共通鍵アルゴリズム

DES

同一集団

C&C(?)を模した問題

shinobot.comをwhoisして出てきたメールアドレスググるとDomainBigDataに5つほど保持しているドメインが表示される

超持株会

Webサービスを模した問題

URLに含まれる71a842cd29f851f722069ee64c6ec5a8をMD5で逆変換すると社員番号とおぼしき文字列が出てくる
対象人物の社員番号のMD5をidに指定すると対象の購入ページが表示される
1000口の指定が無いのでTamperDataやBurpのようなツールでPOSTパラメータを1000に書き換える

難読記録

AD\\(?!AABBCC)(?!DUMMYZ)[0-9A-F]{6}

権限昇格

VirusTotalに解凍したexeを投げるといくつかのアンチウイルスソフトがCVEを表示してくれる

一行挿入

ExploitKit(?)を模した問題

オンラインのアンパッカー or 手元のブラウザコンソールでコードを少しずつ動かして確かめる
User-Agentが"ShinoBrowser 1.0.0.1"の時だけリダイレクトするJavaScriptが生成される
JSを更に解読 or UAを偽装してアクセスするとファイル名が分かる

超標的型

マルウェアを模した問題

stringsするとgetComputerNameAが出てくるのでホスト名を取得してチェックすると推測
IDAで開くと指定のホスト名がそのまま見つかるのでASCIIで変換

丸文字文

A-Za-z0-9+/なのでBase64と推測
丸文字を通常文字に変換してBase64デコードするとS-JISのテキストファイルになる
Windowsのメモ帳が自動で対応してくれるので問題文を読んで答えるだけ

以下Clojure(REPL)での丸文字-通常文字変換プログラム

;; wget http://mnctf.info/mnctf2016/task/crypt.html
;; 先頭を1行削る

(require '[clojure.string :as str])

(def cdata (->> (-> (slurp "crypt.html") (str/split #"\r\n")) (map #(drop 2 %)) (map #(drop-last 1 %)) (map #(apply str %))))

(defn inter [x] (Integer. x))

(defn conv [x] (cond (and (>= x 9398) (<= x 9423)) (- x 9333) (and (>= x 9424) (<= x 9449)) (- x 9327) (and (>= x 9312) (<= x 9320)) (- x 9263) (== x 9450) 48 (== 8853 x) 43 (== 8856 x) 47))

(def decoded (->> cdata (map inter) (map conv) (map char) (apply str)))

(spit "decoded" decoded)

;; base64 -d decoded > km.txt