Giter Site home page Giter Site logo

p1ngul1n0 / blackbird Goto Github PK

View Code? Open in Web Editor NEW
2.3K 2.3K 301.0 13.08 MB

An OSINT tool to search for accounts by username in social networks.

Home Page: https://p1ngul1n0.gitbook.io/blackbird/

Python 83.04% HTML 15.99% Dockerfile 0.79% Procfile 0.19%
cybersecurity osint pentesting python

blackbird's Issues

Installation fails on Python3.11

git clone https://github.com/p1ngul1n0/blackbird; cd blackbird; pwd; pip install -r requirements.txt:                                                                            
0.202 Cloning into 'blackbird'...                                                                                                                                                               
1.393 /usr/blackbird                                                                                                                                                                            
2.447 Collecting aiohttp==3.8.3 (from -r requirements.txt (line 1))                                                                                                                             
2.502   Downloading aiohttp-3.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.4 kB)                                                                                  
2.536 Collecting beautifulsoup4==4.11.1 (from -r requirements.txt (line 2))
2.545   Downloading beautifulsoup4-4.11.1-py3-none-any.whl.metadata (3.5 kB)
2.580 Collecting colorama==0.4.4 (from -r requirements.txt (line 3))
2.589   Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
2.630 Collecting Flask==2.1.1 (from -r requirements.txt (line 4))
2.639   Downloading Flask-2.1.1-py3-none-any.whl.metadata (3.9 kB)
2.670 Collecting Flask_Cors==3.0.10 (from -r requirements.txt (line 5))
2.678   Downloading Flask_Cors-3.0.10-py2.py3-none-any.whl (14 kB)
2.729 Collecting requests==2.28.1 (from -r requirements.txt (line 6))
2.739   Downloading requests-2.28.1-py3-none-any.whl.metadata (4.6 kB)
2.774 Collecting gunicorn (from -r requirements.txt (line 7))
2.783   Downloading gunicorn-21.2.0-py3-none-any.whl.metadata (4.1 kB)
2.800 Requirement already satisfied: attrs>=17.3.0 in /usr/lib/python3/dist-packages (from aiohttp==3.8.3->-r requirements.txt (line 1)) (23.2.0)
2.891 Collecting charset-normalizer<3.0,>=2.0 (from aiohttp==3.8.3->-r requirements.txt (line 1))
2.900   Downloading charset_normalizer-2.1.1-py3-none-any.whl.metadata (11 kB)
2.906 Requirement already satisfied: multidict<7.0,>=4.5 in /usr/lib/python3/dist-packages (from aiohttp==3.8.3->-r requirements.txt (line 1)) (6.0.4)
2.908 Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/lib/python3/dist-packages (from aiohttp==3.8.3->-r requirements.txt (line 1)) (4.0.3)
2.909 Requirement already satisfied: yarl<2.0,>=1.0 in /usr/lib/python3/dist-packages (from aiohttp==3.8.3->-r requirements.txt (line 1)) (1.8.2)
2.911 Requirement already satisfied: frozenlist>=1.1.1 in /usr/lib/python3/dist-packages (from aiohttp==3.8.3->-r requirements.txt (line 1)) (1.4.0)
2.912 Requirement already satisfied: aiosignal>=1.1.2 in /usr/lib/python3/dist-packages (from aiohttp==3.8.3->-r requirements.txt (line 1)) (1.3.1)
2.918 Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3/dist-packages (from beautifulsoup4==4.11.1->-r requirements.txt (line 2)) (2.5)
2.926 Requirement already satisfied: Werkzeug>=2.0 in /usr/lib/python3/dist-packages (from Flask==2.1.1->-r requirements.txt (line 4)) (2.3.8)
2.928 Requirement already satisfied: Jinja2>=3.0 in /usr/lib/python3/dist-packages (from Flask==2.1.1->-r requirements.txt (line 4)) (3.1.2)
2.929 Requirement already satisfied: itsdangerous>=2.0 in /usr/lib/python3/dist-packages (from Flask==2.1.1->-r requirements.txt (line 4)) (2.1.2)
2.931 Requirement already satisfied: click>=8.0 in /usr/lib/python3/dist-packages (from Flask==2.1.1->-r requirements.txt (line 4)) (8.1.6)
2.939 Requirement already satisfied: Six in /usr/lib/python3/dist-packages (from Flask_Cors==3.0.10->-r requirements.txt (line 5)) (1.16.0)
2.947 Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests==2.28.1->-r requirements.txt (line 6)) (3.6)
2.950 Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests==2.28.1->-r requirements.txt (line 6)) (1.26.18)
2.952 Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests==2.28.1->-r requirements.txt (line 6)) (2023.11.17)
2.959 Requirement already satisfied: packaging in /usr/lib/python3/dist-packages (from gunicorn->-r requirements.txt (line 7)) (23.2)
3.054 Requirement already satisfied: MarkupSafe>=2.1.1 in /usr/lib/python3/dist-packages (from Werkzeug>=2.0->Flask==2.1.1->-r requirements.txt (line 4)) (2.1.3)
3.079 Downloading aiohttp-3.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB)
3.111    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 34.9 MB/s eta 0:00:00
3.132 Downloading beautifulsoup4-4.11.1-py3-none-any.whl (128 kB)
3.138    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.2/128.2 kB 27.6 MB/s eta 0:00:00
3.148 Downloading Flask-2.1.1-py3-none-any.whl (95 kB)
3.154    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 95.2/95.2 kB 24.8 MB/s eta 0:00:00
3.162 Downloading requests-2.28.1-py3-none-any.whl (62 kB)
3.168    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 14.8 MB/s eta 0:00:00
3.177 Downloading gunicorn-21.2.0-py3-none-any.whl (80 kB)
3.182    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.2/80.2 kB 22.9 MB/s eta 0:00:00
3.191 Downloading charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
4.650 Installing collected packages: gunicorn, colorama, charset-normalizer, beautifulsoup4, requests, Flask, aiohttp, Flask_Cors
4.713   Attempting uninstall: colorama
4.733     Found existing installation: colorama 0.4.6
4.735 ERROR: Cannot uninstall colorama 0.4.6, RECORD file not found. Hint: The package was installed by debian.
------
x:y
--------------------
  X |
  X | 
  X | >>> RUN git clone https://github.com/p1ngul1n0/blackbird; cd blackbird; pwd; pip install -r requirements.txt 
  X | 
  X | 
--------------------
ERROR: failed to solve: process "/bin/sh -c git clone https://github.com/p1ngul1n0/blackbird; cd blackbird; pwd; pip install -r requirements.txt" did not complete successfully: exit code: 1
make: *** [Makefile:X X] Error 1

tested on:

pip -V
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.11)

Can't run without python3

What can I do if I want to run the tool but I only can do it if I put python3 instead of just put python like the examples? Can someone help me, please?

I usually use Parrot OS.

some false-true

image
YouTube, TikTok, Pinterest and sometimes other sites return True
('14c7880a71ed2bdae6741b3976907770c7c013af8cefd0e8' is random hexadecimal)

several queries return false results

these all seem to return an account is found however no account exists:
Cash APP account found
Wikipedia account found
Xbox Gamertag account found
Minecraft List account found
Pinterest account found
Vimeo account found
Telegram account found

How do I fix this? (Running as webserver)

File "/Users/henkvaness/blackbird/blackbird.py", line 156, in
command = subprocess.run( ("python", "webserver.py"))
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 501, in run
with Popen(*popenargs, **kwargs) as process:
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 969, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 1845, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
NotADirectoryError: [Errno 20] Not a directory: 'python'

A better web UI

Hey, I noticed the web interface doesn't have a very good UI/UX, do you think a redesign would be a good decision, Also I want to host the website will you choose my Hosting as the official one If i do so? Please note that I'll add google ads in order to make the hosting cost a little cheaper on me

<details><summary>Builds ready [dda2952]</summary><ul><li>builds: <a href="https://output.circle-artifacts.com/output/job/75ccb67c-0462-4523-bec3-3e031c3a45c6/artifacts/0/builds/metamask-chrome-11.10.0.zip">chrome</a>, <a href="https://output.circle-artifacts.com/output/job/75ccb67c-0462-4523-bec3-3e031c3a45c6/artifacts/0/builds/metamask-firefox-11.10.0.zip">firefox</a></li>

Builds ready [dda2952]
Page Load Metrics (1314 ± 443 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint681891213316
domContentLoaded968372110
load5623661314923443
domInteractive968372110
Bundle size diffs
  • background: 0 Bytes (0.00%)
  • ui: 468 Bytes (0.01%)
  • common: 0 Bytes (0.00%)

Originally posted by @metamaskbot in MetaMask/metamask-extension#23511 (comment)

Webserver no results

Hi, first of all nice work!!! amazing.

my issue is, that the webserver doesnt show any results, just a white screen. the results file (username.json) is fine. kind regards

ImportError: cannot import name 'url_quote' (workaround)

Building a fresh Docker image from this Repository code today would lead into the following error:

...
    from flask import Flask, Response, render_template, request, jsonify, send_file
  File "/usr/local/lib/python3.8/dist-packages/flask/__init__.py", line 7, in <module>
    from .app import Flask as Flask
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 27, in <module>
    from . import cli
  File "/usr/local/lib/python3.8/dist-packages/flask/cli.py", line 17, in <module>
    from .helpers import get_debug_flag
  File "/usr/local/lib/python3.8/dist-packages/flask/helpers.py", line 14, in <module>
    from werkzeug.urls import url_quote
ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/usr/local/lib/python3.8/dist-packages/werkzeug/urls.py)

This is not a bug of this code but one of Flask and Werzeug. The former does not specifiy the requirements correctly so that Werkzeug 3.0.0 and Flasks code is not ready for this yet (see SO answer here).

Solution:

Change this

pip install -r requirements.txt

to this

pip install -r requirements.txt && pip install Werkzeug==2.2.2

I would recommend to add this in the README until this is fixed.

Doesnt Work

Traceback (most recent call last):
File "blackbird.py", line 203, in
asyncio.run(findUsername(arguments.username, interfaceType, arguments.csv))
AttributeError: module 'asyncio' has no attribute 'run'

subprocess.CalledProcessError: Command '('/usr/local/opt/[email protected]/bin/python3.9', 'webserver.py')' returned non-zero exit status 1.

python3 blackbird.py --web:

WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.

  • Debug mode: off
    Traceback (most recent call last):
    File "/Users/drjacky/Toolz/H-ck/blackbird/webserver.py", line 28, in
    app.run('0.0.0.0')
    File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 920, in run
    run_simple(t.cast(str, host), port, self, **options)
    File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 1010, in run_simple
    inner()
    File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 950, in inner
    srv = make_server(
    File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 782, in make_server
    return ThreadedWSGIServer(
    File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 688, in init
    super().init(server_address, handler) # type: ignore
    File "/usr/local/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 452, in init
    self.server_bind()
    File "/usr/local/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/server.py", line 136, in server_bind
    socketserver.TCPServer.server_bind(self)
    File "/usr/local/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
    OSError: [Errno 48] Address already in use
    Traceback (most recent call last):
    File "/Users/drjacky/Toolz/H-ck/blackbird/blackbird.py", line 166, in
    command.check_returncode()
    File "/usr/local/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 460, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
    subprocess.CalledProcessError: Command '('/usr/local/opt/[email protected]/bin/python3.9', 'webserver.py')' returned non-zero exit status 1.

PDF export should be a CLI option

I see the web version has this nicely stylised PDF option, and i'd love that as an export option for the CLI, is this something that could be implemented?

Just as an example, export already exists, so could -ej (export json) and a new -ep (export pdf) option be implemented.

Is this possible?

Thank You

G

H

Not responding when running as web server

Hi, here I am again

I'm trying to run blackbird in web mode using the "python blackbird.py --web" directive. The web interface can be opened normally. However, after entering "username" and clicking search, I have been stuck on the "Searching 131 sites for 'username'..." interface and have not returned. As shown below
image

I can make sure my network is accessible because I do a command-style search ("python blackbird.py -u just") with success. As shown below
image
image

webserver error

py3 blackbird.py --web

                                                                                                                                                                                                                                            2 ⨯

▄▄▄▄    ██▓    ▄▄▄       ▄████▄   ██ ▄█▀ ▄▄▄▄    ██▓ ██▀███  ▓█████▄ 
▓█████▄ ▓██▒   ▒████▄    ▒██▀ ▀█   ██▄█▒ ▓█████▄ ▓██▒▓██ ▒ ██▒▒██▀ ██▌
▒██▒ ▄██▒██░   ▒██  ▀█▄  ▒▓█    ▄ ▓███▄░ ▒██▒ ▄██▒██▒▓██ ░▄█ ▒░██   █▌
▒██░█▀  ▒██░   ░██▄▄▄▄██ ▒▓▓▄ ▄██▒▓██ █▄ ▒██░█▀  ░██░▒██▀▀█▄  ░▓█▄   ▌
░▓█  ▀█▓░██████▒▓█   ▓██▒▒ ▓███▀ ░▒██▒ █▄░▓█  ▀█▓░██░░██▓ ▒██▒░▒████▓ 
░▒▓███▀▒░ ▒░▓  ░▒▒   ▓▒█░░ ░▒ ▒  ░▒ ▒▒ ▓▒░▒▓███▀▒░▓  ░ ▒▓ ░▒▓░ ▒▒▓  ▒ 
▒░▒   ░ ░ ░ ▒  ░ ▒   ▒▒ ░  ░  ▒   ░ ░▒ ▒░▒░▒   ░  ▒ ░  ░▒ ░ ▒░ ░ ▒  ▒ 
░    ░   ░ ░    ░   ▒   ░        ░ ░░ ░  ░    ░  ▒ ░  ░░   ░  ░ ░  ░ 
░          ░  ░     ░  ░░ ░      ░  ░    ░       ░     ░        ░    
    ░                  ░                     ░               ░      

                                    Made with ❤️️ by p1ngul1n0

[!] Started WebServer on http://127.0.0.1:9797/

  • Serving Flask app 'webserver' (lazy loading)
  • Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead.
  • Debug mode: off
    [!] Searching 'myname-redacted' across 153 social networks
    [2022-08-12 06:33:33,458] ERROR in app: Exception on /search/username [POST]
    Traceback (most recent call last):
    File "/root/scripts/_OSINT/blackbird/blackbird.py", line 87, in makeRequest
    if showAll:
    NameError: name 'showAll' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 2077, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1525, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.10/dist-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1523, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1509, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "/root/scripts/_OSINT/blackbird/webserver.py", line 24, in searchUsername
results = loop.run_until_complete(findUsername(username))
File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
return future.result()
File "/root/scripts/_OSINT/blackbird/blackbird.py", line 38, in findUsername
results = await asyncio.gather(*tasks)
File "/root/scripts/_OSINT/blackbird/blackbird.py", line 91, in makeRequest
if showAll:
NameError: name 'showAll' is not defined

False positives

The following sites will allways return 200 which shows up as status = "FOUND".
You need more refined tests for them.

"Pinterest"
"Vimeo"
"WordPress Site"
"Universocraft"

Access to 127.0.0.1 was denied

python3 blackbird.py --web:

  Made with ❤️️ by p1ngul1n0

[!] Started WebServer on http://127.0.0.1:5000/
 * Serving Flask app 'webserver'
 * Debug mode: off

http://127.0.0.1:5000/ ->

Access to 127.0.0.1 was denied
You don't have authorization to view this page.
HTTP ERROR 403

async def findUsername(username): SyntaxError: invalid syntax

Hi,
Just got this issue:

└── # python blackbird.py -u testuser                                                                    1 ⨯
  File "blackbird.py", line 26
    async def findUsername(username):
            ^
SyntaxError: invalid syntax

During installation I've got only one error, maybe that is the problem:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
jackit 0.1.0 requires click==5.1, but you have click 8.1.3 which is incompatible.

Can you help solving the problem. Thanks

Error looking for your name

File "/home/kali/blackbird.py", line 113, in
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
AttributeError: module 'asyncio' has no attribute 'WindowsSelectorEventLoopPolicy'

I get this error !!!!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.