Replies: 5 comments 9 replies
-
|
The maintainability of one module for all can be a lot harder and the options on modules are not ideal, which will make things harder like -M nanodump will become -M dumplsass -O METHOD=nanodump etc Which kind a break the simplicity of it |
Beta Was this translation helpful? Give feedback.
-
|
I agree with Mpgn, a module that bundle multiple modules is a huge file with a lot of code, so harder to debug and maintain On the other hand, I like the Lazagne idea of grouping credential dumping modules. For now, if you want to test every credential dumping modules, you need to chain them in a command, and we are starting to have a bunch of them. It could be nice to have some king of shortcut to use them all at one, but in the same time still being able to use only one, because sometimes you want to check only veeam stuff for example. Maybe a module that "just" launch multiple modules ? |
Beta Was this translation helpful? Give feedback.
-
|
I like the idea of one module calling others. There would still be code separation (so hopefully it'll be relatively easy to maintain), but it'll be easier for users. I used to be able to easily identify and use any module I needed when I looked at every PR in the nxc discord, but now that I haven't had the time to look at each one, the number of new modules has been overwhelming to parse through and remember. As for design, I'm not sure what would happen. I can imagine logically separating modules into folders? iirc modules imports are dynamically resolved, so hopefully that wouldn't matter too much. I'd imagine a directory structure like: Maybe people could view submodules with Thoughts? Regardless, I would love a feature to make modules more manageable, especially since people will continue to write more and more. Eventually, I'm sure |
Beta Was this translation helpful? Give feedback.
-
|
So in my opinion this depends on the module. I think for modules that share a lot of similarities like coercing modules, streamlining and merging these modules can improve maintainability if done correctly. E.g. i can see that being the case for the lsass dump modules, where you often have a binary and then a specific command on how to execute them (simply put). Merging these with a bit of work to make a good code base could be very nice, so you only have one class&module for lsass dumping and could then specify what exactly you want: With modules like vnc, veeam, putty, mremoteng etc i don't see this being useful. These modules are just way to different in what they are doing. That would just be a giant file of code chained together. And like @zblurx i also want to pick out some of these modules against specific hosts. I could see something like a "lazagne" module where it just calls a few other modules under the hood, but with that we should also be careful or at least advice, that this can take a ton of time when running against multiple hosts at once (imagine running 10 modules against a /16 range). However in the long term this does not solve the underlying problem that we will get more and more modules which in turn will make the list more and more confusing. Not sure how to solve that honestly. Maybe folders like @Adamkadaban suggested? Maybe tags? Maybe something like Metasploit is doing? I am not sure yet how we could solve that problem in the long term. That is at least my take :) |
Beta Was this translation helpful? Give feedback.
-
|
Ayo guyz, so I have just submitted a draft PR to experiment with the --lsass core option: As of now I believe it is better to rely entirely on a single tool (LSASSY) that does handle pretty much everything we need. I also believe we should PR LSASSY when adding new dump methods instead of NXC directly. Now that I have worked on that option, I believe we can also factorize multiple options such as:
I'm keen working on these changes so let me know what you think about it :)! |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone,
Previously, I worked on PR #300, where I merged several modules like PetitPotam, dfscoerce, shadowcoerce, printerbug and mseven into a single unified module.
Now, I’m planning to do something similar for modules such as drop-sc.py, slinky.py, and scuffy.py — as well as for file types like #657 .searchConnector-ms, .URL, etc.
The goal is to consolidate these modules into a single one that:
• Supports same parameters (e.g., target file name, delete flag, etc.),
• Simplifies usage and improves maintainability,
• Reduces fragmentation while preserving modularity.
I can handle the necessary testing and submit a PR.
This idea doesn’t have to be limited to file-drop modules only. We could consider a similar approach for other module categories as well.
For example, LSASS dumping could benefit from a unified module structure. I know lsassy already supports multiple methods, but we also have tools like nanodump, procdump, handlekatz, etc. Consolidating these into a common module might improve usability and make maintenance easier.
Similarly, for credential harvesting, which I’m currently working on (as a Lazagne-style module), there might be value in merging modules like vnc.py, winscp.py, veeam.py, putty.py, mremoteng.py, mobaxterm.py, iis.py, and firefox.py.
However, before moving forward, I wanted to open up this discussion:
Do you think merging these modules into one is a good idea from a long-term sustainability or modularity perspective?
Could this impact usability or future development negatively in ways I might be overlooking?
I’m open to feedback on whether this kind of consolidation aligns with NetExec’s design philosophy.
Looking forward to hearing your thoughts and suggestions!
Beta Was this translation helpful? Give feedback.
All reactions