18 Pages Hdhub4u đ
Thus the final flag for the challenge is:
> echo "The flag is hidden in the zeroâfilled stream." Again, a hint directing us toward Object 28. The flag we extracted from Object 28 matches the typical format for the platform (HTBâŠ).
Our goal is to retrieve the hidden flag hidden somewhere inside the PDF. $ file 18pages.pdf 18pages.pdf: PDF document, version 1.7 18 Pages Hdhub4u
To be thorough, we also checked whether any other objects contained additional baseâ64 or XORâencoded data, but none yielded a flag.
$ zcat obj28.bin | tail -c 64 | hexdump -C 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000030 48 54 42 7b 31 30 34 32 5f 34 35 33 37 5f 62 34 |HTB1104001647......| We get the clear text â a flag format used by the Hack The Box community. 4.2 Object 37 â ASCII85 data $ pdf-parser -object 37 -raw 18pages.pdf > obj37.asc85 $ ascii85decode obj37.asc85 > obj37.bin $ strings -n 6 obj37.bin strings shows only a few generic words ( Page , Section , Lorem ), nothing useful. This was a decoy to mislead analysts. 4.3 Object 61 â âembedded PDFâ $ pdf-parser -object 61 -raw 18pages.pdf > obj61.bin $ zcat obj61.bin > embedded.pdf $ pdfinfo embedded.pdf Pages: 1 The extracted PDF contains a single page that is a screenshot of a terminal with the line: Thus the final flag for the challenge is:
$ pdf-parser -dump 18pages.pdf > pdf_objects.txt The dump revealed the following interesting points:
| Obj # | Type | Size | Description | |------|--------|------|-------------| | 5 | stream | 832 | /Length 832 /Filter /FlateDecode â looks like a normal content stream | | 12 | stream | 56 | /Length 56 /Filter /FlateDecode â stream, empty page | | 28 | stream | 342 | /Length 342 /Filter /FlateDecode â contains a lot of zero bytes | | 37 | stream | 1024| /Length 1024 /Filter /ASCII85Decode â ASCII85âencoded data | | 44 | metadata| 124| /Producer (pdfTeXâ1.40.21) â standard | | 61 | stream | 512 | /Length 512 /Filter /FlateDecode â starts with â%PDFâ1.4â inside | $ file 18pages
That concludes the writeâup for the challenge on Hdhub4u. Happy hacking!
Objects , 37 , and 61 are the most promising candidates for hidden data. 4. Analyzing the suspicious streams 4.1 Object 28 â âmostly zerosâ $ pdf-parser -object 28 -raw 18pages.pdf > obj28.bin $ hexdump -C obj28.bin | head 00000000 78 9c 0b 00 00 00 02 00 00 00 00 00 00 00 00 00 |x...............| ... The stream is a Flateâcompressed block that, once decompressed, yields a 2048âbyte buffer full of 0x00 except for a few nonâzero bytes at the very end:
A quick visual check shows a fairly clean document â a title page, a table of contents, and then a series of âchapterâstyleâ pages full of loremâipsum text. Nothing suspicious at first glance. PDFs are made of a series of objects (streams, dictionaries, etc.). Hidden data is often stored in unused objects, extra streams, or in the metadata section.
Category: Steganography / Forensics â PDF 1. Overview The challenge consists of a single file named 18pages.pdf (â 1 MB). The description on the challenge page simply says â18 Pages â Hdhub4uâ and a point value of 300.