Code Monkey home page Code Monkey logo

arsenal's People

Contributors

0xswitch avatar bittner avatar cclauss avatar claire-lex avatar cse-ocd avatar dlee35 avatar fantasy0x1 avatar fastiraz avatar ffontaine avatar guilhem7 avatar jubeaz avatar mayfly277 avatar mgp25 avatar none87 avatar r3dp0int avatar renoua avatar rog3rsm1th avatar rumble773 avatar snovvcrash avatar t1erno avatar thetoddluci0 avatar titanexx avatar v1k1ngfr avatar xailuros avatar yonasuriv avatar zaleoth avatar zblurx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arsenal's Issues

Doesn't work on macOS

Hi, Thank you for this great project!

OS Version:
macOS Big Sur :
Version: 11.0.1 (20B29)

Issue:
Running Arsenal Script with python3 on MacOs Big Sur is leading to the down mentioned error, it seems something like GUI Error!
Output:
image

meridian0x01@Meridians-MacBook-Pro arsenal (master) $ ./run Traceback (most recent call last): File "./arsenal/app.py", line 140, in <module> App().run() File "./arsenal/app.py", line 59, in run cmd = gui.Gui().run(cheatsheets) File "/Users/meridian0x01/Desktop/workspace/Tools/arsenal/arsenal/modules/gui.py", line 700, in run wrapper(cheats_menu.run) File "/usr/local/Cellar/[email protected]/3.7.9_2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/curses/init.py", line 102, in wrapper return func(stdscr, *args, **kwds) File "/Users/meridian0x01/Desktop/workspace/Tools/arsenal/arsenal/modules/gui.py", line 289, in run self.draw(stdscr) File "/Users/meridian0x01/Desktop/workspace/Tools/arsenal/arsenal/modules/gui.py", line 203, in draw self.draw_prompt() File "/Users/meridian0x01/Desktop/workspace/Tools/arsenal/arsenal/modules/gui.py", line 36, in draw_prompt promptwin.addstr(":skull_crossbones: >", curses.color_pair(Gui.BASIC_COLOR)) _curses.error: addwstr() returned ERR

Any solution?

Crashes at every cheat sheet when pressing ENTER

Crashes at every cheat sheet when pressing ENTER

Error

When I choose a random command on arsenal, configure its parameters and press enter, i encounter this error log :

Traceback (most recent call last):
  File "/usr/lib/python3.11/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/nathan/.local/lib/python3.11/site-packages/arsenal/modules/gui.py", line 319, in run
    wrapper(args_menu.run)
  File "/usr/lib/python3.11/curses/__init__.py", line 101, in wrapper
    endwin()
_curses.error: endwin() returned ERR

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/nathan/.local/bin/arsenal", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/nathan/.local/lib/python3.11/site-packages/arsenal/app.py", line 185, in main
    App().run()
  File "/home/nathan/.local/lib/python3.11/site-packages/arsenal/app.py", line 64, in run
    self.start(args, cheatsheets)
  File "/home/nathan/.local/lib/python3.11/site-packages/arsenal/app.py", line 71, in start
    cmd = gui.run(cheatsheets)
          ^^^^^^^^^^^^^^^^^^^^
  File "/home/nathan/.local/lib/python3.11/site-packages/arsenal/modules/gui.py", line 827, in run
    wrapper(self.cheats_menu.run)
  File "/usr/lib/python3.11/curses/__init__.py", line 101, in wrapper
    endwin()
_curses.error: endwin() returned ERR

System info

$ uname -a
Linux blade 6.3.0-kali1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.3.7-1kali1 (2023-06-29) x86_64 GNU/Linux

$ a --version
arsenal (version 1.1.1)

20240521- powershell.md's issue

Hi Guys,

There is a broblem with "arsenal/arsenal/data/cheats/Windows/powershell.md" commande :

powershell - Verify application whitelisting

Get-ChildItem -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\SrpV2\Exe

It makes the following error, and the application arsenal fails :

Traceback (most recent call last):
File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/etc/arsenal/arsenal/main.py", line 14, in
main()
File "/etc/arsenal/arsenal/app.py", line 185, in main
App().run()
File "/etc/arsenal/arsenal/app.py", line 58, in run
cheatsheets = cheat.Cheats().read_files(config.CHEATS_PATHS, config.FORMATS,
File "/etc/arsenal/arsenal/modules/cheat.py", line 445, in read_files
parsersfile_format
File "/etc/arsenal/arsenal/modules/cheat.py", line 298, in parse_markdown
with open(filename) as f:
OSError: [Errno 22] Invalid argument: '/etc/arsenal/arsenal/data/cheats/Windows/powershell-bkp.md'

Error whenever i try to run command

I installed with the pip3 command, on the latest Kali version. After starting arsenal and selecting a random command, and then filling out the parameters and pressing enter, I get the following error.

I've already tried on another Kali machine, with an older version to verify, and I see the same thing.

It's the same for all tools.

These are the current versions of the required packages.

>python3 -m pip install arsenal-cli


Defaulting to user installation because normal site-packages is not writeable
DEPRECATION: Loading egg at /usr/local/lib/python3.11/dist-packages/mitm6-0.3.0-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation.. Discussion can be found at https://github.com/pypa/pip/issues/12330                                                                                                                                    
Requirement already satisfied: arsenal-cli in /home/kali/.local/lib/python3.11/site-packages (1.1.1)                                                                                                           
Requirement already satisfied: libtmux in /home/kali/.local/lib/python3.11/site-packages (from arsenal-cli) (0.25.0)
Requirement already satisfied: docutils in /home/kali/.local/lib/python3.11/site-packages (from arsenal-cli) (0.20.1)
Requirement already satisfied: pyperclip in /usr/lib/python3/dist-packages (from arsenal-cli) (1.8.2)
Requirement already satisfied: pyyaml in /usr/lib/python3/dist-packages (from arsenal-cli) (6.0.1)
Requirement already satisfied: pyfzf in /home/kali/.local/lib/python3.11/site-packages (from arsenal-cli) (0.3.1)
Traceback (most recent call last):
  File "/usr/lib/python3.11/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kali/.local/lib/python3.11/site-packages/arsenal/modules/gui.py", line 319, in run
    wrapper(args_menu.run)
  File "/usr/lib/python3.11/curses/__init__.py", line 101, in wrapper
    endwin()
_curses.error: endwin() returned ERR

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kali/.local/bin/arsenal", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/kali/.local/lib/python3.11/site-packages/arsenal/app.py", line 185, in main
    App().run()
  File "/home/kali/.local/lib/python3.11/site-packages/arsenal/app.py", line 64, in run
    self.start(args, cheatsheets)
  File "/home/kali/.local/lib/python3.11/site-packages/arsenal/app.py", line 71, in start
    cmd = gui.run(cheatsheets)
          ^^^^^^^^^^^^^^^^^^^^
  File "/home/kali/.local/lib/python3.11/site-packages/arsenal/modules/gui.py", line 827, in run
    wrapper(self.cheats_menu.run)
  File "/usr/lib/python3.11/curses/__init__.py", line 101, in wrapper
    endwin()
_curses.error: endwin() returned ERR

Add test setup

Arsenal has stopped working on my machine since I pulled the latest changes from GitHub today.

It may be worth to add a test suite that verifies that the Python code keeps working. Would you accept a related PR?

If yes, which Python versions do you want to support? Is Python 3.6+ sufficient, or should Python 2.7 ideally be included?

TIOCSTI disabled by default in recent kernels breaks arsenal

It seems recent kernels are disabling TIOCSTI by default. This results in the following error and arsenal being unusable:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/[...]/arsenal/arsenal/__main__.py", line 14, in <module>
    main()
  File "[...]/arsenal/app.py", line 185, in main
    App().run()
  File "[...]l/arsenal/app.py", line 64, in run
    self.start(args, cheatsheets)
  File "[...]/arsenal/app.py", line 161, in start
    self.prefil_shell_cmd(cmd)
  File "[...]/arsenal/app.py", line 178, in prefil_shell_cmd
    fcntl.ioctl(stdin, termios.TIOCSTI, c)
OSError: [Errno 5] Input/output error

This was on Kali after recent update, kernel: 6.3.0-kali1-amd64 SMP PREEMPT_DYNAMIC Debian 6.3.7-1kali1 (2023-06-29) x86_64 GNU/Linux
But on Arch I think it's been a problem for longer.

For now it can be fixed with: sysctl -w dev.tty.legacy_tiocsti=1

But I think it's being disabled due to security issues. So I think arsenal should stop using it if possible. Not sure about alternative though.

exclude term for search

1st of all, great tool. It helps a lot. Is there a way to exclude terms for the search ?
For instance:
I would like to see "reverse shell" but to exclude the entries that include "meterpreter".
Achieving this with a search similar to "reverse shell !meterpreter" would be great :)

Error when selecting command

Hello,

I have installed the tool correctly and it works normally when the commands are displayed. However, when it comes to selecting the command with the enter key once the various arguments have been entered for it, here's the error returned that I can't correct:

Traceback (most recent call last):
  File "/usr/lib/python3.11/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/XX/.local/lib/python3.11/site-packages/arsenal/modules/gui.py", line 382, in run
    curses.endwin()
_curses.error: endwin() returned ERR

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/XX/.local/bin/arsenal", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/XX/.local/lib/python3.11/site-packages/arsenal/app.py", line 185, in main
    App().run()
  File "/home/XX/.local/lib/python3.11/site-packages/arsenal/app.py", line 64, in run
    self.start(args, cheatsheets)
  File "/home/XX/.local/lib/python3.11/site-packages/arsenal/app.py", line 71, in start
    cmd = gui.run(cheatsheets)
          ^^^^^^^^^^^^^^^^^^^^
  File "/home/XX/.local/lib/python3.11/site-packages/arsenal/modules/gui.py", line 827, in run
    wrapper(self.cheats_menu.run)
  File "/usr/lib/python3.11/curses/__init__.py", line 101, in wrapper
    endwin()
_curses.error: endwin() returned ERR

My python version is 3.11.7.
Do you know how to correct it ?

Thank you for your work.

Possible effort overlap?

I'm glad my project served as inspiration and is giving space to new tools 🙂

I just wanted to invite you to open issues in https://github.com/denisidoro/navi if you feel like or to submit PRs with new features, to cover your needs 🚀

In any case, feel free to close this issue 👍

Problem with chinese

After installing Arsenal using homebrew, I tried to write my own cheatsheets, however, it contains Chinese characters, so Arsenal reported an error like:
image
So I re-edited gui.py and modified line 128 like

try:
    win.addstr("\n")
except BaseException:
    pass

After the modification, Arsenal no longer reports an error when encountering Chinese, but the line spacing seems to be changed to two lines:
image
This doesn't affect usage, but I wonder if there is a workaround

Error

Traceback (most recent call last):
File "/opt/homebrew/bin/arsenal", line 5, in
from arsenal.app import main
File "/opt/homebrew/lib/python3.12/site-packages/arsenal/app.py", line 13, in
from .modules import cheat
File "/opt/homebrew/lib/python3.12/site-packages/arsenal/modules/cheat.py", line 9, in
from yaml import load as yml_load, FullLoader
ModuleNotFoundError: No module named 'yaml'

Possibly curses-related issue

Having worked around the IOCTL issue, I now found a new one. I have a dual environment in which I run Arsenal (my main machine is Fedora 39, and my pentest machine is a virtualized Kali Linux 2023.4). When I run arsenal on my fedora machine it works correctly, but on my Kali machine it gives me this error:

Traceback (most recent call last):
  File "/usr/lib/python3.11/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kali/.virtualenvs/arsenal/lib/python3.11/site-packages/arsenal/modules/gui.py", line 319, in run
    wrapper(args_menu.run)
  File "/usr/lib/python3.11/curses/__init__.py", line 101, in wrapper
    endwin()
_curses.error: endwin() returned ERR

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kali/.virtualenvs/arsenal/bin/arsenal", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/kali/.virtualenvs/arsenal/lib/python3.11/site-packages/arsenal/app.py", line 185, in main
    App().run()
  File "/home/kali/.virtualenvs/arsenal/lib/python3.11/site-packages/arsenal/app.py", line 64, in run
    self.start(args, cheatsheets)
  File "/home/kali/.virtualenvs/arsenal/lib/python3.11/site-packages/arsenal/app.py", line 71, in start
    cmd = gui.run(cheatsheets)
          ^^^^^^^^^^^^^^^^^^^^
  File "/home/kali/.virtualenvs/arsenal/lib/python3.11/site-packages/arsenal/modules/gui.py", line 827, in run
    wrapper(self.cheats_menu.run)
  File "/usr/lib/python3.11/curses/__init__.py", line 101, in wrapper
    endwin()
_curses.error: endwin() returned ERR

It looks like it's a ncurses-related issue. On Fedora 39, the installed version of ncurses is 6.4.20230520. On Kali, the installed version is 6.4.20231121.

Not executing the $ variables

Running arsenal on Ubuntu 20.04 with Python 3.8. When trying to create an executable variable, or use existing cheats with executable variables, the command isn't ran. Instead, the command is just populated with $(command --- --headers 1 --column 3) etc.

Has anyone managed to get the executable variables to work?

Thanks in advance!

Input/output error - termios.TIOCSTI

          Hey !

Because of TIOCSTI patch applied recently on Linux Kernel, we need to re-implement some Arsenal functions (which can take some time).
Thanks @slasheur7 helping at troubleshooting this.

Here is a workaround, execute as root :
sysctl -w dev.tty.legacy_tiocsti=1

If you want this workaround to survive a reboot, add the following configuration to sysctl.conf file (root permission needed) :
echo "dev.tty.legacy_tiocsti=1" >> /etc/sysctl.conf

It works on the current Kali 2023.4 (python 3.11.7 and 3.12.1) and should also work on other Linux distro.

Of course there is security concern (ie : if you are not already root on your Linux). More information about TIOCTSI in the following kernel commit log :
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=83efeeeb3d04b22aaed1df99bc70a48fe9d22c4d

Originally posted by @v1k1ngfr in #69 (comment)

Character "|" in constant not supported

Whenever there is a | in a command's variable part <variable> (silly idea, isn't it? :)), the program's GUI part crashes with a IndexError: list index out of range.

Example:

Input:

hashcat hashfile -r <rule|best64.rule> <dict|wordlist.txt>

Output:

Traceback (most recent call last):
  File "./arsenal/app.py", line 174, in <module>
    App().run()
  File "./arsenal/app.py", line 68, in run
    cmd = gui.run(cheatsheets)
  File "path/arsenal/arsenal/modules/gui.py", line 704, in run
    wrapper(self.cheats_menu.run)
  File "/usr/lib64/python3.6/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
  File "path/arsenal/arsenal/modules/gui.py", line 301, in run
    wrapper(args_menu.run)
  File "/usr/lib64/python3.6/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
  File "path/arsenal/arsenal/modules/gui.py", line 597, in run
    self.draw(stdscr)
  File "path/arsenal/arsenal/modules/gui.py", line 571, in draw
    self.draw_args_preview()
  File "path/arsenal/arsenal/modules/gui.py", line 540, in draw_args_preview
    if Gui.cmd.args[(i-1)//2][1] == "":
IndexError: list index out of range

AttributeError: 'str' object has no attribute 'keys' during YAML parsing

Hi.

I unintended deleted the folder "arsenal/data/cheats" and I created the folder back, then running the tool, I got this error:

Traceback (most recent call last):
  File "/opt/homebrew/bin/arsenal", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/app.py", line 185, in main
    App().run()
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/app.py", line 58, in run
    cheatsheets = cheat.Cheats().read_files(config.CHEATS_PATHS, config.FORMATS,
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/modules/cheat.py", line 445, in read_files
    parsers[file_format](str(entry.absolute()))
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/modules/cheat.py", line 224, in parse_yaml
    if all(item in tool.keys() for item in required_fields):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/arsenal/modules/cheat.py", line 224, in <genexpr>
    if all(item in tool.keys() for item in required_fields):
                   ^^^^^^^^^
AttributeError: 'str' object has no attribute 'keys'

Is there any solution?

change the view / hide first column

Hi,

First of all this is great and has helped me so much.

I wanted to know if it is possible to hide/remove the first column (red boarder image below). personally i dont find this that useful and would like more space for the description

image

I noticed on the readme for this project the gif doesnt show the first column and was trying to achieve the same

Thanks

Improvement: Go down with "tab" and go up with "shift+tab".

It would be very useful and a great improvement, especially in productivity and comfort, to be able to scroll through the main menu down with "tab" and up with "shift + tab". Also that this was possible by selecting a command and moving within the different parameters, "ip, port, etc". I look forward to this improvement with great enthusiasm. Thank you.

how to contribute

Hello,

I would like to contribute, i made a lot of sheets, powerview included

kind regards

Rewriting of the GUI

Hello,

I was thinking to rewrite the GUI using the https://textual.textualize.io/ in order to ease the work on options.

Will you agree on such a change or should I create a new project (arsenal-ng) and mention that it is originated from you project ?

Regards,

Make args optionnal

Is it possible to make somthing like:
Command <Needed_value> <?OptionalValue>
So when in prompt, we must enter Needed_value but not OptionalValue
Really great project btw !

关于在mac m1上无法使用的问题

您好,感谢您的这个伟大的项目!

操作系统版本:
macOS Big Sur :
版本:11.2.3 (20D91) Apple M1
问题: 在mac上无法运行
截屏2021-09-16 上午1 43 53

apple@xiaoxiong arsenal-master % ./run
Traceback (most recent call last):
File "/Users/apple/Downloads/arsenal-master/arsenal/modules/gui.py", line 39, in draw_prompt
promptwin.addstr("☠️ >", curses.color_pair(Gui.BASIC_COLOR))
_curses.error: addwstr() returned ERR

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "./arsenal/app.py", line 179, in
App().run()
File "./arsenal/app.py", line 66, in run
self.start(args, cheatsheets)
File "./arsenal/app.py", line 73, in start
cmd = gui.run(cheatsheets)
File "/Users/apple/Downloads/arsenal-master/arsenal/modules/gui.py", line 814, in run
wrapper(self.cheats_menu.run)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/curses/init.py", line 105, in wrapper
return func(stdscr, *args, **kwds)
File "/Users/apple/Downloads/arsenal-master/arsenal/modules/gui.py", line 307, in run
self.draw(stdscr)
File "/Users/apple/Downloads/arsenal-master/arsenal/modules/gui.py", line 225, in draw
self.draw_prompt()
File "/Users/apple/Downloads/arsenal-master/arsenal/modules/gui.py", line 41, in draw_prompt
promptwin.addstr(">>>>", curses.color_pair(Gui.BASIC_COLOR))
_curses.error: addwstr() returned ERR

python files

can you upload the python file you use or the github source you get

PetitPotam.py
cve-2020-1472-exploit.py
secretsdump.py
restorepassword.py
GetADUsers.py
GetUserSPNs.py
goldenPac.py
CVE-2021-1675.py
dnstool.py
psexec.py
wmiexec.py
atexec.py
getTGT.py

etc

problem with md variable parsing

Hello,

when setting a variable inside a markdown cheat the variable value is not properly set when it contains a ":" like for a windows path
for example :
= bitsadmin_path: 'c:\windows\temp'

I guess to correct it the following lines in parse_yaml function of cheat.py have to be changed this way

             varname = line[2:].split(':')[0].strip()
              varval = line[2:].split(':')[1].strip()
               varname = line[2:].split(':',1)[0].strip()
               varval = line[2:].split(':',1)[1].strip()

[Feature Request] Support Vim Key Binding for Arsenal Navigation

Hello Team,

I love this project! I'd been working on a solution like this for a while until I discovered Arsenal! I have some cool ideas to help improve Arsenal in the future. However I will keep those ideas for another time.

For now I would like to request Vim key binding support within the navigation menu of Arsenal be added. This would be very useful for us keyboard junkies.

Thanks!

[Enhancement] Declaring variables within a file

Hi,

I could not find a option within the README file or within the program's help menu which helps with declaring the variables required with commands within a file for ease of use for future.

At the moment, arsenal only allows setting of the (global) variables within the program itself, if we could extend it to load variables from a external file, that would make things much faster!

What is expected?

Loading of a file through an argument which then contains the variables to be used within the commands within arsenal.

domain=google.com
ip=1.1.1.1
user=anonymous

Hopefully, the request is clear enough, if not, feel free to reply for more details.

option to add prefix to all commands (for example proxychains)

Hello,

I have made some changes on my local version but as I'm not a good programmer I don't want to make a pull request.

Is it possible to add an option to prefix all commands returned by arsenal with a string. it would be great if the string if not provided on the command line could be taken from an environment variable.

Personally, I use it to prefix my commands with 'proxychains -q'

regards,

args uniqueness

Hello,

I don't know if this is the proper place to exchange on modification, but as I'm starting to work on adding the concept of option that can be either constant string or a mix on constant and args (see my comments in Issues open on optional args), I realized that there is something that is bothering me in the way args are managed. Right now for me they are more named place holder, because args having the same name can have different values.

As I consider it, a command needs args and an arg can be used in several location of the command representation.
example:

$ cp --help
Usage: cp [OPTION]... [-T] SOURCE DEST

Declaring cp <path> <path> it's not declaring the arguments of cp.

Do you agree if we do perform code modification to args and not named place holder. This means that args will be unique and written at different place of the command.

The impact will be on such declaration :
example cmd <arg_1|Default_value_1>... <arg_1|Default_value_2>

arg_1 has two default value, So the last one will be the one set (Default_value_2) or the first one.
If you agree I could make a first pull request before adding these changes then Ill work on options.

Cannot run any tool (permission denied)

Example:

??(root?localhost)-[~]
??# arsenal
Traceback (most recent call last):
  File "/usr/local/bin/arsenal", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/arsenal/app.py", line 185, in main
    App().run()
  File "/usr/local/lib/python3.10/dist-packages/arsenal/app.py", line 64, in run
    self.start(args, cheatsheets)
  File "/usr/local/lib/python3.10/dist-packages/arsenal/app.py", line 161, in start
    self.prefil_shell_cmd(cmd)
  File "/usr/local/lib/python3.10/dist-packages/arsenal/app.py", line 178, in prefil_shell_cmd
    fcntl.ioctl(stdin, termios.TIOCSTI, c)
PermissionError: [Errno 13] Permission denied

Tmux widget

Great tool!

I would love to see something similiar to denisidoro/navi's tmux plugin.

You can open a new split in any tmux session, choose the command you want and on hitting enter the split running arsenal closes and pastes the command into your initial session.

You could execute arsenal from any reverse shell as long as it is running in a tmux session.

(navi achieves this with a simple addition to .tmux.conf)

bind-key -T prefix C-g split-window \
  "$SHELL --login -i -c 'navi --print | head -n 1 | tmux load-buffer -b tmp - ; tmux paste-buffer -p -t {last} -b tmp -d'"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.