A Noob's First Milestone

OSINT 150 pts Easy

Challenge Information

  • Challenge Name: A Noob's First Milestone
  • Category: OSINT
  • Points: 150 pts
  • Description: "His first gitlab repo."
  • Creator: pandasif
  • Flag: EOF{script_kiddie@eofool.com}

Solution Methodology

Step 1: Identify the Target

The challenge description was minimal but clear — we needed to find someone's first GitLab repository. The key was identifying who "he" refers to.

Creator: pandasif

This gave us our first lead: pandasif was likely the person whose GitLab repo we needed to find.

Step 2: Locate the GitLab Profile

We searched for the user pandasif on GitLab:

https://gitlab.com/pandasif

Step 3: Identify the First Repository

Once on their profile, we looked for:

  • Their oldest/first public repository
  • Repository creation dates
  • Commit history in early projects

We found a repository containing a C++ source file (sk.cpp) that simulated a "script kiddie" attack tool. This matched perfectly with the challenge theme "A Noob's first milestone."

Step 4: Analyze the Source Code

Looking through sk.cpp, we noticed three data arrays used to generate random email addresses:

const vector FIRST_NAMES = {
    "olivia","emma","amelia","ava","sophia","charlotte","isabella","mia","luna","harper",
    "liam","noah","oliver","elijah","lucas","levi","mason","asher","james","ethan",
    "EOF"  // ← Hidden here!
};

const vector SURNAMES = {
    "smith","johnson","williams","brown","jones","garcia","miller","davis","rodriguez",
    "martinez","hernandez","lopez","gonzales","wilson","anderson","thomas","taylor",
    "moore","jackson","martin","{script_kiddie"  // ← Hidden here!
};

const vector EMAIL_PROVIDERS = {
    "gmail.com","outlook.com","yahoo.com","aol.com","yandex.com","eofool.com}"  // ← Hidden here!
};

Step 5: Reconstruct the Flag

The flag was cleverly hidden across three arrays:

  1. FIRST_NAMES array - last element: "EOF"
  2. SURNAMES array - last element: "{script_kiddie"
  3. EMAIL_PROVIDERS array - last element: "eofool.com}"

When pieced together: EOF{script_kiddie@eofool.com}

Flag: EOF{script_kiddie@eofool.com}

The creator hid the flag in plain sight within the data structures used by the script kiddie simulation tool — a fitting easter egg for a challenge about a "noob's first milestone"!

Key Insights

OSINT Techniques Used

  • Profile reconnaissance on GitLab
  • Repository discovery and analysis
  • Source code inspection
  • Pattern recognition in data structures

Why This Challenge Works

  • Combines OSINT (finding the profile) with code analysis
  • Flag split across multiple data structures
  • Thematically appropriate (script kiddie tool containing the flag)
  • Tests both research and attention to detail

Tools Used

  • GitLab Search - To locate the user profile
  • Browser - To navigate repositories and view source code
  • Text Editor - To analyze the C++ source file

Summary Table

Step Action Result
1 Identified creator from challenge Found username: pandasif
2 Searched GitLab for user profile Located profile at gitlab.com/pandasif
3 Found first/early repository Discovered sk.cpp source code
4 Analyzed source code arrays Found flag split across 3 arrays
5 Reconstructed flag components Success!