OSINT › Module 2 › Lesson 4
Lab — Username Sweep of YOUR Aliases
Loop aliases from YOUR scope.yaml through Sherlock — report on
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()
PYCommand — 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
APPLY: handles.ok.txt accidentally contains a roommate. You:
Multiple choice
Knowledge Check
APPLY: True or False: The username lab bind is
True or False
Knowledge Check
APPLY: curl http://192.168.0.1/ is Router Admin during the sweep. You:
Multiple choice