Date: 27 May 2003 Bene, il problema di seguito e' basato sul vecchissimo e famosissimo con\con bug di cui sono affetti i sistemi Windows95/98/98SE. Se non si sa cosa sia basta dare un'occhiata qui: http://www.microsoft.com/technet/security/bulletin/MS00-017.asp. Ho deciso di parlare di questo problema SOLO per 3 ragioni: - penso che sia un metodo divertente per far crashare un sistema remoto attraverso un metodo originale: giochi multiplayer ed un famosissimo bug di sistema. - probabilmente un gran numero di persone non sa' che esiste una patch per correggere il problema del con\con e, soprattutto, che esiste questo famosissimo problema - mi piace un sacco l'exploit che ho scritto e probabilmente qualcuno puo' trovarlo interessante per altri tests 8-) Velocemente: alcuni giochi basati sul motore di Quake 3 hanno una funzione molto interessante, visualizzano un immagine relativa alla mappa corrente giocata in un match multiplayer sul server. Prima di tutto prendono il nome della mappa passata dal server nel parametro "mapname", vi aggiungono un estensione di immagini (come TGA) e finalmente provano a caricarla per visualizzarla sullo schermo. Un esempio in linguaggio C per Quake 3 e' il seguente: #define Q3 "\xff\xff\xff\xff" \ "infoResponse\n" \ "\\punkbuster\\0" \ "\\pure\\1" \ "\\gametype\\0" \ "\\sv_maxclients\\8" \ "\\clients\\1" \ ------> "\\mapname\\con/con" \ "\\hostname\\hostname" \ "\\protocol\\68" \ "\\challenge\\xxx" Ho testato personalmente alcuni giochi basati sul motore di Quake 3 e quelli vulnerabili sono: - Quake 3 Arena 1.32 - Soldier of Fortune 2 1.03 GOLD I giochi che ho testato ma NON sono vulnerabili invece sono: - Return to Castle Wolfenstein 1.41 - Medal of Honor: Allied Assault 1.11 SOLO i clients sono vulnerabili a tale problema. EXPLOIT PER QUAKE 3 + HEARTBEAT EMULATOR ---------------------------------------- Ho scritto un exploit che emula un server Quake 3 ed invia il nome mappa contenente con\con ad ogni client. Puo' essere compilato sia su Unix che Windows e puo' anche inviare un pacchetto heartbeat al master server di Quake 3 (tale caratteristica si puo' disabilitare aggiungendo uno 0 dopo l'eseguibile quando lo si lancia). L'heartbeat e' il metodo usato dai server di gioco per essere inclusi nelle liste di servers pubblici di ID-Software. Cio' significa che l'exploit ricevera' le richieste da tutti i clients Quake 3 del mondo e inviera' una mappa chiamata con/con a tutti loro: http://aluigi.org/poc/q3concon.zip La patch ufficiale per il problema con\con (anno 2000) si trova qui: http://www.microsoft.com/technet/security/bulletin/MS00-017.asp BYEZ