にゃーんとか言ったことなし

コンテンツは特にないです。

ksnctf #18 Use flash drive

問題

https://ksnctf.sweetduet.info/problem/18

 

考えたこと

まず、USBうんぬんというタイトルから、フォレンジック問題だろうという予想をする。フォレンジック問題なので、まあAutopsyか、The Sleuth Kitあたりでごちゃごちゃやればいいかなと思った。まずはzipファイルがあるので、それをダウンロードして展開する。それを解凍すると、drive.imgとかいうファイルが出てくる。imgだからまあ画像ファイルだろうなと思いながらfileコマンドで確認すると、

x86 boot sector, code offset 0x52, OEM-ID "NTFS    ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 8, hidden sectors 1, dos < 4.0 BootSector (0x80)

と返ってきた。x86 boot sectorというところから、これがタイトルのUSBの意味かと理解する。ブートセクターは簡単に言うと、HDDやフロッピーなどの補助記憶装置のセクターの一種である。とりあえず中身をみようと思ってflsコマンドを実行する。flsコマンドとは、ディスクイメージの中にあるファイルとかの一覧を出してくれるコマンドである。すると、Liberty Leading the People.jpg といった名前のファイルが7種類あることが見つかる。そこでicatコマンドで中身をみると、

icat drive.img 36-128-4

とやったところで、FLA という文字が出てきたので、これかと思って残りも全てicatして出てきた文字列をつなぎ合わせるとフラグが通った。

 

おまけというかついで

ksnctfのフォレンジック問題はこれぐらいしかないきがする。FTK Imagerとか使っても解けそう?

セキュリティ・ミニキャンプ in 三重2018に参加してきた

はじめに

10/6(土)に鈴鹿高専イノベーション交流プラザで開催されたセキュキャン三重に参加した。せっかく参加したのでその備忘録としておく。

www.ipa.go.jp

 

参加するまで

参加申し込みのためにいくつか質問事項があったので、それの記入をした。全国大会と違ってめちゃくちゃ難しい問題は一切なく、応募理由や学んだことを何に役立てたいか、知識として持っているフォレンジックツールなどの質問があり、最後に調子が悪いSDカードを渡されたらどうするかといった問題があった。最後の問題に関しては、内心はバックアップだけとって新しいの買えよと思ったが、さすがにそんなことを書くわけにいかないので、それっぽいことを適当に書いて、あとはがんばりまーすみたいなことを書いた。すると、締め切りから1週間しないうちに当選のメールがきたので一安心した。セキュキャン2, 3日前に事前課題としてAutopsyのインストールという課題が出た。Autopsyとは、直訳すると検死と言う意味で、The Sleuth Kitというフォレンジックに有用なツールをGUIで使えるようにしたものである。

www.sleuthkit.org

この課題が思いの外難しく、金曜日に1日かかっても終わらなかった。ソースをGitHubからcloneして書かれている通りにビルドをしていたが、ビルドが無限に失敗し続けていた。途中で講師の人から、MacLinuxユーザーは仮想マシンをぶち込んでWindows上で動かしたほうが早いかもよという警告が来た。

 

 出鼻をくじかれた感じでどんよりしながら会場に向かった。

 

当日の様子

朝7時の起床試験に合格し、高専祭に行ったこともあったことからある程度行き方は把握しており、無事会場に着いた。早く着きすぎたぐらいである。

 会場に着いてから、初めてAutospyをソースコードからビルドするのは闇ということを知り、普通にダウンロードしたら一瞬でインストールできた。普通に大泣きした。

 

オープニングトークは佳山こうせつさんのお話で、「動かす!考える!背中を見る!」のスライドだった。小耳に挟んだことはあったけど、本当にそのスライドがあって実際に聞いたらいい話だった。F1と日にちが被っていたこともあり、それについても触れていた。

 

 午前は三重県警の人による講義で、過去に大学で情報工学特別講義という授業の時に県警の人が来て話をしてくれたが、それと似た部分も多少はあった。しかし、今回は実際に被害者から相談を受け、聞き取りをするというより実務に近い形のことを行った。鈴鹿静香さんが伊勢のび太さんにアカウントを乗っ取られて困っているという相談だった。家宅捜査など色々シュールで非常に楽しく学ぶことができた。

午前はそれで終わり、昼食のための昼休憩に入った。

 

席には他の参加者6人と、佳山こうせつさん、そしてはいひるさんだった。いろんなお話が聞けてよかった(語彙力)。

午後は、フォレンジック解析入門ということで、座学ではなく実際にAutopsyを使って解析をするという講義だった。 昨年のセキュキャン全国大会の卒業生の人が導入として、デジタルフォレンジックとは何かという話などをしてくれ、その人が実際に使っていたディスクファイルから情報を読み取るという作業をした。

 実際に覗いてみると、ヘッダからファイルの種類がわかるといった話はもちろん、使用していた端末情報やアプリなど色々わかり、この人はこういうことをしていたんだなということがわかるようになっていた。CTFでフォレンジックは難しすぎて避けていたが、少しautopsyの使い方がわかったので、解ける問題があるといいなと思った。

今回、セキュキャンに初めて参加したが、あまり技術のない自分でもわかりやすく、そして楽しく学べたので、自分の技術力に自信がない人もぜひ参加して欲しいと思った。また、多くの人の協力を得て自分たちは無料で参加できているので、周りの環境に感謝したいと思った。最後に、三重県でもっとこういう勉強会的なのやって欲しいな..

Macがカーネルパニック起こした

僕のMacBookProRetina 13-inch, Early2015が突然起動しなくなった。いろいろ調べてみたら、どうやら起動時のカーネルパニックらしいことがわかった。そしてその修理をしたので、忘備録代わりにここに記す。

 

カーネルパニックとは、OSのカーネル部分において、何らかの理由で致命的なエラーが発生し、安全に復旧することができなくなった状態のことである(以下Weblio参考)。kernelについては以下を参考にしてほしい。

カーネル - Wikipedia

www.weblio.jp

このカーネルパニックについては、もともと存在はしていたものの、OS Xのバージョン: 10.11.6 El Capitanでは最近報告されている現象らしい。原因としては、OS Xにもともと入っているセキュリティソフトと、外部から入れたウイルスバスターなどのセキュリティソフトが相性が悪いことらしい。自分のは、OS Xのセキュリティソフトが最新バージョンで、外部のセキュリティソフトが更新されていない状態になってい他ので起こったらしい。そこでMacをセーフモードで起動し、外部のセキュリティソフトを更新したら無事に直り起動するようになった。

 

最後に、Appleのサポートのお姉さんは優しい。

akictf #4 directories

問題

https://ctf.katsudon.org/problem/4

 

考えたこと

まずファイルをダウンロードすると、zipファイルが手に入る。一応fileコマンドで確認しても実際にそうだった。unzipコマンドで解凍すると、q4というディレクトリと、それの下にいろんなファイルが展開される。中にflag.txtがあったので、それを見てみると、The flag is directory name beginning with 's'. Not found? Umm... と言われる。もう一度展開したファイルの一覧を見ると、.DS_Store というものがあることに気付いた。これは、隠しファイルと知っていたので、catコマンドを実行したらsから始まるものがあったので、それを入力したら通った。

 

おまけというかついで

unzipするまえにlとかtオプションで中身を確認するくせがついたけど、毎回それをしている意味があるのかなって若干思っている..   ZIP is zipが解けない...

akictf #10 easy_crackme

問題

https://ctf.katsudon.org/problem/10

 

考えたこと

bin問題なので、まあバイナリ解析だろうという予想は簡単につくが一応fileコマンドで確認すると、予想通りそれだった。実行権限xがなかったので、それを追加してあげて適当に動かしたら、Usage: ./q10 flag って言われたので、コマンドライン引数がいるらしい。まあ適当にflagとか与えたらさすがに動かなかったので、objdumpしてあげた。すると、 call 8048358 <strcmp@plt>という記述がったので、何と何を比較しているか調べてあげれば良い。そこで、ltraceで適当な引数を与えてあげて様子をみた。すると、何と比較しているかはわかったので、それをそのままいれたらうまくいかなくて???ってなった。ちょっと考えたけどマルチバイト文字じゃねと気付いたので、エンコードしてあげたら、correctとでたがそれ以外何も出なくてえ?ってなった。またちょっと悩んだけど、loopでもx-flagそのままぶちこんだら通ったしそのままぶち込んだらいいのかなと思ってぶち込んだら通った。

 

おまけというかつい

バイナリ解析を実は全然やったことがなかったので、頑張ってアセンブラを調べながらやっていたけど、バイナリ解析の入門資料みたいなのは少ないなあと思った。今回はハリネズミ本に少しお世話になった。

 

 

 

 

akictf #12 ASCII Art

問題

https://ctf.katsudon.org/problem/12

 

考えたこと

akictfの作者であるaliym氏がPerl使いであることと、自分がたまたま知っていたperlのモジュールでText::AAlibっていうのがあるので、まあそれかなと思って投げつけたら、なんかちょこっとエラーでたけど答えは見れた。

 

おまけというかついで

ksnctfの25番でreservedという問題があるけど、それはPerl予約語が並べられていて、それだけで動くのではえ〜って感じだった。他の言語でもそういうのあるのかな..