Load an extension headless
I'm trying to build an easy scanner server, and need to configure Burp to scan in headless mode. As we don't have a graphical interface installed on this server, I have to do all things headless.
I would like to load the carbonator BApp in the installation on my Debian 7.6 machine, but have no clue how to do this?
I have copied the folder from my Kali box, and activated the installation properly on the virtual Debian machine (on the same laptop where I have the Kali) but I have no idea how to load the extension into burp right now...
Can you please help me how to register an extension in headless mode, or hint me how to copy an installation with the correct settings?
Thanks for your message.
Unfortunately, at present the only way to load an extension when Burp is running in headless mode is first to run Burp in non-headless mode, install the extension, ensure the Extender option “Automatically reload extensions on startup” is checked, gracefully shut down Burp, and then restart in headless mode.
A workaround would be to try to copy the relevant Burp preferences from another installation into your headless machine. The preferences are stored in the default Java preferences store, which on Linux is located in the user’s home directory.
FYI, we plan in future to support reload of an existing Burp project / state file via a command line argument, so you could create a suitable project on a non-headless machine, and then reload it on the headless machine.
Please let us know if you need any further assistance.
just read this post. Is there already a better way of doing this?
Thanks for your message.
You can use the —project-file command to reload an existing Burp project via a command line argument.
Have you tried creating a suitable project on a non-headless machine, and then reloading it on your headless machine?
that is precisely what I am doing. Am creating project setting in Burp GUI, save it and import into headless session. That works fine, expect that the extensions are not captured in the project config. When I run burp in headless mode on another machine the extensions would not get loaded nor do I have the option to configure it. When I start it on the machine the extensions get loaded from the last session. Could u explain how the caching works and what makes Burp load the extensions again?
Extensions are loaded as part of Burp’s User-level options.
User-level options are stored within the local installation of Burp, and are automatically reloaded each time Burp starts.
So, to run an extension in headless mode you should first run Burp in non-headless mode, install the extension, gracefully shut down Burp, and then restart in headless mode.
hmm so to sum it up. I can save user options via the UI and can load them again. They actually startup my extensions again.
<-- snippet saved user options
Now there are no command line options to import them again, only project options. Also callbacks.loadConfigFromJson(user_config) does not load them again only the project options. Guys is there no way to load the user options or do I miss something?
Yes, your summation is accurate.
We do plan to provide a command-line option to load a specific extension.
Unfortunately we cannot currently promise an ETA.