Rendere pc stealth in rete wifi [SOLVED]

Started by Ananke, April 12, 2012, 04:15:14 PM

Previous topic - Next topic

Ananke

Salve a tutti!
Scrivo poiché purtroppo non sono molto esperto e tendo a fare confusione con la configurazione di IPTables.
Mi chiedevo se fosse possibile settare IPTables in maniera da rendere il mio portatile con BackBox invisibile agli altri pc connessi alla stessa rete wifi mantenendo però la possibilità di essere contattato mediante connessione reverse ad esempio dalle shell aperte con Metasploit.
E' effettivamente possibile? Qualcuno sarebbe così gentile da spiegarmi come fare?

Grazie in anticipo,
a presto.

jarubyh

"It's redundant! It's redundant!"
    -- R.E. Dundant

weVeg

#2
Quote from: Ananke on April 12, 2012, 04:15:14 PM
Salve a tutti!
Scrivo poiché purtroppo non sono molto esperto e tendo a fare confusione con la configurazione di IPTables.
Mi chiedevo se fosse possibile settare IPTables in maniera da rendere il mio portatile con BackBox invisibile agli altri pc connessi alla stessa rete wifi mantenendo però la possibilità di essere contattato mediante connessione reverse ad esempio dalle shell aperte con Metasploit.
E' effettivamente possibile? Qualcuno sarebbe così gentile da spiegarmi come fare?

Grazie in anticipo,
a presto.
Dal momento che una porta la usi per una shell, o meglio, dal momento che comunichi con qualcosa non sei più invisibile... Dovresti spiegare meglio cosa intendi per "invisibile", se ad un semplice ping, se ad una scansione, etc etc....
una voce libera è sempre liberatrice
under_r00t

Ananke

Ringrazio tutti e due.
Purtroppo non ho potuto leggere la pagina consigliata poiché per il momento non è accessibile.

In effetti producendo del traffico non potrò mai essere completamente stealth. In ogni caso a me basterebbe risultare invisibile a ping e se possibile scansione.

SYSTEM_OVERIDE

Vedi se quest'ottima guida di blacklight sulle regole di iptables ti puo essere utile .
È spiegata bene quindi è facile da capire:

http://blacklight.gotdns.org/tutorial/SS_Iptables.pdf

Mostra anche esempi su come impostare regole per proteggersi da alcuni scan di rete .

Ananke

Ottimo grazie! Allora adesso mi metto a leggere e provo un po'.
Eventualmente se non capissi qualcosa o non riuscissi nel mio intento vi chiederò nuovamente un aiuto.

SYSTEM_OVERIDE

Quote from: Ananke on April 15, 2012, 02:51:12 PM
Ottimo grazie! Allora adesso mi metto a leggere e provo un po'.
Eventualmente se non capissi qualcosa o non riuscissi nel mio intento vi chiederò nuovamente un aiuto.

A disposizione :)

weVeg

Quote from: Ananke on April 15, 2012, 02:51:12 PM
Ottimo grazie! Allora adesso mi metto a leggere e provo un po'.
Eventualmente se non capissi qualcosa o non riuscissi nel mio intento vi chiederò nuovamente un aiuto.
Finalmente qualcuno che rispetta la netiquette! Prima prova e se non riesci posta l'errore o prova a spiegare cosa non ti viene... anche io sono a disposizione, sempre nel limite delle mie possibilità ovviamente!! :)
bella!
una voce libera è sempre liberatrice
under_r00t

Ananke

#8
Credo di aver capito come configurare quasi tutto. Per il momento sono arrivato a scrivere queste istruzioni che dovrebbero fare al caso mio:

iptables -I INPUT -s 127.0.0.1 -j ACCEPT
iptables -I INPUT -s 0/0 --dport 4444 -j ACCEPT
iptables -I INPUT -s 192.168.1.185 -j ACCEPT
iptables -I INPUT -p udp -s 0/0 --dport 51413 -j ACCEPT
iptables -I INPUT -p tcp -m multiport -s 0/0 --dports 80,51413 -j ACCEPT
iptables -I INPUT -p tcp -m state -s 0/0 --state INVALID,NEW -j DROP
iptables -I INPUT -p icmp -m state -s 0/0 --state INVALID,NEW -j DROP
iptables -I INPUT -p udp -m state -s 0/0 --state INVALID,NEW -j DROP


Mi rimangono però due problemi a cui non so come rimediare:
1° Come posso fare affinché al successivo avvio la configurazione non vada persa?
2° La seconda riga l'ho scritta per abilitare eventuali connessioni reverse ottenute con MSF. Mi chiedo: utilizzandolo solamente in rete locale, come potrei fare per abilitare l'accesso a tale porta solo dalla sub netmask locale, e non a tutto il mondo, tenendo presente che tale subnetmask può variare da situazione a situazione? Potrebbe andare bene questo parametro di source (192.168.0.0/255.255.255.0) o non comprenderei ogni possibile ampiezza di sub netmask locale?

Grazie dell'aiuto,
a presto  :)

ZEROF

#9
Run iptables rules with system service. Check files inside /etc/init.d/, make your sevice and after that you can run iptables settings as service - /etc/init.d/your-service start/stop etc..


How to : http://www.anonimus.re.rs/6484

Or save your time and use Relik tool :

http://www.anonimus.re.rs/6485

And in next version we will try to add one tool for iptables settings if owner of this too will make updates for it. It's firewall tool. And i liked a lot ;).

Don't ask, read : http://wiki.backbox.org
or just run sudo rm -rf /*

SYSTEM_OVERIDE

Questo comando


iptables -A INPUT -s 192.168.0.0/24 -j DROP


dovrebbe bloccare l'intera subnet, mentre

iptables -I INPUT -m iprange --src-range 192.168.1.10-192.168.1.13 -j DROP

blocca un certo range di indirizzi, comunque basta che fai qualche prova e se la regola non dovesse andare, la elimini e la riscrivi :)

Per la prima domanda, prova la risposta di ZEROF .
Sul web ho trovato molti esempi, prova a dare un'occhiata :P

Ananke

Perfect!
Thx Zerof for the idea. I have founded and  used these script:

#!/bin/bash
IPT=/sbin/iptables
IPT6=/sbin/ip6tables
IPTR=/sbin/iptables-restore
IPTCONFIG=/root/.config/fw/firewall.conf
PROG=iptables

_stop(){
### reset ipv4 iptales ###
        echo "Stopping iptables..."
                $IPT -F
                $IPT -X
                $IPT -Z
                for table in $(</proc/net/ip_tables_names)
                do
                        $IPT -t $table -F
                        $IPT -t $table -X
                        $IPT -t $table -Z
                done
                $IPT -P INPUT ACCEPT
                $IPT -P OUTPUT ACCEPT
                $IPT -P FORWARD ACCEPT
                ### reset ipv6 iptales ###
                $IPT6 -F
                $IPT6 -X
                $IPT6 -Z
                for table in $(</proc/net/ip6_tables_names)
                do
                        $IPT6 -t $table -F
                        $IPT6 -t $table -X
                        $IPT6 -t $table -Z
                done
                $IPT6 -P INPUT ACCEPT
                $IPT6 -P OUTPUT ACCEPT
                $IPT6 -P FORWARD ACCEPT

}

_start(){
    ### add your commands here ###
        echo "Starting iptables..."
    $IPTR < "$IPTCONFIG"
}


# See how we were called.
case "$1" in
  start)
        _start
        ;;
  stop)
        _stop
        ;;
  restart)
        _stop
        _start
        ;;
  *)
        echo $"Usage: $PROG {start|stop|restart}"
        exit 1
esac



and i have saved it to /etc/init.d
After that I have created a new directory:

mkdir -p /root/.config/fw/

and I have saved there the configuration of iptables:

iptables-save > /root/.config/fw/firewall.conf


Grazie anche a te System_Overide per l'aiuto ma ho deciso che eventualmente creerò una regola per abilitare una connesisone reverse sul momento. Rimanendo così maggiormente schermato.

Vi ringrazio tutti dell'aiuto. Missione compiuta!

weVeg

#12
Quote from: Ananke on April 15, 2012, 10:12:45 PM
Mi chiedo: utilizzandolo solamente in rete locale, come potrei fare per abilitare l'accesso a tale porta solo dalla sub netmask locale, e non a tutto il mondo, tenendo presente che tale subnetmask può variare da situazione a situazione? Potrebbe andare bene questo parametro di source (192.168.0.0/255.255.255.0) o non comprenderei ogni possibile ampiezza di sub netmask locale?

Grazie dell'aiuto,
a presto  :)
Ciao, allora, parti dal fatto che "solitamente" (spesso ma non è la regola, io a casa mia non ho una /24) le reti domestiche sono /24 o 255.255.255.0  quindi hai a disposizione solo gli ultimi 8 bit per gli indirizzi, ma non puoi conoscerli a priori, potrebbe essere un 192.168.0.X o 192.168.1.X o 172.x.x.x o un 10.x.x.x , la subnet non è un grosso problema, se mai sono gli indirizzi assegnati, però il problema che ti poni non sussiste, cioè non è vero che sei accessibile "da tutto il mondo", se tu sei su un frammento di rete /24 solo gli host con lo stesso indirizzamento tuo possono comunicare con te, per il resto del mondo ci deve essere qualcosa che forwarda e redirige il traffico verso di te!
L'esempio che riporti 192.168.0.0 /24 comprende tutti gli host da 192.168.0.1-254 quindi per una rete domestica standard andrebbe anche bene, ma come ti dicevo prima a priori non puoi conoscere gli indirizzi, se poi ti si presenta il caso che hai un indirizzo 192.168.1.0/24 sei fregato! potresti fare un /16 quindi tutti gli indirizzi da 192.168.0.1 a 192.168.255.254 però anche qui poi ti si pone il problema che se fosse un 172.168.10.X che fai?
Spero di averti chiarito qualcosa!

Quoteand i have saved it to /etc/init.d
Non hai mai pensato di metterlo in /bin o /sbin oppure di fare una tua cartella nella home dove collezionare i tuoi script e poi estendere la path in .bashrc in modo che poi tu possa richiamarlo direttamente nel terminale?
una voce libera è sempre liberatrice
under_r00t

Ananke

Riguardo alla subnet in effetti ho deciso di creare una regola di volta in volta così da non sbagliare.
Per quanto riguarda lo script in effetti non ci avevo pensato, bella idea :)

Grazie ancora dei molti consigli ragazzi