
Bluewall è un framework firewall progettato per professionisti informatici offensivi e difensivi.

Bluewall è un framework per firewall progettato per professionisti cyber offensivi e difensivi. Questo framework consente ai professionisti della cybersecurity di configurare rapidamente il proprio ambiente rimanendo entro il proprio scope.
Ispirato dallo script di generazione iptables hostfw di Andrew Benson.
* Configura Firewall
* Configura Hostname
* Configura Interfacce
* Redhat/CentOS
* La configurazione Windows può essere generata ma non eseguita.
* bluewall -c config/example.ini
** Vedi configurazione di esempio
* Enumera - Identifica host attivi nella tua rete (in arrivo)
* Host Target - Comunicazione in uscita
* Host Fidato - Comunicazione bidirezionale
* No Strike - Dispositivi con cui il tuo computer non deve comunicare
# BUILT PER PYTHON 2.x
sudo python setup.py install
sudo bluewall -h (per aiuto)
# Configura ambiente iniziale usando la configurazione
sudo bluewall -c config/hostconfig.ini
# Esporta configurazione opzionale per Windows
sudo bluewall -c config/hostconfig.ini -w autoconfig.ps1
# Aggiungi ulteriori host o range in ingresso
sudo bluewall -ih 192.168.0.3,192.168.1.0/24
# Escludi host dalla comunicazione
sudo bluewall -eh 192.168.1.1
# Modalità guidata super semplice
sudo bluewall --wizard
usage: bluewall [-h] [-V] [-v] [-r] [-p] [-i] [-d] [-w WINDOWS_CONFIG]
[-ot TCP_PORTS_OUT] [-ou UDP_PORTS_OUT] [-it TCP_PORTS_IN]
[-iu UDP_PORTS_IN] [-oh OUTBOUND_HOSTS] [-ih INBOUND_HOSTS]
[-eh EXCLUDE_HOSTS] [-l] [-s] [-q] [-D] [-A] [-F] [-S] [-c CONFIG]
[--info]
/////////////////////////////////////////////////////
| _____ __ _____ _____ _ _ _ _____ __ __ |
| | __ | | | | | __| | | | - | | | | |
| | __-| |__| | | __| | | | | |__| |__ |
| |_____|_____|_____|_____|_____|__|__|_____|_____| |
| |
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Un framework Python per automatizzare la configurazione del firewall.
Default:
Le connessioni in uscita saranno consentite su tutte le porte verso tutti gli host.
Le connessioni in ingresso saranno limitate al traffico in uscita correlato.
DHCP sarà abilitato.
Le risposte ping saranno abilitate.
Le connessioni in ingresso non richieste saranno scartate.
argomenti opzionali:
-h, --help mostra questo messaggio di aiuto ed esci
-V, --version Mostra versione
-v, --verbose Modalità verbose
-r, --reset Invia TCP RST invece di scartare il pacchetto.
-p, --disallow_ping Non consentire PING in ingresso
-i, --allow_outbound_icmp
Non limitare i tipi ICMP
-d, --disallow_dhcp Non consentire DHCP
-w WINDOWS_CONFIG, --windows_config WINDOWS_CONFIG
Genera configurazione Windows. Utilizzo: bluewall -w
config.ps1
-ot TCP_PORTS_OUT, --tcp_ports_out TCP_PORTS_OUT
Elenco separato da virgole delle porte TCP consentite in uscita
-ou UDP_PORTS_OUT, --udp_ports_out UDP_PORTS_OUT
Elenco separato da virgole delle porte UDP consentite in uscita
-it TCP_PORTS_IN, --tcp_ports_in TCP_PORTS_IN
Elenco separato da virgole delle porte TCP consentite in ingresso
-iu UDP_PORTS_IN, --udp_ports_in UDP_PORTS_IN
Elenco separato da virgole delle porte UDP consentite in ingresso
-oh OUTBOUND_HOSTS, --outbound_hosts OUTBOUND_HOSTS
Limita le connessioni in uscita agli host specificati. -oh
192.168.3.0/24,192.168.4.0/24
-ih INBOUND_HOSTS, --inbound_hosts INBOUND_HOSTS
Limita le connessioni in uscita agli host specificati. -ih
192.168.3.0/24,192.168.4.0/24
-eh EXCLUDE_HOSTS, --exclude_hosts EXCLUDE_HOSTS
Escludi host -eh 192.168.3.0/24
-l, --log_exceptions Registra eccezioni
-s, --simulate Solo simulazione.
-q, --quiet Silenzioso (non mostrare messaggi di stato)
-D, --deny_all Nega assolutamente tutto
-A, --allow_all Consenti assolutamente tutto
-F, --flush Svuota IPTables
-S, --show_rules Mostra regole dopo l'impostazione
--wizard Modalità guidata per indirizzi e firewall
-c CONFIG, --config CONFIG
Configurazione per il firewall
--info Informazioni su Bluewall
example.ini
[local_config]
iface=em1
rh_host=RHEL-Example
rh_ipaddr=192.168.1.42
netmask=255.255.255.0
gateway_addr=172.16.63.1
dns=8.8.8.8
#win_ipaddr=192.168.1.42 - Indirizzo IP opzionale di Windows
#
# Host Windows opzionale (Bluewall genererà un file di configurazione per Windows)
win_host=WINExample
# Gli indirizzi MAC devono essere in TUTTO MAIUSCOLO Valido: AA:93:AB:EF:00:01
# rh_mac=* genererà un indirizzo MAC casuale
rh_mac=*
[firewall_config]
# Target Range sono reti a cui si desidera consentire comunicazioni in uscita.
target_range=172.16.63.0/24
target_range=192.168.2.0/24
#
# Nostrike sono indirizzi con cui il tuo computer NON deve comunicare
nostrike=192.168.2.1
#
# Trusted Range sono reti con cui si desidera comunicazione bidirezionale
trusted_range=172.16.63.0/24
trusted_host=42.42.42.42
[ataylor@localhost bluewall]$ sudo bluewall -c configs/exampleconfig.ini
[OK] 192.168.1.101 è un'impostazione valida per dns
[OK] 192.168.1.1 è un'impostazione valida per gateway_addr
[OK] 24 è un'impostazione valida per cidr_prefix
[OK] 192.168.1.254 è un'impostazione valida per nostrike
[OK] * è un'impostazione valida per rh_mac
[OK] WINtaylor è un'impostazione valida per win_host
[OK] 192.168.2.0/24 è un'impostazione valida per target_range
[OK] 192.168.3.0/24 è un'impostazione valida per target_range
[OK] 192.168.1.30 è un'impostazione valida per rh_ipaddr
[OK] RHEL-taylor è un'impostazione valida per rh_host
[OK] 42.42.42.42 è un'impostazione valida per trusted_host
[OK] 192.168.1.0/24 è un'impostazione valida per trusted_range
[OK] 192.168.1.50 è un'impostazione valida per win_ipaddr
==============================
[CONFIG VALIDA] Nessun Errore Rilevato.
CONFIGURAZIONE
scrittura configurazione eth in /etc/sysconfig/network-scripts/ifcfg-ens33
[CONFIGURAZIONE]
TYPE="Ethernet"
BOOTPROTO=none
NAME=ens33
DEVICE="ens33"
ONBOOT=no
DEFROUTE="yes"
IPV4_FAILURE_FATAL=no
DNS1=192.168.1.101
IPADDR=192.168.1.30
PREFIX=24
GATEWAY=192.168.1.1
MACADDR=00:16:3E:52:7F:8D
[+] Interfaccia ens33 spenta.
[+] Riavvio del servizio di rete.
[+] Interfaccia ens33 attivata.
[+] Regole Svuotate!
[+] Consentito ICMP/traceroute in uscita verso 192.168.2.0/24...
[+] Consentito ICMP/traceroute in uscita verso 192.168.3.0/24...
[+] Consentito ICMP/traceroute in uscita verso 192.168.1.0/24...
[+] Limitazione connessioni TCP in uscita verso 192.168.2.0/24.
[+] Limitazione connessioni TCP in uscita verso 192.168.3.0/24.
[+] Limitazione connessioni TCP in uscita verso 192.168.1.0/24.
[+] Limitazione connessioni UDP in uscita verso 192.168.2.0/24.
[+] Limitazione connessioni UDP in uscita verso 192.168.3.0/24.
[+] Limitazione connessioni UDP in uscita verso 192.168.1.0/24.
[+] Limitazione connessioni UDP in ingresso verso 192.168.1.0/24.
[+] Limitazione connessioni TCP in ingresso verso 192.168.1.0/24.
[+] Traffico consentito per localhost.
[+] 192.168.1.254 applicato a NOSTRIKE
$ iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 192.168.1.254 0.0.0.0/0
0 0 ACCEPT all -- * * 127.0.0.0/8 127.0.0.0/8
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.0/24
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.1.0/24
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 192.168.1.254
0 0 ACCEPT all -- * * 127.0.0.0/8 127.0.0.0/8
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.1.0/24
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.3.0/24
0 0 ACCEPT udp -- * * 0.0.0.0/0 192.168.2.0/24
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.0/24
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.3.0/24
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.2.0/24
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.1.0/24 icmptype 0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.1.0/24 icmptype 8
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.3.0/24 icmptype 0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.3.0/24 icmptype 8
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.2.0/24 icmptype 0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.2.0/24 icmptype 8
[+] Configurazione Completata.