きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

タグ「OpenOCD」が付けられているもの


SECCON CTF 2016 online 予選のWrite-upをまとめました

  • 投稿日:
  • by
  • Category:

SECCON CTF 2016 オンライン予選に参加しました。
前回同様一人チームでのんびり取り組みましたが、今回は前回までとは違って難易度がかなり高くなったと感じました。誰でも解ける練習用問題もありませんでしたし・・・。
結局解いた問題は2つだけです。合計で200点獲得できました。

  • Vigenere (Crypto) 100点 777人が回答済
  • VoIP (Forensics) 100点 733人が回答済

忘れないうちにWrite-upを書いておきました。

Vigenere (Crypto) 100点

Vigenereとはヴィジュネル暗号のことで、暗号表と鍵を組み合わせて使う暗号のようです。
このような古典的な暗号の場合は、解読ツールがいろいろあるので探してみましたが、今回のSECCON問題ではフラグに含まれる{}が暗号表に含まれているのでそのままでは使えませんでした。

ただ問題の中に鍵の長さは12文字であること、途中まで平文と暗号文が対応していたので、その部分と暗号表を照らし合わせて鍵の頭の文字はVIGENERであることがわかりました。あと5文字の鍵を見つけなければなりません。この場合はプログラムを書いて総当たりでキーを作って試していくしかありません。フラグのMD5ハッシュ値がありますので、作成した平文をこのハッシュ値と付き合わせればいいでしょう。

結局慣れているCでプログラムを書きました。急いで作ったので汚いプログラムですが、ソースファイルはgithubに入れておきました。コンパイルはcc v.c -lcryptoで行なってください。

このプログラムを動かして、無事フラグを取ることができました。

seccon_ctf_vigener.png

VoIP (Forensics) 100点

これはpcapが添付されていましたので、WireSharkで読み込みました。VoIPなのでツールバーの「VoIP通話」を選ぶと、ストリームを再生することができました。

ctf_voip.png

聞き取りにくい声ですが、フラグを教えてくれているようです。SECCON{9001???}と聞き取れたのですが、数字の後の3文字がなかなか聞き取れません。これかなと思ったアルファベットを組み合わせて入力しても回答が一致しません。この手の問題であればランダムな英字3文字をフラグにするというのは無いように思います。意味のある英字3文字・・・あ、そういえばこの音声って自動音声応答装置だよなぁ・・「IVR」だ! ということで無事フラグが取れました。こういう発想もSECCONには必要なんですよね。

総評

今回が4回目のSECCON CTFですが、合計200点ということで残念な結果となりました。
他の問題も手をつけてみたもののなかなか先にすすめず、やはりチームでないと厳しいですね。
まあ、SECCONは国際大会なのでレベルが高くなるのはやむを得ませんが・・。
他の参加者の皆様のWrite-Upを参考にして次回に備えたいと思います。
運営の皆様もお疲れさまでした。

SECCON CTF 2015 online 予選のWrite-upをまとめました

  • 投稿日:
  • by
  • Category:

SECCON CTF 2015 オンライン予選に参加しました。

解いた問題は以下の7つの問題です。合計で600点獲得できました。

  • Start SECCON CTF (Exercises) 50点
  • Unzip the file (Crypto) 100点
  • Connect the server (Web/Network) 100点
  • Command-Line Quiz (Unknown) 100点
  • Entry form (Web/Network) 100点
  • Steganography 1 (Stegano) 100点
  • Last Challenge (Thank you for playing) (Exercises) 50点

忘れないうちにWrite-upを書いておきました。

SECCON CTF 2014 online 予選のWrite-upをまとめました

  • 投稿日:
  • by
  • Category:

前回CTF予選に初参加しましたが、面白かったので今回のCTF予選にも参加してみました。

解いた問題は以下の7つの100点問題です。合計で700点獲得できました。

  • Welcome to SECCON(Start)
  • Easy Cipher(Crypto)
  • Shuffle(Binary)
  • Reverse it(Binary)
  • Get the key.txt(Forensics)
  • Choose the number(Programming)
  • Get the key(Network)

あと、200点問題にもチャレンジしてみましたが、こちらは途中で時間切れとなってしまいました。

さて、今回もCTF初心者ならではの100点問題ばかりのWrite-upを書いてみました。

SECCON 2014 CTFに初めて参加しました

  • 投稿日:
  • by
  • Category:

先日、CTF for Beginnersに参加しましたので、初めてCTF予選にも参加してみました。

解いた問題は以下の6つです。合計で600点獲得できました。

  • 練習問題(100点)
  • このパケットを解析せよ(100点)
  • decode me(100点)
  • 箱庭SQLiチャレンジ(100点)
  • 重ねてみよう(100点)
  • 879,394bytes(100点)

CTF初心者ですが、Write-upを書いてみました。

OpenOCDとJTAGにはまる

  • 投稿日:
  • by
  • Category:

最近書き込みが少なくなっていますが、これはOpenOCDとJTAGにかなりハマっているためです。
JTAG I/Fは秋月のFT2232D基板を使って作ることができました。
ターゲットとしてインターフェース誌2009年5月号の付録ARM LPC2388基板をつなげたところ問題なく動きました。

LPC2388_JTAG.jpg

ここでは動作中の画面はありませんが、reset halt, resume, reg, stepといったOpenOCDのコマンドを使ってARM基板を制御することができました。
stepでステップ実行をすると、pcがカウントアップされ、レジスタの中身も変わります。ここまでは正常に動いているようです。

次にHP20bをつなげたのですが、

HP20b_JTAG.jpg

どうしてもうまく通信できません。
かなり試行錯誤しています。同じARM7のLPC2388ではあっさりつながり、HP20bではつながらないので悩み中。
詳細な手順とかもまだまとまっていないので、まとまったらアップします。
HP20bのCPUはAT91SAM7L128なのですが、このCPUをJTAGで制御できたという情報があったらぜひコメントをください。

警告とメッセージ