← Back to writeups

An Old Friend

WRITEUP OSINT SOCMINT TECHINT

Challenge

Welcome to this second writeup dedicated to BreizhCTF 2026!

challenge statement

For this challenge, we need to find the city where Mr O lives, the deputy head of the BZH Mafia. An intercepted SMS excerpt is provided as a starting point:

The most interesting SMS mentions the username paulifonta35 and a book review platform.

Identifying the target

I put together a list of the main book review platforms: Babelio, Livraddict, Booknode, SensCritique, Goodreads, StoryGraph, LibraryThing. My reflex is to run a WhatsMyName scan on the username, without success. So I test the platforms one by one, and I end up finding this account on Goodreads:

Goodreads account for paulifonta35

goodreads.com/user/show/198943764-paulifonta35

Browsing through his book reviews, the one on Friday, or The Other Island (Vendredi ou la Vie Sauvage) by Michel Tournier catches my eye: it mentions "my friend Octave". We're looking for a "Mr O" for "Mr Octave" — that fits.

review mentioning Octave

Paulifonta35 also mentions his school, the Collège des Horizons Lumineux. A Google dork on this information gets us more details about Octave:

Google dork on Octave

I come across a Copains d'Avant account:

Copains d'Avant account

Its description holds a valuable clue: "I no longer use Twitter, I only post on a new decentralized network." I immediately think of Bluesky, and a search finds his profile:

Octave's Bluesky profile

bsky.app/profile/justoctave.bsky.social

posts on the Bluesky profile

The account only contains a few posts. Since we're looking for his city of residence, the most recent one seems to be the lead to follow, as it contains a photo of a package he just received.

Decoding the package

Before jumping into classic GEOINT, I first want to take a closer look at the package photo:

photo of the package with barcode

At first glance, I don't recognize this type of code, and my phone can't scan it. After a bit of research on different types of QR codes, I understand it's actually a MaxiCode, a format created and used by UPS.

identifying the MaxiCode

I use an online tool to decode the MaxiCode:

online decoding of the MaxiCode

I get the following string:

[)>~03001~0292645520~029250~029999~02948197Z7781~029UPSN~029R84M7

raw decoding result

(reference structure found on neodynamic.com)

This documentation details the structure of MaxiCodes, but when trying to extract the different parts of the string (for example 02948197Z00007781), I get stuck: I can't make progress on decoding it more precisely.

I go back to the Bluesky post to look for other clues, and I notice that the image's alt text actually contains two links:

alt text containing two links

The barcodefaq.com documentation states that "MaxiCode Mode 2 and Mode 3 shall be reserved for use as a destination sortation symbol for use by carriers in the transport industry." So I conclude this is indeed a mode 2 or 3 MaxiCode:

mode 2/3 MaxiCode structure

The structure of the string for these modes uses GS separators. But our string doesn't contain "GS", it contains "~".

After searching online, I find out that ~029 represents the non-printable ASCII control character GS.

Replacing each separator:

[)>~03001~0292645520~029250~029999~02948197Z7781~029UPSN~029R84M7

becomes:

[)>RS01GS2645520GS250GS999GS48197Z7781GSUPSNGSR84M7

final decoding of the string

The decoding finally reveals the city we were looking for.

Flag

Celebration