بنقرة واحدة
osint-email
Email-based OSINT collection including breach database checks and social account enumeration
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Email-based OSINT collection including breach database checks and social account enumeration
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Interactive gap analysis against Korea's ISMS-P 102-control certification framework (management, protection, personal information)
Security log analysis and anomaly detection for access, auth, and syslog files
Analyze suspicious files through triage/static/dynamic/code phases to produce IOCs, YARA/Sigma rules, and MITRE ATT&CK mappings
File hash reputation lookup via VirusTotal API v3 for MD5/SHA1/SHA256 detection ratio, threat classification, and vendor results
OWASP Top 10 (2021) checklist-based inspection and compliance matrix generation
Multi-chain smart contract security for Solana, Algorand, Cairo, Cosmos, Substrate, and TON with pre-audit readiness checks
| name | osint-email |
| description | Email-based OSINT collection including breach database checks and social account enumeration |
| license | MIT |
| metadata | {"category":"recon","locale":"en","phase":"v1"} |
Collects OSINT information based on an email address. Performs email format validation, breach history lookup via the Have I Been Pwned API, and social/service account existence detection using holehe.
curlpip install holehe
SECSKILL_TARGET_EMAIL: email address to querySECSKILL_HIBP_API_KEY: Have I Been Pwned API key| Variable | Required | Description |
|---|---|---|
SECSKILL_TARGET_EMAIL | Required | Email address to query |
SECSKILL_HIBP_API_KEY | Required | HIBP API key (for breach history lookup) |
SECSKILL_OUTPUT_DIR | Optional | Output directory for results (default: ./output) |
SECSKILL_RUN_HOLEHE | Optional | Set to true to run holehe (default: false) |
export EMAIL="${SECSKILL_TARGET_EMAIL:?Set the SECSKILL_TARGET_EMAIL environment variable}"
export HIBP_KEY="${SECSKILL_HIBP_API_KEY:-}"
export OUTDIR="${SECSKILL_OUTPUT_DIR:-./output}"
export RUN_HOLEHE="${SECSKILL_RUN_HOLEHE:-false}"
mkdir -p "$OUTDIR"
SAFE_EMAIL=$(echo "$EMAIL" | tr '@.' '__')
OUTFILE="$OUTDIR/osint_email_${SAFE_EMAIL}.txt"
echo "===== Email OSINT: $EMAIL =====" > "$OUTFILE"
echo "Query time: $(date -u '+%Y-%m-%dT%H:%M:%SZ')" >> "$OUTFILE"
# Format validation
if echo "$EMAIL" | grep -qE '^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$'; then
echo "[+] Valid email format: $EMAIL" | tee -a "$OUTFILE"
DOMAIN=$(echo "$EMAIL" | cut -d'@' -f2)
USER=$(echo "$EMAIL" | cut -d'@' -f1)
echo "[*] Domain: $DOMAIN | User: $USER"
else
echo "[-] Invalid email format: $EMAIL"
exit 1
fi
echo "" >> "$OUTFILE"
echo "--- Have I Been Pwned Breach History ---" | tee -a "$OUTFILE"
if [ -z "$HIBP_KEY" ]; then
echo "[-] SECSKILL_HIBP_API_KEY not set. Skipping HIBP check." | tee -a "$OUTFILE"
else
ENCODED_EMAIL=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$EMAIL'))")
HIBP_RESPONSE=$(curl -s \
-H "hibp-api-key: $HIBP_KEY" \
-H "user-agent: SecuritySkill-OSINT/1.0" \
--max-time 15 \
"https://haveibeenpwned.com/api/v3/breachedaccount/${ENCODED_EMAIL}?truncateResponse=false")
HTTP_STATUS=$?
if echo "$HIBP_RESPONSE" | grep -q '"Name"'; then
BREACH_COUNT=$(echo "$HIBP_RESPONSE" | python3 -c "import sys,json; data=json.load(sys.stdin); print(len(data))")
echo "[!] Breaches found: $BREACH_COUNT" | tee -a "$OUTFILE"
echo "$HIBP_RESPONSE" | python3 -c "
import sys, json
data = json.load(sys.stdin)
for breach in data:
print(f\" - {breach['Name']} ({breach['BreachDate']}): {', '.join(breach['DataClasses'][:5])}\")
" | tee -a "$OUTFILE"
elif echo "$HIBP_RESPONSE" | grep -q "404"; then
echo "[+] No breach history (not found in database)" | tee -a "$OUTFILE"
else
echo "[-] HIBP API response error. Check your API key or network." | tee -a "$OUTFILE"
fi
fi
if [ -n "$HIBP_KEY" ]; then
echo "" >> "$OUTFILE"
echo "--- Paste Database Check ---" | tee -a "$OUTFILE"
ENCODED_EMAIL=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$EMAIL'))")
PASTE_RESPONSE=$(curl -s \
-H "hibp-api-key: $HIBP_KEY" \
-H "user-agent: SecuritySkill-OSINT/1.0" \
--max-time 15 \
"https://haveibeenpwned.com/api/v3/pasteaccount/${ENCODED_EMAIL}")
if echo "$PASTE_RESPONSE" | grep -q '"Source"'; then
PASTE_COUNT=$(echo "$PASTE_RESPONSE" | python3 -c "import sys,json; data=json.load(sys.stdin); print(len(data))")
echo "[!] Paste site exposures: $PASTE_COUNT" | tee -a "$OUTFILE"
echo "$PASTE_RESPONSE" | python3 -c "
import sys, json
data = json.load(sys.stdin)
for paste in data[:10]:
print(f\" - {paste['Source']}: {paste.get('Title','(no title)')} ({paste.get('Date','date unknown')})\")
" | tee -a "$OUTFILE"
else
echo "[+] No paste site exposures found" | tee -a "$OUTFILE"
fi
fi
echo "" >> "$OUTFILE"
echo "--- Email Domain DNS Check ---" | tee -a "$OUTFILE"
MX=$(dig "$DOMAIN" MX +short 2>/dev/null | sort)
if [ -n "$MX" ]; then
echo "[+] MX records valid - email delivery is possible" | tee -a "$OUTFILE"
echo "$MX" | tee -a "$OUTFILE"
else
echo "[-] No MX records - email address may be invalid" | tee -a "$OUTFILE"
fi
if [ "$RUN_HOLEHE" = "true" ]; then
echo "" >> "$OUTFILE"
echo "--- holehe Social Account Check ---" | tee -a "$OUTFILE"
if command -v holehe >/dev/null 2>&1; then
echo "[*] Running holehe (may take tens of seconds)..."
holehe --only-used "$EMAIL" 2>/dev/null \
| grep -E "^\[|\[\+\]|\[-\]" \
| tee -a "$OUTFILE"
echo "[+] holehe complete"
else
echo "[-] holehe not installed. Install with: pip install holehe" | tee -a "$OUTFILE"
fi
else
echo "[*] holehe skipped (enable with SECSKILL_RUN_HOLEHE=true)"
fi
echo ""
echo "===== Email OSINT Results Summary ====="
echo "Target email: $EMAIL"
echo "Output file : $OUTFILE"
echo "======================================="
cat "$OUTFILE"
SECSKILL_RUN_HOLEHE=true)| Symptom | Cause | Resolution |
|---|---|---|
| HIBP 401 error | Invalid API key | Re-verify key in HIBP dashboard |
| HIBP 429 error | Rate limit exceeded | Retry after 1 minute (API enforces 1.5-second intervals) |
| holehe error | Package dependency issue | Run pip install --upgrade holehe |
| No MX records | Invalid domain | Re-verify email address |