Skip to main content

Arsenyc - Arsenal fork with Notion and Obsidian synchronization for pentest command launching

Project description

Arsenyc

Arsenyc is a fork of the tool Arsenal by Orange but with added support of Notion and Obsidian synchronization

(Using here basalt a Obsidian TUI client)

Notion sync Usage

  • Generate notion integration token

  • On notion add checkbox named "Arsenyc" to each page you want synchronized

  • Launch sync with notion command

    python3.13 -m arsenal --sync-notion --token [NOTION_INTEGRATION_TOKEN]
    
  • Add alias for simplicity

    alias sync2notion="python3.13 -m arsenal --sync-notion --token [NOTION_INTEGRATION_TOKEN]"
    

Obsidian sync Usage

  • On Obsidian add "arsenyc" tag to note(s) you want to synchronize

  • Launch sync with notion command

    python3.13 -m arsenal --sync-obsidian --vault ~/Desktop/Perso/Obsidian
    
  • Add alias for simplicity

    alias sync2obsidian="python3.13 -m arsenal --sync-obsidian --vault ~/Desktop/Perso/Obsidian"
    

Original Arsenal README

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:

>set ip=10.10.10.10

Authors:

  • Guillaume Muh
  • mayfly

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

Arsenal new features

  • 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)
  • Add prefix to commands generated (with -f)

Install & Launch

  • with pip :
python3 -m pip install arsenal-cli
  • run (we also advice you to add this alias : alias a='arsenal')
arsenal
  • manually:
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

./addalias.sh
  • Also if you are an Arch user you can install from the AUR:
git clone https://aur.archlinux.org/arsenal.git
cd arsenal 
makepkg -si
  • Or with an AUR helper like yay:
yay -S arsenal

Launch in tmux mode

./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 split 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

You could add your own cheatsheets inside 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).

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

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

Add a prefix commands generated

In order to prefix commands generated by arsenal you need to set the arsenal_prefix_cmd global variable.

For example if you need your commands to be prefixed with proxychains -q:

>set arsenal_prefix_cmd=proxychains -q

then you can start run arsenal with the prefix option:

arsenal -f

Troubleshooting

If you got on error on color init try :

export TERM='xterm-256color'

--

If you have the following exception when running Arsenal:

ImportError: cannot import name 'FullLoader'

First, check that requirements are installed:

pip install -r requirements.txt

If the exception is still there:

pip install -U PyYAML

--

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

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

Then you may need to re-enable TIOCSTI. Please run the following commands as root to fix this issue on the current session :

sysctl -w dev.tty.legacy_tiocsti=1

If you want this workaround to survive a reboot, add the following configuration to sysctl.conf file and reboot :

echo "dev.tty.legacy_tiocsti=1" >> /etc/sysctl.conf

More information is available in the issue https://github.com/Orange-Cyberdefense/arsenal/issues/77

Mindmap

https://orange-cyberdefense.github.io/ocd-mindmaps/img/pentest_ad_dark_2022_11.svg

  • AD mindmap black version

  • Exchange Mindmap (thx to @snovvcrash)

  • Active directory ACE mindmap

TODO cheatsheets

reverse shell

  • msfvenom
  • php
  • python
  • perl
  • powershell
  • java
  • ruby

whitebox analysis grep regex

  • php
  • nodejs
  • hash

Tools

smb

  • enum4linux
  • smbmap
  • smbget
  • rpcclient
  • rpcinfo
  • nbtscan
  • impacket

kerberos & AD

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

MITM

  • mitm6
  • responder

Unserialize

  • ysoserial
  • ysoserial.net

bruteforce & pass cracking

  • hydra
  • hashcat
  • john

scan

  • nmap
  • eyewitness
  • gowitness

fuzz

  • gobuster
  • ffuf
  • wfuzz

DNS

  • dig
  • dnsrecon
  • dnsenum
  • sublist3r

rpc

  • rpcbind

netbios-ssn

  • snmpwalk
  • snmp-check
  • onesixtyone

sql

  • sqlmap

oracle

  • oscanner
  • sqlplus
  • tnscmd10g

mysql

  • mysql

nfs

  • showmount

rdp

  • xfreerdp
  • rdesktop
  • ncrack

mssql

  • sqsh

winrm

  • evilwinrm

redis

  • redis-cli

postgres

  • psql
  • pgdump

vnc

  • vncviewer

x11

  • xspy
  • xwd
  • xwininfo

ldap

  • ldapsearch

https

  • sslscan

web

  • burp
  • nikto
  • tplmap

app web

  • drupwn
  • wpscan
  • nuclei

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arsenyc-1.2.8.tar.gz (42.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arsenyc-1.2.8-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

File details

Details for the file arsenyc-1.2.8.tar.gz.

File metadata

  • Download URL: arsenyc-1.2.8.tar.gz
  • Upload date:
  • Size: 42.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for arsenyc-1.2.8.tar.gz
Algorithm Hash digest
SHA256 6d7f754d69a557502faa94b0f35d72be2d3e1564493b79f2d3c4f89f0328e0b2
MD5 14c8d325aeb4f40ec3294059f298c81e
BLAKE2b-256 e3a37a19ba6bcde7344d13f864a01af46b154c2c5c7bcb4a8f450b5b9ef3eeed

See more details on using hashes here.

File details

Details for the file arsenyc-1.2.8-py3-none-any.whl.

File metadata

  • Download URL: arsenyc-1.2.8-py3-none-any.whl
  • Upload date:
  • Size: 41.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for arsenyc-1.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4b75a3c3933def728239b180ee0aac8d1134d12ba6a3d1fb1f909f31a7fe134c
MD5 c5799cecb5125cdee45a74b35a965cbb
BLAKE2b-256 d4090774db03e0112d2d6c1b5097725076ee65304320946796cb886b70015bad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page