Archivi tag: pam_storepw.so

Realizzare un honeypot con VSFTPD

Stanco ormai dei numerosissimi attacchi bruteforce basati su dizionario e diretti al mio server FTP, ho deciso di realizzare un piccolo honeypot utilizzando vsftpd e PAM.

honeypot, pam, vsftpd, pam_storepw.so, pam_logpw.so

Per prima cosa ho installato tutte le librerie necessarie per compilare una versione modificata di pam_storepw.so, il cui sorgente potete scaricarlo da qui.

I comandi che ho lanciato sono i seguenti:

nightfly@nightbox:~$ sudo apt-get install libpam0g-dev

Successivamente ho compilato e linkato il sorgente, digitando:

nightfly@nightbox:~$ gcc -c -fpic chng-pam_storepw.c
nightfly@nightbox:~$ gcc -shared -lc -o pam_logpw.so chng-pam_storepw.o
nightfly@nightbox:~$ sudo mv pam_logpw.so /lib/security/

Adesso che il modulo pam_logpw.so è finalmente pronto per l’uso, non mi resta che modificare il file /etc/pam.d/vsftpd, il cui contenuto dovrà essere il seguente:

@include common-password

auth    required       pam_unix.so obscure sha512
auth    optional        pam_logpw.so

Riavviamo vsftpd per rendere effettive le modifiche appena apportate:

nightfly@nightbox:~$ sudo service vsftpd restart

In particolare, le credenziali digitate dall’attaccante per accedere allo spazio FTP verranno salvate nel file /var/log/passwords, il cui contenuto sarà simile al seguente:

host = 88.11.22.33 : username = guest : password = sdinna

ATTENZIONE

questo file registrerà in chiaro anche le credenziali di accesso corrette (ovvero le vostre e quelle degli utenti leggittimi). Per questa ragione vi sconsiglio di utilizzare vsftpd per il trasferimento di file e di ripiegare quindi su SCP (a tal proposito un ottimo tool è rappresentato da WinSCP).

Una volta ottenuto il giusto numero di credenziali utilizzate per i login attempt, potrete ad esempio ricavare delle statistiche (username e password più utilizzate) che vi consentiranno eventualmente di risalire ai tipi di dizionario impiegati durante i tentativi di cracking.

Enjoy.