-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Module for PL/SQL Developer to gather credentials #18491
Conversation
Thanks for your pull request! Before this can be merged, we need the following documentation for your module: |
e88fa46
to
d07ad32
Compare
documentation/modules/post/windows/gather/credentials/plsql_developer.md
Outdated
Show resolved
Hide resolved
Co-authored-by: jheysel-r7 <[email protected]>
Thanks for your pull request! Before this pull request can be merged, it must pass the checks of our automated linting tools. We use Rubocop and msftidy to ensure the quality of our code. This can be ran from the root directory of Metasploit:
You can automate most of these changes with the
Please update your branch after these have been made, and reach out if you have any problems. |
Also, I'm seeing warnings about single string matching:
|
I later realized that the latest version (v15.x.x) of The v14.x.x version of PL/SQL Developer seemed to use the same encryption method that can be decrypted by this module, but the preference file structure has changed (I've not adapted the module to compatible for v14 now) It won't be too difficult to adapt. But what is annoying is that I don't have installation packages of v9.x.x ~ v13.x.x, so I don't know what the preference file looks like in those versions. From which version did PL/SQL Developer take this change. |
Hi there; I was able to grab the installer by backward surfing the download link and using version 14.04, but I was not able to go any further back to 13, so they may not be hosted or the naming convention might have changed. I hit a couple of snags on this; I've suggested some error checking in the loop to find the file, but also, the config folder was not named as expected:
I was not able to get this to work because the config file was not populated. Is there a way to populate it without actually authenticating? If not, could you send us a dummy file to [email protected]? |
@bwatters-r7 Sorry for the late response, but I managed to figure out the structure of PL/SQL Developer preference file now. For older versions, the directory is I've updated the module to handle both kind of preference files, it should now work for version 14 and earlier.
|
For older versions (like v8 v9), you can use the example in my first conversation. Just make a file with the name I have a copy of PL/SQL Developer v8, I can send it to the email address if you need it. For newer versions like v14/v15, the installtion packages are still available and can be installed directly. |
@bwatters-r7 I finally figured out how to decrypt the passwords for v15 of PL/SQL Developer by some reverse engineering and the module should be able to decrypt the credentials of any version of PL/SQL Developer now. |
|
Release NotesThis PR add a post/windows/gather/credential module to gather history/credentials from PL/SQL Developer, which is a widely used tool to manage Oracle Databases. |
Add a post/windows/gather/credential module to gather history/credentials from PL/SQL Developer, which is a widely used tool to manage Oracle Databases.
This module can decrypt the histories and connection credentials of PL/SQL Developer, and passwords are available if the user chooses to remember.
Analysis of encryption algorithm here.
You can find its official website here.
The login credentials and histories are stored in
user.prefs
which can usually be found in following directories:These are the default preference file path, from the latest version to the earliest version.
An example of v8, v9
user.prefs
would beThe lines in the
[LogonHistory]
section can be decrypted as described here. And the decrypted line in the example would beuser/password@server
An example of v14
user.prefs
would beThe
Password
in the[Connections]
section can be decrypted with the exact same algorithm described above.Verification
List the steps needed to make sure this thing works
meterpreter
session on a Windows host.run post/windows/gather/credentials/plsql_developer