LoginSignup
0
0

More than 1 year has passed since last update.

taskctf22 writeup(編集中)

Last updated at Posted at 2022-12-06

task4233さん主催のお誕生日CTFであるtaskctfに参加しました。
いざやろうと思ったらパスワードも登録したメアドも思い出せず、結局新しく登録しなおすという情報管理能力の甘さを思い知らされるスタートとなりましたが、なんだかんだ楽しかったです。
メモしながら解いていったので、writeupと呼ぶにはお粗末なものですがひとまずその状態で公開します。
追々綺麗にしていくのでお許しください。
(UECTFのほうも忘れてないですよ)

また、今回は主催者自らwriteupを公開してくださっています。単純なwriteupだけでなく、作問意図も含めて公開してくださっているのは珍しいなと感じました。CTF初心者の私にとっては用語を知るきっかけにもなったのでありがたかったですね。

環境

  • Ubuntu 22.04.1 LTS
  • Python 3.8.10

1 : welcome

1-1 : welcome

2019のwriteup探してくるだけ

2 : misc

2-1 : ransomware

シェルスクリプト、わけわからん文が冒頭にあってそれをbase64で復号してパイプ渡しでpython実行してるっぽいのでとりあえず先頭のわけわからん部分だけ復号してみる
ビンゴ。pythonのコードになった。
encrypted += chr(ord(ch) ^ key)
この逆をやればええんやな
keyがほしいのでc2サーバーのURLにアクセスしてみる
できねえ
a^bはaとbの排他的論理和
先頭はtaskctfのtなのでord("t")=116であることを使ってkeyの逆算を試みる
とりあえず2進数にする
おそらくkeyは17772
でもってencryptに対してkeyで排他的論理和のビット演算かければ戻るはず
あってた

decrypt.py
with open("./taskctf_flag.txt.encrypted") as f:
    encrypted=list(f.readline())

encrypted_ord=[ord(c_enc) for c_enc in encrypted]

decrypt="".join([chr(i ^ 17772) for i in encrypted_ord]).replace("\n","")

print("decrypt:",decrypt)

3 : osint

3-1 : ramen

ラーメンの画像。場所探せとのこと。美味しそう。
exiftool確認したけどない。位置情報入ってるパターンかと思ったんだけどな。
gogleで画像検索かける

4 : web

5 : tutorial

5-1 : submit_flag

コピペして出すだけ

5-2 : just_googlr_it

base64で暗号化されたtxtファイルくるからコマンドで復号

参考サイト

base64 コマンド | コマンドの使い方(Linux) | hydroculのメモ
【Linux】base64コマンドで暗号化と複合化を行う

try_python

txtファイルに書かれた数字の総和を求める
pythonでそれ用のコード書く

sum.py
#memo---------
#txtファイルの数字を読み込んで総和求める
#-------------------
#nums_int=[]#txtファイルから数字を読んで格納するリスト

with open("./numbers.txt") as f:
    data=f.readlines()
    nums=data[0].split()#配列内でデータを区切る
    nums2=data[0].split(" ")#こっちでやると長さが500になって末尾に空白入る
    nums_int=[int(num) for num in nums]
    print("sum:",sum(nums_int))

参考サイト

Pythonでファイルの読み込み、書き込み(作成・追記)| note.nkmk.me
Pythonでテキストファイルの数値を読み込む - なるぽのブログ

0
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
0
0