Tag Archive 'ssh'

set 05 2009

SSH anonimo via TOR

Published by manzotti under BackTrack, Security, manzotti.eu

Dopo aver installato il Tor in BT4, vediamo come poterlo utilizzare per effettuare connessioni ssh anonime.
La suite del pacchetto mette a disposizione l’utility torify che come vedete ci permette di effettuare connessioni TCP via tor:

$ apropos torify
torify (1)           - wrapper for tsocks and tor

….e per non farci mancare proprio nulla:

$ apropos tor-resolve
tor-resolve (1)      - resolve a hostname to an IP address via tor

Bè credo che sia chiaro…. quindi digitando semplicemente:

$ torify ssh root@a.b.c.d

… avremo la nostra bella shell anonima :)

Una via speculare potrebbe essere quella del programma connect, disponibile su ubuntu e debian come connect-proxy:

$ ssh -o ProxyCommand="/usr/bin/connect -S 127.0.0.1:9050 %h %p" root@a.b.c.d

Ulteriori riferimenti: qui

Alla prossima ;)

No responses yet

gen 10 2009

Ssh brute force bloccato con pf e regole di filtering su OpenBSD

Published by manzotti under OpenBSD, manzotti.eu

Poco tempo fa stavo stavo dando un occhiata ai miei log e mi sono subito accorto di un attacco brute force sulla porta ssh.

#tail /var/log/authlog

Dec 26 19:22:31 maxbsd sshd[12620]: Failed password for root from 218.23.105.25 port 45219 ssh2
Dec 26 19:22:31 maxbsd sshd[13293]: Received disconnect from 218.23.105.25: 11: Bye Bye
Dec 26 19:22:35 maxbsd sshd[6301]: reverse mapping checking getaddrinfo for 25.105.23.218.broad.static.hf.ah.cndata.com [218.23.105.25] failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 26 19:22:35 maxbsd sshd[6301]: Failed password for root from 218.23.105.25 port 45474 ssh2
Dec 26 19:22:35 maxbsd sshd[2351]: Received disconnect from 218.23.105.25: 11: Bye Bye
Dec 26 19:22:39 maxbsd sshd[3801]: reverse mapping checking getaddrinfo for 25.105.23.218.bro

Per eliminare questo genere di attacchi possiamo:

  • Abilitare ssh in modo che dopo 3 tentativi sbagliati cada la connessione
  • Inserire una regola in pf in modo che non accetti più di 3 connessioni contemporaneamente dallo stesso Ip, per poi bannarlo in una blacklist
  • Creare uno script in modo che legga l’ip dell’attaccante dai log e lo inserisca nella blacklist.

Per risolvere il primo punto è sufficiente modificare il file di configurazione di ssh, sshd_config, decommentando l’opzione:

# nano /etc/ssh/sshd_config

MaxAuthTries 3

Per il secondo punto è necessario definire una tabella che contenga gli ip bloccati (la nostra blacklist). Dunque editiamo il file di configurazione di pf che si trova in /etc/pf.conf:

#nano /etc/pf.conf

table  persist file "/etc/spammers"

Ora invece scriviamo la regola in modo che non accetti più di 3 connessioni contemporaneamente dallo stesso Ip e lo inserisca nella blacklist:

int="fxp0"
ssh_limit="(max-src-conn-rate 3/30, overload  flush global)"
pass in log quick on $int inet proto tcp from any to $int port ssh flags S/SA keep state $ssh_limit

Infine per il terzo punto è sufficiente creare uno script, ssh_block_attack, come il seguente, in modo che legga il file di log e metta in blacklist l’indirizzo ip che ha sbagliato la password o l’username:

# nano /root/ssh_block_attack

#!/bin/sh
 
while read mm dd hms localhostname sshd word1 word2 word3 word4 host1 host2 rest;
do
if [ "$word1 $word2 $word4" = "Invalid user from" ]; then
data=`date`
pfctl -t spammers -T add $host1
echo "Aggiunto $host1 a spammers il $data" >> /root/ssh_log
 
elif [ "$word1 $word2 $word3 $host1" = "Failed password for from" ]; then
pfctl -t spammers -T add $host2
echo "Aggiunto $host2 a spammers il $data" >> /root/ssh_log
fi
done

Per lanciarlo avvio dandogli in pasto il log da monitorare aggiungiamo questa riga in /etc/rc.local .

tail -f /var/log/authlog | sh ssh_block_attack &

Infine se vogliamo vedere la tabella degli ip bloccati è necessario utilizzare questo comando

pfctl -t spammers -T show

Ovviamente per non saturare la nostra macchina ogni tanto andrebbe svuotata:

pfctl -t spammers -T delete indirizzo_ip

4 responses so far