picoCTF Writeups - General Skills

2022/01/10

picoCTFの過去問を解くためのサービスであるpycoGymにある問題のWriteupsを記録する
ここではGeneral Skillsにカテゴライズされる問題を扱う

Obedient Cat

ダウンロードしたファイルに平文でフラグが書かれている

Python Wrangling

問題で指定されているPython2スクリプト, 平文パスワードが書かれたファイル, 暗号化ファイルをダウンロードする
スクリプトを実行すると Usage: ende.py (-e/-d) [file] とあり、更にスクリプトの中身を見ると[file]の直後にパスワードが指定可能なため python ende.py -d flag.txt.en 68f88f9368f88f9368f88f9368f88f93 を実行してフラグを得られる

Tipsとしては pip install cryptography の実行が必要なのと、pythonのバージョンによっては AttributeError: 'file' object has no attribute 'buffer' とエラーが出るためその場合はプログラムの sys.stdout.buffer.write(data_c)sys.stdout.write(data_c) に書き換える

Wave a flag

渡されたファイルを strings コマンドにかけるとフラグが書いてある

Nice netcat…

netcatの接続先で表示されるのはASCII文字列。変換するとフラグを得る

Static ain’t always noise

与えられたバイナリを strings にかけるとフラグを得る

Tab, Tab, Attack

階層が深いディレクトリの最下層まで移動する。最下層にあるバイナリを strings にかけるとフラグを得る

Magikarp Ground Mission

インスタンスを起動しその中にsshでログインする。サーバ内にフラグの部分文字列が置かれれいるため、同ディレクトリに置かれている案内用テキストファイルの内容を元に全部分文字列を探す

Lets Warm Up

ASCII文字をアルファベットに変換したものがフラグ

Warmed Up

16進数を10進数に変換したものがフラグ

2Warm

10進数を2進数に変換したものがフラグ

what’s a net cat?

指定されたサーバに nc で接続するとフラグを得る

strings it

与えられたバイナリを strings にかけるとフラグを得る

Bases

タイトルと問題文から bDNhcm5fdGgzX3IwcDM1がBase64でエンコードされていることが推測可能。デコードツール等でデコードしたものがフラグ

First Grep

与えられたファイルを pico 等でgrepするとフラグを得る

Based

nc で接続した先で基数変換の問題がいくつか与えられるため、それらを全て英語にして入力する。制限時間があるため変換ツールを自作もしくはネット上で見つけるとよい

plumbing

提示されたサーバに接続すると文字列が大量に出力されるため、grepで pico 等で絞り込むとフラグを得る

mus1c

歌詞が与えられる。眺めていると PutShout がプログラミング言語っぽく見えるためそれをヒントに調べるとRockstarという言語が存在することが分かる。Rockstarのオンライン実行ツールに与えられた歌詞をかけるとASCII文字が与えられる。それを英語に変換したものがフラグ