ChogeLog

主にセキュリティ関係の記録やWrite-up。たまーに日記も。

#28 Lo-Tech Cipher

これもサクッと('ω')

問題

ksnctf.sweetduet.info
zipファイルが渡されます。

解法

とりあえずzipファイルをダウンロードして解凍してみると・・・

share1とshare2という名のpngファイル…この時点でもう解き方が分かっちゃいました(/・ω・)/

PowerPoint上でこの画像を表示してみます。
一枚だとこんな感じ。

これだと全く何も分かりませんが、もう一枚の画像をピッタリ重ねてあげます。

解像度に合わせたサイズでピッタリ重ねないとキレイに見えないかも…
これでフラグ出るかなーと思ったのですが、もう一捻り必要みたいですねー。
ヒントとして、

The last share is hidden in the ZIP

と書かれています。

zipファイルからどうにかして画像をもう一枚取り出したいので、zipファイル自体をpngファイルに変えてみました(・∀・)笑
そして、pngに変えたzipファイルをパワポに挿入してさっきの画像と重ねてみると・・・フラグゲット!!


実はコレ、視覚複合型秘密分散法っていう技術で、うちの研究室の後輩がこの技術を応用した研究をしているんですよねー(笑)
なのですぐに解けちゃいました('ω')

#29 Double Blind

知ってればサクッと解ける問題('ω')

問題

ksnctf.sweetduet.info
docx形式の論文が配布されます。
この論文の著者名がフラグになるそうです。

解法

とりあえずdocxファイルをwordで開いてみると・・・

内容は全く読んでないけど(読む気ない)、さすがにフラグは書かれてないですね~
画像が1枚だけあって、これが怪しげ(ФωФ)
とりあえずwordファイルを分解してみます。

ファイルの拡張子をdocxからzipに変更して、解凍すると・・・

フォルダが生成されて、そのフォルダの中にはwordファイルの要素となる画像やxmlファイルが入っています。

その後はwordフォルダ内の、おそらくメインファイルであるdocument.xmlを開きます。
で、その中身を見ていくと…フラグ発見!

画像ファイルの場所が絶対パスで記述されていて、そこのユーザ名がフラグになっていますね(・ω・)
たぶん検索で見つけれないように邪魔な文字を入れているので、その文字を取り除いたものが正解になります。


Wordの他に、ExcelPowerPointファイルも実はxmlファイルで構成されているので、zipに変えて解凍してやると簡単に要素を抽出することができるんですね~
知っていて損はないと思います(´∀`*)

#5 Onion

気づけば1ヶ月ぶりの更新(゜Д゜)

問題はこちらのサイト
http://ksnctf.sweetduet.info/problem/5

長い文があるだけ(・ω・)

とりあえずハッシュ化したら答え出たりしないかなーと思ったけど、まぁ出るわけもなく。笑

調べたところ、どうやらBase64エンコードされた文字列らしい。
見極め方はよく分からないんだけど、数字よりもアルファベットの方が多いのが特徴なのかな?
末尾に「 = 」があれば分かりそうだけど(-ω-)

ということで、とりあえずネット上でデコードしてくれるサイトを探してこの文字列をBase64でデコードしてみる。
が、全然解読されず('Д')

問題名がOnionだから、たぶん何回もデコードしていくのかなぁと予想。(皮を何枚も剥くみたいな?)
で、デコードを何回も繰り返していくと・・・でた!

begin 666 <data>
51DQ!1U]&94QG4#-3:4%797I74$AU
 
end

ナニコレ(゚д゚)!?
Base64では使われていない記号が含まれているからこれ以上デコードできず。
で、「begin 666」とかで調べてみると・・・uuencodeっていうのでエンコードされたときの出力らしい('ω')

特徴として、

  • begin 3桁の数字 ファイル名 で始まり、
  • end で終わる

らしい。
ちなみに3桁の数字はパーミッションを表している。アクセス許可とかのヤツですね(・∀・)

ということで、この文字列をuuencodeでデコードしてみると・・・フラグゲットーーー!

uuencodeもオンライン上のサービスを探して利用しました(;^ω^)
本当はBase64uuencodePythonとかでプログラムを作った方が良いんだろうけど、uuencodeはPython3系では面倒くさいっぽいので今回はやめときました。。
でも今後必要になると思うから、暇なときに作っておこう(^^;)

Base64uuencodeエンコード手法について名前は知ってたけど、実際にどういう仕組みでやってるのかは知らなかったから、今回良い勉強になったと思う(`・ω・´)
wikiに分かりやすく書いてあるので知らない人は是非wikiを!(笑)

実際にCTFを解くときは、どのエンコード手法が使われたのか、気づきが重要になりそうですねー。