BLE CTF WriteUp

※ 移行前の元ブログ記事 : BLE CTF WriteUp - #include <sys_socket.h> はじめに 昨年2018年のDEF CON 26 WIRELESS VILLAGEで発表された@hackgnar氏のBLE CTFをやってみるという話。 hackgnar - Learning Bluetooth Hackery with BLE CTF http://www.hackgnar.com/2018/06/learning-bluetooth-hackery-with-ble-ctf.html ble_ctf_ A Bluetooth low energy capture the flag : https://github.com/hackgnar/ble_ctf READMEに書かれているように、このCTFを実施するには、手元のコンピュータだけでなくESP32-DevkitとBluetoothドングルが必要になる。 私の今回の環境は以下 ESP32-DevkitC V4 エレコムのよく分からんBluetooth USBアダプタ ESP32ビルド環境 macOS Mojave version 10.14.3 端末(ThinkPad X220) Kali Linux 環境構築 ESP32-DevKitC V4を使う。aliexpressとかだと$7前後で購入出来る。安い。 国内だと秋月やマルツなどで売ってる。 ESP32-DevKitC ESP-WROOM-32開発ボード http://akizukidenshi.com/catalog/g/gM-11819/ Wi-Fi+BLE無線モジュールESP-WROOM-32搭載開発ボード【ESP32-DEVKITC】 https://www.marutsu.co.jp/pc/i/952928/ ESP32の環境構築 [ESP-IDF] ESP32のビルド環境を整える(macOS Mojave version 10.14.3) Arudino IDEでも開発環境として使えるようだが、今回はBLE CTFのREADMEにESP-IDFのBluetoothのサンプルプログラムと同様にと書いてあった為、EPS32の公式開発フレームワークであるESP-IDFを使用する。 Espressif IoT Development Framework : https://github....

February 21, 2019 · 7 min

SECCON 2018 Online CTF Forensics問題 Write-up

※ 移行前の元ブログ記事 : SECCON 2018 Online CTF Forensics問題 Write-up - #include <sys_socket.h> はじめに SECCON2018のオンライン大会のForensics問題のWrite-up フォレンジック問題はやるかと腰を上げてやるだけやった UnzipとHistory Unzip 問題文 $ Unzip flag.zip. Write-up ファイル名:unzip.zip_26c0cb5b40e9f78641ae44229cda45529418183fのZIPファイルが落ちてくる. $ file unzip.zip_26c0cb5b40e9f78641ae44229cda45529418183f unzip.zip_26c0cb5b40e9f78641ae44229cda45529418183f: Zip archive data, at least v1.0 to extract 普通にzipファイルなのでunzipする $ unzip -d unzip unzip.zip_26c0cb5b40e9f78641ae44229cda45529418183f Archive: unzip.zip_26c0cb5b40e9f78641ae44229cda45529418183f extracting: unzip/flag.zip inflating: unzip/makefile.sh unzipするとflag.zipとmakefile.shが出てくる flag.zipは暗号化されたZIPファイル $ ls -la .rw-r--r--@ 225 socketo 27 10 0:10 flag.zip .rwx---r-x@ 99 socketo 27 10 0:10 makefile.sh makefile.shの中身を見ると,zipパスワードにperl -e "print time()"で出力されたunixtimeが設定されていることがわかる...

October 28, 2018 · 2 min

CTF for ビギナーズ2015 博多(Attack & Defense)に参加した話

※ 移行前の元ブログ記事 : CTF for ビギナーズ2015 博多(Attack & Defense)に参加した話 - #include <sys_socket.h> 2015-06-07,富士通株式会社 九州支社で開催されたCTF for ビギナーズ2015 博多(Attack & Defense)に参加してきました. CTF for ビギナーズ2015 博多(Attack & Defense): https://attack-and-defense.doorkeeper.jp/events/24249 今回のこのイベントで初めて福岡に行きました.博多の明太子や博多ラーメン,もつ鍋がとても美味しかったのでサイコーという感じ. 競技 今回のCTFは名前の通り,Attack&Defenseということで私が今までやってきたjeopardy型ではなく,本当にサーバーを介しての攻防戦だった. 各チーム与えられたサーバ上で稼働しているシステムを保守しながら,相手チームに攻撃するとのこと. 与えられるサーバの環境は全チーム同じ環境で,まずは自分の持っているサーバの脆弱性を探りその脆弱性を直しながら,他のチームが修正する前にそこを叩く.という感じでした. 競技のルールとしては,AttackポイントとDefenseポイントの合計で決定する. Defenseポイントは,与えられたサーバへの定期的なヘルスチェックのスキャンでサーバ上で稼働しているシステムが稼働しているかのSLAに応じた得点. Attackポイントは,今回与えられたサービスがネットショッピングのwebサイトだったため,敵のサーバで稼働しているサービスであるネットショッピングの顧客データの擬似個人情報ををスコアサーバに送信すると得点が得られる. みたいな感じだった. はじめ2時間ほどは大抵のチームがSLAを保ちDefenseポイントが入り続けて順位は横ばい状態だった.後半になると,あるチームが攻撃に成功し,徐々に他のチームも得点していった. ちなみに今回私は@Ranats_rifleとIchigoMilkなる可愛らしいチーム名で参加した. (競技終了後にTAKESAKOさんに「女の子が来るかと思ったこのチーム名」と言われた) 結果 結果としては結論から言うと9位だった. CTF for ビギナーズ2015 博多(Attack & Defense) 終了しました。参加された方はお疲れ様でした。今回の優勝はPh//shh/binです。 #seccon #ctf4b #a_and_d pic.twitter.com/JFiED8niDe — SECCON CTF (@secconctf) 2015, 6月 7 一回攻め込まれてそのままズルズルとやってたら終了してた. @Ranats_rifleに攻撃の方を任せっぱなしで自分はサーバの状態を眺めていたりしたけど,なんともAttackポイントを得られなかった. つらい.@Ranats_rifleの攻撃がわりといいところまで行っていたそうで,完全にまたもや自分は眺めていただけで終了した.つらい. 攻防戦が初めてだとはいえ,ここまで手足が出せない状態なのは非常にキツかったが,あまりできない体験はできた. 攻防戦型の大会は次にSECCONの九州大会で開催するそうなのでそれまでにマッチョになってリベンジしたいと思う. おまけ 本場の博多ラーメン美味しかった.(一緒に行った@Ranats_rifleが替え玉合わせて4玉食べててすごかった

June 13, 2015 · 1 min

TDU CTF 2014 Satellite in ConoHaに参加した話

※ 移行前の元ブログ記事 : TDU CTF 2014 Satellite in ConoHaに参加した話 - #include <sys_socket.h> 2015-03-29、TDU CTFに参加してきました。 TDU CTF 2014 Satellite in ConoHa (2015/03/29 12:00〜) : http://connpass.com/event/11986/ CTF for Beginnersでの簡易CTF以外ではCTF初参加なのでビクビクしながら行きました。 本当の初心者だった自分は結局620pt取れました。 懇親会でどのようにして問題を解いたかなどを参加者の方々と話していくなかで、自分が手も足も出なかった問題に対してのアプローチの仕方などを知ることがとても楽しいものでした。 自分が解けた問題は少ないですがWriteupとか感想を。 Web Easy SQLi とりあえず ' OR 1 = 1 -- をしてみたけどダメで色々と試してたらダブルコーテーションなら何か反応があり、 " OR 1 = 1 -- を突っ込んだらフラグが出た。複数フラグがあったようでしたがそれ以上進むことが出来ずに断念。 binary string_compare 実行ファイルstring_compare.exeをとりあえずstringsしたらMinamiKotoriとかTDU{%s_is_very_cutie}といったフラグのフォーマットっぽいのが出てきたけど、IDAに食わせた。 多分TDU{%s_is_very_cutie}の%s部分にMinamiKotoriを入れれば良さそうな感じだったのでTDU{MinamiKotori_is_very_cutie}をsubmit 競技終了後に中身をちゃんと見てみたら、入力をとって「MinamiKotori」だったらFlagを出して、それ以外だったら「INVALID KEY」が返されるとのこと。 とりあえず私はラブライブ!では穂乃果ちゃんが好きなのでKosakaHonokaと入力するだけしておく。 KosakaHonokaではINVALID KEY Trip Picture 20150223_Kyoto.jpg(ことりちゃん率の高いラバスト画像)が与えられたのでとりあえずstringsコマンドしたらFlagっぽいのが出たのでsubmitした 読めない文字1 文末に"==“がつく文字列が与えられていたので、とりあえずBase64でデコード。そしたらまた文末に”==“がついた文字列が出てきたのでもう一回デコードしたらFlagが出た。 network 柚子胡椒 Vol.1 Bluetoothの通信をキャプチャしたっぽいpcapが与えられたのでWiresharkで開いて内容を見てたらFlagがあったのでそれをsubmitした crypt 我が同胞に告ぐ 文字列"avia hhlam li as li ii llaem xiwe hhiso lllasom"が与えられ、最初はシーザー暗号かと思いPythonで一文字ずつズラして表示したりしたけどそれっぽいものにはならくて諦めかけていたが、問題の作成者のnomukenさんが「この問題は宗教的な戦争が~…」との発言をしていたので、Vim/Emacsの宗教戦争かとのことでVimを起動してその文字列をスペースがあたる部分をEscで入力すると...

March 31, 2015 · 1 min