SCUTUM - Linux Automatic ARP (TCP / UDP / ICMP) Firewall


SCUTUM - Linux Automatic ARP (TCP / UDP / ICMP) Firewall

Current Version Change log:
  1. Added Self-Upgrading Function, now users can execute self-upgrading with $ sudo scutum --upgrade
  2. Added AVALON Framework Self-Upgrading function (included when using "--upgrade" parameter)


Recent Changes:
  1. Interfaces are now controlled by a new interface controller class
  2. SCUTUM GUI is now avaliable for testing
  3. Added option to choose whether to delete the installer file after installation
  4. Fixed arptables detection errors on some Linux distributions

What is SCUTUM?
Long story short, ARP firewall. It automatically adds gateways to the whitelist on connect and blocks everthing else to avoid potential threat.
SCUTUM is an ARP firewall that prevents your computer from being ARP-spoofed by other computers on LAN. SCUTUM controls "arptables" in your computer so it accepts ARP packets only from the gateway. This way, when people with malicious intentions cannot spoof your arp table. SCUTUM also prevents other people from detecting your device on LAN if SCUTUM is used with properly configured TCP/UDP firewall.
SCUTUM is also capable of handling tcp/udp/icmp traffic with iptables. You can choose to enable this feature during installation. However, a more professional firewall controller like UFW is recommended. They can handle traffic with more precision.


Usage & Installation
You should run a installation before running it for the first time for setting up configuration files. I am not sure if portable version is necessary. If you think this should be changed, raise an issue and I will change it.

Installation
git clone https://github.com/K4YT3X/SCUTUM.git
cd SCUTUM/
sudo python3 scutum.py --install  # scutum.py deletes itself after installation
cd ../
rm -rf SCUTUM/

GUI Usage
ENABLE: Enable SCUTUM (Start spontaneously)
DISABLE: Disable SCUTUM (Never start spontaneously)
DISABLE (Temporarily): Disable SCUTUM until the next time connected to a network

Usage
This should be easy SCUTUM starts automatically by itself after installation
$ sudo scutum              # Start SCUTUM Normally
$ sudo scutum --start      # Start SCUTUM Manually for once even it it's disabled
$ sudo scutum --enable     # Enable SCUTUM (Start automatically on connect)
$ sudo scutum --disable    # Disable SCUTUM (Don't start automatically on connect)
$ sudo scutum --reset      # Reset SCUTUM (Allow ALL ARP packages temporarily)
$ sudo scutum --purgelog   # Purge SCUTUM logs
$ sudo scutum --install    # Run scutum installation wizard and install SCUTUM into system
$ sudo scutum --uninstall  # Remove SCUTUM from system completely 
$ sudo scutum --upgrade    # Upgrade SCUTUM and AVALON Framework


SCUTUM Workflow:

postconnect
  1. Connect to Wi-Fi
  2. Accept all ARP packets
  3. Cache gateway MAC address by establishing a socket connection with a timeout of 0
  4. Add Gateway MAC to exception
  5. DROP all ARP packets

postdisconnect
  1. Accept all ARP packets

Powered by Blogger.