hackyou 2014自分用まとめ

本来writeupとか呼ばれるようですが残念ながら最低レベルの100pt問題を2つしか解けなかったので自分用のまとめとして置いておきます。 我ながら残念な解き方しかしてないのがつらい

Reverse100

バイナリエディタで見てみたらなんとなく.NETっぽかったのでILSpyで逆コンパイル

f:id:misodengaku:20140117215932p:plain

127.0.0.1:31337に何かを送りつけているっぽいのでサーバを書いて受け取らせてみる。

f:id:misodengaku:20140117222406p:plain

というわけでキーはCTF{7eb67b0bb4427e0b43b40b6042670b55}

Crypto100

既知平文攻撃という単語をTwitterで見かけてなるほどと思いやってみたら解けた。 crypto100.zipを解凍するといろいろファイルが出てくるがmsg001とmsg001.encが平文と暗号文のペア、encryptor.cがファイル名通り暗号化プログラムと推測した。 まずencryptor.cを改造してkeysearch.cを書いた。 平文と暗号文を読み込んで1バイトごとにキーを総当たりで探した。 その結果以下のような文字列が得られた。

f:id:misodengaku:20140117222017p:plain

どうやらキーは「VeryLongKeyYouWillNeverGuess」らしいので同じくencryptor.cを改造してdecoder.cを書く。

decoderにmsg002.encを食わせる。出力は以下。

まとめ

2問しか解けませんでしたがそれなりに楽しかったです。

rev100はなんとなくHSPで書きましたがncコマンドとかで十分っぽいですね。

id:aki33524の人なんかはPythonかなんかで同じロジック実装して解こうとしていたみたいですが自分は面倒くさがってそっちのアプローチをしようとも思わなかったのはちょっとダメだなと。今回は解けたのでよかったですがちょっとモヤッとしました。

crypto100も最終的には解けたのでよかったのですがどう考えてもスマートではないのでまだまだです。

まぁ経験が物を言うと思うので繰り返し挑戦していくしかなさそうですね