この大会は2022/11/17 12:00(JST)~2022/11/24 12:00(JST)に開催されました。
今回は個人で参戦。結果は535点で390チーム中17位でした。
解けた問題をWriteupとして書いておきます。
Laws of Aviation (scripting 10)
script1.txtとscript2.txtのdiffを取る。
$ diff script1.txt script2.txt 2908c2908 < A lot of ads. --- > A lot of adsf. 3211c3211 < and then ecstasy! --- > and then ecstasyl! 3257c3257 < Right. Bees don't smoke. --- > Right. Bees don't smoake. 3333c3333 < But you can't! We have a terrific case. --- > Butg you can't! We have a terrific case. 3432c3432 < Barry, how much honey is out there? --- > Barry, {how much honey is out there? 3517c3517 < Mr. Buzzwell, we just passed three cups, --- > Mr. Buzzhwell, we just passed three cups, 3646c3646 < It's notjust flowers. --- > It's nootjust flowers. 3697c3697 < Where are you going? --- > Where are you goning? 3884c3884 < there's no stopping us. --- > there's no stopeping us. 4119c4119 < - Get this on the air! --- > - Get this on ythe air! 4323c4323 < Land on that flower! --- > Land on that fl}ower!
script2.txtで余計に書いてある文字を並べる。
flag{honey}
Very Basic (crypto 10)
dataファイルの末尾に以下のデータがある。
011 11100 010010 01 0011100 1111 0000 000 100000 10 01001 0000 0010 00000 01100010 00100010 10001001 100100
2進数のモールス信号のデコード、base64テーブルの置換はダメだった。最終的にはBacon's cipherで復号できた。復号ツールはhttps://www.dcode.fr/bacon-cipherを使った。
Bacon ciphertext 011111000100100100111001111000000010000010010010000001000000011000100010001010001001100100 Result A=0,B=1 (αβ2) PRETTYBASICAMIRITE A=0,B=1 (αβ1) QSEUU?BATICANISIUE A=1,B=0 (αβ1) RP?NNH??OZ??UZPZN? A=1,B=0 (αβ2) QO?MMH??NX??TXOXM?
flag{prettybasicamirite}
When It All Began (osint 10)
ACM Cyberのウェブサイトのドメイン"acmcyber.com"が作成された日を"flag{YYYY-MM-DD}"の形式でで答える。
$ whois acmcyber.com Domain Name: ACMCYBER.COM Registry Domain ID: 2438728089_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.registrar.amazon.com Registrar URL: http://registrar.amazon.com Updated Date: 2022-08-26T21:28:21Z Creation Date: 2019-09-29T23:58:03Z Registry Expiry Date: 2023-09-29T23:58:03Z Registrar: Amazon Registrar, Inc. Registrar IANA ID: 468 Registrar Abuse Contact Email: abuse@amazonaws.com Registrar Abuse Contact Phone: +1.2067406200 Domain Status: ok https://icann.org/epp#ok Name Server: NS-1366.AWSDNS-42.ORG Name Server: NS-1574.AWSDNS-04.CO.UK Name Server: NS-310.AWSDNS-38.COM Name Server: NS-961.AWSDNS-56.NET DNSSEC: unsigned URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/ : :
flag{2019-09-29}
Back in My Day (osint 15)
uclaacm.comがホストされた最初のIPアドレスを"flag{}"の中に入れて答える。
https://viewdns.info/iphistory/で履歴を調べると、一番古いIPアドレスは 192.64.119.64 となっている。
flag{192.64.119.64}
Beanstalking (osint 15)
Lima Bean はライス大学の4年生。以前は Super Secure Systems のプロジェクトマネージャーとして働いていたが、最近 Brick に就職したという情報から、彼の現在の役職を答える問題。
ただ、開催期間中に情報が消えてしまったようで、どのように解くかをDiscordで問題作成者に伝えれば、フラグを教えてもらえるということで、Linkedinで姓名や勤務先から調べる方法を伝えたら、フラグを教えてもらえた。
flag{fr0m_beans_t0_bricks}
Day and Night (steg 15)
問題文からoutguessで秘匿情報を抽出する。パスワードも問題文に書かれている大文字の文字列と推測。
$ outguess -k BLACKANDWHITE -r los_angeles.jpg secret.png Reading los_angeles.jpg.... Extracting usable bits: 129121 bits Steg retrieve: seed: 4994, len: 1795 $ file secret.png secret.png: PNG image data, 300 x 300, 8-bit/color RGBA, non-interlaced
secret.pngにはQRコードが書かれているので、https://zxing.org/w/decode.jspxでデコードする。
flag{pandas_zebras_and_orcas}
get a grep (file 15)
$ strings bigfile.txt | grep flag{ flag{incompelete flag{wrong parenthese) flag{grep_mastermind} flag{aklsdgjnakjehgl;ewjhg;lwejahg;lasdjg;klasdjg;ljwnglj;q342ngl;jwdang;vlnasdg;
flag{grep_mastermind}
Missing Person (file 15)
$ binwalk stuff.zip DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 Zip archive data, at least v2.0 to extract, compressed size: 160689, uncompressed size: 160664, name: whygod.jpg 160729 0x273D9 Zip archive data, at least v2.0 to extract, compressed size: 131231, uncompressed size: 131862, name: banana.jpg 292000 0x474A0 Zip archive data, at least v2.0 to extract, compressed size: 729180, uncompressed size: 729476, name: stash2.jpg 1021496 0xF9638 End of Zip archive, footer length: 22 1021518 0xF964E JPEG image data, EXIF standard 1021530 0xF965A TIFF image data, big-endian, offset of first image directory: 8 1022232 0xF9918 Copyright string: "Copyright (c) 1998 Hewlett-Packard Company" 1032776 0xFC248 Copyright string: "Copyright (c) 1998 Hewlett-Packard Company" $ foremost stuff.zip Processing: stuff.zip |foundat=whygod.jpg ��!X�Np=��]�{Є������3�f��4�O�����]����c�c�./#'�� foundat=stash2.jpg *|
jpgが抽出され、そこにフラグが書かれていた。
flag{sm00th_op3rator}
Moanin (steg 15)
Audacityで開き、「ステレオからモノラルに分離」する。その後、「トラック」メニューの「ミックス」から「新しいトラックにミックスして作成」をする。あとは作成したトラックで、スペクトログラムを見る。
単語は1語とのことなので、繰り返しを見越し、推測してフラグにする。
flag{groanin}
Hello There (osint 20)
Discordでhttps://docs.google.com/document/d/1ciVm3LLGCt7n9fwj1zUvYwHTEQTBpAbbfvGkajBi2P0/edit#が展開された。この問題に該当するWriteupにフラグが書いてあった。
flag{th1s_isn't_th3_fl4g_y0u're_l00king_f0r}
No Flags?? (file 20)
$ strings megamind.pdf | grep flag{ %%EOFflag{no_compan1onship}
flag{no_compan1onship}
Senobnesieh (steg 20)
videostegoをインストールし、読み込みを実行する。
$ videostego -f senobnesieh.lmao -r flag{newer_mandela_effect_just_dropped}
flag{newer_mandela_effect_just_dropped}
Tar Pit (scripting 20)
pit.tgzをpit_tmp.tgzにして、繰り返し、解凍する。最後に展開されたfound_the_bottomにフラグが書いてあった。
import tarfile import os while True: try: with tarfile.open('pit_tmp.tgz') as tar: for i in tar.getmembers(): tar.extractall() os.remove('pit_tmp.tgz') os.rename('pit.tgz', 'pit_tmp.tgz') except: break
flag{wow_that's_pretty_deep}
Xordinary Encryption (scripting 20)
hexデコードするだけ。
$ cat flag.txt | xxd -r -p 0n3_1n_256_4r3_gr34t_0dds
flag{0n3_1n_256_4r3_gr34t_0dds}
Hop Skip Jump (scripting 25)
スクリプトを読むと、CLOCKバイトごとにフラグが書かれていることがわかるので、抽出する。このときCLOCKバイトが不明だが、"{"の位置から、4で割ってCLOCKを求める。
#!/usr/bin.env python3 with open('maze.bin', 'rb') as f: data = f.read() CLOCK = data.index(b'{') // 4 flag = '' for i in range(0, len(data), CLOCK): flag += chr(data[i]) print(flag)
flag{never_do_string_manipulation_without_python}
Androids Dream of Sheep (scripting 30)
https://ssalandary.github.io/ScriptingChallenges/robots.txtにアクセスすると、以下のように書かれているので、ブルートフォースでアクセスする。
User-agent: * Disallow: /ScriptingChallenges/hidden/Adelaides.html Disallow: /ScriptingChallenges/hidden/Adele.html Disallow: /ScriptingChallenges/hidden/Adeles.html Disallow: /ScriptingChallenges/hidden/Adeline.html Disallow: /ScriptingChallenges/hidden/Adelines.html Disallow: /ScriptingChallenges/hidden/Aden.html Disallow: /ScriptingChallenges/hidden/Adenauer.html Disallow: /ScriptingChallenges/hidden/Adenauers.html Disallow: /ScriptingChallenges/hidden/Adens.html Disallow: /ScriptingChallenges/hidden/Adhara.html Disallow: /ScriptingChallenges/hidden/Adharas.html Disallow: /ScriptingChallenges/hidden/Adidas.html Disallow: /ScriptingChallenges/hidden/Adidass.html Disallow: /ScriptingChallenges/hidden/Adirondack.html : :
import requests import re url = 'https://ssalandary.github.io' with open('directories.txt', 'r') as f: dirs = f.read().splitlines() for dir in dirs: r = requests.get(url + dir) if 'flag' in str(r.text): print(r.text) break
実行結果は以下の通り。
<!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" href="style.css"> <title>position Muskogee</title> <meta charset="utf-8"> </head> <body> <p>flag{w4ll3_1s_4n_3xc3ll3nt_m0v13}</p> </body> </html>
flag{w4ll3_1s_4n_3xc3ll3nt_m0v13}
Pokemon Adventures (1/3) (osint 30)
Google mapで、UCLAの近くを調べ、添付されているポケモンゴーのマップと似ている箇所を探す。
UCLA Anderson School of Management
flag{anderson_school_of_management}
Pokemon Adventures (2/3) (osint 30)
Google mapで、UCLAの近くを調べ、添付されているポケモンゴーのマップと似ている箇所を探す。
このあたりのお店の名前を答えていくが、以下のフラグは通らなかった。
flag{blaze_pizza} flag{bombshelter_bistro}
最終的にはbombshelterを2語に分けたら、フラグが通った。
flag{bomb_shelter}
Pokemon Adventures (3/3) (osint 30)
Google mapで、UCLAの近くを調べ、添付されているポケモンゴーのマップと似ている箇所を探す。
この建物はUCLA Ackerman Union。
以下のフラグは通らなかった。
flag{ucla_ackerman_union}
最終的には別名で通った。
flag{ackerman_student_union}
Tyler is the one (file 30)
$ binwalk alpha.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 246115 0x3C163 Zip archive data, at least v1.0 to extract, compressed size: 1978455, uncompressed size: 1978455, name: hidden.zip 2224616 0x21F1E8 End of Zip archive, footer length: 22 2224638 0x21F1FE Zip archive data, at least v2.0 to extract, compressed size: 1655251, uncompressed size: 1661078, name: tyler1.png 3880117 0x3B34B5 End of Zip archive, footer length: 22 $ foremost alpha.jpg Processing: alpha.jpg |foundat=hidden.zipUT foundat=tyler1.pngUT *|
抽出されたzipファイルを解凍すると、以下の2つのファイルが展開される。
・hidden.zip ・tyler1.png
zipはパスワードがかかっている。pngにパスワードのヒントがないか確認する。
$ zsteg tyler1.png b1,r,msb,xy .. file: OpenPGP Public Key b1,b,lsb,xy .. file: OpenPGP Secret Key b1,rgb,lsb,xy .. text: "r0fLM@OT1okg00dy3s" b1,abgr,msb,xy .. file: PGP Secret Sub-key - b4,r,lsb,xy .. file: Novell LANalyzer capture file b4,g,lsb,xy .. file: 0420 Alliant virtual executable not stripped b4,b,lsb,xy .. file: Targa image data - Map (256-256) 17 x 273 x 16 +257 +256 - 1-bit alpha "\001"
"r0fLM@OT1okg00dy3s" をパスワードとして、zipを解凍する。
$ unzip hidden.zip Archive: hidden.zip [hidden.zip] secret.png password: inflating: secret.png $ file secret.png secret.png: PNG image data, 1920 x 1080, 8-bit/color RGBA, non-interlaced
secret画像には何も書かれていない。StegSolveで開き、Red plane 0を見たら、フラグが表示された。
flag{th3re$_N0_D3nt}
Where is my Supersuit? (osint 30)
$ binwalk secretsuit.png DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 PNG image, 1080 x 686, 8-bit/color RGB, non-interlaced 41 0x29 Zlib compressed data, best compression 844144 0xCE170 Zip archive data, at least v2.0 to extract, compressed size: 21, uncompressed size: 21, name: nums.txt 844257 0xCE1E1 End of Zip archive, footer length: 22 $ foremost secretsuit.png Processing: secretsuit.png |foundat=nums.txt37.832015,-122.283661PK *|
zipファイルが抽出できるので、解凍すると、nums.txtが展開される。中には以下のように書いてある。
37.832015,-122.283661
これを緯度、経度としてGoogle mapで検索すると、通りの名前がわかる。
flag{1200_park_ave}
Zalgo (steg 30)
いろいろ試したところ、Zalgo文字をUNICODE文字として、16ビットごとに以下のような変換をすると、2行目のprint文と似たような文字列になることがわかった。
・\xccの場合、code - 0xcc80 + 0x20 ・\xcdの場合、code - 0xcd9d + 0x7d
1行のデータだと、差分がわかりにくいので、ピリオド". "で改行して、1行目のZalgo文字部分をmsg0.txt、2行目のprint文をmsg1.txtで保存する。
#!/usr/bin/env python3 import string with open('shrek.py', 'rb') as f: codes = f.read().splitlines() zalgo = codes[0][9:-1] msg0 = codes[1] msg1 = '' for i in range(0, len(zalgo), 2): word = int.from_bytes(zalgo[i:i+2], 'big') if zalgo[i] == 0xcc: code = word - 0xcc80 + 0x20 else: code = word - 0xcd9d + 0x7d msg1 += chr(code) msg_lf0 = msg0.decode().replace('. ', '. \n') msg_lf1 = msg1.replace('. ', '. \n') with open('msg0.txt', 'w') as f: f.write(msg_lf0) with open('msg1.txt', 'w') as f: f.write(msg_lf1)
この2つのデータの差分を見てみる。
$ diff msg0.txt msg1.txt 392c392 < SHREK: What? FARQUAAD: Congratulations, ogre. --- > SHREK: What? flag{accidentally_in_love} FARQUAAD: Congratulations, ogre.
flag{accidentally_in_love}
Camera Roll (file 40)
$ binwalk camera_roll.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, EXIF standard 12 0xC TIFF image data, big-endian, offset of first image directory: 8 98462 0x1809E Zip archive data, at least v2.0 to extract, compressed size: 56239, uncompressed size: 56447, name: amoung.jpg 154741 0x25C75 Zip archive data, at least v2.0 to extract, compressed size: 1450954, uncompressed size: 1451595, name: 4.zip 1605909 0x188115 End of Zip archive, footer length: 22 1605931 0x18812B Zip archive data, at least v2.0 to extract, compressed size: 1478893, uncompressed size: 1490084, name: maz.png 3084861 0x2F123D Zip archive data, at least v2.0 to extract, compressed size: 4173923, uncompressed size: 4180475, name: oscar.jpg 7258823 0x6EC2C7 Zip archive data, at least v2.0 to extract, compressed size: 247955, uncompressed size: 247935, name: 5.zip 7507080 0x728C88 End of Zip archive, footer length: 22 7507102 0x728C9E Zip archive data, at least v2.0 to extract, compressed size: 970918, uncompressed size: 971255, name: fashion.jpg 8478061 0x815D6D Zip archive data, at least v2.0 to extract, compressed size: 160689, uncompressed size: 160664, name: pain.jpg 8638788 0x83D144 Zip archive data, at least v2.0 to extract, compressed size: 87581, uncompressed size: 88276, name: bald.jpg 8726407 0x852787 Zip archive data, at least v2.0 to extract, compressed size: 131231, uncompressed size: 131862, name: banana.jpg 8858043 0x8729BB End of Zip archive, footer length: 22 $ foremost camera_roll.jpg Processing: camera_roll.jpg |foundat=amoung.jpg��g<���1���-���~�=b'i�h�v�Z{��-j��%6m��B��M[�REm�տ���?�����<��8��u���z]�.��XC�!�� foundat=4.zip foundat=maz.pngT�X_�-�^��:( R��tQ�"Uz�tD�7��^C���0B�-@����������$<�L����Z����-���|�Q/�g(Ɂ'�ci��D��������9��*�P�������S�#�닌z_>ɪO�^����r�[NpypT���Cz��=���]�c��Ͻ[�.��_��QE3�$Q+��{�î�����Vܠ�SH���@��W��˯C�AgS>���y�س0��2���W˜N��Կf|�9.�w���]Fұ�E՟���ng]x����̿��˹�S�|�<> foundat=oscar.jpg��uT�]�/�B�R(��m�)\�{q�R�Cq�����w�ࡸ[����q?�}����{�x�;+���}m��=۲�3�co�=m> foundat=5.zip foundat=fashion.jpg��uT\�6 foundat=pain.jpg foundat=bald.jpg��ep\=�.���1fffffff��13�̎�1d�����1�c�1C�7��Ω���:?N��Y��iI���Z�kjj�s�s*�c� ��!X�Np=��]�{Є������3�f��4�O�����]����c�c�./#'�� *|
zipファイルを3つ抽出できる。それぞれ解凍すると、以下のファイルが展開される。
・00000192.zip ・4.zip ・amoung.jpg ・00003136.zip ・5.zip ・maz.png ・oscar.jpg ・00014662.zip ・bald.jpg ・banana.jpg ・fashion.jpg ・pain.jpg
$ binwalk 4.zip DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 Zip archive data, at least v2.0 to extract, compressed size: 903836, uncompressed size: 904810, name: strategy.jpg 903878 0xDCAC6 Zip archive data, at least v2.0 to extract, compressed size: 54608, uncompressed size: 57586, name: mom.jpg 958706 0xEA0F2 End of Zip archive, footer length: 22 958728 0xEA108 PNG image, 933 x 933, 8-bit/color RGB, non-interlaced 958769 0xEA131 Zlib compressed data, best compression
4.zipの末尾にpngファイルが付いているので、抽出する。
$ foremost 4.zip Processing: 4.zip �;w((^at=strategy.jpg��uT�O�7����� ������%8�]���kq����s���{���uw�I>���c{��d�����: @���; ��K-�"��t�KHK�t�4,�H,��,) �Jw���s?���������{v��̙9���>�uΜ���^Hd�e *| $ binwalk 00001872.png DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 PNG image, 933 x 933, 8-bit/color RGB, non-interlaced 41 0x29 Zlib compressed data, best compression
4.zipを解凍すると、以下のファイルが展開される。
・mom.jpg ・strategy.jpg
$ binwalk mom.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 $ binwalk strategy.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, EXIF standard 12 0xC TIFF image data, big-endian, offset of first image directory: 8 175334 0x2ACE6 PNG image, 741 x 758, 8-bit/color RGB, non-interlaced 175388 0x2AD1C Zlib compressed data, default compression $ foremost strategy.jpg Processing: strategy.jpg |*|
strategy.jpg から pngを抽出するが、特に何も無さそう。
$ binwalk 00000342.png DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 PNG image, 741 x 758, 8-bit/color RGB, non-interlaced 54 0x36 Zlib compressed data, default compression $ binwalk amoung.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01
5.zipを展開すると、以下のファイルが展開される。
・mistake.jpg ・scum.jpg
$ binwalk mistake.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 69020 0x10D9C JPEG image data, EXIF standard 69032 0x10DA8 TIFF image data, big-endian, offset of first image directory: 8
mistake.jpg の末尾にjpgファイルが付いているので、抽出する。
$ foremost mistake.jpg Processing: mistake.jpg |*| $ binwalk 00000134.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, EXIF standard 12 0xC TIFF image data, big-endian, offset of first image directory: 8
抽出したファイルも何も無さそう。
$ binwalk scum.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 $ binwalk maz.png DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 PNG image, 2048 x 1752, 8-bit/color RGBA, non-interlaced 41 0x29 Zlib compressed data, best compression $ binwalk oscar.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, EXIF standard 12 0xC TIFF image data, little-endian offset of first image directory: 8
oscar.jpg には末尾にディレクトリ構成が付いているが、一旦保留。
$ binwalk bald.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, EXIF standard 12 0xC TIFF image data, big-endian, offset of first image directory: 8 68369 0x10B11 Zip archive data, at least v2.0 to extract, compressed size: 19751, uncompressed size: 19746, name: maxozki.jpg 88254 0x158BE End of Zip archive, footer length: 22
bald.jpg の末尾にzipファイルが付いているので、抽出する。
抽出したzipファイルを解凍すると、以下のファイルが展開される。
・maxozki.jpg
$ binwalk maxozki.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- $ file maxozki.jpg maxozki.jpg: RIFF (little-endian) data, Web/P image, VP8 encoding, 564x551, Scaling: [none]x[none], YUV color, decoders should clamp $ binwalk banana.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 30 0x1E TIFF image data, big-endian, offset of first image directory: 8 394 0x18A JPEG image data, JFIF standard 1.01 $ binwalk fashion.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 72996 0x11D24 Zip archive data, at least v2.0 to extract, compressed size: 837795, uncompressed size: 864584, name: nik.jpg 910828 0xDE5EC Zip archive data, at least v2.0 to extract, compressed size: 60186, uncompressed size: 61043, name: cigar.jpg 971233 0xED1E1 End of Zip archive, footer length: 22
fashion.jpg の末尾にzipファイルが付いているので、抽出する。
$ foremost fashion.jpg Processing: fashion.jpg |foundat=nik.jpgT�uT>� $@��-Ŋ��EڠE�A��;T�SܵP(,������T�+-����{�����{v>;�<3;��YS]mmG_��RK��������7��AFf��# )��מ�cA��Ea`��Feh����R��[9!�@y6�%�����4��[~���D�%�Bh�:��o���x���V(�Yy��7��a2��@| �p��������Vxx@1e��M�M���m�H6�߾IC\�z�=S�b���f��Ay��/a���h�f��w��O/���oy��`���j�H����?���:eF��dV�d M��N��M�ut��Svg���g�UL�oQ�W�%�c1.�4E��`�hө� ȇ#t�P foundat=cigar.jpg��wT��7z/�t��Bh��J/B'�Ћ҄P� �!��^D� �tBGP�(%�R)��� t�u��w���g���>s�93��νO���sϙ����� *|
抽出したzipファイルを解凍すると、以下のファイルが展開される。
・cigar.jpg ・nik.jpg
$ binwalk cigar.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 $ binwalk nik.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 618090 0x96E6A JPEG image data, EXIF standard 618102 0x96E76 TIFF image data, big-endian, offset of first image directory: 8 704488 0xABFE8 JPEG image data, EXIF standard 704500 0xABFF4 TIFF image data, big-endian, offset of first image directory: 8
nik.jpg の末尾にデータが付いているので、抽出する。
$ foremost nik.jpg Processing: nik.jpg |*|
jpg画像が2つ抽出されるが、片方にフラグが書いてあった。
flag{stop_drop_4nd_rol1}