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

Operation OrchidのWriteup

Last updated at Posted at 2024-07-16

Sleuth Kitのコマンドを使って問題文にあるディスクイメージからフラグを探していく。

手始めにmmlsコマンドでパーティションテーブルをダンプする。

$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   0000411647   0000204800   Linux Swap / Solaris x86 (0x82)
004:  000:002   0000411648   0000819199   0000407552   Linux (0x83)

4つ目のパーティションが最も容量の大きいメインのパーティションぽいのでここを掘っていく。

$fls -o 411648 disk.flag.img 

d/d 460:        home
d/d 11: lost+found
d/d 12: boot
d/d 13: etc
d/d 81: proc
d/d 82: dev
d/d 83: tmp
d/d 84: lib
d/d 87: var
d/d 96: usr
d/d 106:        bin
d/d 120:        sbin
d/d 466:        media
d/d 470:        mnt
d/d 471:        opt
d/d 472:        root
d/d 473:        run
d/d 475:        srv
d/d 476:        sys
d/d 2041:       swap
V/V 51001:      $OrphanFiles

順番にflsで見ていくとrootにそれっぽいファイルが見つかる

$fls -o 411648 disk.flag.img 472

r/r 1875:       .ash_history
r/r * 1876(realloc):    flag.txt
r/r 1782:       flag.txt.enc

flag.txtとflag.txt.encという明らかにフラグを持ってそうなファイルがあるので
それぞれicatで覗いてみる

$icat -o 411648 disk.flag.img 1876

           -0.881573            34.311733
$icat -o 411648 disk.flag.img 1782

Salted__0!-6V0Ul&:pj_10|h
                         Ȥ7 ؎$'%

flag.txtは何か処理されて数字になってしまっている
flag.txt.encはファイル名からも中身の文字列からもSaltされてエンコードされている

flag.txt.encをデコードすればよさそうなので、手掛かりを探す。
同じフォルダに.ash_historyがあるbashの履歴はbash_historyファイルに保存されるので
おそらく.ash_historyにもシェルのコマンド履歴がありそうな予感がする。

icatで覗いてみる。

$ icat -o 411648 disk.flag.img 1875   

touch flag.txt
nano flag.txt 
apk get nano
apk --help
apk add nano
nano flag.txt 
openssl
openssl aes256 -salt -in flag.txt -out flag.txt.enc -k unbreakablepassword1234567
shred -u flag.txt
ls -al
halt

opensslでflag.txtをエンコードした結果をflag.txt.encに保存しているので
同じキーを使ってopensslでデコードしてやればよさそう。
flag.txt.encの中身を別途ファイルに書き出してopensslのコマンドをたたいてデコードすると
WARNINGの後にフラグ文字列が現れる

$openssl aes256 -d -in flag.txt.enc -k unbreakablepassword1234567
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?