# Arsenal | Just A Quick Inventory And Launcher For Hacking Programs

**URL:** <https://onehack.st/t/arsenal-just-a-quick-inventory-and-launcher-for-hacking-programs/262366>\
**Category:** Tools & Scripts\
**Tags:** hacking\
**Created:** [November 2, 2023, 9:34pm UTC](https://onehack.st/t/arsenal-just-a-quick-inventory-and-launcher-for-hacking-programs/262366 "2023-11-02T21:34:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Prometheus](https://onehack.st/user_avatar/onehack.st/prometheus/32/34950_2.png) [@Prometheus](https://onehack.st/u/Prometheus)\
**Post date:** [November 2, 2023, 9:34pm UTC](https://onehack.st/t/arsenal-just-a-quick-inventory-and-launcher-for-hacking-programs/262366/1 "2023-11-02T21:34:01Z")

</div>

# [Arsenal](https://github.com/Orange-Cyberdefense/arsenal#arsenal)

[![](https://github.com/Orange-Cyberdefense/arsenal/raw/master/img/logo.png)](https://github.com/Orange-Cyberdefense/arsenal/blob/master/img/logo.png)

Arsenal is just a quick inventory, reminder and launcher for pentest commands.  
This project written by pentesters for pentesters simplify the use of all the hard-to-remember commands

[![](https://github.com/Orange-Cyberdefense/arsenal/raw/master/img/arsenal.gif)](https://github.com/Orange-Cyberdefense/arsenal/blob/master/img/arsenal.gif)

In arsenal you can search for a command, select one and it’s prefilled directly in your terminal. This functionality is independent of the shell used. Indeed arsenal emulates real user input (with TTY arguments and IOCTL) so arsenal works with all shells and your commands will be in the history.

You have to enter arguments if needed, but arsenal supports global variables.  
For example, during a pentest we can set the variable `ip` to prefill all commands using an ip with the right one.

To do that you just have to enter the following command in arsenal:

```auto
>set ip=10.10.10.10

```

Authors:

- Guillaume Muh
- mayfly

This project is inspired by navi ([https://github.com/denisidoro/navi](https://github.com/denisidoro/navi)) because the original version was in bash and too hard to understand to add features

## [Arsenal new features](https://github.com/Orange-Cyberdefense/arsenal#arsenal-new-features)

[![](https://github.com/Orange-Cyberdefense/arsenal/raw/master/img/arsenal_update.png)](https://github.com/Orange-Cyberdefense/arsenal/blob/master/img/arsenal_update.png)

- New colors
- Add tmux new pane support (with -t)
- Add default values in cheatsheets commands with `<argument|default_value>`
- Support description inside cheatsheets
- New categories and Tags
- New cheatsheets
- Add yml support (thx @0xswitch )
- Add fzf support with ctrl+t (thx @mgp25)

## [Install & Launch](https://github.com/Orange-Cyberdefense/arsenal#install--launch)

- with pip :

```auto
python3 -m pip install arsenal-cli

```

- run (we also advice you to add this alias : `alias a='arsenal'`)

```auto
arsenal

```

- manually:

```auto
git clone https://github.com/Orange-Cyberdefense/arsenal.git
cd arsenal
python3 -m pip install -r requirements.txt
./run

```

Inside your .bashrc or .zshrc add the path to `run` to help you do that you could launch the addalias.sh script

```auto
./addalias.sh

```

- Also if you are an Arch user you can install from the AUR:

git clone [https://aur.archlinux.org/arsenal.git](https://aur.archlinux.org/arsenal.git) cd arsenal makepkg -si

- Or with an AUR helper like yay:

yay -S arsenal

## [Launch in tmux mode](https://github.com/Orange-Cyberdefense/arsenal#launch-in-tmux-mode)

```auto
./run -t # if you launch arsenal in a tmux window with one pane, it will split the window and send the command to the otherpane without quitting arsenal
         # if the window is already splited the command will be send to the other pane without quitting arsenal
./run -t -e # just like the -t mode but with direct execution in the other pane without quitting arsenal

```

## [Add external cheatsheets](https://github.com/Orange-Cyberdefense/arsenal#add-external-cheatsheets)

You could add your own cheatsheets insode the my\_cheats folder or in the ~/.cheats folder.

You could also add additional paths to the file `<arsenal_home>/arsenal/modules/config.py`, arsenal reads `.md` (MarkDown) and `.rst` (RestructuredText).

```auto
CHEATS_PATHS = [
    join(BASEPATH, "cheats"), # DEFAULT
    join(HOMEPATH, "docs/my_cheats")
]

```

Cheatsheets examples are in `<arsenal_home>/cheats`: `README.md` and `README.rst`

## [Troubleshooting](https://github.com/Orange-Cyberdefense/arsenal#troubleshooting)

If you got on error on color init try :

```auto
export TERM='xterm-256color'

```

–

If you have the following exception when running Arsenal:

```auto
ImportError: cannot import name 'FullLoader'

```

First, check that requirements are installed:

```auto
pip install -r requirements.txt

```

If the exception is still there:

```auto
pip install -U PyYAML

```

–

If you encounter an exception similar to the following (contains TIOCSTI in strace) when running Arsenal:

```auto
[...]
    fcntl.ioctl(stdin, termios.TIOCSTI, c)
OSError: [Errno 5] Input/output error

```

Then you may need to re-enable TIOCSTI:

```auto
sudo sysctl -w dev.tty.legacy_tiocsti=1

```

## [Mindmap](https://github.com/Orange-Cyberdefense/arsenal#mindmap)

- Active directory mindmap
  - Due to csp on github when you open the svg, we moved the AD mindmap and the source to this repository : [https://github.com/Orange-Cyberdefense/ocd-mindmaps](https://github.com/Orange-Cyberdefense/ocd-mindmaps)

[https://orange-cyberdefense.github.io/ocd-mindmaps/img/pentest\_ad\_dark\_2022\_11.svg](https://orange-cyberdefense.github.io/ocd-mindmaps/img/pentest_ad_dark_2022_11.svg)

- AD mindmap black version [![](https://github.com/Orange-Cyberdefense/arsenal/raw/master/mindmap/pentest_ad_black.png)](https://github.com/Orange-Cyberdefense/arsenal/blob/master/mindmap/pentest_ad_black.png)
- Exchange Mindmap (thx to @snovvcrash) [![](https://github.com/Orange-Cyberdefense/arsenal/raw/master/mindmap/Pentesting_MS_Exchange_Server_on_the_Perimeter.png)](https://github.com/Orange-Cyberdefense/arsenal/blob/master/mindmap/Pentesting_MS_Exchange_Server_on_the_Perimeter.png)
- Active directory ACE mindmap [![](https://github.com/Orange-Cyberdefense/arsenal/raw/master/mindmap/ACEs_xmind.png)](https://github.com/Orange-Cyberdefense/arsenal/blob/master/mindmap/ACEs_xmind.png)

## [TODO cheatsheets](https://github.com/Orange-Cyberdefense/arsenal#todo-cheatsheets)

### [reverse shell](https://github.com/Orange-Cyberdefense/arsenal#reverse-shell)

- msfvenom
- php
- python
- perl
- powershell
- java
- ruby

### [whitebox analysis grep regex](https://github.com/Orange-Cyberdefense/arsenal#whitebox-analysis-grep-regex)

- php
- nodejs
- hash

### [Tools](https://github.com/Orange-Cyberdefense/arsenal#tools)

#### [smb](https://github.com/Orange-Cyberdefense/arsenal#smb)

- enum4linux
- smbmap
- smbget
- rpcclient
- rpcinfo
- nbtscan
- impacket

#### [kerberos & AD](https://github.com/Orange-Cyberdefense/arsenal#kerberos--ad)

- impacket
- bloodhound
- rubeus
- powerview
- shadow credentials attack
- samaccountname attack

#### [MITM](https://github.com/Orange-Cyberdefense/arsenal#mitm)

- mitm6
- responder

#### [Unserialize](https://github.com/Orange-Cyberdefense/arsenal#unserialize)

- ysoserial
- [ysoserial.net](http://ysoserial.net)

### [bruteforce & pass cracking](https://github.com/Orange-Cyberdefense/arsenal#bruteforce--pass-cracking)

- hydra
- hashcat
- john

#### [scan](https://github.com/Orange-Cyberdefense/arsenal#scan)

- nmap
- eyewitness
- gowitness

#### [fuzz](https://github.com/Orange-Cyberdefense/arsenal#fuzz)

- gobuster
- ffuf
- wfuzz

#### [DNS](https://github.com/Orange-Cyberdefense/arsenal#dns)

- dig
- dnsrecon
- dnsenum
- sublist3r

#### [rpc](https://github.com/Orange-Cyberdefense/arsenal#rpc)

- rpcbind

#### [netbios-ssn](https://github.com/Orange-Cyberdefense/arsenal#netbios-ssn)

- snmpwalk
- snmp-check
- onesixtyone

#### [sql](https://github.com/Orange-Cyberdefense/arsenal#sql)

- sqlmap

#### [oracle](https://github.com/Orange-Cyberdefense/arsenal#oracle)

- oscanner
- sqlplus
- tnscmd10g

#### [mysql](https://github.com/Orange-Cyberdefense/arsenal#mysql)

- mysql

#### [nfs](https://github.com/Orange-Cyberdefense/arsenal#nfs)

- showmount

#### [rdp](https://github.com/Orange-Cyberdefense/arsenal#rdp)

- xfreerdp
- rdesktop
- ncrack

#### [mssql](https://github.com/Orange-Cyberdefense/arsenal#mssql)

- sqsh

#### [winrm](https://github.com/Orange-Cyberdefense/arsenal#winrm)

- evilwinrm

#### [redis](https://github.com/Orange-Cyberdefense/arsenal#redis)

- redis-cli

#### [postgres](https://github.com/Orange-Cyberdefense/arsenal#postgres)

- psql
- pgdump

#### [vnc](https://github.com/Orange-Cyberdefense/arsenal#vnc)

- vncviewer

#### [x11](https://github.com/Orange-Cyberdefense/arsenal#x11)

- xspy
- xwd
- xwininfo

#### [ldap](https://github.com/Orange-Cyberdefense/arsenal#ldap)

- ldapsearch

#### [https](https://github.com/Orange-Cyberdefense/arsenal#https)

- sslscan

#### [web](https://github.com/Orange-Cyberdefense/arsenal#web)

- burp
- nikto
- tplmap

#### [app web](https://github.com/Orange-Cyberdefense/arsenal#app-web)

- drupwn
- wpscan
- nuclei

## GitHub:

> **[GitHub - Orange-Cyberdefense/arsenal: Arsenal is just a quick inventory and launcher for...](https://github.com/Orange-Cyberdefense/arsenal)**
>
> Arsenal is just a quick inventory and launcher for hacking programs

---

<div class="post-metadata">

**Author:** ![Major\_Arsid](https://onehack.st/user_avatar/onehack.st/major_arsid/32/104599_2.png) [@Major\_Arsid](https://onehack.st/u/Major_Arsid)\
**Post date:** [November 3, 2023, 2:29am UTC](https://onehack.st/t/arsenal-just-a-quick-inventory-and-launcher-for-hacking-programs/262366/2 "2023-11-03T02:29:27Z")

</div>

Thanks for sharing

---

<div class="post-metadata">

**Author:** ![Tiffany](https://onehack.st/user_avatar/onehack.st/tiffany/32/132781_2.png) [@Tiffany](https://onehack.st/u/Tiffany)\
**Post date:** [November 20, 2023, 12:57am UTC](https://onehack.st/t/arsenal-just-a-quick-inventory-and-launcher-for-hacking-programs/262366/3 "2023-11-20T00:57:48Z")

</div>

Helpful thanks
