Cyberlium

OSINT › Module 2 › Lesson 4

BeginnerModule 2Lesson 4/5

Lab — Username Sweep of YOUR Aliases

Loop aliases from YOUR scope.yaml through Sherlock — report on

25 min+40 XP3 quiz
Module progress4 of 5

Visual · username_sweep_lab

Lab: YOUR handles only. sherlock --timeout 5. Bind

Opening

A sweep is a for-loop over a file you wrote about yourself — not a class roster.

Read every handle under scope.yaml. For each, run Sherlock with --timeout 5 (or skip if not installed and use WhatsMyName notes). Merge into t12-m02-username-report.txt. Serve that report on for curl. chmod 600. Stop. Original Cyberlium. GATE NEVER classmates, NEVER 0.0.0.0, NEVER nmap/hydra. Next: Quiz — Username Intelligence.

1. Extract YOUR aliases; refuse REPLACE_ and third parties

Parse handles: from scope.yaml. If a line still says REPLACE_, skip it. If you added a friend’s nick, delete it before the loop. first.

Write the list to t12-m02-handles.txt. That list is the only argv Sherlock may see.

Command guide

Extract YOUR aliases; refuse REPLACE_ and third parties

═══ INSTALL ═══

Linux (Debian/Ubuntu):

Command — copy this

pipx install sherlock-project

macOS:

Command — copy this

pipx install sherlock-project

Windows:

Command — copy this

pip install sherlock-project

═══ COMMANDS ═══

Command — copy this

awk '/^handles:/{f=1;next} f && /^[^ ]/{f=0} f && /^-/{gsub(/^[[:space:]]*-[[:space:]]*/,""); print}' "$HOME/cyberlium-lab/scope.yaml" > "$HOME/cyberlium-lab/t12-m02-handles.txt"
grep -v -E "REPLACE_|YOUR_|classmate" "$HOME/cyberlium-lab/t12-m02-handles.txt" > "$HOME/cyberlium-lab/t12-m02-handles.ok.txt"

2. Sherlock each YOUR alias; merge a private report

for h in $(cat handles.ok.txt); do sherlock "$h" --timeout 5; done is allowed only because those lines are yours. Cap the list at a few aliases so you do not hammer the internet.

If Sherlock is missing, write “checked on whatsmyname.app / namechk.com” per alias. Do not invent other people’s nicks to make a longer report.

Command guide

Sherlock each YOUR alias; merge a private report

═══ INSTALL ═══

Linux (Debian/Ubuntu):

Command — copy this

pipx install sherlock-project
pipx install maigret

macOS:

Command — copy this

pipx install sherlock-project
pipx install maigret

Windows:

Command — copy this

pip install sherlock-project
pip install maigret

═══ COMMANDS ═══

Command — copy this

: > "$HOME/cyberlium-lab/t12-m02-username-report.txt"
n=0
while IFS= read -r h && [ "$n" -lt 3 ]; do
[ -z "$h" ] && continue
if command -v sherlock >/dev/null; then
  sherlock "$h" --timeout 5 >> "$HOME/cyberlium-lab/t12-m02-username-report.txt" 2>&1
n=$((n+1))
done < "$HOME/cyberlium-lab/t12-m02-handles.ok.txt"

3. Serve YOUR report on loopback; bind audit; stop

HTTPServer serving the report. curl it. grep 0.0.0.0 must fail. Kill the pid. Write the lab note.

Quiz next. XP is not a username-OSINT cert.

Command guide

Serve YOUR report on loopback; bind audit; stop

═══ INSTALL ═══

Linux (Debian/Ubuntu):

Command — copy this

pipx install sherlock-project
sudo apt install curl
sudo apt install python3

macOS:

Command — copy this

pipx install sherlock-project
brew install python3

Windows:

Command — copy this

pip install sherlock-project

Built-in (PowerShell: Invoke-WebRequest) Download https://python.org/downloads/

═══ COMMANDS ═══

Command — copy this

cat > "$HOME/cyberlium-lab/t12_m02_user_view.py" << 'PY'
from http.server import BaseHTTPRequestHandler, HTTPServer
from pathlib import Path
HOST, PORT = "127.0.0.1", 8801
if HOST != "127.0.0.1":
  raise SystemExit("refusing non-loopback bind")
REP = Path.home() / "cyberlium-lab" / "t12-m02-username-report.txt"
class H(BaseHTTPRequestHandler):
  def do_GET(self):
      body = REP.read_bytes() if REP.exists() else b"missing report
"
      self.send_response(200); self.send_header("Content-Type", "text/plain; charset=utf-8")
      self.send_header("Content-Length", str(len(body))); self.end_headers(); self.wfile.write(body)
  def log_message(self, *a):
      pass
HTTPServer((HOST, PORT), H).serve_forever()
PY

Command — copy this

grep -n "0.0.0.0" "$HOME/cyberlium-lab/t12_m02_user_view.py" && echo "FIX"

4. What you ship: a private sweep of YOUR aliases and a loopback curl

handles.ok.txt from YOUR yaml. Sherlock timeout 5 or browser checkers. Report 600. Viewer No roster. DEMO GATE.

5. What you record before the next lesson

Date. Alias count. sherlock/WhatsMyName. curl 8801. NEVER others. File t12-m02-l04-username-lab.txt chmod 600.

6. Wrong vs right: strangers vs identifiers YOU own

Worked failure — same OSINT word, opposite target. Right never needs a classmate or a dump site.

  • Wrong

    for user in classmates.txt; sherlock. Bind 0.0.0.0. Paste reports in Discord.

  • Right

    Loop YOUR yaml. curl loopback. Next: Quiz — Username Intelligence.

Mission: sweep only what Module 1 said you own

1) / STOP if router. 2) Build handles.ok.txt from YOUR scope.yaml. 3) sherlock each with --timeout 5 (max a few). 4) Serve report on , curl, chmod 600. Never classmates. Never 0.0.0.0.

Stuck? Ask Cyberlium AI Mentor

If Sherlock rate-limits, ask Mentor to slow YOUR loop — not to switch to other people’s names.

Knowledge Check

1

APPLY: handles.ok.txt accidentally contains a roommate. You:

Multiple choice

Knowledge Check

2

APPLY: True or False: The username lab bind is

True or False

Knowledge Check

3

APPLY: curl http://192.168.0.1/ is Router Admin during the sweep. You:

Multiple choice

← Previous

Answer all 3 knowledge checks to continue. (0/3 answered)