1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

picoCTF Writeup: Trivial Flag Transfer Protocol

Last updated at Posted at 2025-12-16

picoCTF Writeup: Trivial Flag Transfer Protocol

この問題はpcap解析問題と見せかけたステガノグラフィ問題です。

  • ジャンル: Forensics
  • 難易度: Medium

Writeup

問題文

Figure out how they moved the flag.
彼らがflagをどうやって送ったかわかるかな?

まず、pcapファイルをダウンロードします。

$ curl -O https://mercury.picoctf.net/static/ed308d382ae6bcc37a5ebc701a1cc4f4/tftp.pcapng 

wiresharkでpcapファイルを開いて一通り見ます。

picoで文字列検索してもヒットしません。
うーん、どうしましょうか。

tftpで何のファイルを転送してたのでしょうか。
ファイルをpcapから取り出してみようと思います。

wiresharkからでも、tshark(whiresharkのCLI版)もできるようです。

今回はtsharkでオブジェクトを取り出します。

$ tshark -q -r tftp.pcapng --export-objects tftp,./extracted
$ ls                            
extracted  tftp.pcapng
$ ls extracted 
instructions.txt  picture1.bmp  picture2.bmp  picture3.bmp  plan  program.deb

いくつかファイルが出てきましたね。
まずは、instructions.txtを見てみます。

$ cd extracted 
$ cat instructions.txt                            
GSGCQBRFAGRAPELCGBHEGENSSVPFBJRZHFGQVFTHVFRBHESYNTGENAFSRE.SVTHERBHGNJNLGBUVQRGURSYNTNAQVJVYYPURPXONPXSBEGURCYNA

んー、なんじゃこりや?

すべて大文字英字で、記号や数字が含まれていないので、
ROT13かもしれない。

$ cat instructions.txt| tr 'A-Za-z' 'N-ZA-Mn-za-m'
TFTPDOESNTENCRYPTOURTRAFFICSOWEMUSTDISGUISEOURFLAGTRANSFER.FIGUREOUTAWAYTOHIDETHEFLAGANDIWILLCHECKBACKFORTHEPLAN

おー、英語になってますね。

TFTP DOESNT ENCRYPT OUR TRAFFIC SO WE MUST DISGUISE OUR FLAG TRANSFER. FIGURE OUT A WAY TO HIDE THE FLAG AND I WILL CHECK BACK FOR THE PLAN
TFTPは我々の通信トラフィックを暗号化しないから、我々はflag転送を偽装しないといけない。flagを隠す方法を見つけて、あとで計画を確認します。

ちょっと最後の文章の意味がよくわかりませんが、flagを隠す方法は計画=planに書いてあるんでしょうね。

planの方も見てみましょう。

$ cat plan                                        
VHFRQGURCEBTENZNAQUVQVGJVGU-QHRQVYVTRAPR.PURPXBHGGURCUBGBF

これもROT13ぽいです。

$ cat plan | tr 'A-Za-z' 'N-ZA-Mn-za-m'
IUSEDTHEPROGRAMANDHIDITWITH-DUEDILIGENCE.CHECKOUTTHEPHOTOS
I USED THE PROGRAM AND HID IT WITH-DUEDILIGENCE.CHECK OUT THE PHOTOS
プログラムを使って、DUEDILIGENCEと一緒にflagを隠した。写真を確認してください。

ここまでで、なにかのプログラムを使って写真のpicture1.bmp picture2.bmp picture3.bmpにflagを隠したっぽいことがわかりました。

どんなプログラムをつかったのでしょうか?
program.debこれですね。
展開してみてみます。

$ dpkg -x program.deb ./prog
$ tree prog                                                 
prog
└── usr
    ├── bin
    │   └── steghide
    └── share
        ├── doc
        │   └── steghide
        │       ├── ABOUT-NLS.gz
        │       ├── BUGS
        │       ├── CREDITS
        │       ├── HISTORY
        │       ├── LEAME.gz
        │       ├── README.gz
        │       ├── TODO
        │       ├── changelog.Debian.amd64.gz
        │       ├── changelog.Debian.gz
        │       ├── changelog.gz
        │       └── copyright
        ├── locale
        │   ├── de
        │   │   └── LC_MESSAGES
        │   │       └── steghide.mo
        │   ├── es
        │   │   └── LC_MESSAGES
        │   │       └── steghide.mo
        │   ├── fr
        │   │   └── LC_MESSAGES
        │   │       └── steghide.mo
        │   └── ro
        │       └── LC_MESSAGES
        │           └── steghide.mo
        └── man
            └── man1
                └── steghide.1.gz

17 directories, 17 files

steghideというプログラムを使ってflagを画像に埋め込んだということですね。

それではsteghideを使ってflagを取り出してみます。

steghideではflag埋め込み時に利用したパスワードが必要になります。
改めてplanを見てみると

I USED THE PROGRAM AND HID IT WITH-DUEDILIGENCE.CHECK OUT THE PHOTOS

DUEDILIGENCEで隠したと書いてありました。

ちょっと自信ないですが、パスワードはDUEDILIGENCEであろうという予想で進めます。

$ steghide extract -sf picture1.bmp -p "DUEDILIGENCE" 

steghide: could not extract any data with that passphrase!

picture1.bmpはダメ

$ steghide extract -sf picture2.bmp -p "DUEDILIGENCE"

steghide: could not extract any data with that passphrase!

picture2.bmpもダメ

$ steghide extract -sf picture3.bmp -p "DUEDILIGENCE"

wrote extracted data to "flag.txt".

picture3.bmpflag.txtありました。

$ cat flag.txt                        
picoCTF{h1dd3n_1n_pLa1n_51GHT_XXXXXXXX}

flagとれました。(flagはマスクしています。)

まとめ

今回は色々出てきましたね。
tsharkでobject export, ROT13, steghideと。
他にもbmpファイルが出てきたのでLSBを疑ってzstegも試しましたが、今回ははまらなかったですね。
画像ファイルに対して攻め口の引き出しが増えると面白いですね。
その内、攻めパターンを整理したいと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?