NationalSecurityAgency / ghidra

Ghidra is a software reverse engineering (SRE) framework
https://www.nsa.gov/ghidra
Apache License 2.0
49.16k stars 5.66k forks source link

Add certificate based authentication to Ghidra Remote Debugging via SSH #6448

Open marknelsonengineer-student opened 2 months ago

marknelsonengineer-student commented 2 months ago

Remote gdb via ssh is currently only authenticated using username/password. We are respectfully requesting the addition of certificate-based authentication because:


Thank you for Ghidra -- my students and I love this tool.

nsadeveloper789 commented 2 months ago

I assume you are using the latest release, and not building from source?

It's likely the next (non-patch) release will have the requested feature. If you are able and willing, could you build the latest development code from source and give it a try. The new system, instead of using a Java-based SSH library, just shells out to your installed ssh command. In theory, if that's configured to use certificates, then it'll just work.

  1. Build and install Ghidra from a clone of the latest source.
  2. Start a new project (so you don't risk breaking any existing program databases.)
  3. Import a target.
  4. Delete your Debugger Tool, and re-import it from the defaults (Tools → Import Default Tools)
  5. Open your target in the Debugger Tool.
  6. Click the drop-down by the Launch button and select gdb via ssh.
  7. Fill out the fields. There should be a field in there for extra arguments to ssh, if those are necessary.
  8. Click Launch.
  9. Pay attention to the terminal. It might prompt for a password. Take note whether its for the user's password or the password to unlock a private key.
  10. Let me know how it goes.

If this is already what you're doing, then I'm sorry for the pedantic response. If it's not working, then I'd be interested in the steps to reproduce the authentication failure when certificates are required.