返回 social-analyzer
README.rst
根目录 / README.rst
1 .. image:: https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/readme/socialanalyzerlogo_.png
2
3 Social-Analyzer - API, CLI & Web App for analyzing & finding a person's profile across social media websites. It includes different string analysis and detection modules, you can choose which combination of modules to use during the investigation process.
4
5 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 <https://github.com/qeeqbox/social-analyzer/wiki>`_ link
6
7 The analysis and public extracted information from this OSINT tool could help in investigating profiles related to suspicious or malicious activities such as `cyberbullying <https://en.wikipedia.org/wiki/Wikipedia:Cyberbullying>`_, `cybergrooming <https://de.wikipedia.org/wiki/Cyber-Grooming>`_, `cyberstalking <https://en.wikipedia.org/wiki/Cyberstalking>`_, and `spreading misinformation <https://en.wikipedia.org/wiki/Misinformation>`_.
8
9 This project is *"currently used by some law enforcement agencies in countries where resources are limited"*.
10
11 `Social Analyzer is in a league of its own and is a very impressive tool that I thoroughly recommend for Digital Investigators and OSINT practitioners` - by `Joseph Jones, Founder of Strategy Nord, Unita Insight and OS2INT <https://os2int.com/toolbox/investigating-usernames-with-social-analyzer>`_.
12
13 So·cial Me·di·a
14 ===============
15 Websites and applications that enable users to create and share content or to participate in social networking - Oxford Dictionary
16
17 Security Testing
18 ================
19 .. code:: bash
20
21 ------------------------------------- ---------------------------------
22 | Security Testing | | Social-Analyzer |
23 ------------------------------------- ---------------------------------
24 | Passive Information Gathering | <--> | Find Social Media Profiles |
25 | | | |
26 | Active Information Gathering | <--> | Post Analysis Activities |
27 ------------------------------------- ---------------------------------
28
29 Find Profile CLI (Fast)
30 =======================
31 .. image:: https://raw.githubusercontent.com/qeeqbox/social-analyzer/main/readme/cli.gif
32
33 Features
34 ========
35 - String & name analysis (Permutations and Combinations)
36 - Find profile using multiple techniques (HTTPS library & Webdriver)
37 - Multi layers detections (OCR, normal, advanced & special)
38 - Visualized profile information using Ixora (Metadata & Patterns)
39 - Metadata & Patterns extraction (Added from Qeeqbox osint project)
40 - Force-directed Graph for Metadata (Needs ExtractPatterns)
41 - Search by top ranking, or by country (Alexa Ranking)
42 - Profiles stats and static info (Category country)
43 - Auto-flirtation to unnecessary output
44 - Search engine lookup (Google API - optional)
45 - Custom search queries (Google API & DuckDuckGo API - optional)
46 - Profile screenshot, title, info and website description
47 - Find name origins, name similarity & common words by language
48 - Custom user-agent, proxy, timeout & implicit wait
49 - Python CLI & NodeJS CLI (limited to FindUserProfilesFast option)
50 - Grid option for faster checking (limited to docker-compose)
51 - Dump logs to folder or terminal (prettified)
52 - Adjust finding\getting profile workers (default 15)
53 - Re-checking option for failed profiles
54 - Filter profiles by good, maybe, and bad
55 - Save the analysis as JSON file
56 - Simplified web interface and CLI
57
58 Running Example (Simple)
59 ========================
60 .. code:: bash
61
62 pip3 install social-analyzer
63 python3 -m social-analyzer --username "johndoe" --metadata --top 100
64
65 Running Example (Custom)
66 ========================
67 .. code:: bash
68
69 #install social-analyzer
70 pip3 install social-analyzer
71
72 #specific websites
73 python3 -m social-analyzer --username "johndoe" --websites "youtube pinterest tumblr"
74
75 #specific websites with metadata and extraction
76 python3 -m social-analyzer --username "johndoe" --websites "youtube pinterest tumblr" --metadata --extract --trim
77
78 #all websites with metadata, extraction, filter all profiles with all status
79 python3 -m social-analyzer --username "johndoe" --websites "all" --metadata --extract --trim --filter "all" --profile "all"
80
81 #Screenshot detected profiles
82 python3 -m social-analyzer --username "johndoe" --websites "cart" --logs --screenshots
83
84 Running Example (as object)
85 ===========================
86 .. code:: bash
87
88 from importlib import import_module
89 SocialAnalyzer = import_module("social-analyzer").SocialAnalyzer()
90 results = SocialAnalyzer.run_as_object(username="johndoe",silent=True)
91 print(results)
92
93 Running Example (as object with specific websites, metadata and extraction)
94 ===========================================================================
95 .. code:: bash
96
97 from importlib import import_module
98 SocialAnalyzer = import_module("social-analyzer").SocialAnalyzer()
99 results = SocialAnalyzer.run_as_object(username="johndoe", websites="youtube pinterest tumblr", metadata=True, extract=True, silent=True)
100 print(results)
101
102 Help (python3 -m social-analyzer --h)
103 =====================================
104 .. code:: bash
105
106 Required Arguments:
107 --username E.g. johndoe, john_doe or johndoe9999
108
109 Optional Arguments:
110 --websites A website or websites separated by space E.g. youtube, tiktokor tumblr
111 --mode Analysis mode E.g.fast -> FindUserProfilesFast, slow -> FindUserProfilesSlow or special -> FindUserProfilesSpecial
112 --output Show the output in the following format: json -> json outputfor integration or pretty -> prettify the output
113 --options Show the following when a profile is found: link, rate, titleor text
114 --method find -> show detected profiles, get -> show all profiles regardless detected or not, all -> combine find & get
115 --filter Filter detected profiles by good, maybe or bad, you can do combine them with comma (good,bad) or use all
116 --profiles Filter profiles by detected, unknown or failed, you can do combine them with comma (detected,failed) or use all
117 --countries select websites by country or countries separated by space as: us br ru
118 --top select top websites as 10, 50 etc...[--websites is not needed]
119 --extract Extract profiles, urls & patterns if possible
120 --metadata Extract metadata if possible (pypi QeeqBox OSINT)
121 --trim Trim long strings
122 --gui Reserved for a gui (Not implemented)
123 --cli Reserved for a cli (Not needed)
124
125 Listing websites & detections:
126 --list List all available websites
127
128 Setting:
129 --headers Headers as dict
130 --logs_dir Change logs directory
131 --timeout Change timeout between each request
132 --silent Disable output to screen
133
134 Open in Cloud Shell
135 ===================
136 .. image:: https://img.shields.io/static/v1?label=%3E_&message=Open%20in%20Cloud%20Shell&color=3267d6&style=flat-square
137 :target: https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https://github.com/qeeqbox/social-analyzer&tutorial=README.md
138
139 Special Detections
140 ==================
141 - Facebook (Phone number, name or profile name)
142 - Gmail (example@gmail.com)
143 - Google (example@example.com)
144
145 Running Issues
146 ==============
147 - Remember that existing profiles show `status:good` or `rate:%100`
148 - Some websites return `blocked` or `invalid` <- this is the intended behavior
149 - Use Proxy, VPN, TOR or anything similar for periodic suspicious-profiles checking
150 - Do not mix FindUserProfilesFast, with FindUserProfilesSlow and ShowUserProfilesSlow
151 - Change the user-agent to most updated one or increase the random time between requests
152 - Use the slow mode (Not available in the CLIs) to avoid running into blocking\results issue
153
154 Resources
155 =========
156 - DuckDuckGo API, Google API, NodeJS, bootstrap, selectize, jQuery, Wikipedia, font-awesome, selenium-webdriver & tesseract.js
157 - Let me know if I missed a reference or resource!
158
159 Disclaimer\Notes
160 ================
161 - Make sure to download this tool from GitHub
162 - This is a security project (Treat it as a security project)
163 - If you want your website to be excluded from this project list, please reach out to me
164 - This tool meant to be used locally not as a service (It does not have any type of Access Control)
165 - For issues related to modules that end with -private or under the private group, reach out directly to me (do not open an issue on GitHub)
166
167 Interviews
168 ==========
169 - `Console 37 <https://console.substack.com/p/console-37>`_
170
171 Some News\Articles
172 ==================
173 - `5 Open-Source Intelligence (OSINT) GitHub Repositories For Every Security Analyst (Cyber Security) <https://twitter.com/GithubProjects/status/1395205169617547266>`_
174
175 - You can use social-analyzer in the `BlackArch <https://blackarch.org/>`_ penetration testing distribution by installing `blackarch-social <https://blackarch.org/social.html>`_
176
177 Articles
178 ========
179 `kitploit professionalhackers secnhack meethackers raidforums redpacketsecurity hacking reviews hacking land securityonline skynettools luca-mercatanti pentesttools anonymousmedia ddosi tenochtitlan-sec modernnetsec haktechs haxf4rall hacker-gadgets mrhacker sector035 hackernews`
180
181 Other projects
182 ==============
183 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//chameleon.png
184 :target: https://github.com/qeeqbox/chameleon
185
186 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//honeypots.png
187 :target: https://github.com/qeeqbox/honeypots
188
189 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//analyzer.png
190 :target: https://github.com/qeeqbox/analyzer
191
192 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//osint.png
193 :target: https://github.com/qeeqbox/osint
194
195 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//url-sandbox.png
196 :target: https://github.com/qeeqbox/url-sandbox
197
198 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//mitre-visualizer.png
199 :target: https://github.com/qeeqbox/mitre-visualizer
200
201 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//woodpecker.png
202 :target: https://github.com/qeeqbox/woodpecker
203
204 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//docker-images.png
205 :target: https://github.com/qeeqbox/docker-images
206
207 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//seahorse.png
208 :target: https://github.com/qeeqbox/seahorse
209
210 .. image:: https://raw.githubusercontent.com/qeeqbox/.github/main/data//rhino.png
211 :target: https://github.com/qeeqbox/rhino
212
212 lines Plain Text