####################################################################### Luigi Auriemma Applicazione: ActivePost Standard http://www.activepost.net Versioni: <= 3.1 Piattaforme: Windows Bugs: - File-Server crash - File-server directory traversal e path disclosure - conference password disclosure Exploitation: remoto, contro server (solo il terzo bug affligge anche i clients) Data: 23 Settembre 2004 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bugs 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== ActivePost e' un programma di comunicazione per le aziende abbastanza interessante. E' costituito dai clients e da un server centrale adibito al login, alla gestione dei messaggi, della chat, del trasferimento files ed alle cosiddette conferenze. ####################################################################### ======= 2) Bugs ======= -------------------- A] File-Server crash -------------------- Il file-server gira sulla porta 6004 ed e' utilizzato per uploadare files sul server cosicche' essi possano essere scaricati dai mittenti. Il problema in questo caso riguarda l'utilizzo di un filename piu' lungo di 4074 caratteri in quanto cio' causa il crash immediateo del file-server. Il protocollo del file-server gestisce blocchi di dati da 4104 bytes quindi non sembra possibile causare danni maggiori (come ad esempio un buffer-overflow). ---------------------------------------------------- B] File-server directory traversal e path disclosure ---------------------------------------------------- Questa e' la vulnerabilita' piu' critica in quanto permette ad un attacker di caricare i suoi files ovunque sul disco ove e' installato il server di ActivePost e soprattutto di sovrascrivere i files pre-esistenti. Tale attacco avviene sfruttando un directory traversal nel nome del file da caricare sul server utilizzando il carattere slash. Esempio: /../../../windows/calc.exe Il percorso reale completo ove viene collocato il file sul server remoto e' sempre visibile in quanto e' proprio il server ad inviare tale informazione al client ogni volta che esso invia un file. --------------------------------- C] conference password disclosure --------------------------------- Tutte le volte che un utente entra nel menu delle conferenze, il server gli invia tutte le informazioni delle stanze disponibili comprese le password in chiaro delle stanze protette. Basta guardare l'esempio seguente che mostra i dati inviati dal server per farsi un'idea: 4703 0000 0000 0000 0000 0000 0000 0000 G............... 0000 0000 0a72 6f6f 6d20 7469 746c 6500 .....room title. 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0001 3100 ..............1. 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0e73 6563 7265 7470 6173 7377 6f72 ...secretpasswor <=== 6400 0000 0000 0000 0000 0000 0000 0000 d............... 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0003 3832 ..............82 3100 0000 0000 0000 0000 0000 0000 0000 1............... 0000 0138 0000 0000 0000 0000 0000 0000 ...8............ 0000 0000 0000 0017 6465 7363 7269 7074 ........descript 696f 6e20 6f66 2074 6865 2072 6f6f 6d00 ion of the room. 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000 0000 .... ####################################################################### =========== 3) The Code =========== A] http://aluigi.org/poc/actpboom.zip B] http://aluigi.org/poc/actpup.zip C] basta lanciare uno sniffer prima di entrare nel menu delle conferenze ####################################################################### ====== 4) Fix ====== No fix. Nessuna risposta ricevuta dagli sviluppatori. #######################################################################