2018年5月27日日曜日

BeginnersCTFに参加した

2018/5/26(土) ~2018/5/27(日)の間に開催されていたBeginnersCTF(https://score.beginners.seccon.jp/)に参加しましたメモです。常設の物はいくつか触ったことがあったのですが、リアルタイムで参加したのは初めてだったので楽しかったです。

とりあえず細かい解法は様々なところで出ていると思うので、どういう流れでフラグ取ろうとしたかだけ。

Veni,vidi,vici

 catで順に確認して、文字数からrot13系だなと思ったのでその辺のrot13まわりをいい感じに解決してくれるサイトに放り込んで終了。part3の逆さ読みはこんなことできるんだって思いました。

 Greeting

admin入れたら偽管理者と言われてそうかーとなって一旦別の問題見て戻ってきたらフラグが表示されていてビビりました。よくよく見たらCookieとか時間指定とかあってなるほどねという気持ちに。

plain mail

wiresharkで始めに「オブジェクトをエクスポート」を選択して何か出てくるかなと思ったらそんなことはなかったです。「追跡」を利用してメールの中身を確認して、base64系の物があったのでデコードしてfileで確認。zipだったので解凍、パスワードもざっと目で見てたら見つかりました。

Welcome

寝ぼけながらやったので覚えてないです。IRCチャンネルにアクセスしてトピックみて終わりみたいな感じでした。

Find the message

imgだったのでまずマウントしようとして「ファイルが壊れています」を食らいました。Bzで確認したところ、ファイルの先頭部分が全て0で潰されていたので、それのせいかなと判断。stringsで確認したところ、txt,pdf,pngの3つのファイルが存在することが判明。txtの方は偶然base64っぽいのを見つけたのでデコードして終了でした。
Bzでpdfのマジックナンバーを確認して、このまま切り出せばいいのかなと思いつつ、photorecを使用してpdf回収。なぜかpngだけ出てこないと思って見まわしてたらpngはマジックナンバー周辺が「XXXXXXXX」で上書きされていることが判明。適切に書き換えて再挑戦。結局駄目だったので自力で切り出したら画像の上半分しか表示されず、どうしようと思っていたところFTK Imagerのことを思い出したのでインストールして利用しました。(なぜかpdfが表示されなかったけれど)
そしてBzのビットマップ表示は便利。

Simple_auth

cygwinでELF動かないなとか思っていたらこれを忘れていました。(https://www.cygwin.com/ から引用)

...isn't it?

Cygwin is not:
  • a way to run native Linux apps on Windows. You must rebuild your application from source if you want it to run on Windows.
  • a way to magically make native Windows apps aware of UNIX® functionality like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.


 悲しい気持ちになりながらBash on Ubuntu on Windowsの方を起動。Cドライブには/mnt/c/Users/......で入れます。こちらでは起動できたので、解析用にgdbを導入して見て回りました。
 gdbではdisassesmble mainで中身を見ると、authという名前の関数を確認できました。disassemble authで確認すると、movでasciiっぽいものを入れている場所があったので全部拾ってascii変換掛けたらフラグが取れました。
後から確認したところ、ジャンプ条件をきちんと読むともう少しスマートに倒せるようですが分かりませんでした。読んでる本が片付いたらその周りをもう少し勉強したい。


雑感

数年前から見れば解ける問題は増えているのかもしれないけれど、普通に順位見てへこみました。WarmUpすら解けないの悲しすぎるので、勉強します…。というかphp本当に挙動が分からない…。

0 件のコメント:

コメントを投稿