Skip to main content

Retrieve saved passwords. Currenly working for Chrome-based Linux & Windows browsers.

Project description

Passax

EDUCATIONAL PURPOSES ONLY

Python3 library that can retrieve Chrome-based browser's saved login info.


Requirements

  • secretstorage~=3.3.1
  • pywin32==302 (Only Windows)
  • pycryptodome==3.12.0

Notice that these libraries will be automatically installed through the setup.py file when using pip install passax.


Suported Systems

Passax v-1.10 now includes:

  • MacOS (Only tried in Monterrey)
  • Windows (Only tried in Win-10)
  • Linux (Tried on Ubuntu / Kali Linux)

Usage

Notice that sometimes you might get a blank output, this can be because you had installed the browser you're trying to get data from, but the login data was erased. You can use the blank_file = False parameter not to save the file if it's blank.

Print to screen the login info from Chrome.

from passax.chrome import windows, browsers

# Change to chrome.ChromeLinux for Linux users.
# Change to chrome.ChromeMacOS for MacOS users.
# Chrome is a supported browser
win = windows.Chrome(browsers.Chrome, blank_passwords=False)  # Class instance
win.fetch()  # Get database paths and keys
win.retrieve_database()  # Get the data from the database
print(win.pretty_print())

Save data to a file.

from passax.chrome import windows, browsers

win = windows.Chrome(browsers.Chrome, blank_passwords=False)
win.fetch()
win.retrieve_database()
win.save("login_data.txt", blank_file=False, verbose=True)

Save login data from all suported browsers

from passax.chrome import windows, browsers

for browser in browsers.available_browsers:
    win = windows.Chrome(browser, blank_passwords=False)  # Class instance
    win.fetch()  # Get database paths and keys
    win.retrieve_database()  # Get the data from the database
    win.save(f"{browser.base_name}_data.txt", blank_file=False, verbose=True)  # Save the file

Run in any supported OS (Note that macOS will not work because I need to include the browsers. This will come with the next update)

import platform
import sys

from passax.chrome import browsers

if platform.system() == "Windows":
    from passax.chrome import windows as os

elif platform.system() == "Linux":
    from passax.chrome import linux as os

elif platform.system() == "Darwin":
    from passax.chrome import macos as os

else:
    print("No compatible system!")
    sys.exit(-1)  # Clean exit

for browser in browsers.available_browsers:
    passax_ = os.Chrome(browser, blank_passwords=False)  # Class instance
    passax_.fetch()  # Get database paths and keys
    passax_.retrieve_database()  # Get the data from the database
    passax_.save(f"{browser.base_name}_data.txt", blank_file=False, verbose=True)

To do

  • Add the test file back (removed because it needed a fix)
  • Maybe add other browsers not based on Chromium (Firefox, for example).

Contact

Any suggestions/problems contact me at auax.dev@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

passax-1.21.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file passax-1.21.tar.gz.

File metadata

  • Download URL: passax-1.21.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for passax-1.21.tar.gz
Algorithm Hash digest
SHA256 4f15e6ca0ab5b9c29ba535610634b0ac015af70ef0350db19fbe4db5d78ba6e5
MD5 e88b60599c201ae28c86b96b711a1abc
BLAKE2b-256 6b5fa8a644aa8a5c02e55d977a31cd41c1c2bfdd7325c7e6af9803711b76bf60

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page