Cyberlium

OSINT › Module 3 › Lesson 4

BeginnerModule 3Lesson 4/5

Lab — Self-Search Notebook

Merge YOUR queries, checkups, and CDX into one 600 file — viewer on

25 min+40 XP3 quiz
Module progress4 of 5

Visual · selfsearch_notebook_lab

Lab: notebook of YOUR hits only. Bind

Opening

If the notebook names anyone else, you failed the lab even if the formatting is pretty.

Create t12-m03-selfsearch.md (or.txt) with: queries you ran, GitHub/Reddit checkup results, one privacy fix, CDX skip or rows for YOUR site. Serve it on curl. chmod 600. No classmate names anywhere in the file. Original Cyberlium. GATE Next: Quiz — Social Self-OSINT.

1. Assemble the notebook from YOUR prior files

cat the Module 3 notes you already wrote. Add a header: owner = you. Grep the draft for other people’s names you might have pasted from SERPs and delete those lines.

first. This notebook is not a people-search CRM.

2. Grep the notebook for roster words; serve on loopback

Search your own file for classmate, teacher, roster. If those words appear as targets, edit them out. Then start a viewer.

Refuse 0.0.0.0. Classmates write their own notebooks.

Command guide

Grep the notebook for roster words; serve on loopback

═══ INSTALL ═══

Linux (Debian/Ubuntu):

Command — copy this

sudo apt install curl
sudo apt install python3

macOS:

Command — copy this

brew install python3

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

═══ COMMANDS ═══

Command — copy this

grep -niE "classmate|roster|teacher_target" "$HOME/cyberlium-lab/t12-m03-selfsearch.md" && echo "EDIT THEM OUT"
cat > "$HOME/cyberlium-lab/t12_m03_nb_view.py" << 'PY'
from http.server import BaseHTTPRequestHandler, HTTPServer
from pathlib import Path
HOST, PORT = "127.0.0.1", 8802
if HOST != "127.0.0.1":
  raise SystemExit("refusing non-loopback bind")
NB = Path.home() / "cyberlium-lab" / "t12-m03-selfsearch.md"
class H(BaseHTTPRequestHandler):
  def do_GET(self):
      body = NB.read_bytes() if NB.exists() else b"missing notebook
"
      self.send_response(200); self.send_header("Content-Type", "text/markdown; 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_m03_nb_view.py" && echo "FIX"

3. curl SAFE, lock lab note, stop the pid

curl http:/// and save a body snippet. Stop Python. Write t12-m03-l04-selfsearch-lab.txt. Quiz next.

Never nmap. Never hydra. Never CDX other people as a “bonus page.”

4. What you ship: one self-only notebook, loopback curl, 600 mode

t12-m03-selfsearch.md names only you. Viewer DEMO GATE. No roster words. chmod 600.

5. What you record before the next lesson

Date. Notebook path. curl 8802. NEVER classmates. File t12-m03-l04-selfsearch-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

    Paste a classmate SERP into the notebook. Bind 0.0.0.0. CDX their blog as an extra section.

  • Right

    Merge YOUR notes. curl loopback. Next: Quiz — Social Self-OSINT.

Mission: one notebook, one human (you)

1) / STOP if router. 2) Merge Module 3 notes into t12-m03-selfsearch.md. 3) Grep out roster targets. 4) Serve on and curl. Never other names. Never 0.0.0.0.

Stuck? Ask Cyberlium AI Mentor

Ask Mentor how to merge the three note files — not how to add a “control classmate.”

Knowledge Check

1

APPLY: Notebook contains a classmate full name from a SERP. You:

Multiple choice

Knowledge Check

2

APPLY: True or False: Teaching bind for this lab is

True or False

Knowledge Check

3

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

Multiple choice

← Previous

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