/social-analyzer

API, CLI & Web App for analyzing & finding a person's profile across 400+ social media \ websites (Detections are updated regularly)

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge

Social Analyzer - API, CLI & Web App for analyzing & finding a person's profile across +400 social media \ websites. It includes different string analysis and detection modules, you can choose which combination of modules to use during the investigation process.

The detection modules utilize a rating mechanism based on different detection techniques, which produces a rate value that starts from 0 to 100 (No-Maybe-Yes). This module intended to have less false positive and it's documented in this Wiki link

The analysis and extracted social media information from this OSINT tool could help in investigating profiles related to suspicious or malicious activities such as cyberbullying, cybergrooming, cyberstalking, and spreading misinformation.

This project is "currently used by some law enforcement agencies in countries where resources are limited".

so·cial me·di·a

websites and applications that enable users to create and share content or to participate in social networking - Oxford Dictionary

Security Testing

-------------------------------------              ---------------------------------
|        Security Testing           |              |        Social-Analyzer        |
-------------------------------------              ---------------------------------
|   Passive Information Gathering   |     <-->     |   Find Social Media Profiles  |
|                                   |              |                               |
|    Active Information Gathering   |     <-->     |    Post Analysis Activities   |
-------------------------------------              ---------------------------------

Find Profile WEB APP (Fast)

Standard localhost WEB APP url: http://0.0.0.0:9005/app.html

Find Profile WEB APP (Slow)

Standard localhost WEB APP url: http://0.0.0.0:9005/app.html

Profile images will not be blurred. If you want them to be blurred, turn that option on

(New) Find Profile CLI (Fast)

Features

  • String & name analysis
  • Find profile using multiple techniques (HTTPS library & Webdriver)
  • Multi layers detections (OCR, normal, advanced & special)
  • Metadata & Patterns extraction (Added from Qeeqbox osint project)
  • Search engine lookup (Google API - optional)
  • Custom search queries (Google API & DuckDuckGo API - optional)
  • Profile screenshot, title, info and website description
  • Find name origins, name similarity & common words by language
  • Custom user-agent, proxy, timeout & implicit wait
  • Python CLI & NodeJS CLI (limited to FindUserProfilesFast option)
  • Grid option for faster checking (limited to docker-compose)
  • Dump logs to folder or terminal (prettified)
  • Adjust finding\getting profile workers (default 15)
  • Re-checking option for failed profiles
  • Filter profiles by good, maybe, and bad
  • Wiki

Special Detections

Open in Cloud Shell

Open in Cloud Shell

Install and run as NodeJS Web App (Linux + NodeJS + NPM + Firefox)

# There will be status:good or rate:%100 for existing profiles
# Do not mix FindUserProfilesFast, with FindUserProfilesSlow and ShowUserProfilesSlow

apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
add-apt-repository ppa:mozillateam/ppa -y
apt-get install -y firefox-esr tesseract-ocr git nodejs npm
git clone https://github.com/qeeqbox/social-analyzer.git
cd social-analyzer
npm install
npm start

Install and run as NodeJS Web App (Windows + NodeJS + NPM + Firefox)

# There will be status:good or rate:%100 for existing profiles
# Do not mix FindUserProfilesFast, with FindUserProfilesSlow and ShowUserProfilesSlow

Download & Install firefox esr (Extended Support Release) from https://www.mozilla.org/en-US/firefox/enterprise/#download
Download & Install https://nodejs.org/en/download/
Download & Extract https://github.com/qeeqbox/social-analyzer/archive/main.zip
cd social-analyzer
npm install
npm start

Install and run as Python CLI (Windows, Linux, MacOS, Raspberry pi..)

# You can scan all websites using --websites "all"
# Remember the following runs as FindUserProfilesFast
# There will be status:good or rate:%100 for existing profiles
# If you want to list all websites use python3 -m social-analyzer --cli --list

# Finding detected, unknown, and failed with their metadata and linked profiles
pip3 install social-analyzer
python3 -m social-analyzer --cli --mode "fast" --username "johndoe" --websites "youtube pinterest tumblr" --output "pretty" --metadata --extract --trim

# Finding good profiles only with their metadata and linked profiles
pip3 install social-analyzer
python3 -m social-analyzer --cli --mode "fast" --username "johndoe" --websites "all" --output "pretty" --metadata --extract --trim --filter "good" --profile "detected"

Install and run as NodeJS CLI (Linux + NodeJS + NPM + Firefox) <- Preferred!

# You can scan all websites using --websites "all"
# Remember the following runs as FindUserProfilesFast
# There will be status:good or rate:%100 for existing profiles
# If you want to list all websites use app.js --cli --list

apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common
add-apt-repository ppa:mozillateam/ppa -y
apt-get install -y firefox-esr tesseract-ocr git nodejs npm
git clone https://github.com/qeeqbox/social-analyzer.git
cd social-analyzer
npm install

# Finding detected, unknown, and failed with their metadata and linked profiles
node app.js --cli --mode "fast" --username "johndoe" --websites "youtube pinterest tumblr" --output "pretty" --metadata --extract --trim

# Finding good profiles only with their metadata and linked profiles
node app.js --cli --mode "fast" --username "johndoe" --websites "all" --output "pretty" --metadata --extract --trim --filter "good" --profile "detected"

Install and run as NodeJS Web App with a grid (docker-compose)

# There will be status:good or rate:%100 for existing profiles

git clone https://github.com/qeeqbox/social-analyzer.git
cd social-analyzer
docker-compose -f docker-compose.yml up --build

Install and run as NodeJS Web App (docker)

# There will be status:good or rate:%100 for existing profiles

git clone https://github.com/qeeqbox/social-analyzer.git
cd social-analyzer
docker build -t social-analyzer . && docker run -p 9005:9005 -it social-analyzer

Running Issues

  • Remember that existing profiles show status:good or rate:%100
  • Some websites return blocked or invalid <- this is the intended behavior
  • Use Proxy, VPN, TOR or anything similar for periodic suspicious-profiles checking
  • Change the user-agent to most updated one or increase the random time between requests
  • Use the slow mode (Not available in the CLIs) to avoid running into blocking\results issue

Goals

  • Adding the generic websites detections (These need some reviewing, but I will try to add them in 2021)

Resources

  • DuckDuckGo API, Google API, NodeJS, bootstrap, selectize, jQuery, Wikipedia, font-awesome, selenium-webdriver & tesseract.js
  • Let me know if I missed a reference or resource!

Interviews

Console 37

Disclaimer\Notes

  • Make sure to download this tool from GitHub
  • This is a security project (Treat it as a security project)
  • If you want your website to be excluded from this project list, please reach out to me
  • This tool meant to be used locally not as a service (It does not have any type of Access Control)

Other Projects