Skip to content

Tenable Security Center post gather module#21177

Open
h00die wants to merge 1 commit intorapid7:masterfrom
h00die:security_center
Open

Tenable Security Center post gather module#21177
h00die wants to merge 1 commit intorapid7:masterfrom
h00die:security_center

Conversation

@h00die
Copy link
Contributor

@h00die h00die commented Mar 24, 2026

This PR adds a new post module that works against Tenable Security Center. Does it use Security Center to do a system backup? No, because that requires taking down security center and that would be way to obvious. Instead we upload a PHP file for each phase. It works in 2 phases:

  1. Dump creds which can be decrypted. We upload a PHP page (local, not web hosted) and run it to dump decrypted creds from the database. We then database these ourselves. This is application and organization wide.
  2. Hashed creds. We upload a PHP page (local, not web hosted). The hashing algorithm is unknown, but by uploading our own PHP functions, we can use the system itself to try cracking.
    1. If the user DOES NOT provides a wordlist, just pull the (useless) hashes (don't database since nothing can break them)
    2. if the user DOES provide a wordlist, use the on system cracker to attempt to crack them. Database any that were cracked.

Verification

  • Start msfconsole
  • get a shell on security center
  • use post/linux/gather/tenable_security_center
  • set session #
  • (optionally) set wordlist <file>

@adfoster-r7
Copy link
Contributor

The hashing algorithm is unknown

Is it possible to reverse engineer the hashing algorithm for later offline bruteforcing? 👀

@h00die
Copy link
Contributor Author

h00die commented Mar 26, 2026

The hashing algorithm is unknown

Is it possible to reverse engineer the hashing algorithm for later offline bruteforcing? 👀

The actual hashing algorithm is documented, I misspoke, however it's not hash(salt:pass), they combine uid and at least one other field (I think I documented it somewhere). So while we could grab those fields, they wouldn't fit in the msf DB model well. On top of that, we'd need to format it in a way hashcat/john could read it. I know they have all kinds of different custom formats, but that seemed way outside of the scope here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

3 participants