π¨ Hacker Holidays β The Byte Lotus Hotel
π³ Overheard at Breakfast β Full Walkthrough
| Detail | Value |
|---|---|
| Points | 60 |
| Category | OSINT |
| Difficulty | Easy |
| Tags | OSINT, Social Media, Hashing |
**π Challenge Description
**
The breakfast terrace is loud this morning β clinking cutlery, espresso machines, the usual chatter. One guest couldn't help but linger at a nearby table, seeing more of a conversation than they were meant to.
When the table's occupant stepped away for a refill, they seized the moment and grabbed a screenshot before it could disappear. Somewhere in that conversation is enough to track down an account nobody was supposed to find.
Objective: Analyze the provided conversation screenshot, extract identifying details, locate a hidden account, and capture the flag.
πΊοΈ Solution Overview
βββββββββββββββββββββββββββββββ
β 1. Analyze Conversation β
β β β
β 2. Extract Key Clues β
β β β
β 3. Compute MD5 Hash β
β β β
β 4. Find Gravatar Profile β
β β β
β 5. Extract Base64 String β
β β β
β 6. Decode the Flag π© β
βββββββββββββββββββββββββββββββ
Step 1: Analyze the Conversation π
The challenge provides a screenshot of a Discord conversation between two users:
- Ponzi β Influencer (L3AK member)
- Lambo! (our target)
The Conversation Screenshot
Full Conversation Transcript
| Time | User | Message |
|---|---|---|
| 10:53 PM | Ponzi β Influencer | Hey @lambo! |
| 10:53 PM | Lambo! | Hi Ponzi! How are things going on your end? :) |
| 10:54 PM | Ponzi β Influencer | doing well thanks for asking, enjoying the resort so far? |
| 10:55 PM | Lambo! | Absolutely, Byte Lotus is treating me nice, love the food, weather and overall vibes. Will probably come back next year too. |
| 10:57 PM | Ponzi β Influencer | love to hear it!!! so i've been posting so much on social media and helping customers around. i never ended up getting your handle, so that i could possibly tag you next time. |
| 11:00 PM | Lambo! | Great to hear, I've been seeing those awesome posts. Yeah nowadays I don't really use much social media... |
Though I'm still out there, I used to use this free tool that let me upload my profile and link other media accounts was neat, until I wiped everything. Started with a G if I remember correctly. |
||
But if anything this is my best way of communication: lambobytelotushotel@gmail.com
|
||
| 11:03 PM | Ponzi β Influencer | woah woah, seems very secretive! maybe for the better that you don't use social media, heard some strange things have been happening in Byte Lotus. thanks regardless I will be in touch with you. |
| btw one more thing, going out to breakfast tomorrow morning? | ||
| 11:03 PM | Lambo! | Yeah sounds dope, will be there you know me π! |
Step 2: Extract Key Clues π
From the conversation, we can identify three critical clues:
Clue #1 β Email Address
lambobytelotushotel@gmail.com
Lambo directly shares their email as their "best way of communication."
Clue #2 β The Mystery Tool (Starts with "G")
"I used to use this free tool that let me upload my profile and link other media accounts... Started with a **G* if I remember correctly."*
This is Gravatar (https://gravatar.com) β a free service that:
- β Lets you upload a profile picture
- β Lets you link other social media accounts
- β Starts with the letter "G"
- β Uses email hashes to look up profiles (connects to the "Hashing" tag)
Clue #3 β Challenge Tags
The challenge is tagged with OSINT, Social Media, and Hashing β confirming we need to:
- Use OSINT techniques to find a profile
- The profile is on a social/media platform
- Hashing is involved (Gravatar uses MD5 hashes of emails)
**Step 3: Compute the MD5 Hash π
**
Gravatar identifies users by the MD5 hash of their email address. This is how you look up anyone's Gravatar profile if you know their email.
The Process
Email (lowercase, trimmed) β MD5 Hash β Gravatar Profile URL
PowerShell Script
# Compute MD5 hash of email
$email = 'lambobytelotushotel@gmail.com'
$md5 = [System.Security.Cryptography.MD5]::Create()
$bytes = [System.Text.Encoding]::UTF8.GetBytes($email.Trim().ToLower())
$hash = $md5.ComputeHash($bytes)
$hashString = -join ($hash | ForEach-Object { $_.ToString('x2') })
Write-Output "MD5 Hash: $hashString"
Alternative β Python
import hashlib
email = "lambobytelotushotel@gmail.com"
md5_hash = hashlib.md5(email.strip().lower().encode('utf-8')).hexdigest()
print(f"MD5 Hash: {md5_hash}")
Alternative β Linux/Bash
echo -n "lambobytelotushotel@gmail.com" | md5sum
Alternative β CyberChef
- Go to CyberChef
- Search for "MD5" in Operations
- Input:
lambobytelotushotel@gmail.com - Output:
d4a5fc5d3128890778667e24617d7cc0
Result
MD5("lambobytelotushotel@gmail.com") = d4a5fc5d3128890778667e24617d7cc0
**Step 4: Find the Gravatar Profile π
**
Using the MD5 hash, we can construct the Gravatar profile URL:
Profile URL
https://gravatar.com/d4a5fc5d3128890778667e24617d7cc0
JSON API (for structured data)
https://gravatar.com/d4a5fc5d3128890778667e24617d7cc0.json
What We Find
Visiting the profile URL reveals Lambo's Gravatar profile with the following details:
| Field | Value |
|---|---|
| Display Name | Lambo |
| Pronunciation | Lam-boh |
| Location | Byte Lotus Hotel |
| Username | cheerfullysongf28e3c3716 |
| Profile URL | https://gravatar.com/cheerfullysongf28e3c3716 |
The "About Me" Section β The Prize π―
The profile's "aboutMe" field contains this message:
"Funny thing about email hashes, they follow you places you didn't expect. Glad you found the right corner of the internet! Here is your prize:
VEhNe1MzY3JlVF9QcjBmaWwzX0g0c19iMzNuX0lkZW50MWZpM2R9"
Raw JSON Response
{
"entry": [{
"hash": "d4a5fc5d3128890778667e24617d7cc0",
"profileUrl": "https://gravatar.com/cheerfullysongf28e3c3716",
"displayName": "Lambo",
"pronunciation": "Lam-boh",
"aboutMe": "Funny thing about email hashes, they follow you places you didn't expect. Glad you found the right corner of the internet! Here is your prize: VEhNe1MzY3JlVF9QcjBmaWwzX0g0c19iMzNuX0lkZW50MWZpM2R9",
"currentLocation": "Byte Lotus Hotel"
}]
}
**Step 5: Identify the Encoding π§¬
**
The "prize" string is clearly Base64 encoded:
VEhNe1MzY3JlVF9QcjBmaWwzX0g0c19iMzNuX0lkZW50MWZpM2R9
How to recognize Base64:
- β
Contains only alphanumeric characters,
+,/, and=(padding) - β The character set (uppercase, lowercase, digits) is typical of Base64
- β The challenge tags include "Hashing" β pointing to encoding/decoding
- β
Starts with
VEhNwhich is a known Base64 prefix forTHM(TryHackMe flags)
Quick Reference: Common THM Flag Base64 Prefixes
| Base64 Start | Decoded |
|---|---|
VEhN |
THM |
VEhNe |
THM{ |
Step 6: Decode the Flag π©
PowerShell
$encoded = 'VEhNe1MzY3JlVF9QcjBmaWwzX0g0c19iMzNuX0lkZW50MWZpM2R9'
$decoded = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($encoded))
Write-Output "Flag: $decoded"
Python
import base64
encoded = 'VEhNe1MzY3JlVF9QcjBmaWwzX0g0c19iMzNuX0lkZW50MWZpM2R9'
decoded = base64.b64decode(encoded).decode('utf-8')
print(f"Flag: {decoded}")
Linux/Bash
echo 'VEhNe1MzY3JlVF9QcjBmaWwzX0g0c19iMzNuX0lkZW50MWZpM2R9' | base64 -d
CyberChef
- Go to CyberChef
- Search for "From Base64" in Operations
- Input:
VEhNe1MzY3JlVF9QcjBmaWwzX0g0c19iMzNuX0lkZW50MWZpM2R9 - Output:
THM{S3creT_Pr0fil3_H4s_b33n_Ident1fi3d}
π THE FLAG
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β THM{S3creT_Pr0fil3_H4s_b33n_Ident1fi3d} β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Decoded meaning: "Secret Profile Has Been Identified"
π§ Skills & Concepts Covered
1. OSINT (Open Source Intelligence)
- Extracting actionable intelligence from casual conversation
- Identifying platform-specific clues from vague descriptions
- Using publicly available APIs to retrieve hidden profiles
2. Social Media Investigation
- Understanding how Gravatar works as a profile aggregation service
- Knowing that "wiped" accounts may still have data accessible via hash lookups
- Recognizing platform descriptions from feature-based clues
3. Hashing & Encoding
- MD5 Hashing β Converting an email to its MD5 hash for Gravatar lookup
- Base64 Decoding β Recognizing and decoding Base64-encoded strings
π Useful Links & Tools
| Tool | Purpose | URL |
|---|---|---|
| Gravatar | Profile lookup via email hash | https://gravatar.com |
| CyberChef | Encoding/Decoding Swiss Army Knife | https://gchq.github.io/CyberChef/ |
| MD5 Online | Quick MD5 hash generator | https://www.md5online.org/ |
| Base64 Decode | Online Base64 decoder | https://www.base64decode.org/ |
π Quick Reference β Complete Attack Chain
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ATTACK CHAIN SUMMARY β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β πΈ Screenshot β Discord conversation between Ponzi & Lambo β
β β β
β βΌ β
β π Clue 1: Email = lambobytelotushotel@gmail.com β
β π Clue 2: Tool starts with "G" = Gravatar β
β β β
β βΌ β
β π MD5("lambobytelotushotel@gmail.com") β
β = d4a5fc5d3128890778667e24617d7cc0 β
β β β
β βΌ β
β π https://gravatar.com/d4a5fc5d312889... β
β β Profile found! aboutMe contains Base64 string β
β β β
β βΌ β
β 𧬠Base64 Decode: β
β VEhNe1MzY3JlVF9QcjBmaWwzX0g0c19iMzNuX0lkZW50MWZpM2R9 β
β β β
β βΌ β
β π© FLAG: THM{S3creT_Pr0fil3_H4s_b33n_Ident1fi3d} β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
**π‘ Key Takeaways
**
People reveal more than they think β Even in casual chat, Lambo shared enough info (email + tool description) to find their "hidden" profile.
Gravatar profiles persist β Even if you "wipe everything," the email hash still resolves if the account exists. Gravatar profiles are often overlooked during OPSEC cleanup.
MD5 hashes are deterministic β Anyone who knows your email can compute the hash and check your Gravatar profile. This is by design, not a bug.
Always check for encoding β Flags and secrets are often hidden in plain sight using common encoding schemes like Base64.
Cross-platform OSINT β A single email address can be the key to unlocking profiles across multiple platforms (Gravatar, Have I Been Pwned, social media lookups, etc.)


Top comments (0)