WinSCP Password Extractor
WinSCP stores ssh session passwords in an encoded format in either the registry or a config file called WinSCP.ini.
This python script searches in the WinSCP default locations to extract stored credentials for the current user, when executed locally on the target. If a WinSCP.ini config file is already present the script can decode stored credentials as seen below. To gather WinSCP credentials from a remote target or a range of targets there is a module present for the pentesting Tool NetExec called "winscp".
These default locations are:
- registry
- %APPDATA%\WinSCP.ini
- %USER%\Documents\WinSCP.ini
Alternatively, a registry hive can be decrypted locally if it has been exported from the target (NTUSER.DAT file from the user home folder).
Installation
WinSCPPasswdExtractor is available on pypi.org. Therefore it is recommended to install this tool with pipx:
pipx install WinSCPPasswdExtractor
Alternatively you could install it with pip or simply download the file and run it.
Usage
You can either specify a file path if you know the exact path to an existing WinSCP.ini file or you let the tool itself look if any credentials are stored in the default locations. If the provided file is a recovered registry hive, pass the -r or --registry flag.
With pipx:
WinSCPPasswdExtractor
WinSCPPasswdExtractor --path <path-to-winscp-file>
WinSCPPasswdExtractor --path <path-to-ntuser-hive-file> --registry
Manually downloaded:
python WinSCPPasswdExtractor.py
python WinSCPPasswdExtractor.py --path <path-to-winscp-file>
python WinSCPPasswdExtractor.py --path <path-to-ntuser-hive-file> --registry
About
This Tool is based on the work of winscppasswd, the ruby winscp parser from Metasploit-Framework and the awesome work from winscppassword.
They did the hard stuff
Metadata
Release files for WinSCPPasswdExtractor 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| winscppasswdextractor-1.3.0.tar.gz | 5.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| winscppasswdextractor-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.7 kB
Release files / winscppasswdextractor-1.3.0.tar.gz
| Download URL | winscppasswdextractor-1.3.0.tar.gz |
|---|---|
| Size | 5.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a23faa1bbb5f1f4bc30a7ff6a9d7e84dd2422f7c74c73af5b3f54add693e040c
|
|
BLAKE2b-256 checksum How to use checksums |
81ad448f5e2bb393e793577cddaeb39e9733ec5ca538aa587114f3475f0eb853
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.12.0 Windows/11
|
Release files / winscppasswdextractor-1.3.0-py3-none-any.whl
| Download URL | winscppasswdextractor-1.3.0-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8a80d5a58bded186947716a845cb8cc3d919d7382db11a181a72c750fc185df8
|
|
BLAKE2b-256 checksum How to use checksums |
9c9dff173389c143b7cf8c51a64db7609256317c6a162e47d4efc820746d2cb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.3.2 CPython/3.12.0 Windows/11
|