Pagina 1 di 1
Hotspot con airbase-ng
Inviato: sab 20 ago 2016, 17:36
da darkstaring
Buonasera, sto facendo uno script in bash con funzioni che posso eseguire solo come root.
Faccio un check in testa allo script per vedere su è un utente root o no :
Codice: Seleziona tutto
if [ $(whoami) != 'root' ] ; then echo;echo "*** Root_user_Need (no sudo)*** ";echo; exit 1; fi
Ho abilitato il mio utente al comando sudo, ma eseguendo
non mi trova alcuni comandi come iptables ecc...
Il problema è che eseguendolo con sudo non mi accorgo se è realmente root o un utente con sudo
e quindi non riesco ad eseguire alcuni comandi
Devo specificare per esempio "/usr/sbin/iptables" ???
Re: Check root e curiosita utente
Inviato: sab 20 ago 2016, 18:35
da Ansa89
Premesso che non sono esperto di sudo, se posti lo script (forse) posso provare a darti qualche consiglio.
Re: Check root e curiosita utente
Inviato: sab 20 ago 2016, 18:45
da darkstaring
Lo script se eseguito da root fà l'hotspot e redirige qualsiasi http al localhost dove viene eseguito....
Codice: Seleziona tutto
#!/bin/bash
#############################
######SETTINGS NETWORK#######
network=10.0.0.0
broadcast=10.255.255.255
netmask=255.0.0.0
gateway=10.0.0.1
min_ip=10.0.0.2
max_ip=10.255.255.254
#############################
function check_root()
{
if [ "$EUID" -ne 0 ]
then
echo;echo "*** Root_user_Need (no sudo)*** ";echo;
exit
fi
}
function help ()
{
echo "Usage:"
echo "hotspot --start Periferica NOME_RETE"
echo "hotspot --stop"
echo "hotspot --install"
echo
echo "By Darkstaring";
exit 1
}
function start()
{
echo Channel [1-12]?
read CHANNEL
#checking
clear
echo "Is this what you selected?"
echo "Fake AP interface: $INTERFACE"
echo "NOME_RETE: $NOME_RETE"
echo "Channel: $CHANNEL"
echo
read -p "Press [Enter] key to continue..."
clear
echo "[>] Changing fake AP MAC address to random"
ifconfig $INTERFACE down
#macchanger -r $INTERFACE
ifconfig $INTERFACE up
#monitor mode
echo "[>] Putting your interface in monitor mode"
airmon-ng start $INTERFACE &>/dev/null
#creating access point
echo "[>] Creating new window for creating access point"
xterm -geometry 96x25+0+0 -e airbase-ng -e $NOME_RETE -c $CHANNEL mon0 &
echo "[*] Fake AP created"
sleep 2
ifconfig at0 up
sleep 2
echo "[>] Setting up iptables"
ifconfig at0 $gateway netmask $netmask
route add -net $network netmask $netmask gw $gateway
dnsmasq --address=/#/$gateway --bind-interfaces --except-interface=at0 --clear-on-reload --strict-order --listen-address=$gateway --dhcp-range=$min_ip,$max_ip,60m --dhcp-option=option:router,$gateway --dhcp-lease-max=50 --pid-file=/var/run/nm-dnsmasq-at0.pid
#iptables
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --append FORWARD --in-interface at0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to $gateway
echo "[>] Finished"
}
function stop()
{
read -p "Press [Enter] key to quit..."
killall -9 airbase-ng dnsmasq
iptables --flush
iptables --delete-chain
iptables --table nat --flush
iptables --table filter --flush
iptables --table nat --delete-chain
iptables --table filter --delete-chain
echo "[>] Killing program safely"
echo "[>] Turning off monitor mode..."
airmon-ng stop mon0 &>/dev/null
echo "[>] Putting interface at0 down..."
ifconfig at0 down &>/dev/null
echo "[>] Shutting down airbase-ng"
killall airbase-ng
}
check_root
case "$1" in
"--help")
help ;;
"")
help;;
"--stop")
stop ;;
"--start")
if [ "$2" != '' ] ;
then
INTERFACE="$2";
else
help
fi
if [ "$3" != '' ] ;
then
NOME_RETE="$3";
else
help
fi
start ;;
*)help;;
esac
exit 0
Dovrei anche redirigere l'https su http ma per ora non ci sono riuscito.. se avete consigli sono ben accetti
Grazie
Re: Check root e curiosita utente
Inviato: sab 20 ago 2016, 18:48
da Ansa89
Posta l'output di questi comandi
Codice: Seleziona tutto
$ sudo whoami
$ sudo which iptables
$ sudo -s whoami
$ sudo -s which iptables
EDIT: credo sia un problema relativo alla variabile d'ambiente "PATH". Prova ad aggiungere questa riga al tuo "/etc/sudoers"
Codice: Seleziona tutto
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Re: Hotspot con airbase-ng
Inviato: sab 20 ago 2016, 19:26
da darkstaring
Codice: Seleziona tutto
francesco@darkstar:~$ sudo whoami
root
francesco@darkstar:~$ sudo which iptables
which: no iptables in (/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib64/java/bin:/usr/lib64/java/jre/bin:/usr/lib64/kf5:/usr/lib64/kde4/libexec:/usr/lib64/java/bin:/usr/lib64/java/jre/bin:/usr/lib64/qt/bin:/usr/lib64/qt5/bin:/usr/share/texmf/bin)
francesco@darkstar:~$ sudo -s whoami
root
francesco@darkstar:~$ sudo -s which iptables
which: no iptables in (/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib64/java/bin:/usr/lib64/java/jre/bin:/usr/lib64/kf5:/usr/lib64/kde4/libexec:/usr/lib64/java/bin:/usr/lib64/java/jre/bin:/usr/lib64/qt/bin:/usr/lib64/qt5/bin:/usr/share/texmf/bin)
francesco@darkstar:~$
/etc/sudoers
ha questi permessi:
Codice: Seleziona tutto
-r--r----- 1 root root 3172 Mar 15 17:58 /etc/sudoers
Re: Hotspot con airbase-ng
Inviato: sab 20 ago 2016, 19:38
da darkstaring
Ho modificato temporaneamente i permessi:
Codice: Seleziona tutto
root@darkstar:/home/francesco# chmod 640 /etc/sudoers
root@darkstar:/home/francesco# vim /etc/sudoers
root@darkstar:/home/francesco# chmod 440 /etc/sudoers
Ed ora funziona

:
Codice: Seleziona tutto
francesco@darkstar:~$ sudo whoami
root
francesco@darkstar:~$ sudo which iptables
/usr/sbin/iptables
francesco@darkstar:~$ sudo -s whoami
root
francesco@darkstar:~$ sudo -s which iptables
/usr/sbin/iptables
francesco@darkstar:~$
Grazie 1000
ora dovrei redirigere l'https su http... sai se posso farlo con iptables?
Re: Hotspot con airbase-ng
Inviato: dom 21 ago 2016, 11:45
da Ansa89
darkstaring ha scritto:Ho modificato temporaneamente i permessi:
Codice: Seleziona tutto
root@darkstar:/home/francesco# chmod 640 /etc/sudoers
root@darkstar:/home/francesco# vim /etc/sudoers
root@darkstar:/home/francesco# chmod 440 /etc/sudoers
Per modificare "/etc/sudoers" è consigliato l'uso di "visudo".
darkstaring ha scritto:ora dovrei redirigere l'https su http... sai se posso farlo con iptables?
Devi agire sulla catena di prerouting della tabella nat.
Qualcosa di simile a questo:
Codice: Seleziona tutto
iptables -t nat -A PREROUTING -i _INTERFACCIA_ -p tcp --dport 443 -j REDIRECT --to-port 80
Però secondo me avrai problemi perché i browsers si aspettano una risposta di tipo cifrato, ma se ne vedranno recapitare una di tipo "plain".
In parole povere: non è una bella cosa "giocare" con la redirezione delle porte se non si sa esattamente cosa si sta facendo.
Re: Hotspot con airbase-ng
Inviato: mar 23 ago 2016, 19:56
da darkstaring
Non funziona infatti... ma è bello aver visto come si fà..
Grazie