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?

More than 1 year has passed since last update.

Write Up picoCTF - picoGym Challenges

Last updated at Posted at 2023-08-12

picoCTF - picoGym ChallengesのWrite Upを綴っていきます。
主に備忘録として自分用になりますが、逐次問題が解けたら更新していきます。

Forensic

Disk, disk, sleuth! II (130 Points)

「dds2-alpine.flag.img.gz」というファイルが与えられるので、解凍します。

$ gzip -d dds2-alpine.flag.img.gz
$ ls
  dds2-alpine.flag.img

Seulthkitを使って中身を見てみます。

$ mmls dds2-alpine.flag.img

DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Primary Table (#0)
001:  -------   0000000000   0000002047   0000002048   Unallocated
002:  000:000   0000002048   0000262143   0000260096   Linux (0x83)
$ fls -r -o 2048 dds2-alpine.flag.img | grep down-at-the-bottom.txt
+ r/r 18291:	down-at-the-bottom.txt
$ icat -o 2048 dds2-alpine.flag.img 18291

flag.png


Pitter, Patter, Platters (200 Points)

「suspicious.dd.sda1」というファイルが与えられます。
とりあえずFTK imagerで開くと、

s.png

フラグっぽいのがありました。

ダウンロードしてvimで開くと、フラグの文字列以外にゴミがあるので除去します。

suspicious-file.txt.FileSlack
$ vim suspicious-file.txt.FileSlack
:%s/^@//g
:wq flag.txt
※ ^@は、<Ctrl + 2

あとは、逆順になるように出力するだけ。

suspicious-file.txt.FileSlack
$ cat flag.txt | rev

Sleuthkit Apprentice (200 Points)

とりあえず解凍

$ gzip -d disk.flag.img.gz
disk.flag.img
$ mmls disk.flag.img
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Primary Table (#0)
001:  -------   0000000000   0000002047   0000002048   Unallocated
002:  000:000   0000002048   0000206847   0000204800   Linux (0x83)
003:  000:001   0000206848   0000360447   0000153600   Linux Swap / Solaris x86 (0x82)
004:  000:002   0000360448   0000614399   0000253952   Linux (0x83)
$ fls -r -o 2048 disk.flag.img
d/d 11:	lost+found
r/r 12:	ldlinux.sys
r/r 13:	ldlinux.c32
r/r 15:	config-virt
r/r 16:	vmlinuz-virt
r/r 17:	initramfs-virt
l/l 18:	boot
r/r 20:	libutil.c32
r/r 19:	extlinux.conf
r/r 21:	libcom32.c32
r/r 22:	mboot.c32
r/r 23:	menu.c32
r/r 14:	System.map-virt
r/r 24:	vesamenu.c32
V/V 25585:	$OrphanFiles

それっぽいのはなさそう

$ fls -r -o 360448 disk.flag.img | grep flag
++ r/r * 2082(realloc):	flag.txt
++ r/r 2371:	flag.uni.txt

ビンゴ

$ icat -o 360448 disk.flag.img 2371
picoCTF{by73_5urf3r_adac6cb4}

like1000 (250 Points)

「1000.tar」というファイルがあたえられます。
とりあえずダウンロードして解凍してみます。

$ tar -xf 1000.tar
$ ls
  1000.tar 999.tar filler.txt
$ cat filler.txt
  alkfdslkjf;lkjfdsa;lkjfdsa

tarのオプションかな?わからないのでとりあえずパス。

さらに解凍したら、「998.tar」が生成されたので、1までやるやつか...

1つずつやるのはしんどいので、

tar.py
import os
import subprocess

for i in reversed(range(1001)):
    filename = str(i) + '.tar'

    if (os.path.exists(filename)):
        print(filename)
        subprocess.run(['tar', '-xf', filename])
        subprocess.run(['rm', filename])

1つのファイルの容量が約9Mなので、解凍後削除してます。

$ python tar.py

$ ls
  filler.txt flag.png tar.py

$ open flag.png
flag.png
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?